新しいUSB LTEモデムに問題がありますブロビーE3372-325
Linuxでは動作しません。 USB ポートに接続すると、モデムは次のように識別されます。
# dmesg
...
[ 6731.401923] usb 1-3.4.4: new high-speed USB device number 22 using xhci_hcd
[ 6731.503252] usb 1-3.4.4: New USB device found, idVendor=3566, idProduct=2001, bcdDevice=ff.ff
[ 6731.503261] usb 1-3.4.4: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[ 6731.503265] usb 1-3.4.4: Product: Mobile
[ 6731.503268] usb 1-3.4.4: Manufacturer: Mobile
[ 6731.503271] usb 1-3.4.4: SerialNumber: 123456789ABCD
[ 6731.505527] usb-storage 1-3.4.4:1.0: USB Mass Storage device detected
[ 6731.505830] scsi host1: usb-storage 1-3.4.4:1.0
[ 6732.534864] scsi 1:0:0:0: CD-ROM Linux File-Stor Gadget 0310 PQ: 0 ANSI: 2
[ 6732.535947] sr 1:0:0:0: Power-on or device reset occurred
[ 6732.536717] sr 1:0:0:0: [sr0] scsi3-mmc drive: 0x/0x caddy
[ 6732.540429] sr 1:0:0:0: Attached scsi CD-ROM sr0
[ 6732.540983] sr 1:0:0:0: Attached scsi generic sg1 type 5
[ 6732.803382] ISO 9660 Extensions: RRIP_1991A
# lsusb -vvv
...
Bus 001 Device 028: ID 3566:2001 Mobile Mobile
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x3566
idProduct 0x2001
bcdDevice ff.ff
iManufacturer 2 Mobile
iProduct 3 Mobile
iSerial 4 123456789ABCD
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0020
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 1 Mass Storage
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x0016
bNumDeviceCaps 2
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000000
(Missing must-be-set LPM bit!)
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x0004
Device can operate at High Speed (480Mbps)
bFunctionalitySupport 4
Lowest fully-functional device speed is at an unknown speed!
bU1DevExitLat 1 micro seconds
bU2DevExitLat 500 micro seconds
Device Status: 0x0000
(Bus Powered)
これで「モデム」に切り替えますusb_modeswitch -v 3566 -p 2001 -X
。 ::
# dmesg
...
[ 6971.308148] usb 1-3.4.4: USB disconnect, device number 22
[ 6971.544052] usb 1-3.4.4: new high-speed USB device number 23 using xhci_hcd
[ 6971.645772] usb 1-3.4.4: New USB device found, idVendor=3566, idProduct=2001, bcdDevice=ff.ff
[ 6971.645787] usb 1-3.4.4: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[ 6971.645794] usb 1-3.4.4: Product: Mobile
[ 6971.645799] usb 1-3.4.4: Manufacturer: Mobile
[ 6971.645804] usb 1-3.4.4: SerialNumber: 123456789ABCD
[ 6971.647121] usb 1-3.4.4: Interface #0 referenced by multiple IADs
[ 6971.647643] usb 1-3.4.4: Interface #1 referenced by multiple IADs
[ 6971.678702] cdc_ncm 1-3.4.4:1.5: MAC-Address: c2:ab:11:ee:2f:15
[ 6971.679449] cdc_ncm 1-3.4.4:1.5 usb0: register 'cdc_ncm' at usb-0000:00:14.0-3.4.4, CDC NCM, c2:ab:11:ee:2f:15
[ 6971.743416] cdc_ncm 1-3.4.4:1.5 enxc2ab11ee2f15: renamed from usb0
# ip a s enxc2ab11ee2f15
14: enxc2ab11ee2f15: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether c2:ab:11:ee:2f:15 brd ff:ff:ff:ff:ff:ff
# mmcli -L
No modems were found
# lsusb -vvv
Bus 001 Device 029: ID 3566:2001 Mobile Mobile
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x3566
idProduct 0x2001
bcdDevice ff.ff
iManufacturer 2 Mobile
iProduct 3 Mobile
iSerial 4 123456789ABCD
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x00f9
bNumInterfaces 7
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 2mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 2 Abstract (modem)
bFunctionProtocol 1 AT-commands (v.25ter)
iFunction 10 CDC Serial
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 8 CDC Abstract Control Model (ACM)
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 01
** UNRECOGNIZED: 04 24 02 02
** UNRECOGNIZED: 05 24 06 00 01
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000a 1x 10 bytes
bInterval 9
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 9 CDC ACM Data
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 11 Marvell DIAG
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 3
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 2 Abstract (modem)
bFunctionProtocol 1 AT-commands (v.25ter)
iFunction 14 CDC Serial
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 12 CDC Abstract Control Model (ACM)
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 04
** UNRECOGNIZED: 04 24 02 02
** UNRECOGNIZED: 05 24 06 03 04
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000a 1x 10 bytes
bInterval 9
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 13 CDC ACM Data
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 13
bFunctionProtocol 0
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 5
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 13
bInterfaceProtocol 0
iInterface 0
CDC Header:
bcdCDC 1.10
CDC Union:
bMasterInterface 5
bSlaveInterface 6
CDC Ethernet:
iMacAddress 17 FE1EA1E4D9D7
bmEthernetStatistics 0x00000000
wMaxSegmentSize 1514
wNumberMCFilters 0x0000
bNumberPowerFilters 0
CDC NCM:
bcdNcmVersion 1.00
bmNetworkCapabilities 0x01
packet filter
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x88 EP 8 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 9
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 6
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 1
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 6
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 1
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x0016
bNumDeviceCaps 2
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000000
(Missing must-be-set LPM bit!)
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x0004
Device can operate at High Speed (480Mbps)
bFunctionalitySupport 4
Lowest fully-functional device speed is at an unknown speed!
bU1DevExitLat 1 micro seconds
bU2DevExitLat 500 micro seconds
Device Status: 0x0000
(Bus Powered)
しかし、/dev
インターフェイスはありません(/dev/cdc*
/に似ています/dev/ttyUSB*
)。
カーネル5.15を含むUbuntu 22.04およびカーネル5.19を含むUbuntu 23.04(毎日のビルド)でテストされました。成功しませんでした。
私は試しましたがdhclient enxc2ab11ee2f15
成功ip link enxc2ab11ee2f15 up
しませんでした。インターフェイスへのqmicli
/mbimcli
欠落している/dev/cdc*
インターフェイス。
Windows 10 PCでは、自動的にDHCPに接続してIPを取得します。 RNDISドライバを使用してください。
助けてください?モデムを正しいモードに切り替えるには?
答え1
動作するソリューションを見つけました。https://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?f=3&t=3043&p=20026#p20054
/etc/udev/rules.d/40-huawei.rules
:
# This is part of USB_ModeSwitch version 1.x.x
#
ACTION!="add", GOTO="modeswitch_rules_end"
SUBSYSTEM!="usb", GOTO="modeswitch_rules_end"
# All known install partitions are on interface 0
ATTRS{bInterfaceNumber}!="00", GOTO="modeswitch_rules_end"
# only storage class devices are handled; negative
# filtering here would exclude some quirky devices
ATTRS{bDeviceClass}=="e0", GOTO="modeswitch_rules_begin"
ATTRS{bInterfaceClass}=="e0", GOTO="modeswitch_rules_begin"
GOTO="modeswitch_rules_end"
LABEL="modeswitch_rules_begin"
# Huawei E3372-325
ATTRS{idVendor}=="3566", ATTRS{idProduct}=="2001", RUN+="/sbin/usb_modeswitch -v 3566 -p 2001 -W -R -w 400"
ATTRS{idVendor}=="3566", ATTRS{idProduct}=="2001", RUN+="/sbin/usb_modeswitch -v 3566 -p 2001 -W -R"
LABEL="modeswitch_rules_end"
答え2
同じデバイス、同じ設定、同じ問題。
ところで今日もう少し試してみましたが本当に効果がありました。デフォルトでは、ステップは次のとおりです。
- Ubuntu 22.04には最新のアップデートがあります
- 起動してデスクトップモードで実行した後
- スティックを挿入してください。
- 起動を大容量保存モードに設定
- USBシリアルポートの取り付け
modprobe usbserial vendor=0x3566 product=0x2001
- それから
sudo usb_modeswitch -v 3566 -p 2001 -X
- 下部を見ると、
dmesg
cdc_ncmドライバが登録されていることがわかります。また、モデム管理者がデバイスを表示できるようになりました。これで、設定ウィンドウにモバイルネットワークオプションが表示されます。正しい値を入力して接続してください(下記参照)
必要に応じて、システムからより多くの情報を取得しようとすることができます。このステップでは、モバイルネットワークオプションを使用する手動ステップを避けるために自動化します。
この過程で ppp0 リンクが生成されるようです。だからこれで人生を生きますが、最高の設定ではありません。 IMHO
答え3
私の場合、これを機能させるには3つのことを行う必要がありました。
- SIMカードからPINを削除する
- メッセージのいずれかで説明されているように使用し
modprobe option
て作成します。/sys/bus/usb-serial/drivers/option1/new_id
https://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?f=3&t=3043&p=20026#p20054 - 使用
wvdial
(からhttps://blog.tanatos.org/posts/huawei_e3372h-325_brovi_with_linux_stickmode/)
udev
私のラズベリーパイには常にドングルが接続されているので、ドングルはありません。数分前に動作し、スクリプトは改善されますが、これまでは動作します。wvdial
動作が停止すると再起動します。
#!/bin/bash
set -e
set -u
set -o pipefail
modprobe option
sleep 2
echo 3566 2001 ff > /sys/bus/usb-serial/drivers/option1/new_id
usb_modeswitch -v 3566 -p 2001 -W -R || true
sleep 2
usb_modeswitch -v 3566 -p 2001 -W -X || true
sleep 2
wvdial &
while /bin/true ; do
sleep 10
jobs %1 || { echo "wvdial is not running. exiting now." ; exit 1 ; }
echo "still running :)"
done
これが本当に必要かどうかはわかりませんsleep
。
答え4
動作させるには少し時間がかかりましたが、結局成功しました。私の設定は次のとおりです。
Linux Mint 20.3、Brovi USBスティックモデルE3372-325
- 編集する
modules.conf
:
次に、ファイルの末尾に以下を追加します。sudo nano /etc/modules-load.d/modules.conf
usbserial
- インストールする
usb-modeswitch
sudo apt install usb-modeswitch
- 構成
usb-modeswitch
そして、次のコメントを解除してください。sudo nano /etc/usb_modeswitch.conf
それからDisableSwitching=0
そして、以下を挿入してください:sudo nano /etc/usb_modeswitch.d/3566:2001
TargetVendor=0x3566 TargetProduct=0x2001 WaitBefore=4 TargetClass=0xff HuaweiAltMode=1
- 編集する
usbserial.conf
そして、以下を挿入してください:sudo nano /etc/modprobe.d/usbserial.conf
options usbserial vendor=0x3566 product=0x2001
- UDevルールの編集
そして、以下を挿入してください:sudo nano /etc/udev/rules.d/40-brovi_usb_lte.rules
ACTION!="add|remove", GOTO="modeswitch_rules_end" SUBSYSTEM!="usb", GOTO="modeswitch_rules_end" GOTO="modeswitch_rules_begin" LABEL="modeswitch_rules_begin" ACTION=="add", ATTRS{idVendor}=="3566", ATTRS{idProduct}=="2001", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch '%k'" ACTION=="remove", ATTRS{idVendor}=="3566", ATTRS{idProduct}=="2001", RUN+="/usr/sbin/modprobe -r option" LABEL="modeswitch_rules_end"
最後に、通常どおり再起動することをお勧めします。
いくつかの説明:
必須の「シリアル」モジュールは、起動時にロードされるように構成する必要があります。これはオプションであるため、カーネルでコンパイルされないためです。走る
sudo modprobe serial
次に、ロードされたことを確認します。
lsmod | grep serial
最後に実行:
sudo udevadm control --reload-rules && udevadm trigger
最新の構成をロードします。
スティックを挿入すると、モジュール「オプション」が自動的にロードされるはずです。問題は、杖を抜いてもまだロード中で、再接続するともう機能しないということです。だから私はディレクティブを使います。
ACTION=="remove", ATTRS{idVendor}=="3566", ATTRS{idProduct}=="2001", RUN+="/usr/sbin/modprobe -r option"
udevルールからスティックを引くたびに、モジュールがカーネルから削除されるようにします。
lsusb -tを使用して、各インターフェイスにロードされたモジュール/ドライバ(シリアル、オプションなど)があることを確認する必要があります。
また、携帯電話会社に合ったモバイルブロードバンドネットワーク接続を提供する必要があります。 ModemManagerをインストールし、モデムZOWEE Technologyなどがリストされていることを確認してください。
最後に、私が所有しているHuawei E8372h-320は、いかなる構成もなく完全にプラグアンドプレイでき、ファームウェア7.11を使用するMikrotikルーター用のUSBバックアップルーターとしても使用できます。