无线网卡intel 3945的怪问题

13 views
Skip to first unread message

valpa

unread,
May 17, 2011, 2:07:02 AM5/17/11
to Shanghai Linux User Group
编译了内核,把iwlwifi-3945编译进去了

i# cat ../base/linux-2.6.37/.config |grep -i iwl
CONFIG_IWLWIFI=y
# CONFIG_IWLWIFI_DEBUG is not set
# CONFIG_IWLAGN is not set
CONFIG_IWL3945=y

# cat ../base/linux-2.6.37/.config |grep -i firmware
# CONFIG_OLPC_OPENFIRMWARE is not set
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_FIRMWARE_EDID is not set
# Firmware Drivers
CONFIG_FIRMWARE_MEMMAP=y

但是启动后ifconfig wlan0 up出现错误

May 17 05:51:01 device user.err kernel: iwl3945 0000:02:00.0:
iwlwifi-3945-2.ucode firmware file req failed: -2
May 17 05:52:02 device user.err kernel: iwl3945 0000:02:00.0:
iwlwifi-3945-1.ucode firmware file req failed: -2
May 17 05:52:02 device user.err kernel: iwl3945 0000:02:00.0: Could
not read microcode: -

但是我的firmware里包括了这几个
# ls /lib/firmware/
2.6.37+ iwlwifi-3945-1.ucode iwlwifi-3945-2.ucode
iwlwifi-3945.ucode
# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:1F:3C:7B:C7:FA
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

google了很多,都是说只要把iwlwifi-3945-1.ucode iwlwifi-3945-2.ucode放到 /lib/
firmware里就解决问题了

我的怎么这么怪?求教

Shell Xu

unread,
May 17, 2011, 2:19:30 AM5/17/11
to sh...@googlegroups.com
以前用过,这玩意就是个杯具。我的倒是驱动起来了,但是有bug,会导致系统不定期死机。
--
无能者无所求,饱食而遨游,泛若不系之舟
blog: http://shell909090.com/blog/
twitter: http://twitter.com/shell909090

August

unread,
May 17, 2011, 2:30:55 AM5/17/11
to sh...@googlegroups.com
还是编译成模块吧

2011/5/17 Shell Xu <shell...@gmail.com>:

--
Best Regards
August

August

unread,
May 17, 2011, 2:31:55 AM5/17/11
to sh...@googlegroups.com
驱动这东西,能不编译进内核就不编译进内核

2011/5/17 August <tan.a...@gmail.com>:

--
Best Regards
August

August

unread,
May 17, 2011, 2:32:39 AM5/17/11
to sh...@googlegroups.com
一旦有问题,可以用别的模块替代...

2011/5/17 August <tan.a...@gmail.com>:

--
Best Regards
August

valpa

unread,
May 17, 2011, 3:00:35 AM5/17/11
to Shanghai Linux User Group
没办法,一定要用这玩意儿,而且一定要编译进内核,公司的破需求,因为目标的机器没有 hotplug,udev之类的东西可以自动加载module

问题解决了,因为把firmware也编译进了内核,成了built-in firmware

make menuconfig:

[*] Include in-kernel firmware blobs in kernel
binary
│ │
│ │
(iwlwifi-3945-2.ucode) External firmware blobs to build into the
kernel binary │ │
│ │ (/lib/
firmware) Firmware blobs root
directory



On May 17, 4:32 pm, August <tan.aug...@gmail.com> wrote:
> 一旦有问题,可以用别的模块替代...
>
> 2011/5/17 August <tan.aug...@gmail.com>:
>
>
>
>
>
>
>
>
>
> > 驱动这东西,能不编译进内核就不编译进内核
>
> > 2011/5/17 August <tan.aug...@gmail.com>:
> >> 还是编译成模块吧
>
> >> 2011/5/17 Shell Xu <shell909...@gmail.com>:
> >>> 以前用过,这玩意就是个杯具。我的倒是驱动起来了,但是有bug,会导致系统不定期死机。
>

valpa

unread,
May 17, 2011, 3:03:07 AM5/17/11
to Shanghai Linux User Group
解决了,没法用模块,因为目标机器没有hotplug, udev可以自己加载module
而kernel找firmware 依赖hotplug

把firmware直接编译进内核了

[*] Include in-kernel firmware blobs in kernel
binary
│ │
│ │
(iwlwifi-3945-2.ucode) External firmware blobs to build into the
kernel binary │ │
│ │ (/lib/
firmware) Firmware blobs root
directory


On May 17, 4:32 pm, August <tan.aug...@gmail.com> wrote:
> 一旦有问题,可以用别的模块替代...
>
> 2011/5/17 August <tan.aug...@gmail.com>:
>
>
>
>
>
>
>
>
>
> > 驱动这东西,能不编译进内核就不编译进内核
>
> > 2011/5/17 August <tan.aug...@gmail.com>:
> >> 还是编译成模块吧
>
> >> 2011/5/17 Shell Xu <shell909...@gmail.com>:
> >>> 以前用过,这玩意就是个杯具。我的倒是驱动起来了,但是有bug,会导致系统不定期死机。
>

Marco

unread,
May 17, 2011, 11:14:18 PM5/17/11
to sh...@googlegroups.com
学习了, 以前还真没这么做过。

不过就算木有 hotplug/ udev, 自动启动脚本总有的吧。。。


2011/5/17 valpa <valpa...@gmail.com>



--
LinuX
Violin
Canon EOS
Reply all
Reply to author
Forward
0 new messages