NetgearWG511在Linux下的驱动安装
点击次数:49 次 发布日期:2008-11-29 17:16:32 作者:源代码网
|
源代码网推荐 源代码网推荐 前两天看到新闻,wifi联盟终于光顾中国,中国政府也欣然准备把2004年搞成wireless年,在全国各地先开 200个hotspot。虽然wifi明年的结果多半会像去年的VPN今年的10g一样最终高层一头热,但是有新技术总是 好的。再加上这两天个人感觉rp很好,于是重新收拾东东,准备搞搞我那个破wg511在Linux下的驱动。 源代码网推荐 源代码网推荐 说起这个wg511真是让人有恨又爱,当年我对市场上几乎全部的wlan nic分析过一遍之后,最终选定了这块 prism gt芯片的netgear wg511,就是看中了prism2/2.5的超强扩展功能。随直到后来才发现 -- 原来 硬件这东东也不是越新越好。 prism gt就是太新了,导致软件兼容性太差,不但不支持*BSD和Linux,竟 然连windows下偶的最爱AiroPeek 也不支持...... 源代码网推荐 源代码网推荐 这个情况直到昨天晚上改变。 源代码网推荐 源代码网推荐 这两天我果然rp很好,竟然意外的发现了让AiroPeek支持原本不支持的wifi card的方法,称着好rp还在的 时候,乘胜追击,顺便把Linux驱动也给调好。 源代码网推荐 硬件: 源代码网推荐 =========================== 源代码网推荐 * Intersil Prism GT/Duette/Indigo 芯片组的PCI/PCMCIA卡 源代码网推荐 源代码网推荐 目前已知下列型号是成功的 源代码网推荐 * 3com OfficeConnect 11g Wireless LAN PC Card 3CRWE154G72 Cardbus 源代码网推荐 * D-Link Air Plus Xtreme G A1 DWL-g650 A1 Cardbus 源代码网推荐 * Netgear WG511 WG511 Cardbus 源代码网推荐 * SMC2802W - EZ Connect g 2.4GHz 54 Mbps Wireless PCI Card SMC2802W PCI 源代码网推荐 * SMC2835W EZ Connect g 2.4GHz 54 Mbps Wireless Cardbus Adapter SMC2835 Cardbus 源代码网推荐 * Z-Com XG-900 XG-900 PCI 源代码网推荐 源代码网推荐 软件: 源代码网推荐 =========================== 源代码网推荐 * Linux内核源代码,版本2.4.23p9 或 2.6.0test* 源代码网推荐 --必须要2.4.23p8以上版本,因为prism54驱动需要一个内核新特性 firmware hotplug 源代码网推荐 --我试了2.6,但是很不稳定,在我的本本上还是不能正常引导,因此推荐2.4.23p9 源代码网推荐 --目前没有完整版本,需要 2.4.22 Release 和 2.4.23p9 patch 源代码网推荐 --ftp://ftp.kernel.org/pub/linux/kernel/ 源代码网推荐 源代码网推荐 * Intersil Prism 38** Firmware 源代码网推荐 --http://prism54.org/firmware/isl3890 源代码网推荐 源代码网推荐 * 其他 源代码网推荐 Linux Wireless Utils 用于管理无线网络设备 源代码网推荐 Linux Firmware Utils 用于管理firmware hotplug 源代码网推荐 gnu 开发工具套件,这个应该都有了吧 源代码网推荐 源代码网推荐 * compiler/binutils for kernel compilation 源代码网推荐 * wireless-tools 源代码网推荐 * firmware utilities (see bellow for distribution notes) 源代码网推荐 * Kernel requirements: 源代码网推荐 源代码网推荐 好了,东西准备完之后,下面开始准备新内核。 源代码网推荐 源代码网推荐 内核与驱动 源代码网推荐 =========================== 源代码网推荐 1)解压缩源代码树 源代码网推荐 # cd /usr/src/linux 源代码网推荐 # tar xjvf linux-2.4.22.tar.bz2 源代码网推荐 # bunzip2 prism54-cvs20031103.tar.bz2 源代码网推荐 # bunzip2 patch-2.4.23-pre9.bz2 源代码网推荐 //选择你自己习惯的方式展开源代码树到任意一个位置 源代码网推荐 源代码网推荐 2)打补丁 源代码网推荐 # cd linux-2.4.22 源代码网推荐 # patch -p1 <../patch-2.4.23-pre9 源代码网推荐 # patch -p1 <../prism54-cvs20031103 源代码网推荐 //先打你所需要的其他2.4.22补丁,例如我就打了xfs补丁;然后按顺序升级2.4.23p*,最后 源代码网推荐 //加上prism54的最新cvs patch 源代码网推荐 源代码网推荐 3)编译内核 源代码网推荐 # make xconfig (或make menuconfig 或 make config) 源代码网推荐 源代码网推荐 要启用Prism54驱动,内核中至少需要打开如下属性: 源代码网推荐 * 开发代码支持 源代码网推荐 * PCI/PCMCIA/CardBus 总线支持 源代码网推荐 * Kernel Lib -> Firmware Hotplug支持 源代码网推荐 //这个是2.4.23p9的新特性 源代码网推荐 * Network -> Wireless -> Prism GT支持 源代码网推荐 //驱动,需要前几项的依赖性关系 源代码网推荐 源代码网推荐 配置顺序如下 源代码网推荐 v2.4: Network device support ---> 源代码网推荐 Wireless LAN (non-hamradio) ---> 源代码网推荐 Intersil Prism GT/Duette/Indigo PCI/PCMCIA 源代码网推荐 v2.6: Device Drivers ---> 源代码网推荐 Networking support ---> 源代码网推荐 Wireless LAN (non-hamradio) ---> 源代码网推荐 Intersil Prism GT/Duette/Indigo PCI/PCMCIA 源代码网推荐 源代码网推荐 ----------------------------------------------------------- 源代码网推荐 v2.6: 源代码网推荐 CONFIG_EXPERIMENTAL: y 源代码网推荐 CONFIG_CLEAN_COMPILE: n 源代码网推荐 CONFIG_STANDALONE: n 源代码网推荐 Code maturity level options ---> 源代码网推荐 Prompt for development and/or incomplete code/drivers 源代码网推荐 Select only drivers expected to compile cleanly 源代码网推荐 Select only drivers that don"t need compile-time external firmware 源代码网推荐 源代码网推荐 ----------------------------------------------------------- 源代码网推荐 v2.4 源代码网推荐 CONFIG_EXPERIMENTAL: y 源代码网推荐 Code maturity level options ---> 源代码网推荐 Prompt for development and/or incomplete code/drivers 源代码网推荐 源代码网推荐 CONFIG_FW_LOADER: (m or y) 源代码网推荐 Library routines ---> 源代码网推荐 Hotplug firmware loading support (EXPERIMENTAL) 源代码网推荐 ----------------------------------------------------------- 源代码网推荐 源代码网推荐 4)编译内核和驱动 源代码网推荐 # make dep && make bzImage && make modules && make install && make modules_install 源代码网推荐 源代码网推荐 //这只是理想状态下的编译命令,实际过程中依赖于你的经验和内核了解程度与配置依赖关系 源代码网推荐 //可能出现各种情况编译不通过的;大多数情况是因为内核模块依赖顺序不正确,例如如果你 源代码网推荐 //没有打开char->input core的话,编译usb->hid模块就会出错。 源代码网推荐 //用耐心及智慧,来解决遇到的一切问题。我编译这个驱动时可是试过了2.4.20 - 2.6所有 源代码网推荐 //版本内核,历时18小时时间和nn遍编译调整才成功的。 源代码网推荐 // 源代码网推荐 //如果你实在没耐心的话,可以尝试一下 make -i参数,忽略不成功的动作继续进行下去。 源代码网推荐 //或者使用如下命令仅编译本模块 源代码网推荐 //make -C <内核源码目录> SUBDIRS=drivers/net/wireless/prism54 V=1 modules 源代码网推荐 源代码网推荐 5)准备附加程序 源代码网推荐 运行这个驱动需要isl3890 firmware和 firmware hotplug 的支持。 源代码网推荐 源代码网推荐 # mkdir -p /usr/lib/hotplug/firmware 源代码网推荐 # cd /usr/lib/hotplug/firmware 源代码网推荐 # wget http://prism54.org/firmware/isl3890 源代码网推荐 # 源代码网推荐 # cd /etc/hotplugs 源代码网推荐 # wget http://prism54.org/~hvr/firmware.agent 源代码网推荐 源代码网推荐 6)调整你的lilo&grub 源代码网推荐 默认情况下,make install & modules_install成功的话,会自动在你的引导配置文件中加入 新内核的引导行,如果没有的话,那么就手工添加一下吧。 源代码网推荐 lilo需要重新lilo -s安装,grub则即刻就可以生效。 源代码网推荐 全部设置完成之后,重新启动。 源代码网推荐 7)加载驱动 源代码网推荐 # insmod /lib/modules/`uname -a`/kernel/lib/firmware_class.o 源代码网推荐 # insmod /lib/modules/`uname -a`/kernel/driver/net/wireless/prism54/prism54.o 源代码网推荐 # iwconfig -a 源代码网推荐 # ifconfig -a 源代码网推荐 源代码网推荐 如果你的rp够好的话,那么谢天谢地,你又成功的扮演了一次小白鼠的角色。 源代码网推荐 如果出现任何错误的话,返回第三条重来,直到成功或退出。 源代码网推荐 如果返回第三条的话,别忘了make clean之后再make xconfig。 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网供稿. |
