Networking

未檢測到調製解調器(為什麼我必須使用 usb_modeswitch?)

  • February 15, 2017

我正在使用 Trisquel 7.0 LTS 和移動寬頻 (Net-Setter) 建立連接。

以下狀態 (1-4) 顯示了不同的條件/情況,以便清楚地理解問題。

狀態1:-

安裝 Trisquel 7.0 LTS 後,一切正常。我的調製解調器檢測如下(lsusb輸出):

$ lsusb
Bus 001 Device 004: ID 12d1:1436 Huawei Technologies Co., Ltd. E173 3G Modem (modem-mode)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

並且它也被 nm-applet 檢測到,或者說使用nmcli如下:

$ nmcli dev list
GENERAL.DEVICE:                         ttyUSB2
GENERAL.TYPE:                           gsm
GENERAL.VENDOR:                         HUAWEI Technology
GENERAL.PRODUCT:                        HUAWEI Mobile

狀態2:-

但是最近從 Mobile Partner執行了一個安裝腳本,該腳本沒有正確安裝,因此我也執行了解除安裝腳本不幸的是,儘管解除安裝了,但現在我的調製解調器無法正常工作(檢測正確)。

現在檢測和新(目前)輸出發生了變化lsusb

$ lsusb
Bus 001 Device 003: ID 12d1:1446 Huawei Technologies Co., Ltd. E1552/E1800/E173 (HSPA modem)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

在這裡,您可以看到不同之處

——Ealier:

Bus 001 Device 004: ID 12d1:1436 Huawei Technologies Co., Ltd. E173 3G Modem (modem-mode)

現在:

Bus 001 Device 003: ID 12d1:1446 Huawei Technologies Co., Ltd. 1552/E1800/E173 (HSPA modem)

現在在 nm-applet 中沒有檢測到調製解調器(nmcli 也沒有列出)。

那麼,如何將設置重置為預設設置,因為預設的 Trisquel 對我的設備沒有問題。換句話說,哪些文件會受到這種新行為的影響以及如何恢復到較早的狀態?(否則我必須重新安裝我的整個作業系統!)


狀態3:-

我寫了一個名為 12d1:1446 的文件/etc/usb_modeswitch.d/,下面是:

DefaultVendor= 0x12d1
預設產品=0x1446

MessageContent="55534243123456780000000000000011062000000100000000000000000000"

我通過命令執行它:

sudo usb_modeswitch -I -W -c /etc/usb_modeswitch.d/12d1\:1446

哪個工作正常並導致lsusb改變

從:

Bus 001 Device 003: ID 12d1:1446 Huawei Technologies Co., Ltd. E1552/E1800/E173 (HSPA modem)

回到:

Bus 001 Device 004: ID 12d1:1436 Huawei Technologies Co., Ltd. E173 3G Modem (modem-mode)

因此它將被 network-manager 檢測到;我將能夠連接。


狀態4:(按照這個答案) -

我已經編寫了名為的文件99-mymodem.rules/etc/rules.d其中包含:

ACTION=="add", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1446", RUN+="/home/pandya/usbmode"

/home/pandya/usbmode包含:

#!/bin/bash
sudo usb_modeswitch -I -W -c /etc/usb_modeswitch.d/12d1\:1446

因此,當我插入調製解調器時,99-mymodem.rules執行/home/pandya/usbmode並且我設法將我的調製解調器檢測為:

Bus 001 Device 004: ID 12d1:1436 Huawei Technologies Co., Ltd. E173 3G Modem (modem-mode)

最終我可以通過網路管理器(nm-applet)成功連接調製解調器。


結論:-

但是,目前條件(State-4)或者是我正在尋找的,但不是確切的(State-1),因為每次插入調製解調器時我們都會通過 udev-rule 和 usb-modeswitch 。

換句話說**,為什麼我必須usb_modeswitch現在?**(之前沒有必要,另外,如果我從 Live DVD 啟動並選擇 Try OS without installed,調製解調器無需手動即可正常工作usb_modeswitch)。

因此(因為我寫了這個問題)我的目標是恢復到State-1

嘗試 udev 規則,每次插入調製解調器時都會啟動一個腳本。

ACTION=="add", ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="UUUU", RUN+="/home/user/script.sh"

將 XXXX 和 UUUU 替換為 vendor 和 id product,將規則放入 /etc/udev/rules.d/99-yourrule.rules 並重新啟動或重新啟動 udev。必須工作

請確保在配置文件中/etc/usb_modeswitch.conf您已設置

DisableSwitching=0

否則全域禁用自動模式切換。

引用自:https://unix.stackexchange.com/questions/175766