So you got SIM900A, cheaper version of SIM900 with the same pinout/functions and 2-band instead of 4-band GSM radio, just to stumble on logging to network. While its great for Asian GSM infrastructure in different places in the world you will just get “PH-NET PIN” response meaning its locked for current network. I found that flashing SIM900A with firmware for SIM900 opens it up again to work exactly as SIM900, with slightly worse signal quality due to physical radio differences.
I am not GSM professional and when I was browsing SIM900A documentation I found no signs it may not work in Poland. The 900/1800MHz bands are fundamental here and I assumed it will work flawlessly either with dual-band or quad-band as in already tested SIM900. Since I found it cheaper than SIM900 nearly 25% I took 10 pieces at once to use in small batch of my Water Level Station right after prototype phase. News on locked network made me angry as it could turn GSM modules into expensive pile of useless microelectronics.
When I found this blog entry I decided to give a try flashing SIM900 firmware into SIM900A hardware. Original version given by AT+CGMR command was reported as 1137B12SIM900A64_ST so I needed equivalent 64Mb version. I was flashing SIM900 before when I was struggling with messed up HTTPS functionality. I had bookmarked another blog that time, that has collection of SIM900 firmware and tools for flashing. I picked up 1137B01SIM900M64_ST_ENHANCE.
Flashing is no trickery, just a right sequence of operations, there is detailed instruction for arduino-like approach, my way required just a few major steps:
- Power up your SIM900A module to respond to AT commands in auto-baud mode (AT+IPR=0). It means you must wire powerlines, do power-on sequence with PWRKEY etc.
- Setup flashing tool — connect it to SIM900A, set default speed of 460800 baud, choose firmware to flash from unpacked RAR file, select “don’t check file name” check-box and press “start download” button to see “Power On/Reset Target” message.
- Short NRESET (pin 16) to GND for a moment. Right after it reboots flashing tool will start pushing data.
- When flashing ends with “Download complete” power off SIM900A module. Note that reset will not work, disconnect power line and start power-on sequence once again.
- Voila! It works now as expected. PIN accepted, logged in to network and test text message successfully sent to my smartphone.
If flashing is interrupted (timeout) or wrong firmware is flashed you should be still able to get module in boot-loader mode and re-flash again repeating the same process again. Nevertheless see my footnote below.
Disclaimer: I do not take any responsibility for damages when applying this fix, you do it on your own risk. Beware, you have been warned.