web-dev-qa-db-ja.com

ドライバCDの自動イジェクト/モデムモードへの切り替えのために、D-link dwm-156をusbスイッチモードに追加する方法

Ubuntu 13.10、32ビットを実行しています。

ネットワークマネージャーを介してd-link dwm-156 gsmモデムを機能させるために、WindowsドライバーCDを「イジェクト」するために端末に行く必要がありました。

USBモードスイッチが機能していないようです。

しかし、ubuntu 14.04を使用している友人のコンピューターでは、usbモードスイッチが機能しており、ネットワークマネージャーを介してd-link dwm-156をモバイルブロードバンドに接続できます。

起動時にubuntu 13.10,32-bitでd-link dwm-156のWindowsドライバCDを取り出すためにUSBモードを切り替える方法はありますか?

Lsusbの出力は、CDを取り出す前のBus 002 Device 013: ID 2001:a706 D-Link Corpです(Windowsドライバーのストレージデバイスとしてのモデム)。

(モデムとして)CDを取り出した後のlsusb出力はBus 002 Device 005: ID 2001:7d01 D-Link Corpです。

SMSを送信してデータ使用量を見つける必要があるため、CDのドライバーを使用したくありません。

2
kitten 94

デフォルトID 2001:a706およびターゲットID 2001:7d01のGSMモデム

USBスイッチモードをインストールする必要があります(すべてのUbuntuにデフォルトでインストールされます)

  1. ターミナルに入力:

    Sudo gedit /etc/usb_modeswitch.d/2001:a706
    
  2. 次の行を新しく開いたファイルにコピーして保存します。

    D-Link DWM-156 HSUPA 3.75G USB Modem 
    TargetVendor=0x2001
    TargetProduct=0x7d01
    MessageContent="555342431234567800000000000003f0010100000000000000000000000000"
    
  3. ターミナルに入力:

    Sudo usb_modeswitch -v 0x2001 -p 0xa706 -c /etc/usb_modeswitch.d/2001:a706
    

    Ubuntuのusbスイッチモードを使用して、モデムをモデムモードに切り替える必要があります(通常、NetworkManagerに表示されるまでに10秒かかります)

    これで作成できます自動切り替え

  4. ターミナルに入力:

    Sudo gedit /lib/udev/rules.d/40-usb_modeswitch.rules
    
  5. Dリンクの1つのデフォルトID(ベンダーおよび製品)をテキストエディターのIDで変更し、以下のように保存します。

    D-Link DWM-156 HSUPA 3.75G USB Modem 
    ATTRS{idVendor}=="0791", ATTRS{idProduct}=="a800", RUN+="usb_modeswitch '%b/%k'"
    

    上記のコードを次のコードに変更します。

    D-Link DWM-156 HSUPA 3.75G USB Modem
    ATTRS{idVendor}=="2001", ATTRS{idProduct}=="a706", RUN+="usb_modeswitch '%b/%k'"
    

    注:デバイスの名前がgeditリストにない場合、デバイスの新しいファイルを作成しないでください。機能しません。リスト内のデバイス名のいずれかにIDを追加するだけで、名前は実際に機能します。関係なく、デフォルトのIDのみが必要です。保存してモデムを再接続すると、モデムとして自動的に検出されます。端末から表示したい場合は、lsusbを使用してください。再接続の前後で異なる表示になります。取り出す前は、2001:a706のようになります。再接続後は、モデムモードである2001:7d01のように見えました。

    メッセージの内容は/usr/share/usb_modeswitch/configPack.tar.gzで見つけることができ、適切な名前で適切なものを見つけることができます。正しいメッセージコンテンツがなければ、USBモードスイッチを使用することはできません。一部は適切でない場合があります。だから一般的にあなたがしたことは:

    1. Sudo gedit /etc/usb_modeswitch.d/2001:a706行を実行したときに、デバイスIDをusbモードスイッチに提供しています。

    2. Sudo gedit /lib/udev rules.d/40-usb_modeswitch.rulesにデフォルトのIDを追加することにより、自動的に機能させます

上記以外のモデム

Usbスイッチモードをインストールする必要があります(Ubuntuではデフォルトでインストールされます)。

  1. ターミナルを開いて次のように入力し、デフォルトのベンダーID、デフォルトの製品ID、ターゲットのベンダーID、ターゲットの製品IDをデバイスのIDに置き換えます

    Sudo gedit /etc/usb_modeswitch.d/default vendor id : default product id
    
  2. 次の行をコピーして保存します。

    name of modem
    TargetVendor=0x????
    TargetProduct=0x????
    MessageContent="???????????????????????????????????????????????????????????"
    
    Type your id's & message content in the **????** above
    
  3. ターミナルに入力します。

    Sudo usb_modeswitch -v 0xdefault vendor id -p 0xdefault product id -c /etc/usb_modeswitch.d/defult vendor id:default product id
    

    例えば:

    Sudo usb_modeswitch -v 0x2001 -p 0xa706 -c /etc/usb_modeswitch.d/2001:a706
    

    ここで、USBスイッチモードを使用してモデムをモデムモードに切り替える必要があります(NetworkManagerに表示されるまでに約10秒かかります)。ここで自動化します。

  4. ターミナルに入力:

    Sudo gedit /lib/udev/rules.d/40-usb_modeswitch.rules
    

    モデムの1つのデフォルトID(ベンダーと製品)を自分のものに変更して保存します。

    D-Link DWM-156 HSUPA 3.75G USB Modem
    ATTRS{idVendor}=="0791", ATTRS{idProduct}=="a800", RUN+="usb_modeswitch '%b/%k'"
    

    上記を次のように変更します。

    D-Link DWM-156 HSUPA 3.75G USB Modem
    ATTRS{idVendor}=="your defult vendor id", ATTRS{idProduct}=="your default product id", RUN+="usb_modeswitch '%b/%k'"
    

    上記のケースで述べたように、名前は重要ではなく、デフォルトのIDのみが必要です。保存してモデムに再接続すると、モデムとして自動的に検出されます。

lsusbコマンドを実行すると、次のようなものが表示されます。

    ubuntu@ubuntu:~$ lsusb

    Bus 002 Device 019: ID 2001:a706 D-Link Corp.
    Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

ここで2001 =ベンダーID。 a706 =製品ID。デフォルトのベンダー:製品IDは、ドライバーcdを取り出す前に取得されます。ここでは、2001-a706を使用しました

対象ベンダー:製品IDは、ドライバーcdをイジェクトした後に取得します(モデムモードとして)。ここでは、2001:7d01を使用しました

また、/usr/share/usb_modeswitch/configPack.tar.gzでメッセージの内容を検索し、名前を一致させることで自分に適したものを見つけることができます。一部は適切ではないか、インターネット(難しい)です。

注IDとメッセージの内容は、モデムによって異なります。

基本的に、ここで2つのことを行いました。

  1. Sudo gedit /etc/usb_modeswitch.d/に追加してデバイスIDを提供しました

  2. UsbモードスイッチのudevルールにデフォルトIDを追加して、自動的に機能するようにしました

D-link dwm 3.75G usbアダプタの場合、IDは次のようになります。

2001:a706(排出前)2001:7d01(排出後)、

USB Mode Switch 1.2.3では、USBモデムは13.10以降でサポートされています。 14.04では、2.1.1にすでに更新されたIDリストがあります。問題がある場合は、最新のUbuntuバージョンに更新してください。

6
kitten 94