SIM card not recognized with EP06-E ("+CME ERROR: SIM not inserted")

Hey Sixfab community!

Coming to you in hope to get some assistance/solution in regards to this issue I keep running into…

First off, here’s what my setup is like:

  • Raspberry Pi 4 (Model B Rev 1.2)
  • Sixfab 3G/4G&LTE Base Hat
  • Quectel EP06-E (EP06ELAR03A06M4G)

Basically, just trying to set up Internet uplink by following the “QMI Interface Internet Connection Setup Using Sixfab Shield/HAT” but USIM is not recognized despite being inserted correctly.

AT+CPIN?” will always return “+CME ERROR: SIM not inserted”…

Verbose logs of "qmi_install.sh" script installation
pi@raspberrypi:~ $ sudo apt update && sudo apt upgrade -y
[...]
Fetched 13.4 MB in 6s (2161 kB/s)                                                                                               
Reading package lists... Done
Building dependency tree       
Reading state information... Done
44 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  alsa-utils apt apt-utils avahi-daemon base-files bind9-host curl groff-base iputils-ping libapt-inst2.0 libapt-pkg5.0
  libavahi-common-data libavahi-common3 libavahi-core7 libbind9-161 libbsd0 libcurl4 libdns-export1104 libdns1104
  libisc-export1100 libisc1100 libisccc161 libisccfg163 liblwres161 libpam-systemd libpython3.7 libpython3.7-minimal
  libpython3.7-stdlib libssl1.1 libsystemd0 libudev1 openssh-client openssh-server openssh-sftp-server openssl python3.7
  python3.7-minimal raspberrypi-sys-mods rpi-eeprom ssh systemd systemd-sysv udev wpasupplicant
44 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 25.0 MB of archives.
After this operation, 3107 kB of additional disk space will be used.
[...]

pi@raspberrypi:~ $ sudo apt-get install raspberrypi-kernel-headers
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  raspberrypi-kernel-headers
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 27.6 MB of archives.
After this operation, 180 MB of additional disk space will be used.
[...]
Fetched 27.6 MB in 1s (22.5 MB/s)                     
[...]
Selecting previously unselected package raspberrypi-kernel-headers.
(Reading database ... 40121 files and directories currently installed.)
Preparing to unpack .../raspberrypi-kernel-headers_1.20210303-1_armhf.deb ...
Unpacking raspberrypi-kernel-headers (1.20210303-1) ...
Setting up raspberrypi-kernel-headers (1.20210303-1) ...
pi@raspberrypi:~ $ sudo reboot
Connection to 192.168.1.48 closed by remote host.
Connection to 192.168.1.48 closed.

XXXXXXXXXX@j051y ~ % ssh pi@192.168.1.48
pi@192.168.1.48's password: 

pi@raspberrypi:~ $ wget https://raw.githubusercontent.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/master/tutorials/QMI_tutorial/qmi_install.sh
--2021-05-03 17:47:14--  https://raw.githubusercontent.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/master/tutorials/QMI_tutorial/qmi_install.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... XXX.XXX.111.133, XXX.XXX.108.133, XXX.XXX.109.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|XXX.XXX.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2314 (2.3K) [text/plain]
Saving to: 'qmi_install.sh'

qmi_install.sh                   100%[=======================================================>]   2.26K  --.-KB/s    in 0s      

2021-05-03 17:47:15 (6.65 MB/s) - 'qmi_install.sh' saved [2314/2314]

pi@raspberrypi:~ $ sudo chmod +x qmi_install.sh
pi@raspberrypi:~ $ sudo ./qmi_install.sh
Clean Old Files
Change directory to /home/pi
Downloading source files
--2021-05-03 17:47:16--  https://github.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/raw/master/tutorials/QMI_tutorial/src/quectel-CM.zip
Resolving github.com (github.com)... 140.82.121.3
Connecting to github.com (github.com)|140.82.121.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/master/tutorials/QMI_tutorial/src/quectel-CM.zip [following]
--2021-05-03 17:47:16--  https://raw.githubusercontent.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/master/tutorials/QMI_tutorial/src/quectel-CM.zip
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... XXX.XXX.110.133, XXX.XXX.109.133, XXX.XXX.108.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|XXX.XXX.110.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 148627 (145K) [application/zip]
Saving to: 'quectel-CM.zip'

quectel-CM.zip                   100%[=======================================================>] 145.14K  --.-KB/s    in 0.02s   

