새로운 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
내 경우에는 이를 작동시키려면 세 가지 작업을 수행해야 했습니다.
- 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 백업 라우터로도 사용할 수 있습니다.