最近一直使用的 USB WiFi 裝置突然無法使用,連 LED指示燈 都沒有亮著
以為已經損壞,但電腦卻能偵測到裝置的名稱,只是名稱上有一些特殊的描述
因此在下又要尋找解決方便
錯誤掛載
USB WiFi 裝置連接後,在 Terminal 輸入
1 | lsusb |
雖然找到正在使用的 USB WiFi 裝置,但卻附加 Driver CDROM Mode 的描述
由於在下曾經在 Windows 使用相同的裝置,連接後, Windows 會將裝置當作 USB儲存裝置 掛載
需要退出 USB儲存裝置 後才會識別為 USB WiFi 裝置
因此在下認為 USB WiFi 裝置並沒有損壞,只是錯誤地被識別為 USB儲存裝置
(但 Linux 或 Mac 都只能掛載但沒法顯示,有機會這個模式只支援 Windows)
在下嘗試將 USB WiFi 裝置的 Driver CDROM Mode 設定為 黑名單 ,避免掛載為 USB儲存裝置
希望能正常使用 USB WiFi 裝置的 WiFi 功能
設定udev規則
到 /etc/udev/rules.d 建立一個 .rules 的 udev規則檔案
(檔案名稱可以自由輸入,例如在下使用 99-prevent-rtl8188gu-driver-cdrom-mode.rules)
並在檔案中輸入
1 | SUBSYSTEM== "usb" , ATTR{idVendor}== "0bda" , ATTR{idProduct}== "1a2b" , ATTR{bInterfaceClass}== "08" , ATTR{bInterfaceSubClass}== "06" , ATTR{bInterface Protocol}== "50" , ENV{UDISKS IGNORE}= "1" |
或直接在 Terminal 輸入
1 | echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", ATTR{bInterfaceClass}=="08", ATTR{bInterfaceSubClass}=="06", ATTR{bInterface Protocol}=="50", ENV{UDISKS IGNORE}="1"' | sudo tee "/etc/udev/rules.d/99-prevent-rtl8188gu-driver-cdrom-mode.rules" |
建立規則後,輸入
1 | sudo service udev restart |
重新啟動 udev服務 (需要使用 root 或 sudo) (或重新開機亦可)
(udev規則 會根據檔案名稱的順序決定優先度,因此前綴數值使用 99 是為了降低優先度,避免優先度高於重要的規則)
重新拔插 USB WiFi 裝置後,裝置便正常運作
總結
這個 USB WiFi 裝置就是在下之前 USB 外殼受損,需要額外垾接 USB插頭 的 USB裝置
最近在下將 Linux核心 升級,有可能因為這個情況而將 USB WiFi 裝置 辨識為 USB儲存裝置
沒有留言 :
張貼留言