admin 管理员组文章数量: 887021
2019独角兽企业重金招聘Python工程师标准>>>
淘宝买了个 TP-LINK 的 usb WiFi 接收器,说明写的是免驱动的,拿回来一看,还是要驱动,只不过仅支持的 Windows 系统是自动安装的。可能设计者想到用 Ubuntu 的都不是一般人,就让他们自己折腾吧!
操作系统:Ubuntu 18.04.2 LTS (Linux)
WiFi 接收器:TP-LINK TL-WDN5200H
一、操作
git clone https://github/Yuan-W/rtl8821cu
cd rtl8821cu
make
sudo make install
sudo modprobe 8821cu
sudo usb_modeswitch -KW -v 0bda -p 1a2b
Done. 应该就可以找到 wifi 设备了,同时桌面上的光盘消失(由文件闪存设备切换至 wifi 设备了)。
- 至于前面
usb_modeswitch
命令中-v xxx -p xxx
参数以及下文{idVendor}=="???"
和idProduct
的值,使用lsusb
工具查看,不详述。
二、自动化
- 注意在前面输入的最后一行命令执行后,会输出类似如下的信息:
# ...
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultVendor= 0x0bda
DefaultProduct= 0x1a2b
StandardEject=1
Look for default devices ...
# ...
保留以上输出中带有 =
号的全部行备用。
- 创建文件
# 这里的文件名要用 idVendor:idProduct
sudo touch /etc/usb_modeswitch.d/0bda:1a2b
sudo vi /etc/usb_modeswitch.d/0bda:1a2b
将以上保留的信息粘贴进来,保存退出。
- 打开文件追加行
sudo vi /lib/udev/rules.d/40-usb_modeswitch.rules
将这行添加到后面:ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="usb_modeswitch '%b/%k'"
拔插一下 usb wifi 试试看会不会自动识别。不行就重启。
至此,一般来说是可以 work 了,笔者每次重启电脑就能自动识别设备和连接上网络。但好景不长,有一次开发中出现了奇怪的编译问题,于是笔者祭出了杀手锏:重启!!!这一重启不但没解决奇怪的编译问题,我的 WiFi 接收器也不工作了。刚开始以为是坏了,可
lsusb
还能看到设备‘Bus 001 Device 002: ID 0bda:c811 Realtek Semiconductor Corp.’
只是 ID 的0bda:1a2b
变成了0bda:c811
,说明设备没坏!
在重新执行了本文开头的操作,发现 sudo modprobe 8821cu
报如下错误:modprobe: ERROR: could not insert '8821cu': Exec format error
三、解决问题
sudo apt-get update
sudo apt-get -y dist-upgrade
重启,然后继续:
sudo apt-get install --reinstall linux-headers-generic
sudo apt-get install --reinstall linux-headers-`uname -r`
sudo apt-get install --reinstall build-essential
然后 cd
到本文开头 git clone
的目录,执行:
make clean
然后继续执行本文开头 make
及以后的操作。
感谢这里提供的帮助,祝你成功!
四、原理
實際上 usb-modeswitch
和 udev
的運作順序如下:
/lib/udev/rules.d/40-usb_modeswitch.rules
:udev
的規則文件,如果設備被識別(包括 Vendor ID 和 Product ID)就會啟動usb_modeswitch
。/lib/udev/usb_modeswitch
:執行usb_modeswitch_dispatcher
的script
。/usr/sbin/usb_modeswitch_dispatcher
:usb_modeswitch
的wrapper
,用tcl
寫的,會根據所選擇的設備與設定實際執行/usr/sbin/usb_modeswitch
。/etc/usb_modeswitch.conf
:全域的設定檔案,也可用於單一的設備設定資訊。/etc/usb_modeswitch.d
:該文件夾包含了各別設備的獨立設定資訊,各別裝置的設定檔案是用設備的 ID 來命名。/usr/sbin/usb_modeswitch
:實際轉換裝置模式的二進位程式。
转载于:https://my.oschina/weichou/blog/3025407
版权声明:本文标题:Ubuntu 台式机 usb WiFi 接收器设置方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726814096h1033161.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论