沃達丰 E3730 無法 usb_modeswitch
tl;博士
Vodafone E3730 HSPA Express 數據卡似乎在 Kubuntu 18.04 LTS 中根本不起作用。如何解決這個問題?
描述
該卡曾經工作。坦率地說,我不記得它是否在 18.04 LTS 或某些早期 LTS 版本中有效,但確實有效。在我目前在 18.04 LTS 中的 KDE Plasma 中,保存了曾經可以工作的網路設置。我希望他們在我插入卡後立即啟動,但沒有;就好像那張卡不存在一樣。
SIM 卡從未被移除,它應該仍然可以工作。
從它工作的那一刻起,我記得沒有任何問題。它可能幾乎是開箱即用的。硬體被辨識,我只需要設置像 APN 這樣的細節。
技術細節
此資訊印在不干膠標籤上:
Vodafone Mobile Connect
型號:E3730
HSPA Express 數據卡
由 Option 在歐盟設計由 Option 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 上,在大多數情況下,驅動程序可用作核心模組,例如
usbserial
或option
. 但是,設備最初預設綁定到usb-storage
。usb_modeswitch
然後可以向設備發送提供的批量消息(很可能是大容量儲存命令);此消息必須通過分析 Windows 驅動程序的操作來確定。我確認了軟體包
usb-modeswitch
並usb-modeswitch-data
已安裝。我相信他們應該自動工作。至少當我的卡過去工作時,他們似乎過去工作過,而我對此一無所知usb_modeswitch
。我注意到該設備甚至不像快閃記憶體。在
usb-devices
(上面)它的輸出中Cls=08(stor.)
,我認為這表明Base Class 08h (Mass Storage);但司機是none
。沒有塊設備出現。然後我找到了這個答案並嘗試將其調整為我的硬體。
起初我創建了一個名為
0af0:7301
in的空文件/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_modeswitch
。看來我設法手動重新創建了usb_modeswitch
自動執行的操作。我的解釋是該工具只能部分工作:它能夠刪除驅動程序(usb-storage
更改為none
),但它不會切換模式(08(stor.)
保留)。問題
如何從這裡開始?如何使調製解調器工作?
tl;博士
設備用
Vendor=0af0
,標識ProdID=7301
。創建一個名為0af0:7301
in的文件/etc/usb_modeswitch.d/
(或編輯該文件,如果它存在)。它的內容應該是:# Option HSO device TargetClass=0xff MessageContent="55534243785634120100000080000601000000000000000000000000000000" NoDriverLoading=1
調查
(注意我是提問者,我正在回答我自己的問題。除了 tl;dr 答案實際上是故事的延續。)
這種解釋似乎是正確的:
usb_modeswitch
做的比它應該做的少。為了了解該工具試圖對我的設備做什麼(當 中沒有
0af0:7301
文件時/etc/usb_modeswitch.d/
),我諮詢了apt-file show usb-modeswitch-data
. 其中一條看起來很有希望:/usr/share/usb_modeswitch/configPack.tar.gz
是的,這個文件包含許多名為 like的文件
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:7301
與0af0: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
據稱適用於所有 Option 設備並沒有真正切換我設備的模式。明確指定正確的資訊似乎至關重要。- 這個答案是使用相關設備發布的。