私は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を再起動または再起動します。働かなければならない
答え2
/etc/usb_modeswitch.conf
設定ファイルで設定したことを確認してください。
DisableSwitching=0
それ以外の場合、自動モード切り替えはグローバルに無効になります。
答え3
最後に(最後に)usb_mode自動切り替え問題の原因を発見しました。
文書40-usb_modeswitch.rules
以下の内容が含まれています/lib/udev/rules.d
:
#Huawei社、最新のモデム ATTR{idVendor}=="12d1", ATTR{idProduct}=="1446", RUN+="usb_modeswitch '%b/%k'"
したがって、私のモデムは自動的usb_modeswitch
に40-usb_modeswitch.rules
。
しかし、問題は/usr/sbin/usb_modeswitch
&/usr/sbin/usb_modeswitch_dispatcher
が設定されていませんchmod +x
(ファイルの実行を許可)。おそらく、インストールスクリプト(問題に添付)のプロパティが変更された可能性があります。
手動でsudo usb_modeswitch -I -W -c /etc/usb_modeswitch.d/12d1\:1446
(問題の説明を含む)Isudo chmod +x /usr/sbin/usb_modeswitch
しかし、/usr/sbin/usb_modeswitch_dispatcher
まだ実行権限がありません。
今sudo chmod +x /usr/sbin/usb_modeswitch_dispatcher
ほぼ終わりました!
その後、説明したように、すべての手動切り替えプロセスを削除しました。状態4(質問を参照)私のモデムは次のように正常に検出されました。
バス 001 デバイス 004: ID 12d1:1436 Huawei Technologies Co., Ltd. E173 3Gモデム(モデムモード)
つまり、40-usb_modeswitch.rules
うまく動作します。
ついに帰ってきた状態1。 [解決済み]
答え4
私は同じ問題に対処し、受け入れられた解決策は私にはうまくいきませんでした。 Raspbianディストリビューションがある場合は、ここで説明されている既知のバグがあります。https://github.com/RPi-Distro/repo/issues/47。
解決策は次のとおりです。
- 編集する
/lib/udev/rules.d/40-usb_modeswitch.rules
- 編集してに
ATTRS{idVendor}=="12d1", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch '%b/%k'"
変更します。'%b/%k'
'%k'
Raspbian 8とHuawei EC315でテストされています。