EC25 LTE Modem, Debian 11 on ARM imx6

I am using PCIE EC25 module

root@root:/sys# lsusb
Bus 001 Device 006: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem
Bus 001 Device 005: ID 04b4:640c Cypress Semiconductor Corp. BCM2045A0
Bus 001 Device 004: ID 04b4:0bdc Cypress Semiconductor Corp. Cypress USB 802.11 Wireless Adapter
Bus 001 Device 003: ID 04b4:bd30 Cypress Semiconductor Corp. 
Bus 001 Device 002: ID 0424:2514 Microchip Technology, Inc. (formerly SMSC) USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The details are:

/sys# lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ci_hdrc/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/2p, 480M
            |__ Port 2: Dev 5, If 3, Class=Application Specific Interface, Driver=, 480M
            |__ Port 2: Dev 5, If 1, Class=Vendor Specific Class, Driver=, 480M
            |__ Port 2: Dev 5, If 2, Class=Vendor Specific Class, Driver=, 480M
            |__ Port 2: Dev 5, If 0, Class=Vendor Specific Class, Driver=, 480M
            |__ Port 1: Dev 4, If 0, Class=Vendor Specific Class, Driver=brcmfmac, 480M
        |__ Port 3: Dev 6, If 0, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 3: Dev 6, If 1, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 3: Dev 6, If 2, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 3: Dev 6, If 3, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 3: Dev 6, If 4, Class=Communications, Driver=cdc_ether, 480M
        |__ Port 3: Dev 6, If 5, Class=CDC Data, Driver=cdc_ether, 480M

I have these in sys

/sys# find -name '*cdc*'
./bus/usb/drivers/cdc_ether
./bus/usb/drivers/cdc_ncm
./bus/usb/drivers/cdc_wdm
./bus/usb/drivers/cdc_subset
./module/cdc_ncm
./module/cdc_ncm/drivers/usb:cdc_ncm

I have these in dmesg:

[   14.697151] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB0
[   14.917953] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB1
[   15.167750] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB2
[   15.382967] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB3

and these

dmesg | grep cdc
[    2.614320] usbcore: registered new interface driver cdc_ether
[    2.632010] usbcore: registered new interface driver cdc_subset
[    2.651381] usbcore: registered new interface driver cdc_ncm
[    2.686521] usbcore: registered new interface driver cdc_wdm
[   15.569717] cdc_ether 1-1.3:1.4 usb0: register 'cdc_ether' at usb-ci_hdrc.1-1.3, CDC Ethernet Device, 06:0c:36:6c:c9:31
[   28.266284] cdc_ether 1-1.3:1.4 enx060c366cc931: renamed from usb0

I can see the interface as:

enx060c366cc931: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.225.48  netmask 255.255.255.0  broadcast 192.168.225.255
        inet6 fe80::cd8e:1d10:15f5:f4a8  prefixlen 64  scopeid 0x20<link>
        ether 06:0c:36:6c:c9:31  txqueuelen 1000  (Ethernet)
        RX packets 60  bytes 3821 (3.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 70  bytes 5020 (4.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 

BUT I don’t have:

/dev/cdc-wdm0

Not even after I do AT+QCFG=“usbnet”.

 AT+QCFG=“usbnet”.

+CIND: 0,3,1,0,0,0,1,0

OK



dev# find -name cd*
root@ken:/dev#

What you need to do is set the modem to rmnet mode with AT:

AT+QCFG=“usbnet”,0

Hi, Thank you,
I did that, as you can see down in my post close to the end,
The problem still persists.

socat - /dev/ttyUSB2,crnl
ATI

+CIND: 0,4,1,0,0,0,1,0

OK
AT+QCFG=“usbnet”,0

+CSQ: 24,99

OK


root@ke:~# find /dev  -name cdc*
root@ke:~# find /sys  -name cdc*
/sys/bus/usb/drivers/cdc_ether
/sys/bus/usb/drivers/cdc_ncm
/sys/bus/usb/drivers/cdc_wdm
/sys/bus/usb/drivers/cdc_subset
/sys/module/cdc_ncm



Here is more info.

root@ken:~#  mmcli -m 0
  --------------------------------
  General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0
           |            device id: f11cfbc2dc041ea767528cacfdabf522753426a2
  --------------------------------
  Hardware |         manufacturer: Quectel
           |                model: EC25
           |    firmware revision: EC25AFAR05A07M4G
           |            supported: gsm-umts, lte
           |              current: gsm-umts, lte
           |         equipment id: 860858060870748
  --------------------------------
  System   |               device: /sys/devices/platform/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.3
           |              drivers: option1, cdc_ether
           |               plugin: quectel
           |         primary port: ttyUSB2
           |                ports: ttyUSB0 (qcdm), ttyUSB1 (gps), ttyUSB2 (at), ttyUSB3 (at),
           |                       wwan0 (net)
  --------------------------------
  Numbers  |                  own: 19053018418
  --------------------------------
  Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)
           |                state: registered
           |          power state: on
           |          access tech: lte
           |       signal quality: 80% (recent)
  --------------------------------
  Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none
           |              current: allowed: 2g, 3g, 4g; preferred: none
  --------------------------------
  IP       |            supported: ipv4, ipv6, ipv4v6
  --------------------------------
  3GPP     |                 imei: 860858060870748
           |          operator id: 302610
           |        operator name: Bell
           |         registration: home
  --------------------------------
  3GPP EPS | ue mode of operation: csps-2
  --------------------------------

You don’t need it.
You already have the interface with IP address, etc:

Just use it.

Hi,
Cool, Thx
Yes works ping -i works and also traceroute.

1 Like

If you would like to try the modemManager, you have to set the modem to RMNET or MBIM mode.
But you could also try the ECM mode on Debian. The modem would work as an USB ethernet interface.