Vodafone E3730はusb_modeswitchを使用できません。

Vodafone E3730はusb_modeswitchを使用できません。

長すぎます。

Vodafone E3730 HSPA ExpressデータカードはKubuntu 18.04 LTSではまったく機能しないようです。この問題をどのように解決できますか?


説明する

カードはかつて有効でした。正直なところ、18.04 LTSまたは一部の以前のLTSバージョンで動作していたかどうか覚えていませんが、動作しました。現在、KDE ​​Plasma 18.04 LTSでは動作していたネットワーク設定が保存されました。カードを挿入すると起動すると予想しましたが、カードがそこにないようです。

SIMカードは取り外されず、引き続き機能します。

動作する瞬間から何の問題もなかったことを覚えています。おそらくほとんどすぐに動作します。ハードウェアは認識され、APNなどの詳細を設定するだけです。


技術的な詳細

この情報はステッカーに印刷されています。

Vodafone Mobile Connect
モデル:E3730
HSPA Expressデータカード

オプションとしてEUで設計 QUALCOMM 3G CDMAオプションで
アイルランドで製作

ソースlsusb:

Bus 001 Device 006: ID 0af0:7301 Option

ソースusb-devices:

T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  6 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0af0 ProdID=7301 Rev=00.00
S:  Manufacturer=Option N.V.
S:  Product=Globetrotter HSUPA Modem
S:  SerialNumber=Serial Number
C:  #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)

cat /etc/issue:

Ubuntu 18.04.5 LTS \n \l

uname -a:

Linux whatever 4.15.0-121-generic #123-Ubuntu SMP Mon Oct 5 16:16:40 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

研究

このデバイスの正しいドライバは次のとおりです。option

私が学んだことusb_modeswitch例:

一部の新しいUSBデバイスには独自のオンボードWindowsドライバがあり、ほとんどはWWANおよびWLANアダプタです。初めて接続すると、フラッシュドライブのように動作し、そこからWindowsドライバをインストールします。ドライバがインストールされると、ストレージデバイスが消え、ほとんどのデバイス(モデムポートなど)である新しいデバイスが表示されます。

Linuxでは、ほとんどの場合、ドライバusbserialoption。ただし、デバイスは最初usb-storageにデフォルトでバインドされています。usb_modeswitch これにより、提供された一括メッセージ(ほとんどの大容量ストレージコマンド)をデバイスに送信できます。このメッセージは、Windowsドライバの動作を分析して確認する必要があります。

パッケージを確認してインストールusb-modeswitchusb-modeswitch-dataました。私はそれらが自動的に機能しなければならないと信じています。少なくとも私のカードがうまくいったときはうまくいったようで、私はそれについて全く知りませんでしたusb_modeswitch

私はそのデバイスがフラッシュメモリのように見えないことに気づきました。usb-devices上記の出力には次のCls=08(stor.)ような内容が示されています。基本クラス08h(大容量記憶装置);しかし、ドライバーはnone。ブロックデバイスが表示されません。

それから私は見つけました。この回答私のハードウェアに合わせて調整してみました。

まず0af0:7301/etc/usb_modeswitch.d/デバイスを取り外して再挿入しました。それからusb-device私にこれを与えました:

T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  7 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0af0 ProdID=7301 Rev=00.00
S:  Manufacturer=Option N.V.
S:  Product=Globetrotter HSUPA Modem
S:  SerialNumber=Serial Number
C:  #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

ドライバーはですusb-storage。実際に新しく作成されたブロックデバイス(/dev/sr0私の場合)をインストールし、ここにWindowsドライバが含まれていることを確認できます。空のファイルのため、デバイス上usb_modeswitchで何もしないようです。

usb_modeswitch次に手動で実行してみました。

sudo usb_modeswitch -v 0x0af0 -p 0x7301 --option-mode
# or
sudo usb_modeswitch -v 0x0af0 -p 0x7301 --option-mode -C 0xff

上記のコマンドで印刷された出力では動作しているとマークされていますが、出力での唯一の変更はusb-device次の行です。

