无线网卡为ar5b93,用ate id(atheros eeprom tool)修改后win下及mac下均不能正确驱动,改inf后依旧不可用,但linux中可识别虽然还不能联网。参考一篇很久前的文章发现有刷活的可能,但其中的idchanger工具链接已经无效,已经pm博主,但暂无回复,因此请求之前有接触过的童鞋帮忙搜索外网,谢谢。
修改Atheros芯片的无线网卡为任意品牌网卡
将Atheros 5004以下的无线网卡随意变成cisco的、IBM的、HP的、富士通的、D-link的……避免Thinkpad的上1802、01C9错误,及HP上的104错误等麻烦。
其实就是修改无线网卡的硬件ID。下面以将一张CISCO的B/G卡修改为HP W400为例子。
准备:
- 找一台不挑卡的电脑,比如带miniPCI转接卡的台式机;
- linux系统,基本上是什么版本都行,dos下启动的也可以,我习惯用KNOPPIX的LIVE CD来干活;
- 下载这个工具:
source:http://www.dagarlas.org/stuff/computing/0001/idchanger.c
binary:http://www.dagarlas.org/stuff/computing/0001/idchanger
我是将idchanger下载到U盘中,然后在KNOPPIX里使用; - 由HP的驱动程序inf文件中,取得VENDOR/DEVICE ID和SUBSYS ID:
net5211.inf
HP Integrated Wireless LAN
> Hewlett-Packard WLAN W400/W500 %Vendor.DeviceDesc.MB22% = MB22_01, PCI\VEN_168C&DEV_0012&SUBSYS_00E50E11
%Vendor.DeviceDesc.MB22% = MB22_02, PCI\VEN_168C&DEV_0012&SUBSYS_2022168C
%Vendor.DeviceDesc.MB22ag% = MB22ag_01, PCI\VEN_168C&DEV_0013&SUBSYS_00E50E11
%Vendor.DeviceDesc.MB22g% = MB22g_01, PCI\VEN_168C&DEV_0013&SUBSYS_00E60E11
Vendor.DeviceDesc.MB22g = "HP WLAN 802.11b/g W400"
Vendor.DeviceDesc.MB22ag = "HP WLAN 802.11a/b/g W500"
Vendor.DeviceDesc.MB22 = "HP WLAN 802.11a/b W500"
Service.DispName = "HP WLAN W400/W500 Wireless Network Adapter Service"
从这个inf里头,可以看到W400这张网卡对应的VENDOR/DEVICE_ID是168C 0013,SUBSYS_ID是00E6 0E11,mark低先;
过程:
用KNOPPIX LIVE CD BOOT机,开个terminal 窗口,用root用户操作:
1、先睇下网卡係唔係认出来先: [url=mailto:root@1[knoppix]root@1[knoppix[/url]]# iwconfig
lo no wireless extensions. eth0 no wireless extensions.
ath0 IEEE 802.11 ESSID:""
Mode:Managed Frequency:2.412 GHz Access Point: 00:00:00:00:00:00
Bit Rate:0 kb/s Tx-Power:50 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-95 dBm Noise level=-95 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
2、再睇网卡嘅信息:
先用lispci -v,对应设备信息,记下网卡的PCI序号0000:02:04.0
[url=mailto:root@1[knoppix]root@1[knoppix[/url]]# lspci -v
0000:02:04.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01) 然后用lispci -nv查看对应这个PCI序号的硬件ID等信息,可以看到VENDOR_ID是168c 0013,SUBSYS_ID是CC21 14B9,这里还要记下MEM_ADDR:60000000,下一步要用到这个MEM_ADDR:
[url=mailto:root@1[knoppix]root@1[knoppix[/url]]# lspci -nv
0000:02:04.0 0200: 168c:0013 (rev 01)
Subsystem: CC21:14B9
Flags: bus master, medium devsel, latency 168, IRQ 11
Memory at 60000000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [44] Power Management version 2
3、用U盘上的idchanger查看eeprom上的信息,要用到上边的MEM_ADDR了。
[url=mailto:root@2[uba1]root@2[uba1[/url]]# ./idchanger -r 0xc6000000
Reading 0 current value 0x0013
Reading 1 current value 0x168C
Reading 2 current value 0x0200
Reading 3 current value 0x0001
Reading 4 current value 0x0000
Reading 5 current value 0x5001
Reading 6 current value 0x0000
Reading 7 current value 0x14B9
Reading 8 current value 0xCC21
……
4、idchanger这个工具的用语係:
idchanger -w BASE_ADDR 0x00_value 0x01_value 0x07_value 0x08_value
对照W400的VENDOR_ID及SUBSYS_ID,只需要SUBSYS_ID即可,所以呢度要保持0x00_value 及0x01_value不变。
[url=mailto:root@2[uba1]root@2[uba1[/url]]# ./idchanger -w 0xc6000000 0x0013 0x168c 0x00e6 0x0e11
Accessing adapter at 0xc6000000
Current value 0x0013 will change to 0x0013
Current value 0x168C will change to 0x168C
Current value 0x14B9 will change to 0x00E6
Current value 0xCC21 will change to 0x0E11
[url=mailto:root@2[uba1]root@2[uba1[/url]]#
5、检查成果。
[url=mailto:root@2[uba1]root@2[uba1[/url]]# ./idchanger -r 0xc6000000
Reading 0 current value 0x0013
Reading 1 current value 0x168C
Reading 2 current value 0x0200
Reading 3 current value 0x0001
Reading 4 current value 0x0000
Reading 5 current value 0x5001
Reading 6 current value 0x0000
Reading 7 current value 0x00E6
Reading 8 current value 0x0E11
……
关机,取下
|