作者magelinus (巫师)
看板Linux
标题[心得] 奇怪的ZD1211晶片...
时间Sat Feb 10 00:43:51 2007
前镇子买了一台新的旧nb(去年的机种),是ASUS A9T系列的nb。最近终於有空
来驱动无线网卡(型号wl-159g),感谢版上几位先进的相关讨论(我是搜寻"无线"
) 找的,了解到zd1211的网站有code可以下载自己编译(Debian sage底下,我的
NB内建无线网卡也是zd1211,usb装置)。
编译的过程到还顺利(感谢auto-apt的帮忙,zd1211的网页也有详细的解释),
但随即发现一件事情,那就是依照标准程序来make,make install 後,如果我
重开机过系统就会当在zd1211_disconnect这个讯息之後(印象是出现usb的讯息
後)就当住了。 这问题持续了两三天,後来前天睡前灵机一动就查看
modules.dep里面,发现
zd1211b.ko是排在usbcore.ko(大概这名字)之前,将两个对调就正常了。但是
只要一执行标准的zd1211的source里面的make,make install,modules.dep就
会恢复原状。
进去source code里面看Makefile,(其实以前不大会看,现在是被逼急了..:Q)
就发现原来Makefile好像不是那麽难了解,问题是出在最後的depmod -a,将
它# 起来就ok了。但这样不治本,因为只要以後有其他套件用到depmod -a,在
模组目录里面的zd1211b就会被发现(Makefile预设zd1211b放在那儿),然後
又回到那个会当掉的modules.dep设定。
只好又回去看Makefile,修改产生zd1211b.ko之後的那行cp到模组目录的指令,
改成放到其他目录去,然後再complie一次确定没问题(顺便下depmod -a 来恢
复没有zd1211b的状态)。
好啦,反正我就手动insmod,firmware的档案也下载放到适当位置,所以wlan0
装置成功的出现,这样就一切ok了吧...没
因为iwlist wlan0 scanning有时候扫描到ap有时候不行,且不行的时候占大多
数,今天测试了一两个小时候,一开始嫌老是在insmod,rmmod之类的下指令,
就弄个小script来作,执行script後一开始可以,但後来为确定起见我重开机
,发现一样的执行这个程序的script又不行。但奇怪的是如果我重复执行这个
script,就又ok。
很怀疑的情况下,我修改script将移除和载入模组的指令过程重复两次,然後
... 竟然就可以了...=_=a 。我现在就是用无线成功的以WEP方式连上我的AP
上网的。
不过在这过程中,我也了解了驱动这个装置所需要了解的一些小知识,也就是
那个lsusb所出现的编号。因为我曾经用ndiswrapper来载入其他非A9T的无线驱
动程式时,我就进去他的*.inf看就发现了一样有这两个编号,我将这个windows
的驱动.inf里面的这两个编号改成我的,还真的可以用ndiswrapper载入,并且
驱动成功出现wlan0 ,不过出现的不是我的zd1211 b/g而是其他的型号,所以
无线网卡无法起作用。
Linux菜鸟学驱动zd1211,下台一鞠躬.../()\
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.31.32.7
※ 编辑: magelinus 来自: 61.31.32.7 (02/10 00:45)
※ 编辑: magelinus 来自: 61.31.32.7 (02/10 00:47)