I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)

これは私がいたずらを始める前に見たものですusb_modeswitchusb_modeswitch自動的に行われた操作を手動で再現したようです。私の説明は、ツールが部分的にしか機能しないということです。ドライバを削除できますが(usb-storageに変更none)、モードを切り替えることはできません(08(stor.)保持)。


質問

ここで続ける方法は?モデムを操作するには?

答え1

長すぎます。

装置はVendor=0af0、で識別されますProdID=73010af0:7301inという名前のファイルを作成します/etc/usb_modeswitch.d/(ファイルがある場合は編集)。その内容は次のとおりです。

# Option HSO device
TargetClass=0xff
MessageContent="55534243785634120100000080000601000000000000000000000000000000"
NoDriverLoading=1

調査

(私は質問者であり、私自身の質問に答えていることに注意してください。簡単な説明を除いて、答えは実際に物語の続きです。)

この説明は正しいようです。usb_modeswitchやるべきことより少なく働く

ツールが私のデバイス(0af0:7301ファイルなし/etc/usb_modeswitch.d/)で何をしたいのかを理解するために見つけましたapt-file show usb-modeswitch-data。ラインの1つが有望に見えます。

/usr/share/usb_modeswitch/configPack.tar.gz

はい、このファイルには、次のようなvendorID:productID名前の付いた多くのファイルが含まれています0af0:7301

# Option HSO device
TargetClass=0xff
OptionMode=1

推測する(質問から)手動で試したオプションを指定します。

usb_modeswitch -v 0x0af0 -p 0x7301 --option-mode -C 0xff

過去にはハードウェアが動作していたので、当時はドキュメントが違っていたようです。私はこの(または)古いファイルを見つけることにしました。

私の主な項目/etc/apt/sources.listは次のとおりです。

deb http://pl.archive.ubuntu.com/ubuntu/ bionic main restricted

pl私はポーランド人だから)。私の意図はusb-modeswitch-dataどこかで年をとる人を探すことでしたpl.archive.ubuntu.com。いくつかの検索の最後に次の住所が見つかりました。

ftp://pl.archive.ubuntu.com/ubuntu/pool/main/u/usb-modeswitch-data/

このファイルをダウンロードしました。

ftp://pl.archive.ubuntu.com/ubuntu/pool/main/u/usb-modeswitch-data/usb-modeswitch-data_20151101.orig.tar.bz2

解凍後0af0:73010af0:7301/usr/share/usb_modeswitch/configPack.tar.gz


解決策

見つかったファイルの内容は次のとおりです。

# Option HSO device
TargetClass=0xff
MessageContent="55534243785634120100000080000601000000000000000000000000000000"
NoDriverLoading=1

ファイルをにコピーし、/etc/usb_modeswitch.d/デバイスを削除して再挿入しました。それからusb-devices私に次のような結果を与えました。

T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 10 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=0af0 ProdID=7301 Rev=00.00
S:  Manufacturer=Option N.V.
S:  Product=Globetrotter HSUPA Modem
C:  #Ifs=11 Cfg#= 1 Atr=c0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 7 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 8 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 9 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso

デバイスがモデムとして認識され、以前のネットワーク設定が起動しようとします。しかし、モデムを接続することはできません。オペレーティングシステムを再起動した後の状況は次のとおりです。

T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  4 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=0af0 ProdID=7301 Rev=00.00
S:  Manufacturer=Option N.V.
S:  Product=Globetrotter HSUPA Modem
C:  #Ifs=11 Cfg#= 1 Atr=c0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 7 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 8 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 9 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso

そしてそれから動作し始めました。option再起動する前にドライバに問題がありますか?わかりません。それにもかかわらず、デバイスは動作hsoし、これが現在の正しいドライバであるようです。


最終メモ

  • --option-modeすべてのデバイスで利用可能なオプションは、実際に自分のデバイスのモードを切り替えていないようです。正しいメッセージを明確に指定することが重要なようです。

  • この回答はそのデバイスを使用して公開されました。

関連情報