最近有客户反馈在Linux 2.6下,之前配备的TP-Link TL-WN321G+网卡没办法连入路由器的问题。
看了一下具体的症状,在插上USB无线网卡之后,内核会print下面的讯息:
usb 1-1.1: new full speed USB device using s3c2410-ohci and address 6
usb 1-1.1: New USB device found, idVendor=148f, idProduct=2573
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.1: Product: 54M.USB.......
usb 1-1.1: Manufacturer: Ralink
usb 1-1.1: configuration #1 chosen from 1 choice
phy6 -> rt2500usb_init_eeprom: Error - Invalid RT chipset detected.
phy6 -> rt2x00lib_probe_dev: Error - Failed to allocate device.
wmaster0 (rt73usb): not using net_device_ops yet
wlan0 (rt73usb): not using net_device_ops yet
其中, 红色的部分是报告的错误。奇怪的是,虽然内核报告了错误,但是仍然可以识别到wlan0,只不过,其实这个wlan0是没有通信能力的。
在网上找了一些资料,发现主要是rt2500搞的鬼!rt2500和rt73的PID和VID相同,Linux误使用了rt2500的driver,导致初始化失败。
在内核配置过程中,取消rt2500的支持,搞定!!