2021-05-03 17:47:17 (7.92 MB/s) - 'quectel-CM.zip' saved [148627/148627]

Archive:  quectel-CM.zip
   creating: /home/pi/files/quectel-CM/
  inflating: /home/pi/files/quectel-CM/GobiNetCM.c  
  inflating: /home/pi/files/quectel-CM/MPQCTL.h  
  inflating: /home/pi/files/quectel-CM/MPQMI.h  
  inflating: /home/pi/files/quectel-CM/MPQMUX.c  
  inflating: /home/pi/files/quectel-CM/MPQMUX.h  
  inflating: /home/pi/files/quectel-CM/Makefile  
  inflating: /home/pi/files/quectel-CM/NOTICE  
  inflating: /home/pi/files/quectel-CM/QMIThread.c  
  inflating: /home/pi/files/quectel-CM/QMIThread.h  
  inflating: /home/pi/files/quectel-CM/QmiWwanCM.c  
  inflating: /home/pi/files/quectel-CM/ReleaseNote.txt  
  inflating: /home/pi/files/quectel-CM/default.script  
  inflating: /home/pi/files/quectel-CM/device.c  
  inflating: /home/pi/files/quectel-CM/ethtool-copy.h  
   creating: /home/pi/files/quectel-CM/libmnl/
  inflating: /home/pi/files/quectel-CM/libmnl/README  
  inflating: /home/pi/files/quectel-CM/libmnl/attr.c  
  inflating: /home/pi/files/quectel-CM/libmnl/callback.c  
   creating: /home/pi/files/quectel-CM/libmnl/dhcp/
  inflating: /home/pi/files/quectel-CM/libmnl/dhcp/dhcp.h  
  inflating: /home/pi/files/quectel-CM/libmnl/dhcp/dhcpclient.c  
  inflating: /home/pi/files/quectel-CM/libmnl/dhcp/dhcpmsg.c  
  inflating: /home/pi/files/quectel-CM/libmnl/dhcp/dhcpmsg.h  
  inflating: /home/pi/files/quectel-CM/libmnl/dhcp/packet.c  
  inflating: /home/pi/files/quectel-CM/libmnl/dhcp/packet.h  
  inflating: /home/pi/files/quectel-CM/libmnl/ifutils.c  
  inflating: /home/pi/files/quectel-CM/libmnl/ifutils.h  
  inflating: /home/pi/files/quectel-CM/libmnl/libmnl.h  
  inflating: /home/pi/files/quectel-CM/libmnl/nlmsg.c  
  inflating: /home/pi/files/quectel-CM/libmnl/socket.c  
  inflating: /home/pi/files/quectel-CM/main.c  
  inflating: /home/pi/files/quectel-CM/mbim-cm.c  
  inflating: /home/pi/files/quectel-CM/qmap_bridge_mode.c  
  inflating: /home/pi/files/quectel-CM/quectel-qmi-proxy.c  
  inflating: /home/pi/files/quectel-CM/udhcpc.c  
  inflating: /home/pi/files/quectel-CM/udhcpc_netlink.c  
  inflating: /home/pi/files/quectel-CM/util.c  
  inflating: /home/pi/files/quectel-CM/util.h  
Checking Kernel
5.10.17-v7l+ based kernel contains driver
Installing udhcpc
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  udhcpc
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 24.3 kB of archives.
After this operation, 39.9 kB of additional disk space will be used.
Get:1 http://XXXXX/raspbian/raspbian buster/main armhf udhcpc armhf 1:1.30.1-4 [24.3 kB]
Fetched 24.3 kB in 1s (38.7 kB/s)
[...]
Selecting previously unselected package udhcpc.
(Reading database ... 94648 files and directories currently installed.)
Preparing to unpack .../udhcpc_1%3a1.30.1-4_armhf.deb ...
Unpacking udhcpc (1:1.30.1-4) ...
Setting up udhcpc (1:1.30.1-4) ...
Processing triggers for man-db (2.8.5-2) ...
Copying udhcpc default script
Change directory to /home/pi/files/quectel-CM
rm -rf quectel-CM *~
rm -rf quectel-qmi-proxy
gcc -Wall -s quectel-qmi-proxy.c  -o quectel-qmi-proxy -lpthread -ldl
gcc -Wall -s QmiWwanCM.c GobiNetCM.c main.c MPQMUX.c QMIThread.c util.c qmap_bridge_mode.c mbim-cm.c device.c udhcpc.c -o quectel-CM -lpthread -ldl
After reboot please follow commands mentioned below
go to /home/pi/files/quectel-CM and run sudo ./quectel-CM -s [YOUR APN]
Press ENTER key to reboot^C
pi@raspberrypi:~ $ sudo shutdown -h now
Connection to 192.168.1.48 closed by remote host.
Connection to 192.168.1.48 closed.

