For those who don't know what CSD is: http://en.wikipedia.org/wiki/Circuit_Switched_Data
Here is an AT command session log of me making a CSD call from my GTA02 on T-Mobile USA: at+cgmm +CGMM: "Neo1973 GTA02" OK at+cgmr +CGMR: "FreeCalypso leo2moko port" OK at+cops? +COPS: 0,0,"T-Mobile" OK atd13034944774 CONNECT National Institute of Standards and Technology Telephone Time Service, Generator 1b Enter the question mark character for HELP D L MJD YR MO DA HH MM SS ST S UT1 msADV <OTM> 56677 14-01-20 05:30:54 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:30:55 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:30:56 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:30:57 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:30:58 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:30:59 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:00 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:01 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:02 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:03 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:04 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:05 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:06 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:07 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:08 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:09 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:10 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:11 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:12 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:13 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:14 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:15 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:16 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:17 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:18 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:19 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:20 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:21 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:22 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:23 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:24 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:25 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:26 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:27 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:28 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:29 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:30 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:31 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:32 00 0 -.1 045.0 UTC(NIST) * 56677 14-01-20 05:31:33 00 0 -.1 045.0 UTC(NIST) * NO CARRIER -- end of log -- The number I dialed in this test is the Automated Computer Time Service provided by the National Institute of Standards and Technology: http://www.nist.gov/pml/div688/grp40/acts.cfm Note how the above web page says, in part: "Digital modems, such as [...] wireless modems, cannot synchronize using ACTS." Well, the log above clearly shows that they are wrong, at least in the case of high-quality wireless modems like Calypso. :-) CSD calls may be placed from a GSM mobile either to a land line or to another mobile. (I don't know if it's possible to establish a CSD connection from a land line to a mobile.) When placing a CSD call to a land line, one can connect to a traditional dial-up modem on the receiving end - that's how I connected to ACTS, and if you've got your own UNIX etc server at home with an old-fashioned modem on a land line, it is really neat to be able to connect to it from anywhere in the world via CSD, *bypassing the Internet*! When you place a CSD call to another mobile, the network tells the latter that it is a CSD call rather than voice. If you have a GTA02, you can have some fun by testing how various other mobile phones react to incoming CSD calls: just have your FR dial a CSD call to the number belonging to some "standard" cellphone (dumb or smart), running "standard" proprietary fw, and see how the latter reacts to receiving such an unusual call. :-) To dial a CSD call, just omit the ending ';' from the ATD command you would normally use to dial an ordinary voice call - see my log above. But not all modems are created equal. I've got a Huawei E303 3G modem in the USB stick form factor to play with, and it appears that this modem's fw does not support CSD at all. After doing the usb_modeswitch voodoo typically needed for these USB 3G modems (usually automated via udev rules, but I had to install an updated usb_modeswitch package on my Slackware 13.37 laptop), the modem shows up as a bunch of /dev/ttyUSBx devices, supported by the "option" kernel module - hence I wonder if it's anything like the modem in the GTA04. /dev/ttyUSB0 presents an AT command interface, and the following observations can be made from the latter: * One can dial voice calls with ATD<number>; - makes the phone ring on the other end; upon answering that call one hears noise - the modem must be implementing some way to pass digital audio over USB, which is not being supplied in the manual AT-dial experiment. * AT+CGDCONT=1,"IP","epc.tmobile.com" followed by ATD*99***1# establishes the GPRS/EDGE/3G data connection of the kind these modems are primarily intended for, and one can then "surf the net". * But ATD<number>, using a real phone number (not GPRS) and no ';' at the end (the standard syntax for dialing CSD calls), always yields a NO CARRIER response - even though I tested using the same SIM card, connected to the same carrier network in the same geographical location as the successful CSD calls from the Calypso in the Neo FR using the same AT command. Hence we can conclude that the difference is in the modem fw support, or rather lack thereof. Does the modem in the GTA04 support CSD calls? Has anyone tested it? VLR, SF _______________________________________________ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community