Huawei E8372H-320 changing back to storage mode
-
Sorry in advance for the length of this post. I'm trying to get usb_modeswitch working for this modem on a SG-1100.
I've confirmed that it does switch mode for a short time.
before usb_modeswitch (note the productID in bold):
[21.05-RELEASE][admin@xxxxxxxxxx]/: usbconfig dump_device_desc
ugen0.2: <HUAWEIMOBILE HUAWEIMOBILE> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x0000 <Probed by interface class>
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0040
idVendor = 0x12d1
idProduct = 0x1f01
bcdDevice = 0x0102
iManufacturer = 0x0001 <HUAWEI_MOBILE>
iProduct = 0x0002 <HUAWEI_MOBILE>
iSerialNumber = 0x0003 <0123456789ABCDEF>
bNumConfigurations = 0x0001If I quickly run usbconfig again, the new productID is there:
ugen0.2: <HUAWEIMOBILE HUAWEIMOBILE> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x0002 <Communication device>
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0040
idVendor = 0x12d1
idProduct = 0x14db
bcdDevice = 0x0102
iManufacturer = 0x0001 <HUAWEI_MOBILE>
iProduct = 0x0002 <HUAWEI_MOBILE>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001But, it immediately switches back to storage mode.
Results of usb_modeswitch:
[21.05-RELEASE][admin@xxxxxxxxxx]/: /usr/local/sbin/usb_modeswitch -v 0x12d1 -p 0x1f01 -V 0x12d1 -P 0x14db -M "55534243123456780000000000000a11062000000000000100000000000000"
Look for target devices ...
No devices in target mode or class found
Look for default devices ...
Found devices in default mode (1)
Access device 002 on bus 000
Get the current device configuration ...
Current configuration number is 1
Use interface number 0
with class 8
Use endpoints 0x01 (out) and 0x81 (in)
Looking for active drivers ...
OK, driver detached
Set up interface 0
Use endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
OK, message successfully sent
Read the response to message 1 (CSW) ...
Response reading failed (error -99)
Device is gone, skip any further commands
-> Run lsusb to note any changes. Bye!I should also mention that the very first time plugged it in, the console was giving me constant connect/disconnect messages for the device, but this eventually stopped, the device stayed in ethernet mode, and I was able to successfully configure it as an interface in the GUI.
However, when I rebooted the firewall, it went into a network recovery mode on the console, where I was prompted to manually enter the WAN and LAN interface details. After that, it wouldn't boot at all (some sort of "device tree" error from memory), so I had to reflash the firmware, then restore configuration XML (easy enough, as I had already done the night before to update to 21.05, so I could install the usb_modeswitch package).
Since then, I've been getting the constant modeswitch behaviour. I've tried every solution I've been able to find online, including directly editing the config file /usr/local/share/usb_modeswitch/12d1:1f01, all to no avail.
The device works fine in every other computer I've plugged it into, Mac, PC, whatever.
Has anyone been able to get this device working with pfSense? Or just FreeBSD in general? Specifically, I'm referring to the newer model E8372H-320, not the older E8372H-608 (which most of the solutions I found referred to, although both models do have the same productID for both modes)
Starting to pull my hair out, any assistance/suggestions appreciated.
-
Some further info. Here's what I see on the console when I run usb_modeswitch:
umass0: at uhub0, port 2, addr 1 (disconnected)
cd0 at umass-sim0 bus 0 scbus1 target 0 lun 0
cd0: <HUAWEI Mass Storage 2.31> s/n 0123456789ABCDEF detached
(cd0:umass-sim0:0:0:0): Periph destroyed
umass0: detached
ugen0.2: <HUAWEIMOBILE HUAWEIMOBILE> at usbus0 (disconnected)
ugen0.2: <HUAWEIMOBILE HUAWEIMOBILE> at usbus0
cdce0 on uhub0
cdce0: <CDC Ethernet Control Model (ECM)> on usbus0
ugen0.2: <HUAWEIMOBILE HUAWEIMOBILE> at usbus0 (disconnected)
cdce0: at uhub0, port 2, addr 1 (disconnected)
cdce0: detached
ugen0.2: <HUAWEIMOBILE HUAWEIMOBILE> at usbus0
umass0 on uhub0
umass0: <Mass Storage> on usbus0
cd0 at umass-sim0 bus 0 scbus1 target 0 lun 0
cd0: <HUAWEI Mass Storage 2.31> Removable CD-ROM SCSI-2 device
cd0: Serial Number 0123456789ABCDEF
cd0: 40.000MB/s transfers
cd0: 7MB (3584 2048 byte sectors)
cd0: quirks=0x10<10_BYTE_ONLY>
(cd0:umass-sim0:0:0:0): READ(10). CDB: 28 00 00 00 0d ff 00 00 01 00
(cd0:umass-sim0:0:0:0): CAM status: SCSI Status Error
(cd0:umass-sim0:0:0:0): SCSI status: Check Condition
(cd0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:11,0 (Unrecovered read error)
(cd0:umass-sim0:0:0:0): Info: 0xdff
(cd0:umass-sim0:0:0:0): Error 5, Unretryable error
(cd0:umass-sim0:0:0:0): cddone: got error 0x5 back
(cd0:umass-sim0:0:0:0): READ(10). CDB: 28 00 00 00 0d c1 00 00 04 00
(cd0:umass-sim0:0:0:0): CAM status: SCSI Status Error
(cd0:umass-sim0:0:0:0): SCSI status: Check Condition
(cd0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:11,0 (Unrecovered read error)
(cd0:umass-sim0:0:0:0): Info: 0xdc1
(cd0:umass-sim0:0:0:0): Error 5, Unretryable error
(cd0:umass-sim0:0:0:0): cddone: got error 0x5 back
(cd0:umass-sim0:0:0:0): READ(10). CDB: 28 00 00 00 0d fe 00 00 01 00
(cd0:umass-sim0:0:0:0): CAM status: SCSI Status Error
(cd0:umass-sim0:0:0:0): SCSI status: Check Condition
(cd0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:11,0 (Unrecovered read error)
(cd0:umass-sim0:0:0:0): Info: 0xdfe(The "Error 5, Unretryable error:" section repeats a few more times)
-
Unfortunately I have no solution for you, but we both have the same problem although I am on other hardware (Linksys WRT3200ACM running OpenWRT).
I just posted a question about this On the OpenWRT Forum. I made an account here just to comment about this and maybe we can get some help from each other. -
I got some progress (read more on my openwrt thread). The device stopped switching modes for me after installing the
rndis
toolkmod-usb-net-rndis
. Then I could switch modes to155e
without any issues.
I still have problems though as the modem still seems to be operating with NAT (WiFi enabled etc) regardless of showing the right state as a USB device. -
@philsson Thanks for the advice. PFSense already has a kernel urndis driver, but it currently isn't enabled. Can't reboot the firewall right now, but when I can I'll see if the behavior changes with the driver enabled and post back results.
-
@utha Any luck?