Hi,
I'm having some issues using OpenWrt on my Huasifei WH3000 Pro. After installing required packages for MBIM + ModemManager, I managed to configure the WWAN connection on /dev/cdc-wdm0 using LuCi.
After setting up the connection, the interface stays with the Following error:
Error: Unknown error (NO_REGISTRATION)
The modem I use is a Quectel RM500U-EA:
root@OpenWrt:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux 6.6.119 xhci-hcd xHCI Host Controller
Bus 001 Device 002: ID 05e3:0610 GenesysLogic USB2.1 Hub
Bus 002 Device 001: ID 1d6b:0003 Linux 6.6.119 xhci-hcd xHCI Host Controller
Bus 002 Device 002: ID 05e3:0626 GenesysLogic USB3.1 Hub
Bus 002 Device 003: ID 2c7c:0900 Quectel RM500U-EA
cdc-wdm0 is properly populated:
root@OpenWrt:~# ls -l /dev/cdc-wdm0
crw------- 1 root root 180, 176 Mar 28 14:22 /dev/cdc-wdm0
But mmcli doesn't seem to detect the modem (not sure if it's related):
root@OpenWrt:~# mmcli -L
No modems were found
Then I restart ModemManager service:
root@OpenWrt:~# service modemmanager restart
And after 1 or 2 minutes, the modem shows up:
root@OpenWrt:~# mmcli -L
/org/freedesktop/ModemManager1/Modem/0 [Quectel] RM500U-EA
Here we can see it stucked at disabled state:
root@OpenWrt:~# mmcli -m 0
--------------------------------
General | path: /org/freedesktop/ModemManager1/Modem/0
| device id: 308c8bd4555f48eb2c191482e1869b7f41048017
--------------------------------
Hardware | manufacturer: Quectel
| model: RM500U-EA
| firmware revision: RM500UEAAAR03A13M2G_01.300.01.300
| supported: gsm-umts
| current: gsm-umts
| equipment id: <REDACTED>
--------------------------------
System | device: /sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.4
| physdev: /sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.4
| drivers: cdc_mbim, option1
| plugin: quectel
| primary port: ttyUSB2
| ports: ttyUSB2 (at), ttyUSB3 (at), wwan0 (ignored)
--------------------------------
Status | unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)
| state: disabled
| power state: low
--------------------------------
Modes | supported: allowed: any; preferred: none
| current: allowed: any; preferred: none
--------------------------------
3GPP | imei: <REDACTED>
--------------------------------
3GPP EPS | ue mode of operation: ps-2
--------------------------------
SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/0
I also tried to enable radio using mbimcli, but it times out:
root@OpenWrt:~# mbimcli --device-open-proxy --device="/dev/cdc-wdm0" --quectel-query-radio-state
error: operation failed: Transaction timed out
root@OpenWrt:~# mbimcli --device-open-proxy --device="/dev/cdc-wdm0" --quectel-set-radio-state=on
error: operation failed: Transaction timed out
The only way to disable airplane mode, is to do it using picocom (note that I don't need to restart ModemManager to run the AT commands):
root@OpenWrt:~# picocom /dev/ttyUSB2
picocom v3.1
port is : /dev/ttyUSB2
flowcontrol : none
baudrate is : 9600
parity is : none
databits are : 8
stopbits are : 1
escape is : C-a
local echo is : no
noinit is : no
noreset is : no
hangup is : no
nolock is : no
send_cmd is : sz -vv
receive_cmd is : rz -vv -E
imap is :
omap is :
emap is : crcrlf,delbs,
logfile is : none
initstring : none
exit_after is : not set
exit is : no
Type [C-a] [C-h] to see available commands
Terminal ready
ATE1
+CME ERROR: 0
ATE1
OK
AT+CFUN?
+CFUN: 4
OK
AT+CFUN=1
OK
+CFUN: 1
Then the interface connects successfully.
Any idea how to disable the airplane mode permanently? I tried to use one of the scripts in /usr/share/ModemManager/fcc-unlock.available.d as a workaround but it fails as shown above.
Thanks for any help