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 ATDnumber; - 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