I have a Huawei 8372h LTE dongle. I was able to hook up and have my Openwrt router detect it as eth-2.
However, there are discussions that to unleash the full potential and scripting potential of the dongle it needs to be put into “stick” mode from the current “hi-link” mode.
From linux (debian), this can done using usb_modeswitch command. There is a kmod for that for OpenWRT too but the equivalent “usbmode” isn’t as powerful and limited options.
I need to run a command similar to: “usb_modeswitch -v 12d1 -p 14fe -V 12d1 -P 1506 -M “55534243123456780000000000000011060000000000000000000000000000”
There are no option “p” and capital “V” in usbmode. Can someone give me more information about this?
Due to lockdown my wife is working from home cannot interrupt router until weekend.
Having said that I’ve been researching on this almost the entire week now and getting ready for implementation this weekend. Apologies in advance but this might be a little long as I have quite a lot of questions, in prepration for my “change weekend”.
To give you context, here are the reasons why I am attaching my e8372h to my Linksys router:
I wanted to be able to send wifi tokens through sms text messages from router.
Although this is a slow compared to my main internet it can serve as a backup internet multiwan. Even in hi-link mode I am able to see and can configure multiwan and failover as OpenWRT already detects and configures the interfaces.
Below are my questions:
Is making the Huawei dongle from Hilink to Stick mode reversible? Meaning I can change this back to hi-link mode when I want to and also when just in case I screw things up?
I was able to install usbutils and got lsusb to work:
root@OpenWrt-1900:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 009: ID 12d1:14db Huawei Technologies Co., Ltd. E353/E3131
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
sudo usb_modeswitch -v 12d1 -p 1f01 -M 55534243123456780000000000000011063000000000010000000000000000 <- Does this command universal for all hi-link dongles? Or does this change depending on the model?
If it is reversible and related to Q #1:
sudo usb_modeswitch -v 12d1 -p 155e -M 55534243123456780000000000000011062000000101000100000000000000
I am having a hard time translating the usb modeswitch above into json format. I cannot see how I can translate "55534243123456780000000000000011062000000101000100000000000000” into json. TBH I don’t even understand what this long string of number does.
Got a lot of information on making e3372h to stick mode and I found that the documentation is more reliable. This isn’t true for e8372h. However checking on the Huawei website, it looks like they are similar with the exception that e8372h has WIFI. Do you think that I am right in assuming they are applicable to 8372h? I am asking this because, if the answer to Q #1 is “not reversible” then I need to have a great deal of certainty on this.
Got more questions but these are the most pressing ones. Hope you could help me.
That is applicable to e3372, not e8372. With e3372 the change is in firmware (22.x to 21.x), with e8372 you can only temporally change the operating mode by sending the magic message.
If you want to try such a switch you will need to adjust your .json to reflect PID, VID and message required. I believe the right message is 55534243123456780000000000000011063000000000010000000000000000
Yes, if you run modeswitch manually.
No, if you modified /etc/usb-mode.json in your router. In this case you will need to revert your modifications first.
Ok ... so somehow i lucked out in getting e8372h then. Co’z I can still use this as a vanilla dongle if I plug in somewhere else. I mean I looked at the instructions to downgrade firmware or e3372h it sounds very bloody and involves visiting sites with cyrillic characters.
How would the router know to take note of usb-mode.json settings? Do i need to make changes to startup/init.d? Or is this automatic?
Hi there. I'm reviving an old topic to ask a question. I have the same modem, an E8372H-320 in my case. I have managed to switch it to NCM mode and the device is showing up as 12d1:155e.
Changes I've done to get the modeswitch to work are in /etc/usb-mode.json
Added the needed code 55534243123456780000000000000011063000000000010000000000000000 to the list of "messages" in the beginning of the file.
Changed the "mode" and added the msg to the right block
I'm actually guessing here with ttyUSB1 as I have no /dev/cdc-wdm0 as per the wiki for ncm. Although it also mentions that the device could be something else.
If you got it working, what was your configuration?
Another question is if your modem switches the WiFi off. Mine even though it has switch mode correctly still broadcasts its wifi, and if one connects to it everything works (behind NAT) as before. So it seems unnafected by the mode switch even though it is showing up in openwrt as expected.