I am currently working with SIMCom's SIM808 2G+GPS modem. In my setup, an MCU communicates with the modem over UART to save some data in the SIM808's filesystem. As the modem's built-in memory is < 100KB, I want to add an SD card to the filesystem and save data to it through AT commands passed between the MCU and SIM808.
The problem is, I am unable to access the SD card from the SIM808. According to SIMCom's docs (links below), the AT command
AT+FSMEM should return the drive letters and free memory count of both the internal memory (C:) and the SD card. However, in my case it always returns only the "C:\" and its free memory count. I am aware that the SD card functionality has to be enabled in the modem, thought I don't seem to grasp the practical difference between
SDMODE command works fine on my setup, the parameter is saved and remains set after power cycling, but it still doesn't change anything in the filesystem. In contrast, the
SD2PCM command is never read correctly by the modem and always gives a cheerful
ERROR, no matter if I want to set the param or just read it. I don't know if both these commands have to work in order for the SD functionality to be enabled, as my sources give contradictory or incomplete information. All operations on the files stored in SIM808's internal memory work flawlessly. It might be relevant to mention that SIMCom lists both aforementioned commands as enabled only on certain devices, but then lists SIM808 explicitly for both of them.
My setup is a custom board so there is a risk of improper connections, but I followed the reference circuits in SIMCom's Hardware Design doc for this component and all other features work properly. An improvised setup made with modified off-the-shelf components (Arduino, Waveshare SIM808 Shield and a SD card breakout board) shows identical symptoms. My scope shows zero activity on any of the SD card's pins (obviously except powering the VCC up from VEXT when the modem wakes up), so this brings my attention to the modem's inner workings. I have tried the following firmware versions: 1418B03SIM808M32_BT_EAT, 1418B04SIM808M32, 1308B02SIM808M32.
I have followed the AT commands manual: http://simcom.ee/documents/SIM808/SIM800%20Series_AT%20Command%20Manual_V1.09.pdf An app note about the filesystem-related ATs: http://simcom.ee/documents/SIM800x/SIM800%20Series_FS_Application%20Note_V1.03.pdf
And the Hardware Design doc: https://cdn-shop.adafruit.com/datasheets/SIM808_Hardware+Design_V1.00.pdf
Also I have been getting firmware packages from this directory: http://simcom.ee/documents/?dir=SIM808
I also read up about a relevant Arduino library, whose authors sell a product with a working setup like this and also posted info on enabling the SD card: https://elementztechblog.wordpress.com/2016/12/20/interfacing-sd-card-with-e-tracker/
I really hope I'm missing something obvious, but I've no idea how to proceed from here. It's even more puzzling to me as I've been working with these components for a while and even if serious problems arose, digging in the docs always brought solutions. If some essential info was left out, please point it out and I'll be happy to elaborate.