Clipper SP/CE module SSL issues

Hi all,

I nabbed a Clipper LTE breakout when they first came out a few weeks back. To be very clear it works perfectly well under the “official” MicroPython build with its baked-in PPP/LTE module.

The (already substantially written, unfortunately) project I’m looking to integrate the breakout into happens to be in CircuitPython, which doesn’t benefit from generic PPP support as it doesn’t lean on MP’s network module. That’s ok though, as I can just write a UART wrapper to do exchange basic AT-style commands with the board - this works fine for HTTP and MQTT.

Here’s my problem: it looks like the SIMCOM A7683E module on the Clipper suffers from an issue common to a lot of the A76XX series - its built-in support for HTTPS actions (GET/POST) is broken. This isn’t a problem on MP or Linux because the SSL session would be done on the host and channeled via PPP.

SIMCOM have only recently begun to discover and address this as an increasing number of Chinese (LilyGo etc.) boards are circulating with confused users. Unlke those other A76XX chips they haven’t yet released a fixed firmware for the A7683E specifically but if they do I don’t think we have the ability to flash any update without using the testpads on the bottom of the board to access the differential pins.

If there’s any plan for the Pimoroni crew to bring a driver/PPP integration to CircuitPython then this issue would be moot but that would be a big undertaking so I wouldn’t expect it!

For now though, I wanted to a) flag this up so it’s known to anyone else looking to use their Clipper outside the current example firmware; b) ask whether anyone can identify the USB +/- test pads for if/when SIMCOM release a fix; and c) check in on whether there’s any chance at all team Pimoroni plan to bring a driver to CircuitPython.

Kind regards,

Greg

Hi Greg,

I am also a CircuitPython guy and I am also planning for using the Clipper. One question: you write about the broken HTTPS Post/Get actions. Are only the actions broken or the complete SSL setup? I am asking because if you can setup a valid SSL-connection (e.g. create a SSL-socket) then you could just use the requests-module from Adafruit for Post/Get.

In one of my projects I created a complete native CircuitPython compatible network-layer for the ESP-AT firmware. I could imagine swapping in Clipper-AT commands for ESP-AT commands and then you could use the Clipper in a transparent manner. Unless of course you need native wifi and clipper at the same time. But that could probably be solved by renaming some modules.

It seems that any use of the internal SSL functionality fails, judging by the back and forth in the Lilygo repos: HTTPS, MQTT. All work fine without SSL sessions involved and all work fine with the update SimCom have provided.

You could definitely expand your ESP-AT library here - the SimCom command set is equivalent but not identical to Espressif’s own (see pic)

G

Thanks! Once I have it I will give it a try. Regarding the test-pads, I think that should be no problem. Pimoroni will certainly help here. CircuitPython is a different story, in my experience we are alone. They do provide me with USB-IDs on requests when I create ports for their boards, but CP is not their focus.