web-dev-qa-db-ja.com

Huawei USBモデム-適切なドライバー(モジュール)がロードされていません

Huawei E303F USBモデムを使用しています。 Ubuntu Studio 16.04.1 LTS "Xenial Xerus"をインストールしました。モデムは、ネットワークマネージャによって検出を取得します。

Mobile Broadband connectionNetwork Managerでセットアップできます。しかし、それはインターネットに接続していません。接続シンボルが長時間表示された後、停止します。

しかし、Windowsでインターネットに接続してからrestartingでUbuntuを起動して初めて接続できます。システムをシャットダウンしてからUbuntuを起動する(または)デバイスを取り外して再接続すると、機能しません。 sb_modeswitchを使用していつでも検出できますが、接続は確立されません。

その後、再びWindowsを起動してUbuntuを再起動する必要があります。

Windowsでインターネットに接続し、Ubuntuで再起動した後

usb-devices接続時のモデム情報

Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  4 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1506 Rev=01.02
S:  Manufacturer=HUAWEI
S:  Product=HUAWEI Mobile
C:  #Ifs= 7 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=03 Prot=01 Driver=option
I:  If#= 1 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
I:  If#= 2 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I:  If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=03 Prot=03 Driver=option
I:  If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=03 Prot=02 Driver=option
I:  If#= 5 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
I:  If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

usb-devices接続していないときのモデム情報

T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 11 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1506 Rev=01.02
S:  Manufacturer=HUAWEI
S:  Product=HUAWEI Mobile
C:  #Ifs= 6 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=03 Prot=01 Driver=option
I:  If#= 1 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=03 Prot=16 Driver=option
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=03 Prot=03 Driver=option
I:  If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=03 Prot=02 Driver=option
I:  If#= 4 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
I:  If#= 5 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
1
Arun_Jo

Ubuntu Studio 16.04でモデムを動作させました

Ubuntu Studio 12.10で、私はhuaweiドライバーをインストールし、追加の調整なしで動作しました。 Ubuntu Studio 15.10では、プラグインした直後に機能しました。私はそれを機能させるために何もしませんでした。 Ubuntu Studio 16.04では、usb_modeswitchmodprobeの簡単な手順を実行して動作させました。これについてのフォーラムには多くの記事と質問があります。しかし、それでも私はそれをどうやってやったのか、本当に詳細に述べたいと思います。次の3つの簡単な手順が含まれます。

次の手順を試す前に、製造元から提供されたデバイス用のドライバーがあるかどうかを確認してください。 Huaweiの場合、ドライバーは非常に古いため、以下の手順に従うことができます。

ステップ1:デバイスが検出されたかどうかを確認する

lsusbおよびusb-devicesコマンドを使用してUSBが検出されたかどうかを確認し、

結果のリストにモデムが表示されている場合は、If#コマンドで、usb-devicesで始まるインターフェイスごとに1行でリストされているインターフェイス(I:)の数を確認してください。

Interface(If#)行が1つだけで、クラス指定が「Cls = 08(stor。)」の場合、USBフラッシュドライブモードになります。次の手順を使用して、モデムモードに切り替える必要があります。

リストにない場合は、モデムに問題があるか、いくつかの問題があります。

ステップ2:「モデムモード」に切り替えるためのusb_modeswitch

1)サブステップ:

最初にusb-modeswitchおよびusb_modeswitch-dataを更新します。

何らかの方法でインターネットを取得できる場合は、更新のためにターミナルで次のコマンドを使用できます。Sudo apt-get install usb-modeswitch usb-modeswitch-data

または

「Synaptic Package Manager」を使用してダウンロードし、オフラインでインストールします。

Ubuntuとインターネット接続が可能な他のコンピューターを使用できます。シナプスパケットマネージャーを開き、検索フィールドにusb-modeswitchと入力し、結果に両方のパッケージをマークします。そして、その間、関連する依存パッケージをマークするかどうかを尋ねられます。 「マーク」をクリックします。次に、ファイルに移動し、「パッケージダウンロードスクリプトの生成」をクリックして、スクリプトを保存するディレクトリを選択し、スクリプトに「deblist」などの名前を付けて保存します。次に、スクリプトのディレクトリに移動します。そこで端末を開いて入力します

bash ./deblist

これにより、スクリプトと同じディレクトリにパッケージがダウンロードされます。ディレクトリをコンピュータにコピーし、同じディレクトリでターミナルを開いて入力してインストールします

Sudo dpkg -i package1.deb package2.deb package3.deb 

Package1.deb、package2.deb、package3.debなどは、ダウンロードしたパッケージの名前に置き換える必要があります。これにより、パッケージがインストールされます。上記の手順は、すべてのソフトウェアに共通です。

2)サブステップ:

次に、touchコマンドを使用して、12d1:1446という名前のファイルを/ etc/usb_modeswitch.d /ディレクトリにスーパーユーザーとして作成します。 。

Sudo touch /etc/usb_modeswitch.d/12d1:1446

「12d1」はHuaweiの「ベンダーID」で、「1446」は「切り替えられていない製品ID」です。これは、上記のlsusbまたはusb-devicesコマンドから取得できます端末。