XXXXXXXXXX@j051y ~ % ssh pi@192.168.1.48
pi@192.168.1.48's password: 
Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon May  3 17:46:50 2021 from 192.168.1.38

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.


Wi-Fi is currently blocked by rfkill.
Use raspi-config to set the country before use.

pi@raspberrypi:~ $ cd files/quectel-CM/
pi@raspberrypi:~/files/quectel-CM $ sudo ./quectel-CM -s internet.emt.ee
[05-03_17:49:10:983] Quectel_QConnectManager_Linux_V1.6.0.12
[05-03_17:49:10:985] Find /sys/bus/usb/devices/1-1.1 idVendor=0x2c7c idProduct=0x306, bus=0x001, dev=0x003
[05-03_17:49:10:986] Auto find qmichannel = /dev/cdc-wdm0
[05-03_17:49:10:986] Auto find usbnet_adapter = wwan0
[05-03_17:49:10:986] netcard driver = qmi_wwan, driver version = 5.10.17-v7l+
[05-03_17:49:10:986] ioctl(0x89f3, qmap_settings) failed: Operation not supported, rc=-1
[05-03_17:49:10:987] Modem works in QMI mode
[05-03_17:49:11:006] cdc_wdm_fd = 7
[05-03_17:49:11:170] Get clientWDS = 20
[05-03_17:49:11:232] Get clientDMS = 1
[05-03_17:49:11:296] Get clientNAS = 2
[05-03_17:49:11:359] Get clientUIM = 2
[05-03_17:49:11:424] Get clientWDA = 1
[05-03_17:49:11:488] requestBaseBandVersion EP06ELAR03A06M4G
[05-03_17:49:11:743] requestGetSIMStatus SIMStatus: SIM_ABSENT
[05-03_17:49:11:743] requestSetProfile[1] internet.emt.ee///0
[05-03_17:49:11:872] requestGetProfile[1] internet.emt.ee///0
[05-03_17:49:11:936] requestRegistrationState2 MCC: 248, MNC: 1, PS: Detached, DataCap: UNKNOW
[05-03_17:49:11:999] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[05-03_17:49:11:999] ifconfig wwan0 down
[05-03_17:49:12:010] ifconfig wwan0 0.0.0.0
^C[05-03_17:49:23:233] QmiWwanThread exit
[05-03_17:49:23:235] qmi_main exit
pi@raspberrypi:~/files/quectel-CM $ 
Output of "AT+CPIN?"
pi@raspberrypi:~ $ dmesg | grep tty
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=HDMI-A-1:1920x1080M@60 smsc95xx.macaddr=DC:A6:32:A3:A7:B0 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=ttS0,115200 console=tty1 root=PARTUUID=4d8c6879-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
[    0.001839] printk: console [tty1] enabled
[    1.678565] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 36, base_baud = 0) is a PL011 rev2
[    3.350938] systemd[1]: Created slice system-getty.slice.
[    5.639305] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB0
[    5.640299] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB1
[    5.641135] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB2
[    5.642026] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB3

pi@raspberrypi:~ $ sudo minicom -b 115200 -D /dev/ttyUSB2

Welcome to minicom 2.7.1

OPTIONS: I18n 
Compiled on Aug 13 2017, 15:25:34.
Port /dev/ttyUSB2, 18:41:12

Press CTRL-A Z for help on special keys                                      
                                                                             
AT                                                                           
OK                                                                           
ATI
Quectel
EP06
Revision: EP06ELAR03A06M4G

OK
AT+CPIN?
+CME ERROR: SIM not inserted
Output of "uname -sr" / "lsusb" / "lsusb -t" / "ls /dev/ttyUSB*" / "dmesg | grep tty" / "sudo cat /sys/kernel/debug/usb/devices"
pi@raspberrypi:~ $ uname -sr
Linux 5.10.17-v7l+
pi@raspberrypi:~ $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 003: ID 2c7c:0306 Quectel Wireless Solutions Co., Ltd. EG06/EP06/EM06 LTE-A modem
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@raspberrypi:~ $ lsusb -t
/:  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 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 1: Dev 3, If 1, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 1: Dev 3, If 2, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 1: Dev 3, If 3, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 1: Dev 3, If 4, Class=Vendor Specific Class, Driver=qmi_wwan, 480M
        |__ Port 4: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 4: Dev 4, If 2, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 4: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M

pi@raspberrypi:~ $ ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2  /dev/ttyUSB3

pi@raspberrypi:~ $ dmesg | grep tty
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=HDMI-A-1:1920x1080M@60 smsc95xx.macaddr=DC:A6:32:A3:A7:B0 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=ttS0,115200 console=tty1 root=PARTUUID=4d8c6879-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
[    0.001839] printk: console [tty1] enabled
[    1.678565] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 36, base_baud = 0) is a PL011 rev2
[    3.350938] systemd[1]: Created slice system-getty.slice.
[    5.639305] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB0
[    5.640299] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB1
[    5.641135] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB2
[    5.642026] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB3

pi@raspberrypi:~ $ sudo cat /sys/kernel/debug/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 5.10
S:  Manufacturer=Linux 5.10.17-v7l+ 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= 4.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=00 Cnt=01 Dev#=  3 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2c7c ProdID=0306 Rev= 3.10
S:  Manufacturer=Quectel
S:  Product=EP06-E
S:  SerialNumber=0123456789ABCDEF
C:* #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff 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=option
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=option
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=option
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:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
E:  Ad=89(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#=  4 Spd=12   MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=32 #Cfgs=  1
P:  Vendor=046d ProdID=c52b Rev=24.01
S:  Manufacturer=Logitech
S:  Product=USB Receiver
C:* #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr= 98mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=8ms
I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=2ms
I:* If#= 2 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=83(I) Atr=03(Int.) MxPS=  32 Ivl=2ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 4
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev= 5.10
S:  Manufacturer=Linux 5.10.17-v7l+ 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

As an attempt to prove this issue may not be related to the Quectel EP06-E module, I also have a Telit LE910EU-V2 with which I am successfully able to connect to the Internet by following the “Setting up the PPP connection for Sixfab Shield/HAT” guide.

Verbose logs of "ppp_install_standalone.sh" script installation (note that I'm running this on a fresh Raspbian OS install...)
XXXXXXXXXX@j051y ~ % ssh pi@192.168.1.48
The authenticity of host '192.168.1.48 (192.168.1.48)' can't be established.
ECDSA key fingerprint is SHA256:InxDJMIv/5ynHxnBeMEoNvJf6u2TiRPTQinD3Mik3dA.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.1.48' (ECDSA) to the list of known hosts.
pi@192.168.1.48's password: 
Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.


Wi-Fi is currently blocked by rfkill.
Use raspi-config to set the country before use.

pi@raspberrypi:~ $ sudo apt -qq update && sudo apt -qq upgrade
44 packages can be upgraded. Run 'apt list --upgradable' to see them.
The following packages will be upgraded:
  alsa-utils apt apt-utils avahi-daemon base-files bind9-host curl groff-base iputils-ping libapt-inst2.0 libapt-pkg5.0
  libavahi-common-data libavahi-common3 libavahi-core7 libbind9-161 libbsd0 libcurl4 libdns-export1104 libdns1104
  libisc-export1100 libisc1100 libisccc161 libisccfg163 liblwres161 libpam-systemd libpython3.7 libpython3.7-minimal
  libpython3.7-stdlib libssl1.1 libsystemd0 libudev1 openssh-client openssh-server openssh-sftp-server openssl python3.7
  python3.7-minimal raspberrypi-sys-mods rpi-eeprom ssh systemd systemd-sysv udev wpasupplicant
44 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 25.0 MB of archives.
After this operation, 3107 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
apt-listchanges: Reading changelogs...
Extracting templates from packages: 100%
Preconfiguring packages ...
[...]
pi@raspberrypi:~ $ wget https://raw.githubusercontent.com/sixfab/Sixfab_PPP_Installer/master/ppp_install_standalone.sh
[...]
2021-05-03 20:12:47 (11.6 MB/s) - 'ppp_install_standalone.sh' saved [10604/10604]

pi@raspberrypi:~ $ sudo chmod +x ppp_install_standalone.sh
pi@raspberrypi:~ $ sudo ./ppp_install_standalone.sh
Sixfab path is created. 
PPP path is created. 
Please choose your Sixfab Shield/HAT: 
1: GSM/GPRS Shield 
2: 3G, 4G/LTE Base Shield 
3: Cellular IoT App Shield 
4: Cellular IoT HAT 
5: Tracker HAT 
6: 3G/4G Base HAT 
6
You chose 3G/4G Base HAT 
[...]
What is your carrier APN? 
internet.emt.ee
Your Input is : internet.emt.ee 
Does your carrier need username and password? [Y/n] 
n
You chose n 
What is your device communication PORT? (ttyS0/ttyUSB3/etc.) 
ttyACM0
Your input is: ttyACM0 
Do you want to activate auto connect/reconnect service at R.Pi boot up? [Y/n] 
n
You chose n 
To connect to internet run "sudo pon" and to disconnect run "sudo poff" 
Press ENTER key to reboot
Rebooting... 
Connection to 192.168.1.48 closed by remote host.
Connection to 192.168.1.48 closed.

XXXXXXXXXX@j051y ~ % ssh pi@192.168.1.48
pi@192.168.1.48's password: 

pi@raspberrypi:~ $ sudo pon
pppd options in effect:
debug   # (from /etc/ppp/peers/provider)
updetach    # (from /etc/ppp/peers/provider)
persist   # (from /etc/ppp/peers/provider)
dump    # (from /etc/ppp/peers/provider)
noauth    # (from /etc/ppp/peers/provider)
remotename 3gppp    # (from /etc/ppp/peers/provider)
/dev/ttyACM0    # (from /etc/ppp/peers/provider)
115200    # (from /etc/ppp/peers/provider)
lock    # (from /etc/ppp/peers/provider)
connect chat -s -v -f /etc/chatscripts/chat-connect -T internet.emt.ee    # (from /etc/ppp/peers/provider)
disconnect chat -s -v -f /etc/chatscripts/chat-disconnect   # (from /etc/ppp/peers/provider)
nocrtscts   # (from /etc/ppp/peers/provider)
modem   # (from /etc/ppp/peers/provider)
asyncmap 0    # (from /etc/ppp/options)
lcp-echo-failure 4    # (from /etc/ppp/options)
lcp-echo-interval 30    # (from /etc/ppp/options)
hide-password   # (from /etc/ppp/peers/provider)
novj    # (from /etc/ppp/peers/provider)
novjccomp   # (from /etc/ppp/peers/provider)
ipcp-accept-local   # (from /etc/ppp/peers/provider)
ipcp-accept-remote    # (from /etc/ppp/peers/provider)
ipparam 3gppp   # (from /etc/ppp/peers/provider)
noipdefault   # (from /etc/ppp/peers/provider)
ipcp-max-failure 30   # (from /etc/ppp/peers/provider)
defaultroute    # (from /etc/ppp/peers/provider)
usepeerdns    # (from /etc/ppp/peers/provider)
noccp   # (from /etc/ppp/peers/provider)
noipx   # (from /etc/ppp/options)
abort on (BUSY)
abort on (NO CARRIER)
abort on (NO DIALTONE)
abort on (ERROR)
abort on (NO ANSWER)
timeout set to 30 seconds
send (AT^M)
expect (OK)
AT^M^M
OK
 -- got it

send (ATE0^M)
expect (OK)
^M
ATE0^M^M
OK
 -- got it

send (AT+CPIN?^M)
expect (OK)
^M
^M
+CPIN: READY^M
^M
OK
 -- got it

send (AT+CSQ^M)
expect (OK)
^M
^M
+CSQ: 28,4^M
^M
OK
 -- got it

send (AT+CREG?^M)
expect (OK)
^M
^M
+CREG: 0,1^M
^M
OK
 -- got it

send (AT+CGREG?^M)
expect (OK)
^M
^M
+CGREG: 0,1^M
^M
OK
 -- got it

send (AT+COPS?^M)
expect (OK)
^M
^M
+COPS: 0,0,"SUPER",7^M
^M
OK
 -- got it

send (AT+CGDCONT=1,"IP","internet.emt.ee",,0,0^M)
expect (OK)
^M
^M
OK
 -- got it

send (ATD*99#^M)
expect (CONNECT)
^M
^M
CONNECT
 -- got it

Script chat -s -v -f /etc/chatscripts/chat-connect -T internet.emt.ee finished (pid 641), status = 0x0
Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyACM0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x6ef0685c> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0xff58ee97> <pcomp> <accomp>]
No auth is possible
sent [LCP ConfRej id=0x1 <auth chap MD5>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x6ef0685c> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <magic 0xff58ee97> <pcomp> <accomp>]
sent [LCP ConfAck id=0x2 <asyncmap 0x0> <magic 0xff58ee97> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x6ef0685c]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
rcvd [LCP EchoRep id=0x0 magic=0xff58ee97]
rcvd [IPCP ConfReq id=0x1]
sent [IPCP ConfNak id=0x1 <addr 0.0.0.0>]
rcvd [IPCP ConfNak id=0x1 <addr 10.6.216.199> <ms-dns1 192.98.49.8> <ms-dns2 192.98.49.9>]
sent [IPCP ConfReq id=0x2 <addr 10.6.216.199> <ms-dns1 192.98.49.8> <ms-dns2 192.98.49.9>]
rcvd [IPCP ConfReq id=0x2 <addr 10.6.216.199>]
sent [IPCP ConfAck id=0x2 <addr 10.6.216.199>]
rcvd [IPCP ConfAck id=0x2 <addr 10.6.216.199> <ms-dns1 192.98.49.8> <ms-dns2 192.98.49.9>]
not replacing default route to eth0 [192.168.1.1]
local  IP address 10.6.216.199
remote IP address 10.6.216.199
primary   DNS address 192.98.49.8
secondary DNS address 192.98.49.9
pi@raspberrypi:~ $ ifconfig ppp0
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 10.6.216.199  netmask 255.255.255.255  destination 10.6.216.199
        ppp  txqueuelen 3  (Point-to-Point Protocol)
        RX packets 5  bytes 110 (110.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5  bytes 104 (104.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

pi@raspberrypi:~ $ ping -I ppp0 -c 5 ipinfo.io
PING ipinfo.io (216.239.34.21) from 10.6.216.199 ppp0: 56(84) bytes of data.
64 bytes from any-in-2215.1e100.net (216.239.34.21): icmp_seq=1 ttl=116 time=37.8 ms
64 bytes from any-in-2215.1e100.net (216.239.34.21): icmp_seq=2 ttl=116 time=63.0 ms
64 bytes from any-in-2215.1e100.net (216.239.34.21): icmp_seq=3 ttl=116 time=51.9 ms
64 bytes from any-in-2215.1e100.net (216.239.34.21): icmp_seq=4 ttl=116 time=60.1 ms
64 bytes from any-in-2215.1e100.net (216.239.34.21): icmp_seq=5 ttl=116 time=41.4 ms

--- ipinfo.io ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 10ms
rtt min/avg/max/mdev = 37.797/50.829/63.027/9.946 ms
Output of "AT+CPIN?"
pi@raspberrypi:~ $ dmesg | grep tty
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=HDMI-A-1:1920x1080M@60,margin_left=48,margin_right=48,margin_top=48,margin_bottom=48 smsc95xx.macaddr=DC:A6:32:A3:A7:B0 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=ttyS0,115200 console=tty1 root=PARTUUID=08ba3ba9-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
[    0.001825] printk: console [tty1] enabled
[    1.664045] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 36, base_baud = 0) is a PL011 rev2
[    5.427409] cdc_acm 1-1.1:1.0: ttyACM0: USB ACM device
[    5.482465] cdc_acm 1-1.1:1.2: ttyACM1: USB ACM device
[    5.593241] cdc_acm 1-1.1:1.4: ttyACM2: USB ACM device
[    5.601436] cdc_acm 1-1.1:1.6: ttyACM3: USB ACM device
[    5.623352] cdc_acm 1-1.1:1.8: ttyACM4: USB ACM device
[    5.648556] cdc_acm 1-1.1:1.10: ttyACM5: USB ACM device
pi@raspberrypi:~ $ sudo minicom -b 115200 -D /dev/ttyACM0

Welcome to minicom 2.7.1

OPTIONS: I18n 
Compiled on Aug 13 2017, 15:25:34.
Port /dev/ttyACM0, 19:08:52

Press CTRL-A Z for help on special keys

AT
OK
AT+GMI
Telit

OK
AT+GMM
LE910-EU V2

OK
AT+GMR
20.00.403

OK
AT+CMEE=2

OK
AT+CPIN?

+CPIN: READY                                                                                                                               
AT+CSQ                                                                                                                           
+CSQ: 29,3                                                                                                                       
                                                                                                                                 
OK                                                                                                                              

Pictures of my setup with both Telit and Quectel cards below…

As you will see, one of the SIM card holding pin (in the middle to be precise) is missing but this should not affect usage or recognizability since everything works perfectly fine with the Telit module… This seems to be specifically related to Quectel and/or the QMI interfacing script.

Any idea/lead as to how I could solve this?

Many thanks in advance!

J.

Hello @j051y,

Your Base HAT’s SIM holder is damaged, there is a pin missing
image

You will need to change the SIM holder(if you can) or get a new HAT.

Hey @saeed, thanks for getting back to me!

Can you shed some light as to how the SIM card is recognized with the Telit module although the holder is damaged?

How is it that it could work with one module and not the other?

Thanks again!

Hello @j051y ,

This could be how the individual modules function. I have checked the case with the Quectel and according to the design team,

SIM_RST should be connected to the RST pin of the SIM. RST is needed for SIM functionality according to 3GPP standards.

Hey @saeed, thanks for your reply!

I guess I will be purchasing a new HAT soon and I will keep using the damaged one I have as a backup interface to use with my LE910-EU V2 module over PPP.

Perhaps something to look into for V3 of the HAT: those SIM card holding pins are really fragile and it seems that other people on the forum are reporting this… :slight_smile:

Hello @j051y ,

Yes, our R&D team has been informed about the case and they are working on it.

Thank you for your feedback.

Hey @saeed, finally got around the time and money to get a new HAT to finish this IoT module… but I’m still having the same issue with a brand new HAT! :disappointed:

Output of sudo ./quectel-CM -s <apn> which is still showing SIM_ABSENT:

pi@raspberrypi:~/files/quectel-CM $ sudo ./quectel-CM -s internet.emt.ee
[07-09_19:32:49:180] Quectel_QConnectManager_Linux_V1.6.0.12
[07-09_19:32:49:182] Find /sys/bus/usb/devices/1-1.1 idVendor=0x2c7c idProduct=0x306, bus=0x001, dev=0x004
[07-09_19:32:49:182] Auto find qmichannel = /dev/cdc-wdm0
[07-09_19:32:49:182] Auto find usbnet_adapter = wwan0
[07-09_19:32:49:182] netcard driver = qmi_wwan, driver version = 5.10.17-v7l+
[07-09_19:32:49:183] ioctl(0x89f3, qmap_settings) failed: Operation not supported, rc=-1
[07-09_19:32:49:183] Modem works in QMI mode
[07-09_19:32:49:196] cdc_wdm_fd = 7
[07-09_19:32:49:517] Get clientWDS = 20
[07-09_19:32:49:581] Get clientDMS = 1
[07-09_19:32:49:645] Get clientNAS = 2
[07-09_19:32:49:709] Get clientUIM = 2
[07-09_19:32:49:773] Get clientWDA = 1
[07-09_19:32:49:837] requestBaseBandVersion EP06ELAR03A06M4G
[07-09_19:32:50:093] requestGetSIMStatus SIMStatus: SIM_ABSENT
[07-09_19:32:50:093] requestSetProfile[1] internet.emt.ee///0
[07-09_19:32:50:221] requestGetProfile[1] internet.emt.ee///0
[07-09_19:32:50:285] requestRegistrationState2 MCC: 248, MNC: 1, PS: Detached, DataCap: UNKNOW
[07-09_19:32:50:349] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[07-09_19:32:50:349] ifconfig wwan0 down
[07-09_19:32:50:362] ifconfig wwan0 0.0.0.0
^C[07-09_19:32:56:398] QmiWwanThread exit
[07-09_19:32:56:400] qmi_main exit

Output of AT+CPIN? also still returning that the SIM not inserted:

pi@raspberrypi:~ $ sudo minicom -b 115200 -D /dev/ttyUSB2

Welcome to minicom 2.7.1

OPTIONS: I18n 
Compiled on Aug 13 2017, 15:25:34.
Port /dev/ttyUSB2, 20:01:29

Press CTRL-A Z for help on special keys

AT
OK
ATI
Quectel
EP06
Revision: EP06ELAR03A06M4G

OK
AT+CMEE=2
OK
AT+CPIN?
+CME ERROR: SIM not inserted

And here are some pics…



Any ideas? Thanks in advance.