Raspberry PI 4 + LE910C4-NF + Ubuntu + Sixfab SIM

I’m attempting to get my Sixfab 4G/LTE Cellular Modem Kit for Raspberry Pi working but running into trouble.

When I try “AT#ECM=1,0” I always get “ERROR”

I’m following these instructions:

and using the Sixfab SIM.

The prior instructions include “AT#USBCFG=4” but this returns ERROR, however, when querying the same setting “AT#USBCFG?” the value returned is already 4 “#USBCFG: 4”

Here are the full outputs of the suggested troubleshooting commands for reference:

AT

OK

AT+CGDCONT=1,“IPV4V6”,“super”

OK
AT#USBCFG=4

ERROR
AT#USBCFG?

#USBCFG: 4

OK

ubuntu@ubuntu:~$ cat /etc/os-release
PRETTY_NAME=“Ubuntu 22.04.3 LTS”
NAME=“Ubuntu”
VERSION_ID=“22.04”
VERSION=“22.04.3 LTS (Jammy Jellyfish)”
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL=“https://www.ubuntu.com/
SUPPORT_URL=“https://help.ubuntu.com/
BUG_REPORT_URL=“Bugs : Ubuntu
PRIVACY_POLICY_URL=“Data privacy | Ubuntu
UBUNTU_CODENAME=jammy


ubuntu@ubuntu:~$ uname -a
Linux ubuntu 5.15.0-1047-raspi #50-Ubuntu SMP PREEMPT Fri Feb 9 13:48:00 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux


ubuntu@ubuntu:~$ lsusb
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1bc7:1206 Telit Wireless Solutions LE910C4-NF
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


ubuntu@ubuntu:~$ lsusb -t
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 3: Dev 3, If 0, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 3: Dev 3, If 1, Class=Vendor Specific Class, Driver=, 480M
|__ Port 3: Dev 3, If 2, Class=Communications, Driver=cdc_ether, 480M
|__ Port 3: Dev 3, If 3, Class=CDC Data, Driver=cdc_ether, 480M
|__ Port 3: Dev 3, If 4, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 3: Dev 3, If 5, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 3: Dev 3, If 6, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 3: Dev 3, If 7, Class=Vendor Specific Class, Driver=option, 480M


ubuntu@ubuntu:~$ usb-devices

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=05.15
S: Manufacturer=Linux 5.15.0-1047-raspi xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:01:00.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 4
D: Ver= 2.10 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=2109 ProdID=3431 Rev=04.21
S: Product=USB2.0 Hub
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=256ms

