Hello.
I finally decided to flash the Deco X80-5G with OpenWRT, and the system seems to work fine, except for one thing.
I can't seem to enable the 5G modem at all.
I have tried the usual methods described in https://openwrt.org/docs/guide-user/network/wan/wwan/ltedongle, with usbnet mode 0 and 2, but all I get are four usb ports that are using the option module/driver.
root@OpenWrt:/sys/bus/usb/drivers# lsusb -tv
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
|__ Port 001: Dev 002, If 0, Class=[unknown], Driver=option, 480M
ID 2c7c:0800 Quectel Wireless Solutions Co., Ltd.
|__ Port 001: Dev 002, If 1, Class=[unknown], Driver=option, 480M
ID 2c7c:0800 Quectel Wireless Solutions Co., Ltd.
|__ Port 001: Dev 002, If 2, Class=[unknown], Driver=option, 480M
ID 2c7c:0800 Quectel Wireless Solutions Co., Ltd.
|__ Port 001: Dev 002, If 3, Class=[unknown], Driver=option, 480M
ID 2c7c:0800 Quectel Wireless Solutions Co., Ltd.
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
If I blacklist option, they won't use any driver. I have tried adding the usb device id by running:
echo "2c7c 0800" > /sys/bus/usb/drivers/qmi_wwan/new_id
This will allow the devices to load the qmi_wwan (or qmi_wwan_q when using Qmodem) driver, and generate three cdc_wdm device (/dev/cdc_wdm0-2). These will not work, and will just hang, as assumed.
(after running the above and resetting the modem):
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=2c7c ProdID=0800 Rev= 4.14
S: Manufacturer=Quectel
S: Product=RG502Q-EA
S: SerialNumber=1d395e86
C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=qmi_wwan_q
E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=qmi_wwan_q
E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=qmi_wwan_q
E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I have tried using mbim, but will not get even this far with it.
The only way to get the modem online, is by using modemmanager, but even then the initial connection attempt fails. If I boot the router, modemmanager brings up the modem and the connection stays for a few seconds until it fails. mmcli -m 0 will report the device status as disabling.
After modemmanager fails, I have to run mmcli -m 0 -e to get the device up and then reconnect from luci, and the connection will seemingly stay up. This is not usable, since I can't do this remotely in case of a power outage, and can't instruct any family member to ssh into the router and then connect to luci.
I have tried the latest official build of OpenWRT, I have tried professor-jonny's build from this winter (https://github.com/professor-jonny/images/tree/main/x80), I have built the latest snapshot using professor-jonny's .config (https://github.com/professor-jonny/pj_openwrt/blob/kmod_virtual_led_test/.config) and also have tried using Qmodem (https://github.com/FUjr/QModem) and the "non-generic" quectel qmi_wwan_q driver with it.
None of this provides any different results.
At this point I have no idea what I'm doing anymore and would appreciate any help. I would prefer to use qmi (or mbim), but even getting modemmanager to establish a connection on boot would be an acceptable short term solution.
Help is very welcome

