OtherModemProtocols » History » Revision 3
Revision 2 (Denis 'GNUtoo' Carikli, 02/15/2020 01:22 AM) → Revision 3/12 (Denis 'GNUtoo' Carikli, 02/15/2020 01:25 AM)
h1. OtherModemProtocols
h2. AT
The AT protocol comes from the "Hayes command set":https://en.wikipedia.org/wiki/Hayes_command_set used in early Internet modems.
It has been standardized by various standard bodies like the ITU, which then handed it over to the 3GPP. It's now the 27.007 standard at the 3GPP.
In practice device manufacturers often don't respect the standard, and instead do custom changes.
However as their implementation is still based on the standard it's still relatively easy to adapt the userspace modem stack to various modem from various manufacturers.
h2. msmcomm
*Software stacks*: "freesmartphone.org's cornucopia":https://github.com/freesmartphone/cornucopia
*Status*: Reverse engineered and upstreamed in freesmartphone.org's cornucopia, kernel part not upstream.
The msmcomm modem protocol was used on various "Palm Pre":https://en.wikipedia.org/wiki/Palm_Pre devices, which were smartphones running GNU/Linux.
While the modem ran AT commands, if my memory is good, it didn't report RING indication. So people wanting to add support for the palm pre in "Freesmartphone.org":http://www.freesmartphone.org/ to have a free software modem stack on GNU/Linux for the palm pre had to reverse engineer that protocol. While the source code has been lost, a recent version (is it the last version?) of the git repository was obtained by Asking Lukas Maerdian and it is now "archived on the Replicant git":https://git.replicant.us/freesmartphone.org-mirror/msmcomm/
msmcomm is now "back inside the freesmartphone.org project at github":https://github.com/freesmartphone/msmcomm
h2. Nokia ISI
*Software stacks*: "freesmartphone.org's cornucopia":https://github.com/freesmartphone/cornucopia , "oFono":https://01.org/ofono
*Status*: Modem supported by Linux, userspace stack probably complete and in upstream projects, though not necessarily packaged by all GNU/Linux distributions.
The ISI modem protocol was used on various Nokia smartphones running GNU/Linux such as:
* The Nokia N900
* The Nokia N950
* The Nokia N9
At first, that modem protocol had to be reverse engineered. At one point, this was made easier thanks to the publication of the protocol headers in a specific SDK version released by Nokia for the N900. Unfortunately they took down that SDK version. The headers were probably redistributable anyway. After some point Nokia and Intel decided to share effort in making a GNU/Linux distribution for smartphones called Meego. As part of that effort, Nokia published libraries and software implementing that modem protocol as free software.
As for the sound part, this is implemented by a pulseaudio library which has cmt_speech in its name.