T: Bus=01 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1bc7 ProdID=1206 Rev=03.18
S: Manufacturer=Android
S: Product=LE910C4-NF
S: SerialNumber=0123456789ABCDEF
C: #Ifs= 8 Cfg#= 1 Atr=a0 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I: If#= 2 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether
E: Ad=84(I) Atr=03(Int.) MxPS= 16 Ivl=32ms
I: If#= 3 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I: If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
I: If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=88(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
I: If#= 6 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=8a(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
I: If#= 7 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=8b(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=8c(I) Atr=03(Int.) MxPS= 10 Ivl=32ms

T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 4
D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev=05.15
S: Manufacturer=Linux 5.15.0-1047-raspi xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:01:00.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=05.15
S: Manufacturer=Linux 5.15.0-1047-raspi dwc2_hsotg
S: Product=DWC OTG Controller
S: SerialNumber=fe980000.usb
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms


ubuntu@ubuntu:~$ sudo dmesg | grep tty
[ 0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=0 bcm2708_fb.fbheight=0 bcm2708_fb.fbswap=1 smsc95xx.macaddr=E4:5F:01:88:63:3C vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 dwc_otg.lpm_enable=0 console=tty1 root=LABEL=writable rootfstype=ext4 rootwait fixrtc quiet splash
[ 0.000400] printk: console [tty1] enabled
[ 0.541448] printk: console [ttyS0] disabled
[ 0.541584] fe215040.serial: ttyS0 at MMIO 0xfe215040 (irq = 19, base_baud = 62500000) is a 16550
[ 0.549588] printk: console [ttyS0] enabled
[ 1.010981] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 17, base_baud = 0) is a PL011 rev2
[ 9.329704] systemd[1]: Created slice Slice /system/serial-getty.
[ 10.901570] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB0
[ 10.902183] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB1
[ 10.914666] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB2
[ 10.914976] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB3
[ 10.915243] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB4


ubuntu@ubuntu:~$ ls -l /sys/bus/usb-serial/devices
total 0
lrwxrwxrwx 1 root root 0 Mar 11 15:41 ttyUSB0 → …/…/…/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/ttyUSB0
lrwxrwxrwx 1 root root 0 Mar 11 15:41 ttyUSB1 → …/…/…/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.4/ttyUSB1
lrwxrwxrwx 1 root root 0 Mar 11 15:41 ttyUSB2 → …/…/…/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.5/ttyUSB2
lrwxrwxrwx 1 root root 0 Mar 11 15:41 ttyUSB3 → …/…/…/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.6/ttyUSB3
lrwxrwxrwx 1 root root 0 Mar 11 15:41 ttyUSB4 → …/…/…/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.7/ttyUSB4


ubuntu@ubuntu:~$ ls -l /dev/serial/by-id
total 0
lrwxrwxrwx 1 root root 13 Jan 16 05:44 usb-Android_LE910C4-NF_0123456789ABCDEF-if00-port0 → …/…/ttyUSB0
lrwxrwxrwx 1 root root 13 Jan 16 05:44 usb-Android_LE910C4-NF_0123456789ABCDEF-if04-port0 → …/…/ttyUSB1
lrwxrwxrwx 1 root root 13 Jan 16 05:44 usb-Android_LE910C4-NF_0123456789ABCDEF-if05-port0 → …/…/ttyUSB2
lrwxrwxrwx 1 root root 13 Jan 16 05:44 usb-Android_LE910C4-NF_0123456789ABCDEF-if06-port0 → …/…/ttyUSB3
lrwxrwxrwx 1 root root 13 Jan 16 05:44 usb-Android_LE910C4-NF_0123456789ABCDEF-if07-port0 → …/…/ttyUSB4


Welcome to minicom 2.8

OPTIONS: I18n
Port /dev/ttyUSB2, 16:14:33

Press CTRL-A Z for help on special keys

AT

OK
ATI

332

OK
AT+CGMR

M0F.660013

OK
AT+CPIN?

+CPIN: READY

OK
AT+CPAS

+CPAS: 0

OK
AT+CFUN?

+CFUN: 1

OK
AT+COPS?

+COPS: 2

OK
AT#USBCFG?

#USBCFG: 4

OK
AT#BND?

#BND: ,10,80800000000381A

OK
AT+CREG?

+CREG: 2,0

OK
AT+CGDCONT?

+CGDCONT: 1,“IPV4V6”,“super”,“”,0,0,0,0
+CGDCONT: 2,“IPV4V6”,“ims”,“”,0,0,0,0
+CGDCONT: 3,“IPV4V6”,“sos”,“”,0,0,0,1

OK
AT+CSQ

+CSQ: 21,4

OK
AT+CGATT?

+CGATT: 0

OK
AT+GMM

LE910C4-NF

OK
AT#SWPKGV

25.21.663-P0F.664000
M0F.660013
P0F.664000
A0F.660013

OK
AT#FWSWITCH?

#FWSWITCH: 0,0,0

OK
AT+CGREG?

+CGREG: 2,0

OK
AT#CGPADDR=

#CGPADDR: 1,“”
#CGPADDR: 2,“”
#CGPADDR: 3,“”

OK

Additional context:
I initially attempted to install the CORE software and added/activated an asset in the sixfab dashboard (see screenshot). When that didn’t work out the gate I went ahead reflashed my Ubuntu Raspberry Pi and attempted to get ECM working directly (without the core software involved) as this will be better for my use case.

Hi,

Thanks for your detailed troubleshooting steps.

Run AT#USBCFG=0 and reboot the module.
Then check AT+CSQ and AT+COPS? returns. If AT+COPS? returns “2”, run AT+COPS=0 and wait for a while and check.