插到机器上之后,lsusb显示为:
Bus 003 Device 006: ID 148f:2878 Ralink Technology, Corp.
系统将之挂载为一个cdrom。在Windows上,可以直接使用里面的安装程序进行驱动安装。
并将网卡模式切换为无线网卡模式。
在Ubuntu上,为了切换模式,参考了usb_modeswitch的data文件:
# RaLink MT7601U
TargetVendor=0x148f
TargetProduct=0x7601
StandardEject=1
是的,只要进行eject即可。。。
可直接执行:
sudo eject /dev/sr0
或者
sudo usb_modeswitch -v 148f -p 2878 -K
之后lsusb,等待一下,即可观察到:
Bus 003 Device 007: ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter
其实这个等待的时间,是系统正在使用自带mt7601驱动尝试probe网卡。
[ 589.049149] usb 3-11: reset high-speed USB device number 7 using xhci_hcd
[ 589.179614] mt7601u 3-11:1.0: ASIC revision: 76010001 MAC revision: 76010500
[ 589.180380] mt7601u 3-11:1.0: Firmware Version: 0.1.00 Build: 7640 Build time: 201302052146____
[ 592.645071] mt7601u 3-11:1.0: Vendor request req:07 off:09a8 failed:-110
[ 595.764998] mt7601u 3-11:1.0: Vendor request req:02 off:09a8 failed:-110
[ 598.884833] mt7601u 3-11:1.0: Vendor request req:07 off:0734 failed:-110
[ 602.004776] mt7601u 3-11:1.0: Vendor request req:42 off:0230 failed:-110
[ 605.124673] mt7601u 3-11:1.0: Vendor request req:07 off:0080 failed:-110
[ 608.244542] mt7601u 3-11:1.0: Vendor request req:02 off:0080 failed:-110
[ 611.364455] mt7601u 3-11:1.0: Vendor request req:02 off:0080 failed:-110
[ 611.364489] mt7601u: probe of 3-11:1.0 failed with error -110
[ 611.364526] usbcore: registered new interface driver mt7601u
可以看到,probe最终失败了。应该是网卡驱动(分析代码后发现,也可能是firmware)和该型号网卡不匹配。
参照https://askubuntu.com/questions/457061/ralink-mt7601u-148f7601-wi-fi-adapter-installation
手动安装驱动。
sudo apt-get install linux-headers-generic build-essential git
git clone https://github.com/art567/mt7601usta.git
cd mt7601usta/src
make
sudo make install
sudo mkdir -p /etc/Wireless/RT2870STA/
sudo cp RT2870STA.dat /etc/Wireless/RT2870STA/
sudo modprobe mt7601Usta
系统默认驱动信息:
modinfo mt7601u
filename: /lib/modules/4.4.0-81-generic/kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
license: GPL
firmware: mt7601u.bin
srcversion: C4F802D4D12C5BC2BA7FEB7
alias: usb:v7392p7710d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2A5Fp1000d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2955p1001d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2955p0001d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2717p4106d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2001p3D04d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v148Fp760Dd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v148Fp760Cd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v148Fp760Bd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v148Fp760Ad*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v148Fp7601d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v13D3p3434d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v13D3p3431d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0E8Dp760Bd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0E8Dp760Ad*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0B05p17D3d*dc*dsc*dp*ic*isc*ip*in*
depends: mac80211,cfg80211
intree: Y
vermagic: 4.4.0-81-generic SMP mod_unload modversions
modprobe执行之后,可以查看sudo lshw -C net
*-network DISABLED
description: Wireless interface
physical id: 2
logical name: ra0
capabilities: ethernet physical wireless
configuration: broadcast=yes driver=RALINK WLAN multicast=yes wireless=Ralink STA
可见系统已经可以识别该网卡,但网络处于disable状态。可能和我机器系统本身有关。在dmesg中可以看到
[ 1108.702033] ModemManager[925]: segfault at 0 ip 0000000000431ab3 sp 00007fffc062e940 error 4 in ModemManager[400000+
103000]
接下来尝试使用ifconfig强行up ra0
sudo ifconfig ra0 up
命令长时间没有反应
尝试将Ubuntu升级至 17.04,效果依旧。估计要深入分析驱动代码,太浪费时间。同时考虑到未来内核升级也要重新手动修改驱动,用户体验难以接受。决定放弃尝试。
================================================================
最终解决方案:
又购买了普通版本TL-WN725N(更小更便宜),未做任何配置,插在机器上,瞬间完成驱动。
教训:一分钱一分货是不假,但在linux的世界里,性价比才是最安全的标准。
尝试将Ubuntu升级至 17.04,效果依旧。估计要深入分析驱动代码,太浪费时间。同时考虑到未来内核升级也要重新手动修改驱动,用户体验难以接受。决定放弃尝试。
================================================================
最终解决方案:
又购买了普通版本TL-WN725N(更小更便宜),未做任何配置,插在机器上,瞬间完成驱动。
教训:一分钱一分货是不假,但在linux的世界里,性价比才是最安全的标准。
没有评论:
发表评论