Important items to review
- 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.
For example: Quectel EC25 Series Mini PCIe 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.
- Confirm 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.
- 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 see if the POWER LED is lit.
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 any of this info is missing there are several possibilities of this missing information. These are:
- The USB is not connected or the USB cable is damaged.
- The module is not powered or inserted in the HAT.
Supported USB driver VID, PID list:
The Sixfab 3G, 4G/LTE Base HAT is the bridge between the mini PCIe module and the Raspberry Pi(or similar host). Hence, the required driver depends on the module. Each module manufacturer provides its driver manual for the supporting operating systems, mainly Linux and Windows.
USB Driver Interface in the Linux operating system.
|USB Serial Option||ttyUSB0 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:
Alternatively, you can check dmesg:
If any of the ttyUSB(s) is missing, then check the drivers according to the OEM’s Guides:
Both UART and USB can be used to communicate with the module. To check if everything is fine with UART:
- Make sure the module used with the Base HAT is UART compatible from technical details.
- Follow the steps mentioned in the UART guide.
- Make sure the serial of the Raspberry Pi is enabled and the serial console is disabled. To know the details of UART and the how-to disable linux serial console please visit https://www.raspberrypi.org/documentation/configuration/uart.md
Check out the "Sending AT Commands" tutorial.
AT+CGREG? and AT+CREG? AT commands returns the registration status of the device.
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.
AT+CSQ? AT command returns the signal strength of the device.
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).
dmesg | grep tty
sudo cat /sys/kernel/debug/usb/devices
AT Commands List:
AT commands manuals for Quectel mini PCle modules:
AT commands manuals for Telit mini PCle modules: