Hi. After a day of troubleshooting why the SIM card doesn’t get detected by any modem (Sierra Wireless EM7455, Foxconn T77W968) in my new Rock 5B+, I found that the board has a design flaw.
All these modems expect the SIM detection pin (SIM1_DET) to be active high. Or more specifically, the pin of the modem is an open drain input, with a built-in pull up, and the board is expected to pull it low if a SIM card isn’t present. But instead, the board has a SIM card slot where the detection pin (SW) is in physical contact with the SIM card’s ground pad, so it’s pulled low when a SIM card is present, and then this is wired directly to SIM1_DET.
I know that some modems allow flipping the detection level (e.g. via AT+QSIMDET), and some might ignore the status of the detection pin and try to probe for a SIM card anyway, but lots of them don’t. And it would also be a pain to have to configure every modem specifically for the Rock 5B+, and then revert it when using it in another system. Please modify the next board revision to invert the level in hardware.
And for any users, as a workaround, taping up over the SW pin in the SIM card slot like in my photo does the job. But the SIM card will have to be present at boot time, and can’t be hot swapped.
As you said, Are you hoping to switch to a 6pin bay? no SW pin.
When it (S/W)exists, can it be used by connecting the sim card first before powering up and booting the system?
I’m hoping that a future revision will use a transistor to invert the signal level, i.e. pull SIM1_DET low when a SIM is missing.
The modems I tested, at least when used with ModemManager, won’t detect the SIM card at all, even if it’s already connected before powering the system on. That only works if I tape up over the SW pin.
I was able to detect the sim card status return by turning on the sim unplugged status report via AT and setting the sim card detection function to low effective.
echo -e “AT+QSIMSTAT=1\r\n” >/dev/ttyUSB2 //Enable SIM hot-plugging status reporting
echo -e “AT+QSIMDET=1,0\r\n” >/dev/ttyUSB2 //Enable SIM card detection function with low level
cat /dev/ttyUSB2
report bellow when I remove the sim card
+QSIMSTAT: 1,0
+CPIN: NOT READY
report bellow when I plugin the sim card
+QSIMSTAT: 1,1
+CPIN: READY