Troubleshooting

This guide provides troubleshooting recommendations to help users explore Sixfab Cellular IoT HAT and explains how to interact with it to quickly move through the evaluation and development phases of product design.

Important items to review

Power

It is recommended to use an official Raspberry Pi Power Adaptor. Power supply for Raspberry Pi 4. Power supply for other models of Raspberry Pi.

SIM

  • Check the compatibility of SIM with the module from the SIM provider. The compatibility includes the supported region and frequency band information. Also, check the supported bands of the module from the product specification. 
  • Check the SIM card slot for any damaged pin. With a damaged pin, your SIM will not be recognized.
  • Confirm the micro-SIM(3FF size) SIM card is inserted in the right direction.

APN

  • Make sure that the APN(Access Point Name) is correct. If it’s wrong, your device won’t be able to get on the proper cellular network and transfer data. The APN is unique to each vendor and, sometimes, to each different type of SIM card you buy from that vendor such as AT&T SIMs have APNs of m2m.com.attz & nxtgenphone.
  • Check the authentication type and credentials(username and password) with the SIM provider if required. It could be PAP or CHAP.

Antenna Ports

  • Make sure the right antenna is connected to the right port/interface.
  • Make sure the female u.fl connector of the antenna is connected/snapped firmly to the male u.fl connector of the module.

Power Status of the HAT

Ensure that the HAT has the power to operate. In order to check it observe the POWER LED and the EN LED, both should be lit.

Power Status of the Module

Make sure your module is powered up. When the module is powered up the NETL LED will blink and STAT LED will be lit. It can be turned on by pushing the PWRKEY button or by driving the programmable PWRKEY pin to HIGH for at least 500 ms.

USB Connectivity

From the physical level without any linux driver, the Linux OS should recognize USB device included Vendor ID (VID), Product ID (PID).

Check all USB devices with lsusb , if the correct vendor ID and product ID are seen, then USB connection is OK. if not, change the USB cable and try again.

pi@raspberrypi:~ $ lsusb Bus 001 Device 003: ID 2c7c:0296 Quectel Wireless Solutions Co., Ltd. BG96 CAT-M1/NB-IoT modem Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Supported USB driver VID, PID list:

PRODUCTVENDOR IDPRODUCT ID
Quectel UC2005c69003
Quectel EC252c7c0125
Quectel BG962c7c0296
Telit LE910C11bc71206
Telit ME910C1-WW1bc71101

USB Driver Interface in the Linux operating system.

ModuleUSB DriversInterfaces
EC25/EG25G

BG96
USB Serial OptionttyUSB0 used for USBDM
ttyUSB1 used for GPS NMEA message output
ttyUSB2 used for AT command communication
ttyUSB3 used for PPP connection or AT command communication

Device Port Availability

If the operating system recognizes the modem, devices named /dev/ttyUSBx are created. You can check if the ttyUSB(s) are available under the /dev directory. Expected outputs are as follows:

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

Alternatively, you can check dmesg:

pi@raspberrypi:~ $ dmesg | grep ttyUSB [  154.014341] usb 1-1.1.2: GSM modem (1-port) converter now attached to ttyUSB0 [  154.015183] usb 1-1.1.2: GSM modem (1-port) converter now attached to ttyUSB1 [  154.015632] usb 1-1.1.2: GSM modem (1-port) converter now attached to ttyUSB2 [  154.015994] usb 1-1.1.2: GSM modem (1-port) converter now attached to ttyUSB3

If any of the ttyUSB(s) is missing, then check the drivers according to the OEM’s Guides:

UART Connectivity

Both UART and USB can be used to communicate with the module. To check if everything is fine with UART:

AT Commands

📖 How to send AT commands?
Check out the "Sending AT Commands" tutorial.

Registration

AT+CGREG? and AT+CREG? AT commands returns the registration status of the device.

Response:
+CREG: <mode>,<stat>
Possible values are:

0,0 Not registered, ME is not currently searching a new operator to register to
0,1 Registered, home network
0,2 Not registered, but ME is currently searching a new operator to register to
0,3 Registration denied
0,4 Unknown
0,5 Registered, Roaming

SIM Card Status

Confirm that the device can recognize the SIM.

AT+CPIN? should return READY.

Signal Quality

AT+CSQ AT command returns the signal strength of the device.

Response:
+CSQ: <rssi>,<ber>
Possible values are:

<rssi> - received signal strength indication
0 - (-113) dBm or less
1 - (-111) dBm
2..30 - (-109)dBm..(-53)dBm / 2 dBm per step
31 - (-51)dBm or greater
99 - not known or not detectable

<ber> - bit error rate (in percent)
0 - less than 0.2%
1 - 0.2% to 0.4%
2 - 0.4% to 0.8%
3 - 0.8% to 1.6%
4 - 1.6% to 3.2%
5 - 3.2% to 6.4%
6 - 6.4% to 12.8%
7 - more than 12.8%
99 - not known or not detectable

PDP Context Set Up

Check the PDP context parameters such as PDP type (IP, IPV6, PPP), APN, data compression, header compression etc. your module is trying to use, with the command: AT+CGDCONT?
Possible responses are:

+CGDCONT: 1,"IPV4V6","vzwinternet","",0,0
+CGDCONT: 2,"IP","super","0.0.0.0",0,0

Still Need Help?

Please attempt the solutions recommended in this guide before contacting support. If these don’t resolve the issues, contact support with the available logs(responses of all commands mentioned below).

  • uname -sr
  • lsusb
  • lsusb -t
  • ls /dev/ttyUSB*
  • dmesg | grep tty
  • sudo cat /sys/kernel/debug/usb/devices
AT Commands List
AT
ATE1
ATI
AT+QGMR
AT+CPIN?
AT+CPAS
AT+CFUN?
AT+COPS?
AT+QCFG=”usbnet”
AT+QCFG="band"
AT+CREG?
AT+CGDCONT?
AT+CSQ
AT+CGATT?
AT+QCFG="nwscanseq"
AT+QCFG="nwscanmode"
AT+QCFG="iotopmode"
AT+QCSQ
AT+QNWINFO

AT commands manual for Quectel BG96 module: