Finally back home after attending GNOME.Asia 2012 and some vacation time afterwards.
The conference started on Friday afternoon, with a design workshop managed by Allan Day, Jakub Steiner and William Jon McCann. It was pretty interesting, truth be told, and I particularly enjoyed how Jakub played with Inkscape to create the icon of “GNOME Ball” (now we just need a program for the icon). I truly want to spend more time with Inkscape now, and try to draw something better than my previous attempts to draw an icon/logo.
I gave two talks during the first day of the conference, one about Tracker (slides here) and another one about ModemManager (slides here). The talks were recorded, but official videos of the talks are not yet available on the Internet.
Thanks to the usual jet lag, I also found time to develop the application-menu support for Devhelp during my stay in Hong Kong. The code is currently available in the ‘application-menu’ branch in the gnome git repo, and tracked at GB#677927.
Finally, thanks to my employer, Lanedo GmbH, for sponsoring my attendance to this great conference!
The changes in the new wavecom plugin with respect to the generic GSM plugin are:
- AT+CPIN? replies are not ended with OK. A custom regex match was added to support CPIN? replies without OK (also had to hack the generic MM code to handle plugin-provided regular expressions).
- Disabled default power-up comand, AT+CFUN=1. This command does a full software reset in the device, including the USB stack, so the connection is closed. No additional command seems to be needed, as the modem wakes up by default in CFUN=1 (full functionality) mode. Anyway, an additional check was added during initialization so that this mode is ensured.
- Enabled RTS/CTS instead of XOFF/XON flow control.
- Implemented access technology retrieval using AT+WGPRS=9,2 to query network capabilities
- Ensure the modem uses the highest possible mobile class. These modems can be configured to use different mobile classes. For each kind of modem, the best mobile class is the highest one available, in the following order:
- Class A (3G only mode)
- Class B (PS or CS, GPRS/EDGE or GSM)
- Class CG (PS only, GPRS/EDGE)
- Class CC (CS only, GSM)
- Implemented setting and getting allowed mode, for both 2G and 3G based modems (using AT+WWSM command in the 3G case).
- Implemented setting and getting frequency bands for 2G modems (with AT+WMBS) and 3G modems (with AT+WUBS).
Still, the plugin could be improved even more. For example, there is no secondary port handling in the current plugin implementation, which means that signal strength value will not be updated while the modem is in connected state. This kind of modems support setting up virtual ports by multiplexing the serial channel (CMUX), but ModemManager doesn’t handle this yet.
If anyone has one of this Wavecom/SierraWireless modems at home, please test it with latest ModemManager and report any errors found.
First thing when I go back to the Basque Country to visit my family is to tune Gaztea Irratia in my car’s radio.