EG25-G ttyUSB* not created, but detected as rndis_host

My EG25-G was working just fine and it was creating the /dev/ttyUSB{0-3} ports as described in the user manual. I was using /dev/ttyUSB3 for AT commands and all worked fine.

I issued the command AT+QCFG="usbauto",1 and saved (AT&W), I was testing for some debug port functionality

After this point on (disconnecting the modem and connecting again to USB), the modem is still detected (dmesg shows detection) but it is recognized as RNDIS device. No /dev/ttyUSB* ports are creaeted and I can’t send any AT commands to it. (I can see a new usb0 network device now.

Here’s lsusb output

$ lsusb                                                                                                                                                                           Sun 26 Feb 2023 12:41:37 AM CET
Bus 003 Device 005: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem

Here is dmesg messages (related stuff)

$ dmesg 
[  551.736515] usb 3-1.3: new high-speed USB device number 5 using ehci-pci
[  551.858826] usb 3-1.3: New USB device found, idVendor=2c7c, idProduct=0125, bcdDevice= 3.18
[  551.858837] usb 3-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  551.858841] usb 3-1.3: Product: EG25-G
[  551.858845] usb 3-1.3: Manufacturer: Quectel
[  551.874081] rndis_host 3-1.3:1.0 usb0: register 'rndis_host' at usb-0000:00:1d.7-1.3, RNDIS device, 4a:59:eb:24:8f:ca

and here’s ip addr output:

$ ip addr
6: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether 4a:59:eb:24:8f:ca brd ff:ff:ff:ff:ff:ff
    inet brd scope global dynamic noprefixroute usb0
       valid_lft 43004sec preferred_lft 43004sec
    inet6 fe80::4859:ebff:fe24:8fca/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

And finally here’s the /sys/kernel/debug/usb/devices output (relevant part):

P:  Vendor=2c7c ProdID=0125 Rev= 3.18
S:  Manufacturer=Quectel
S:  Product=EG25-G
C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=500mA
A:  FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=03
I:* If#= 0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=rndis_host
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=rndis_host
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
C:  #Ifs= 2 Cfg#= 2 Atr=a0 MxPwr=500mA
A:  FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=06 Prot=00
I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=
E:  Ad=82(I) Atr=03(Int.) MxPS=  16 Ivl=32ms
I:  If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=
I:  If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Is there a way to bring back the ttyUSB* ports? Or is there a way to send any AT commands to the modem now?

For anyone interested, I fixed (?) the problem by using a sixfab rpi hat and connecting to the UART port on the EG25 directly. See the guide UART Configuration

1 Like

The log is not complete.
Please show the
cat /sys/kernel/debug/usb/devices