Linux port to the HTC Smartphones

Testing the GSM module

The latest GSM module is available from the Download page. It is currently highly experimental, but some stuff is working. The module loads the GSM code and data from the gsmcode.bin and gsmdata.bin files and resets the DSP. It also provides and interface to communicate with the GSM stack through a character device (like a tty). The gsmcode.bin and gsmdata.bin files have to be extracted from your phone ROM (using the SPL and

Alternatively, you can boot from WinCE and skip the loading and reseting part (using option noload=1 and noreset=1).

This is the minimal set of command I use to perform a call:

cd /tmp

insmod gsm-typhoon.ko model=typhoon # when booting from SPL
# or
insmod gsm-typhoon.ko noload=1 noreset=1 model=typhoon # when booting from WinCE

mknod gsm c 212 0

echo -e "ATZ\r" > gsm
echo -e "AT+CFUN=1\r" > gsm
echo -e "AT+CPIN=\"XXXX\"\r" > gsm   # not needed when booting from WinCE
echo -e "AT+COPS=0\r" > gsm
echo -e "ATDTYYYYYYYYYY;\r" > gsm

Change XXXX to you SIM PIN number and YYYYYYYYYY to the phone number you want to call. If your phone is OMAP850 based, change model to 'tornado'. Also, wait a bit between each commands. You can check the replies doing 'cat gsm'.

Important Note: The audio out will *not* work unless you boot from WinCE *during a call*, and do not reset the DSP when loading the module (you may hang up once Linux has booted though). This is because I have yet to figure out how to enable the earphone output. When I say this is experimental I mean it :-)

There is still a lot of things to understand here, especially how the audio is routed to the speaker, earphone or external headphone. A lot of test code is present in the module for that, if your interested make sure to check the latest git tree here first: