Linux硬件设备驱动的缺乏常常让它的使用者困扰,尤其是本本用户使用无线网卡经常会为找不到合适的Linux版驱动而发愁。我们可以利用ndiswrapper这个软件和网卡的windows驱动解决这个问题。解决步骤如下:
1. 我用的ndiswrapper1.1.2,要求Kernel版本是2.4.26或2.6.15以上版本,如果不是以上版本编不过去,因此你可以需要升级你的内核。
2. 很不幸,我需要升级内核,到 上去下载kernel的tarball,解压(别跟我说你不会哦),编译:
#make mrproper
#make menuconfig
#make
#make install
#make modules_install
make menuconfig也可以用make xconfig、make kconfig、make gconfig等多种方式替换,我编译的时候把usb和wireless相关的全编了,还有就是usbfs,别漏了,最好编到kernel里而不是initrd里,编kernel可是门学问需要琢磨。
3. 编译好后mkinitrd:
#mkinitrd initrd-2.6.15.3 2.6.15.3
#cp initrd-2.6.15.3.img /boot/
如果不知道mkinitrd怎么用的man一把。
然后修改grub引导配置,引导进入新kernel:
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的支持root=LABEL=/1可能会导致无法启动,没事,改为指向绝对的设备名就可以了。
4. 引导进入新kernel后编译ndiswrapper,进入ndiswarpper目录后make,make install就可以了,之后还需要配置一番才能驱动起来,
配置如下:
#depmod -a
#modprobe ehci_hcd
#modprobe uhci_hcd
不知道少编了哪,需要手动mount usb设备:(
#mount -t usbfs none /proc/bus/usb
#mount
#lsusb
检查一下usb设备是否mount上来了
#ndiswrapper -m
装载mod
#ndiswrapper -i drivers.inf
安装windows驱动,指定drivers.inf
#ndiswrapper -l
查看已安装的驱动
#modprobe ndiswrapper
将ndiswrapper模块插入内核,如果ndiswrapper没有安装任何驱动,无法插入内核,应该会提示出错。
#lsmod
检查ndiswrapper是否正确插入
#iwconfig
这时应该可以检测到无线网卡设备了。
接着怎么配无线网卡我就不在赘叙了。
参考文章:
阅读(3769) | 评论(0) | 转发(0) |