- 论坛徽章:
- 0
|
Linux硬件设备驱动的缺乏常常让它的使用者困扰,尤其是本本用户使用无线网卡经常会为找不到合适的Linux版驱动而发愁。我们可以利用ndiswrapper这个软件和网卡的windows驱动解决这个问题。解决步骤如下:
1. 我用的ndiswrapper1.1.2,要求Kernel版本是2.4.26或2.6.15以上版本,如果不是以上版本编不过去,因此你可以需要升级你的内核。
2. 很不幸,我需要升级内核,到
http://www.kernel.org
上去下载kernel的tarball,解压(别跟我说你不会哦),编译:
[color="#0000ff"] #make mrproper
[color="#0000ff"] #make menuconfig
[color="#0000ff"] #make
[color="#0000ff"] #make install
[color="#0000ff"] #make modules_install
make menuconfig也可以用make xconfig、make kconfig、make gconfig等多种方式替换,我编译的时候把usb和wireless相关的全编了,还有就是usbfs,别漏了,最好编到kernel里而不是initrd里,编kernel可是门学问需要琢磨。
3. 编译好后mkinitrd:
[color="#0000ff"] #mkinitrd initrd-2.6.15.3 2.6.15.3
[color="#0000ff"] #cp initrd-2.6.15.3.img /boot/
如果不知道mkinitrd怎么用的man一把。
然后修改grub引导配置,引导进入新kernel:
[color="#0000ff"] title NewKernel (2.6.15.3)
root (hd0,4)
kernel /boot/vmlinuz-2.6.15.3 ro root=LABEL=/1 rhgb
initrd /boot/initrd-2.6.15.3.img
root (hd0,4)需要改改,这部分有不明白的linuxsir.org上经常有介绍。
如果没有编VFS的支持[color="#0000ff"]root=LABEL=/1可能会导致无法启动,没事,改为指向绝对的设备名就可以了。
4. 引导进入新kernel后编译ndiswrapper,进入ndiswarpper目录后make,make install就可以了,之后还需要配置一番才能驱动起来,
配置如下:
[color="#0000ff"] #depmod -a
[color="#0000ff"] #modprobe ehci_hcd
[color="#0000ff"] #modprobe uhci_hcd
不知道少编了哪,需要手动mount usb设备:(
[color="#0000ff"] #mount -t usbfs none /proc/bus/usb
[color="#0000ff"] #mount
[color="#0000ff"] #lsusb
检查一下usb设备是否mount上来了
[color="#0000ff"]#ndiswrapper -m
装载mod
[color="#0000ff"]#ndiswrapper -i drivers.inf
安装windows驱动,指定drivers.inf
[color="#0000ff"]#ndiswrapper -l
查看已安装的驱动
[color="#0000ff"]#modprobe ndiswrapper
将ndiswrapper模块插入内核,如果ndiswrapper没有安装任何驱动,无法插入内核,应该会提示出错。
[color="#0000ff"]#lsmod
检查ndiswrapper是否正确插入
[color="#0000ff"]#iwconfig
这时应该可以检测到无线网卡设备了。
接着怎么配无线网卡我就不在赘叙了。
参考文章:
http://fedora.linuxsir.org/main/?q=node/137
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=102553
http://fanqiang.chinaunix.net/safe/net/2005-03-17/2935.shtml
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/11768/showart_102036.html |
|