モデムが検出されません(なぜusb_modeswitchをする必要があるのですか?)

モデムが検出されません(なぜusb_modeswitchをする必要があるのですか?)

私は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:-

しかし、最近1つ走りました。インストールスクリプトモバイルパートナーから来ましたが、正しくインストールできなかったので、私も実行してみました。削除スクリプト残念ながら、削除にもかかわらず、モデムは機能しません(正常な検出)。

これで、検出と新しい(現在の)出力が変更されました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

ここで違いを見ることができます。
より早い:

バス 001 デバイス 004: ID 12d1:1436 Huawei Technologies Co., Ltd. E173 3Gモデム(モデムモード)

今:

バス 001 デバイス 003: ID 12d1:1446 Huawei Technologies Co., Ltd. 1552/E1800/E173(HSPAモデム)

モデムはnm-appletでは検出されません(nmcliにもリストされていません)。

デフォルトのTrisquelは私のデバイスに問題がないので、どのように設定をデフォルト値にリセットできますか?つまり、この新しい動作の影響を受けるファイルは何であり、どのように以前の状況に戻すことができますか? (そうでない場合は、OS全体を再インストールする必要があります!)


状態 3:-

私は12d1:1446というファイルを書きましたが、/etc/usb_modeswitch.d/その下は次のようになります。

デフォルトプロバイダ = 0x12d1
基本製品=0x1446

MessageContent="55534243123456780000000000000011062000000100000000000000000000"

次のコマンドで実行します。

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

うまくいきましたが、理由がlsusb変わりました。

から:

バス 001 デバイス 003: ID 12d1:1446 Huawei Technologies Co., Ltd. E1552/E1800/E173(HSPAモデム)

に戻る:

バス 001 デバイス 004: ID 12d1:1436 Huawei Technologies Co., Ltd. E173 3Gモデム(モデムモード)

これにより、ネットワーク管理者はそれを検出して接続できます。


状態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

バス 001 デバイス 004: ID 12d1:1436 Huawei Technologies Co., Ltd. E173 3Gモデム(モデムモード)

結局、ネットワーク管理者()を介してモデムに正常に接続できましたnm-applet


結論として:-

しかし、現在の状況(状態4)または私が探しているものですが、正確ではありません(状態1)モデムが接続されるたびにudev-ruleとusb-modeswitchを渡すからです。

つまりなぜ今それをするべきですかusb_modeswitch(以前は必要ではなく、Live DVDから起動してインストールせずにOSを試してみると、モデムは手動操作なしでうまく機能しますusb_modeswitch)。

だから(この質問を書いて以来)私の目標は状態1

ベストアンサー1

モデムが接続されるたびにスクリプトを起動するには、udevルールを試してください。

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

XXXXとUUUUをベンダーとID製品に置き換え、ルールを/etc/udev/rules.d/99-yourrule.rulesに入れて、udevを再起動または再起動します。働かなければならない

おすすめ記事