hey Xkr47, I added some info to the hardware page about the GPRS Classes of the transceiver from the TI datasheets.
( Class 12/CS-4 )
Andy aka technil
As for the capability class, I think it is class A. The 7.10 GSM standards provide for multiplexing, and Harald Welte, on his blog entry for Dec 4, 2006, talks about the multiplex layer and HDLC framing.
From the blog: Some details about the GSM infrastructure on the Neo1973 / OpenMoko
First of all, there is a ts0710 multiplex layer, architecture-wise similar to what Motorola uses in their 2.4.x kernels. This ts0710 (de)multiplex takes care of handling GSM TS 07.10 "advanced mode" (the HDLC framing). It will be easy to add "basic mode" for chips that doesn't support advanced mode, and I'm also planning to add support for the Motorola proprietary 07.10 extensions (see OpenEZX wiki) once Neo1973 has been released.
This demultiplex is implemented as a line discipline. Therefore some userspace program (in our case the GSM daemon) attaches as a line discipline to the underlying physical UART.
devices that don't have a physical UART (such as the Motorola phones) will provide a small glue layer that provides a virtual UART on top of e.g. USB as underlying layer.
The GSM mux layer then provides itself one virtual serial port per DLC of the multiplex.
On top of those virtual serial ports, there is a GPRS line discipline, or a PPP line discipline for implementing full in-kernel data connection support, with no need for sending data packets for network traffic from/to userspace.
Both the GPRS line discipline and the ts0710 multiplex are written according to the style and requirements ("good taste") of kernel code, and will be submitted to the mainline kernel as soon as the Neo1973 goes public. I really hope to make this a standard component of the mainline kernel, supporting as many GSM modems as possible over time.
On top of the virtual serial ports, we have a GSM daemon. This daemon takes care of almost all communication with the GSM modem. The daemon initializes AT+CMUX and then attaches the kernel line discipline. It also attaches GPRS line discipline to a virtual serial port afterwards.
Since I am not 100% certain I don't want to post it to the hardware page.
Andy aka technil