3)サブステップ:

次に、モデムモードに切り替えるには、ターミナルを開いて入力します

Sudo usb_modeswitch -v 0x12d1 -p 0x1446 -J

usb_modeswitchコマンドには、切り替え方法/メッセージを含める必要があります。ここで、切り替え方法は-Jで指定され、これが標準のHuawei切り替え方法です。デバイスメーカーによって異なります。詳細については、ターミナルで「man usb_modeswitch」と入力してください。

ターミナルにusb-devicesと入力すると、デバイスの新しい「製品ID」と多くのインターフェイス(If#)が一覧表示されます。ほとんどのインターフェース(If#)は、ドライバーとして「オプション」を使用する必要があります。これらのインターフェースのいくつかはインターネット接続に使用され、ほとんどの場合、接続に使用されるインターフェースには「huawei_cdc_ncm」のような異なるドライバーがあります。

次に、Ubuntuの「ネットワークマネージャー」を使用して「モバイルブロードバンド接続」を設定して、インターネットへの接続を試してください。接続されていれば、仕事は完了です。そうでない場合は、次の手順に進むことができます。

ステップ3:ドライバーをロードする

usb-devicesコマンドから、モード切り替えモデムが使用しているドライバーを確認できます。

1)サブステップ:

Usb-storageとして使用されるインターフェイスを除き、すべてのインターフェイスのドライバーとして「オプション」が表示される場合(If#)、サブステップ2に進みます。以下に示す(または)が「huawei_cdc_ncm」と表示されている場合は、/ lib/modules /(uname -r)/ kernel/drivers/net/usb /に移動して、

Sudo thunar /lib/modules/(uname -r)/kernel/drivers/net/usb/

または

Sudo nautilis /lib/modules/(uname -r)/kernel/drivers/net/usb/

バックアップとして、他のディレクトリで「カットアンドペースト方式」で「huawei_cdc_ncm」を移動します。

次に、デバイスを削除し、再接続して、usb_modeswitchコマンドを入力します。 usb-devicesコマンドの結果では、モデムとして使用されるインターフェイス(If#)のドライバーとして「なし」が表示されます。

2)サブステップ:

デバイスを再度削除して、コマンドを入力します。

Sudo rmmod option

カーネルからオプションドライバーを削除するには

次に、デバイスを再接続して、usb_modeswitchコマンドを入力します。それでも、usb-devicesコマンドの結果には、モデムのドライバーとして「なし」、他のインターフェイスのドライバーとして「オプション」(If#)が表示されます。

次に、nanoを使用してファイル/ sys/bus/usb-serial/drivers/option1/new_idを開きます。

Sudo nano /sys/bus/usb-serial/drivers/option1/new_id

12d1 1506と入力し、ctrl + oを使用して保存し、ctrl + xを使用して終了します。ここで、1506は「modeswitched product id」です。ここでusb-devicesと入力すると、モデムのロードされたドライバーとして「オプション」が表示されます。

3)サブステップ:

ここで、modprobe usbserialコマンドを使用して、ロードされた「オプション」ドライバーでデバイスを動作させます。

Sudo modprobe usbserial vendor=12d1 product=1506

ここで、モデムをインターネットに接続してみてください。ほとんどは接続されているはずですが、接続されていない場合は、プラグを抜き、step 3を再度実行してください。それでも接続しない場合、これらのコマンドを自動化するプロセスがモデムをインターネットに接続できる場合があります。

ステップ4:自動化

このプロセスを自動化するには、ステップ1サブステップ2を完了した後、次の行をコピーします

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1446", RUN+="/usr/sbin/usb_modeswitch -v 12d1 -p 1446 -J"

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1446", RUN+="/bin/bash -c 'modprobe option && echo 12d1 1506 > /sys/bus/usb-serial/drivers/option1/new_id'"

コマンドを使用して/lib/udev/rules.d/40-usb_modeswitch.rulesに

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

または

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

コピー後、上記の行の「製品ID」を「切り替えられていない製品ID」に変更することを忘れないでください。デバイスを取り外して再度接続すると、インターネットに接続されます。

それが機能する場合でも。システムを起動した後、プラグを抜いて再度接続した後にのみ接続することがあります。 「オプション」ドライバのロードには時間がかかると思います。

1
Arun_Jo

Ubuntuにはcdc_mbimドライバーがありますが、Ubuntuでの接続に使用されるインターフェースから2つのインターフェース(If# in usb-devicesコマンド)を生成できないことがわかりました。しかし、Windowsはできるようです。そのため、インターフェイスの再起動時にモデムに情報が残っていると思いますが、スイッチをオフにしてオンにしたときはそうではありません。

そのため、Ubuntuを起動すると、これらのインターフェイスが検出され、適切なドライバー(cdc_mbim)が選択されます。ただし、接続には必ずしも2つのインターフェースが必要というわけではありません。適切なドライバを備えた1つのインターフェイスでも十分です。つまり、正しいモジュール/ドライバーがロードされている場合、最初にWindowsを起動する必要はありません適切にoption module)。

0
Arun_Jo