Huawei E303F USBモデムを使用しています。 Ubuntu Studio 16.04.1 LTS "Xenial Xerus"をインストールしました。モデムは、ネットワークマネージャによって検出を取得します。
Mobile Broadband connectionをNetwork 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
Ubuntu Studio 16.04でモデムを動作させました
Ubuntu Studio 12.10で、私はhuaweiドライバーをインストールし、追加の調整なしで動作しました。 Ubuntu Studio 15.10では、プラグインした直後に機能しました。私はそれを機能させるために何もしませんでした。 Ubuntu Studio 16.04では、usb_modeswitch
とmodprobe
の簡単な手順を実行して動作させました。これについてのフォーラムには多くの記事と質問があります。しかし、それでも私はそれをどうやってやったのか、本当に詳細に述べたいと思います。次の3つの簡単な手順が含まれます。
次の手順を試す前に、製造元から提供されたデバイス用のドライバーがあるかどうかを確認してください。 Huaweiの場合、ドライバーは非常に古いため、以下の手順に従うことができます。
lsusb
およびusb-devices
コマンドを使用してUSBが検出されたかどうかを確認し、
結果のリストにモデムが表示されている場合は、If#
コマンドで、usb-devices
で始まるインターフェイスごとに1行でリストされているインターフェイス(I:
)の数を確認してください。
Interface(If#)行が1つだけで、クラス指定が「Cls = 08(stor。)」の場合、USBフラッシュドライブモードになります。次の手順を使用して、モデムモードに切り替える必要があります。
リストにない場合は、モデムに問題があるか、いくつかの問題があります。
最初に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などは、ダウンロードしたパッケージの名前に置き換える必要があります。これにより、パッケージがインストールされます。上記の手順は、すべてのソフトウェアに共通です。
次に、touch
コマンドを使用して、12d1:1446という名前のファイルを/ etc/usb_modeswitch.d /ディレクトリにスーパーユーザーとして作成します。 。
Sudo touch /etc/usb_modeswitch.d/12d1:1446
「12d1」はHuaweiの「ベンダーID」で、「1446」は「切り替えられていない製品ID」です。これは、上記のlsusb
またはusb-devices
コマンドから取得できます端末。
次に、モデムモードに切り替えるには、ターミナルを開いて入力します
Sudo usb_modeswitch -v 0x12d1 -p 0x1446 -J
usb_modeswitchコマンドには、切り替え方法/メッセージを含める必要があります。ここで、切り替え方法は-J
で指定され、これが標準のHuawei切り替え方法です。デバイスメーカーによって異なります。詳細については、ターミナルで「man usb_modeswitch
」と入力してください。
ターミナルにusb-devices
と入力すると、デバイスの新しい「製品ID」と多くのインターフェイス(If#)が一覧表示されます。ほとんどのインターフェース(If#)は、ドライバーとして「オプション」を使用する必要があります。これらのインターフェースのいくつかはインターネット接続に使用され、ほとんどの場合、接続に使用されるインターフェースには「huawei_cdc_ncm」のような異なるドライバーがあります。
次に、Ubuntuの「ネットワークマネージャー」を使用して「モバイルブロードバンド接続」を設定して、インターネットへの接続を試してください。接続されていれば、仕事は完了です。そうでない場合は、次の手順に進むことができます。
usb-devices
コマンドから、モード切り替えモデムが使用しているドライバーを確認できます。
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#)のドライバーとして「なし」が表示されます。
デバイスを再度削除して、コマンドを入力します。
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
と入力すると、モデムのロードされたドライバーとして「オプション」が表示されます。
ここで、modprobe usbserial
コマンドを使用して、ロードされた「オプション」ドライバーでデバイスを動作させます。
Sudo modprobe usbserial vendor=12d1 product=1506
ここで、モデムをインターネットに接続してみてください。ほとんどは接続されているはずですが、接続されていない場合は、プラグを抜き、step 3を再度実行してください。それでも接続しない場合、これらのコマンドを自動化するプロセスがモデムをインターネットに接続できる場合があります。
このプロセスを自動化するには、ステップ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」に変更することを忘れないでください。デバイスを取り外して再度接続すると、インターネットに接続されます。
それが機能する場合でも。システムを起動した後、プラグを抜いて再度接続した後にのみ接続することがあります。 「オプション」ドライバのロードには時間がかかると思います。
Ubuntuにはcdc_mbimドライバーがありますが、Ubuntuでの接続に使用されるインターフェースから2つのインターフェース(If#
in usb-devices
コマンド)を生成できないことがわかりました。しかし、Windowsはできるようです。そのため、インターフェイスの再起動時にモデムに情報が残っていると思いますが、スイッチをオフにしてオンにしたときはそうではありません。
そのため、Ubuntuを起動すると、これらのインターフェイスが検出され、適切なドライバー(cdc_mbim)が選択されます。ただし、接続には必ずしも2つのインターフェースが必要というわけではありません。適切なドライバを備えた1つのインターフェイスでも十分です。つまり、正しいモジュール/ドライバーがロードされている場合、最初にWindowsを起動する必要はありません適切に(option
module)。