<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>SIGQUIT &#187; GNU Planet</title>
	<atom:link href="http://sigquit.wordpress.com/category/planets/gnu-planet/feed/" rel="self" type="application/rss+xml" />
	<link>http://sigquit.wordpress.com</link>
	<description>... and core dumped</description>
	<lastBuildDate>Wed, 22 May 2013 15:28:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='sigquit.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>SIGQUIT &#187; GNU Planet</title>
		<link>http://sigquit.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://sigquit.wordpress.com/osd.xml" title="SIGQUIT" />
	<atom:link rel='hub' href='http://sigquit.wordpress.com/?pushpress=hub'/>
		<item>
		<title>ModemManager-powered location indicator for gnome-shell</title>
		<link>http://sigquit.wordpress.com/2013/01/03/modemmanager-powered-location-indicator-for-gnome-shell/</link>
		<comments>http://sigquit.wordpress.com/2013/01/03/modemmanager-powered-location-indicator-for-gnome-shell/#comments</comments>
		<pubDate>Thu, 03 Jan 2013 16:58:40 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[FreeDesktop Planet]]></category>
		<category><![CDATA[GNOME Planet]]></category>
		<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[3gpp]]></category>
		<category><![CDATA[cdma]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gnome-shell]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[location]]></category>
		<category><![CDATA[ModemManager]]></category>
		<category><![CDATA[QMI]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=515</guid>
		<description><![CDATA[TL;DR: Show location information retrieved directly from ModemManager in a gnome-shell indicator. I&#8217;ve been wanting to try to write a gnome-shell extension from some time, and I ended up finding enough free time during the past weeks. So I ended up writing a gnome-shell extension which would show information about your current location as provided [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=515&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><strong>TL;DR: </strong><em>Show location information retrieved directly from ModemManager in a gnome-shell indicator.</em></p>
<div class="wp-caption aligncenter" style="width: 483px"><a href="https://extensions.gnome.org/extension/569/location-indicator/"><img alt="" src="https://extensions.gnome.org/static/extension-data/screenshots/screenshot_569.png" width="473" height="593" /></a><p class="wp-caption-text">Location Indicator in gnome-shell</p></div>
<p>I&#8217;ve been wanting to try to write a gnome-shell extension from some time, and I ended up finding enough free time during the past weeks. So I ended up writing a gnome-shell extension which would show information about your current location as provided by your modem. Note that this information is <strong>not coming from GeoClue</strong>; the new ModemManager1 interface is <a href="https://bugs.freedesktop.org/show_bug.cgi?id=58952" target="_blank">not integrated yet</a> there.</p>
<p>ModemManager exposes these types of information in the <a href="http://www.lanedo.com/~aleksander/modem-manager/api-20121005/api/gdbus-org.freedesktop.ModemManager1.Modem.Location.html" target="_blank">Location interface</a>:</p>
<ul>
<li><strong> 3GPP location</strong>, which is given as a set of 4 parameters, and specifies which is the current network cell which is giving mobile coverage to the modem:
<ul>
<li><a href="http://en.wikipedia.org/wiki/Mobile_country_code" target="_blank">MCC/MNC</a>: Identifies the &#8216;mobile country code&#8217; and the &#8216;mobile network code&#8217;; i.e. country and operator.</li>
<li><a href="http://en.wikipedia.org/wiki/Location_area#Location_area" target="_blank">LAC</a> and <a href="http://en.wikipedia.org/wiki/Cell_ID" target="_blank">Cell ID</a>: Identifies the &#8216;location area code&#8217; and &#8216;cell id&#8217; pair.</li>
</ul>
<p>  Once all these items are known, a query to <a href="http://en.wikipedia.org/wiki/Cell_ID#Public_Cell_ID_databases" target="_blank">an open database of cell IDs</a> can give us the exact location of the tower giving us coverage, and therefore a good approximation of where we are located.</li>
<li><strong>GPS location</strong>, given if the modem has a built-in GPS. Currently <a href="https://sigquit.wordpress.com/2012/03/29/enabling-gps-location-in-modemmanager/" target="_blank">Option/HSO</a> modems are supported, as well as QMI-powered modems with the &#8216;PDS&#8217; service implemented.</li>
<li><strong>CDMA Base Station location</strong>, given as Latitude/Longitude coordinates, and available in QMI-powered modems prepared for CDMA networks. As with the 3GPP one, this location information specifies where the station giving coverage to your modem is located, which is a good approximation of where you are located.</li>
</ul>
<p>Beware! You&#8217;ll need <strong>ModemManager &gt;= 0.7 (i.e. git master)</strong> in order for this extension to work.</p>
<p>You can download and install the extension in the following link:<br />
<a href="https://extensions.gnome.org/extension/569/location-indicator/" target="_blank">https://extensions.gnome.org/extension/569/location-indicator</a></p>
<p>The sources are kept in a git repository in gitorious.org:<br />
<a href="https://gitorious.org/aleksander/gnome-shell-location-indicator" target="_blank">https://gitorious.org/aleksander/gnome-shell-location-indicator</a></p>
<p>If you find the extension itself mostly useless, you may still want to take a look at the source code to see <a href="https://gitorious.org/aleksander/gnome-shell-location-indicator/blobs/master/modemWatcher.js" target="_blank">yet another example</a> of how to talk to DBus interfaces from within gnome-shell, including the use of the new standard <a href="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager" target="_blank">ObjectManager interface</a> with a <strong>Gio.DBusObjectManagerClient</strong>.</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/development/'>Development</a>, <a href='http://sigquit.wordpress.com/category/planets/freedesktop-planet/'>FreeDesktop Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/gnome-planet/'>GNOME Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/3gpp/'>3gpp</a>, <a href='http://sigquit.wordpress.com/tag/cdma/'>cdma</a>, <a href='http://sigquit.wordpress.com/tag/extension/'>extension</a>, <a href='http://sigquit.wordpress.com/tag/gnome/'>gnome</a>, <a href='http://sigquit.wordpress.com/tag/gnome-shell/'>gnome-shell</a>, <a href='http://sigquit.wordpress.com/tag/gps/'>gps</a>, <a href='http://sigquit.wordpress.com/tag/location/'>location</a>, <a href='http://sigquit.wordpress.com/tag/modemmanager/'>ModemManager</a>, <a href='http://sigquit.wordpress.com/tag/qmi/'>QMI</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/515/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=515&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2013/01/03/modemmanager-powered-location-indicator-for-gnome-shell/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>

		<media:content url="https://extensions.gnome.org/static/extension-data/screenshots/screenshot_569.png" medium="image" />
	</item>
		<item>
		<title>Integrating the new ModemManager in GNOME3</title>
		<link>http://sigquit.wordpress.com/2012/11/13/integrating-the-new-modemmanager-in-gnome3/</link>
		<comments>http://sigquit.wordpress.com/2012/11/13/integrating-the-new-modemmanager-in-gnome3/#comments</comments>
		<pubDate>Tue, 13 Nov 2012 13:53:38 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[FreeDesktop Planet]]></category>
		<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gnome-control-center]]></category>
		<category><![CDATA[gnome-shell]]></category>
		<category><![CDATA[libqmi]]></category>
		<category><![CDATA[ModemManager]]></category>
		<category><![CDATA[NetworkManager]]></category>
		<category><![CDATA[rpm]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=505</guid>
		<description><![CDATA[It was something like September 2011, shortly after the last Desktop Summit in Berlin, when I started the work improving ModemManager with the new DBus API, GDBus-based DBus support, port-type-agnostic implementations, dynamic DBus interfaces, built-in org.freedesktop.DBus.ObjectManager interface support, built-in org.freedesktop.DBus.Properties.PropertiesChanged signal support, the new libmm-glib client library, the new mmcli command line tool&#8230; Took me [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=505&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div id="attachment_508" class="wp-caption aligncenter" style="width: 605px"><a href="http://sigquit.files.wordpress.com/2012/11/6483141309_d02fb18a50_z.jpg"><img src="http://sigquit.files.wordpress.com/2012/11/6483141309_d02fb18a50_z.jpg?w=595&#038;h=333" alt="" title="6483141309_d02fb18a50_z" width="595" height="333" class="size-full wp-image-508" /></a><p class="wp-caption-text">(C) allenran917@ Flickr &#8211; CC by-nc-nd</p></div>
<p>It was something like September 2011, shortly after the last Desktop Summit in Berlin, when I started the work improving <strong>ModemManager</strong> with the new <a href="http://www.lanedo.com/~aleksander/modem-manager/api-20121005/api/" target="_blank">DBus API</a>, GDBus-based DBus support, port-type-agnostic implementations, dynamic DBus interfaces, built-in <a href="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager" target="_blank">org.freedesktop.DBus.ObjectManager interface</a> support, built-in <a href="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties" target="_blank">org.freedesktop.DBus.Properties.PropertiesChanged signal</a> support, the new <a href="http://www.lanedo.com/~aleksander/modem-manager/api-20121005/libmm-glib" target="_blank">libmm-glib</a> client library, the new <a href="http://www.lanedo.com/~aleksander/modem-manager/api-20121005/mmcli.html" target="_blank">mmcli</a> command line tool&#8230; Took me around half a year to port most of the core stuff, and some more months to port all the plugins we had. And then, suddenly, <a href="http://cgit.freedesktop.org/ModemManager/ModemManager/log/" target="_blank">git master</a> wasn&#8217;t <strong>that unfinished thing</strong> any more, and we were even implementing lots of new features like GPS support in the Location interface, improved SMS Messaging capabilities, ability to switch Firmware on supported modems, and last but definitely not least, support for new <strong>QMI</strong>-enabled modems through the <a href="http://lists.freedesktop.org/archives/libqmi-devel/2012-November/000335.html">just officially released <strong>libqmi</strong></a>&#8230;</p>
<p>And when I thought it was all done already, I woke up from my dream and realized that not even me was really using the new ModemManager as it wasn&#8217;t integrated in the desktop&#8230; not even in NetworkManager. So there I was again, with a whole new set of things to fix&#8230;</p>
<h4>NetworkManager integration</h4>
<p>There is already <a href="https://mail.gnome.org/archives/networkmanager-list/2012-November/msg00077.html" target="_blank">a set of patches</a> available to include integration of the new ModemManager interface in NetworkManager; pending for review in the NM mailing list. This is the second iteration already, after having some of the patches from the <a href="https://mail.gnome.org/archives/networkmanager-list/2012-October/msg00104.html" target="_blank">first iteration</a> already merged in git master.</p>
<p>This integration is probably the most complex one in the list, as it really has to deal with quite different DBus interfaces, but the overall look of it seems to be quite good from my point of view. With the patches on, NetworkManager exposes a new <em>&#8211;with-modem-manager-1</em> configure switch which defaults to &#8216;auto&#8217; (compile the MM1 support if <em>libmm-glib</em> found). Note that both the old and new ModemManager would be supported in this case, to easier fallback to the old version if the user experiences problems with the new ModemManager.</p>
<p>All in all, the required changes to NetworkManager are quite well defined, implemented mainly as a new &#8216;NMModemBroadband&#8217; object and some additional bits to monitor added/removed modems through the <a href="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager" target="_blank">org.freedesktop.DBus.ObjectManager interface</a>.</p>
<h4>gnome-shell integration</h4>
<p>A proper integration in my desktop of choice (gnome-shell based GNOME 3) required to integrate the new interface in the Network indicator of the shell. As in every good day, I first had to deal with <a href="https://bugzilla.gnome.org/show_bug.cgi?id=687356" target="_blank">several</a> <a href="https://bugzilla.gnome.org/show_bug.cgi?id=688144" target="_blank">issues</a> I found, but I ended up <a href="https://bugzilla.gnome.org/show_bug.cgi?id=687359" target="_blank">submitting a patch</a> that properly talks to the new ModemManager1 interface when needed. As with NetworkManager, this patch would support both the old and the new interfaces at the same time.</p>
<p>Not that this was a big change, anyway. The Network indicator only uses the ModemManager interface to grab Operator Name, MCCMNC and/or SID, and signal strength. Something that could even be included directly in the NMDevice exposed by NetworkManager actually&#8230;</p>
<p>Right now the only big issue pending here is to <a href="https://bugzilla.gnome.org/show_bug.cgi?id=687855" target="_blank">properly unlock the modem</a> when it gets enabled, something that I still need to check how to do it or where to do it.</p>
<p>Truth be told, hacking the shell has ended up being quite nice, even with my total lack of knowledge in JavaScript. My only suggestion here would be: get a new enough distribution with a recent enough GNOME3 (e.g. the unreleased Fedora 18) and <em>jhbuild buildone</em> from there. I think I&#8217;ve never seen a clean jhbuild from scratch succeed&#8230; maybe it&#8217;s just bad luck.</p>
<p>And then came the applet&#8230;</p>
<h4>network-manager-applet integration</h4>
<p>Why the hell would Bluetooth DUN not work with my implementation, I was thinking, until I found that even if GNOME3 doesn&#8217;t rely on nm-applet, it still uses some of its functionality through libnm-gtk/libnma, like the code to decide which kind of modem we&#8217;re dealing with and launch the appropriate mobile connection wizard. Ended up also <a href="https://mail.gnome.org/archives/networkmanager-list/2012-November/msg00072.html" target="_blank">submitting patches</a> to include the missing functionality in network-manager-applet.</p>
<p>For those not using GNOME3 and gnome-shell; note that I didn&#8217;t implement the support for the new ModemManager1 interface in the nm-applet itself; I just did the bluetooth-guess-my-modem-type bits required in libnma. If I feel in the mood I may even try to implement the proper support in the applet, but I wouldn&#8217;t mind some help with this&#8230; <strong>patches welcome!</strong> Same goes for other desktops relying on NetworkManager (KDE, xfce&#8230;); I wouldn&#8217;t mind to update those myself as well, but I truly don&#8217;t have that much free time.</p>
<h4>gnome-control-center integration</h4>
<p>Ok, so gnome-shell integration is more or less ready now; we should be finished, right? Well, not just yet. gnome-control-center also talks to ModemManager, in this case to get Operator Name and Equipment Identifier, which btw were <a href="https://bugzilla.gnome.org/show_bug.cgi?id=688211" target="_blank">not getting properly loaded and updated</a>. Once that fixed, I finally got <a href="https://bugzilla.gnome.org/show_bug.cgi?id=688238" target="_blank">a new patch</a> to have the control center talk to the new interface.</p>
<h4>Fedora 18 packages</h4>
<p>I bet you won&#8217;t go one by one to all the patches I linked before and apply them in your custom compiled NetworkManager, gnome-shell, network-manager-applet and gnome-control-center&#8230; but for all those brave Fedora 18 users, you can try with the 64-bit packages that I built for me, all available here:</p>
<ul>
<li><a href="http://www.lanedo.com/~aleksander/fedora-packages/20121112/" target="_blank">http://www.lanedo.com/~aleksander/fedora-packages/20121112/</a></li>
</ul>
<p>If you want to rebuild these packages yourself, you&#8217;ll find the source tarballs <a href="http://www.lanedo.com/~aleksander/fedora-packages/sources/" target="_blank">here</a> and the packaging repositories <a href="https://gitorious.org/lanedo/fedora-packages" target="_blank">here</a>. The packaging is really awful &#8211; I <em>suck</em> at it &#8211; so you&#8217;ll probably need to install the RPMs with <em>&#8211;force</em> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Note that the git repo for packaging has several git submodules, one for each item packaged, so remember to &#8220;<em>git submodule init</em>&#8221; and &#8220;<em>git submodule update</em>&#8220;.</p>
<h4>We done yet?</h4>
<p>Are these all the patches needed to have the best ModemManager experience in GNOME3? No! The list of pending tasks for this purpose grows a bit every day&#8230;</p>
<ul>
<li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=688206" target="_blank">Common code to parse the mobile broadband providers database</a>, exposed in libnm-gtk and used by the wizard, the control center and the shell</li>
<li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=687918" target="_blank">Link mobile connection profiles to a specific SIM/modem</a></li>
<li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=687855" target="_blank">Ensure modems are PIN-unlocked when they get enabled</a></li>
<li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=658230" target="_blank">Rework the logic behind the Network indicator in gnome-shell</a>, trying to make it easier to connect to a default connection profile. The same logic would then be need to be applied to the control center&#8230;</li>
<li>Proper IPv6 support in mobile broadband connections</li>
<li>Connection profiles with multiple APN/bearers</li>
<li>SMS messaging</li>
<li>Location information integration</li>
<li>An independent UI application to manage advanced settings in ModemManager?</li>
<li>&#8230;</li>
<ul>
<p>Help!</p>
<h4>Thanks</h4>
<p>Special thanks go to <strong>my employer</strong> <a href="http://www.lanedo.com/" target="_blank">Lanedo GmbH</a>, which sponsors quite a lot of the GNOME integration work; as well as to <strong>my girlfriend&#8217;s employer</strong>, which sends her 400km away from home from Monday to Thusday. Without them this job would have been impossible!</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/development/'>Development</a>, <a href='http://sigquit.wordpress.com/category/planets/freedesktop-planet/'>FreeDesktop Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/fedora/'>fedora</a>, <a href='http://sigquit.wordpress.com/tag/gnome/'>gnome</a>, <a href='http://sigquit.wordpress.com/tag/gnome-control-center/'>gnome-control-center</a>, <a href='http://sigquit.wordpress.com/tag/gnome-shell/'>gnome-shell</a>, <a href='http://sigquit.wordpress.com/tag/libqmi/'>libqmi</a>, <a href='http://sigquit.wordpress.com/tag/modemmanager/'>ModemManager</a>, <a href='http://sigquit.wordpress.com/tag/networkmanager/'>NetworkManager</a>, <a href='http://sigquit.wordpress.com/tag/rpm/'>rpm</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/505/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=505&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2012/11/13/integrating-the-new-modemmanager-in-gnome3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>

		<media:content url="http://sigquit.files.wordpress.com/2012/11/6483141309_d02fb18a50_z.jpg" medium="image">
			<media:title type="html">6483141309_d02fb18a50_z</media:title>
		</media:content>
	</item>
		<item>
		<title>SMS goodies in ModemManager</title>
		<link>http://sigquit.wordpress.com/2012/09/14/sms-goodies-in-modemmanager/</link>
		<comments>http://sigquit.wordpress.com/2012/09/14/sms-goodies-in-modemmanager/#comments</comments>
		<pubDate>Fri, 14 Sep 2012 10:46:36 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[FreeDesktop Planet]]></category>
		<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[mmcli]]></category>
		<category><![CDATA[ModemManager]]></category>
		<category><![CDATA[NetworkManager]]></category>
		<category><![CDATA[QMI]]></category>
		<category><![CDATA[SMS]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=488</guid>
		<description><![CDATA[Lots of new SMS-related features have landed in ModemManager this week, and as I have as much memory as a fish used to have, I need to write down all the commands I&#8217;ve used to test all this; hence this post. Note that all the stuff I talk about here applies to both AT and [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=488&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div id="attachment_500" class="wp-caption aligncenter" style="width: 610px"><a href="http://sigquit.files.wordpress.com/2012/09/fish.jpg"><img src="http://sigquit.files.wordpress.com/2012/09/fish.jpg?w=595" alt="" title="Fish memory"   class="size-full wp-image-500" /></a><p class="wp-caption-text">(C) josullivan.59 @ Flickr &#8211; CC by-nc-sa</p></div>
<p>Lots of new SMS-related features have landed in ModemManager this week, and as I have as much memory as a fish <a href="http://www.dailymail.co.uk/sciencetech/article-1106884/Three-second-memory-myth-Fish-remember-months.html" target="_blank">used to have</a>, I need to write down all the commands I&#8217;ve used to test all this; hence this post.</p>
<p>Note that all the stuff I talk about here applies to <strong>both AT and QMI based</strong> modems.</p>
<p>&nbsp;</p>
<h4>Multiple storages</h4>
<p>The current stable 0.5/0.6 releases will only use the core/plugin defined &#8216;default&#8217; storages for reading and sending short messages. This means that if you happen to have stored SMS in another non-default storage ModemManager won&#8217;t show them to you.</p>
<p>In the new 0.7 codebase, ModemManager reads the messages from <strong>all the available storages</strong>. It is able to read not only DELIVER-type PDUs from received SMS, but also SUBMIT-type PDUs from user-created SMS which got stored. The &#8220;<code>Sms.Store()</code>&#8221; method in the interface now allows (optionally) specifying in which storage the SMS should be kept.</p>
<p>The following commands allow to create a new SMS and store it in the &#8220;sm&#8221; (SIM) storage:<br />
<code><br />
$&gt; <em>sudo mmcli -m 0 \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>--messaging-create-sms</strong>="text='Hello world',number='+1234567890'</em><br />
Successfully created new SMS:<br />
&nbsp;&nbsp;&nbsp;&nbsp;/org/freedesktop/ModemManager1/SMS/21 (unknown)<br />
&nbsp;<br />
$&gt; <em>sudo mmcli -s 21 <strong>--store-in-storage</strong>="sm"</em><br />
successfully stored the SMS<br />
&nbsp;<br />
$&gt; <em>sudo mmcli -s 21</em><br />
SMS '/org/freedesktop/ModemManager1/SMS/21'<br />
&nbsp;&nbsp;-----------------------------------<br />
&nbsp;&nbsp;Content&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;number:&nbsp;'+1234567890'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text:&nbsp;'Hello&nbsp;world'<br />
&nbsp;&nbsp;-----------------------------------<br />
&nbsp;&nbsp;Properties&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PDU&nbsp;type:&nbsp;'submit'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state:&nbsp;'stored'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;smsc:&nbsp;'unknown'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;validity:&nbsp;'0'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class:&nbsp;'0'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;storage:&nbsp;'sm'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delivery&nbsp;report:&nbsp;'not requested'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;message&nbsp;reference:&nbsp;'0'<br />
</code></p>
<p>Note that you can create, store and send SMS objects regardless of what storage you&#8217;re using for each, ModemManager will take care of properly synchronizing the access to each of them.</p>
<p>The Messaging interface also defines new properties to list all the supported storages and to specify which is the default storage being used for received messages (and for stored ones when no specific one given in &#8220;<code>Sms.Store()</code>&#8220;):</p>
<p><code><br />
$&gt; <em>sudo mmcli -m 0 <strong>--messaging-status</strong></em><br />
/org/freedesktop/ModemManager1/Modem/0<br />
&nbsp;&nbsp;----------------------------<br />
&nbsp;&nbsp;Messaging&nbsp;|&nbsp;supported&nbsp;storages:&nbsp;'sm,&nbsp;me'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;default&nbsp;storage:&nbsp;'me'<br />
</code></p>
<p>&nbsp;</p>
<h4>Text multipart SMS</h4>
<p>We support <em>receiving</em> text multipart messages in ModemManager since some stable releases ago; but support for <em>sending</em> multipart messages was still missing. Not any more! Roberto Majadas of <a href="http://www.openshine.com" target="_blank"><strong>OpenShine</strong></a> started this work some months ago with a patch for MM 0.6, which I took over and ported to git master and the new 0.7 codebase.</p>
<p>Of course, we support both the default GSM 7-bit alphabet, as well as UCS-2:</p>
<ul>
<li><strong>GSM 7 encoded multipart messages:</strong> If the message is less or equal than 160 septets a singlepart SMS will be used; otherwise the input text will be split into chunks of 153 septets and sent as a multipart message.</li>
<li><strong>UCS-2 encoded multipart messages:</strong> The GSM 7 alphabet and its extensions are not enough to cover all scripts available out there. Luckily, we can send PDUs with UCS-2 encoded text (UCS-2 covers all the basic plane of Unicode, and is equivalent to UTF-16 in that range). When using this encoding, if the input text is less or equal than 70 UCS-2 characters (140 bytes) a singlepart SMS will be used; otherwise the input text will be split into chunks of 67 UCS-2 characters (134 bytes) and sent as a multipart message. Note anyway that this doesn&#8217;t mean that we only allow 70-byte long input strings to fit into a singlepart message; as the conversion from the input UTF-8 text to UCS-2 isn&#8217;t always increasing the required number of bytes. As an example, we can now send 210 bytes of UTF-8 encoded chinese text into a single SMS with 140-bytes of UCS-2.</li>
</ul>
<p>Note that from the API user&#8217;s point of view, the SMS objects are not considered multipart or singlepart; that is taken as internal information only required for the PDU-based implementation.</p>
<p>Multipart messages can be created by writing a long enough &#8216;<code>text</code>&#8216; value passed in the &#8216;<code>--messaging-create-sms</code>&#8216; command, as shown before.</p>
<p>&nbsp;</p>
<h4>Raw data multipart SMS</h4>
<p>In addition to text short messages we now also properly support raw binary data singlepart and multipart messages (reported as 8bit encoded). This means that both the sender and receiver can agree in any text encoding to be used between them, or even send in one or more SMS whatever raw binary stream you have.</p>
<p>The &#8216;mmcli&#8217; command line utility was improved with several commands to test this feature. For example, you can now send using just SMS messages whatever file you have in your system, just doing:<br />
<code><br />
$&gt; <em>sudo mmcli -m 0 \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>--messaging-create-sms</strong>="number='+1234567890'" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>--messaging-create-sms-with-data</strong>=/path/to/your/file</em><br />
Successfully created new SMS:<br />
&nbsp;&nbsp;&nbsp;&nbsp;/org/freedesktop/ModemManager1/SMS/22 (unknown)<br />
&nbsp;<br />
$&gt; <em>sudo mmcli -s 22 <strong>--send</strong></em><br />
successfully sent the SMS<br />
</code></p>
<p>When the receiver gets all the parts of the message, she can now recover the sent file with another &#8216;mmcli&#8217; command in her ModemManager setup:<br />
<code><br />
$&gt; <em>sudo mmcli -m 0 \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>--messaging-list-sms</strong></em><br />
Found 1 SMS messages:<br />
&nbsp;&nbsp;&nbsp;&nbsp;/org/freedesktop/ModemManager1/SMS/0 (received)<br />
&nbsp;<br />
$&gt; <em>sudo mmcli -s 0 \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>--create-file-with-data</strong>=/path/to/the/output/file</em><br />
</code></p>
<p>But beware! The file is sent in chunks of <strong>134 bytes</strong>, and there is a maximum of <strong>255 parts</strong> in a given multipart SMS, so this leaves you with a maximum size of around 33 Kbytes <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  And not only that, if you&#8217;re paying e.g. 0.10€ for each SMS sent, you would be paying more than 25€ for those 33 Kbytes. Yes, needless to say, this is therefore <em>the most useless use case ever</em>. But still, works as a proof of concept.</p>
<p>&nbsp;</p>
<h4>Delivery reports</h4>
<p>Last and least, you can now also request delivery reports when sending an SMS, by passing the &#8216;<code><strong>delivery-report-request=yes</strong></code>&#8216; key/value pair in the &#8216;<code>--messaging-create-sms</code>&#8216; command.</p>
<p><code><br />
$&gt; <em>sudo mmcli -m 0 \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>--messaging-create-sms</strong>="text='你好',\<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;number='+1234567890',\<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delivery-report-request=yes"</em><br />
Successfully&nbsp;created&nbsp;new&nbsp;SMS:<br />
&nbsp;&nbsp;/org/freedesktop/ModemManager1/SMS/0&nbsp;(unknown)<br />
&nbsp;<br />
$&gt; <em>sudo mmcli -s 0 <strong>--send</strong></em><br />
successfully sent the SMS<br />
&nbsp;<br />
$&gt; <em>sudo mmcli -m 0 <strong>--messaging-list-sms</strong></em><br />
Found 21 SMS messages:<br />
&nbsp;&nbsp;/org/freedesktop/ModemManager1/SMS/0&nbsp;(sent)<br />
&nbsp;&nbsp;/org/freedesktop/ModemManager1/SMS/1&nbsp;(received)<br />
&nbsp;<br />
$&gt; sudo mmcli -s 1<br />
SMS '/org/freedesktop/ModemManager1/SMS/1'<br />
&nbsp;&nbsp;-----------------------------------<br />
&nbsp;&nbsp;Content&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;number:&nbsp;'+1234567890'<br />
&nbsp;&nbsp;-----------------------------------<br />
&nbsp;&nbsp;Properties&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PDU&nbsp;type:&nbsp;'status-report'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state:&nbsp;'received'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;smsc:&nbsp;'+9876543210'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;validity:&nbsp;'0'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class:&nbsp;'0'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;storage:&nbsp;'unknown'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;message&nbsp;reference:&nbsp;'137'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timestamp:&nbsp;'120914120619+02'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delivery&nbsp;state:&nbsp;'temporary-error-sc-specific-reason'&nbsp;(0x30)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;discharge&nbsp;timestamp:&nbsp;'120914120619+02'<br />
</code></p>
<p>You can then match the delivery report with the message sent by using the &#8216;<strong>message reference</strong>&#8216; value, which should be the same in both. This also applies to multipart messages, where the &#8216;message reference&#8217; of our SMS object is the one reported when sending the last part, and therefore we only request the delivery report in the last part sent.</p>
<p>Enjoy!</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/development/'>Development</a>, <a href='http://sigquit.wordpress.com/category/planets/freedesktop-planet/'>FreeDesktop Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/mmcli/'>mmcli</a>, <a href='http://sigquit.wordpress.com/tag/modemmanager/'>ModemManager</a>, <a href='http://sigquit.wordpress.com/tag/networkmanager/'>NetworkManager</a>, <a href='http://sigquit.wordpress.com/tag/qmi/'>QMI</a>, <a href='http://sigquit.wordpress.com/tag/sms/'>SMS</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/488/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=488&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2012/09/14/sms-goodies-in-modemmanager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>

		<media:content url="http://sigquit.files.wordpress.com/2012/09/fish.jpg" medium="image">
			<media:title type="html">Fish memory</media:title>
		</media:content>
	</item>
		<item>
		<title>QMI-powered broadband connections in OpenWRT</title>
		<link>http://sigquit.wordpress.com/2012/08/20/qmi-powered-broadband-connections-in-openwrt/</link>
		<comments>http://sigquit.wordpress.com/2012/08/20/qmi-powered-broadband-connections-in-openwrt/#comments</comments>
		<pubDate>Mon, 20 Aug 2012 10:53:56 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[FreeDesktop Planet]]></category>
		<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[libqmi]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[openwrt]]></category>
		<category><![CDATA[qmi4g]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=477</guid>
		<description><![CDATA[Linux 3.2 kernel with QMI support When I started to develop the QMI support in OpenWRT, latest trunk was based on the 3.2 kernel series. By the time you read this, OpenWRT may already have a recent enough kernel (&#62;= 3.4), so this custom setup may not be needed any more, so keep it just [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=477&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h4>Linux 3.2 kernel with QMI support</h4>
<p>When I started to develop the QMI support in OpenWRT, latest trunk was based on the 3.2 kernel series. By the time you read this, OpenWRT may already have a recent enough kernel (&gt;= 3.4), so this custom setup may not be needed any more, so keep it just for reference.</p>
<p>The <strong>&#8216;v3.2.5-qmi&#8217; branch </strong> in the <a href="https://gitorious.org/lanedo/linux-stable" target="_blank"><strong>Lanedo</strong> stable kernel tree </a>contains a set of patches on top of the 3.2.5. Linux kernel release. These patches add support for QMI ports (updated &#8216;cdc-wdm&#8217; and new &#8216;qmi_wwan&#8217; driver) in the 3.2 stable series:<br />
  <code>git://gitorious.org/lanedo/linux-stable.git</code></p>
<p>&nbsp;</p>
<h4>OpenWRT with QMI support</h4>
<p>The same set of patches was then added to the <strong>&#8216;qmi-support&#8217; branch</strong> of the <a href="https://gitorious.org/lanedo/openwrt" target="_blank">Lanedo openwrt tree</a>, enabling OpenWRT builds with QMI support:<br />
  <code>git://gitorious.org/lanedo/openwrt.git</code></p>
<p>When you compile this OpenWRT build, make sure you configure the kernel with the QMI-specific requirements enabled:</p>
<p><code>CONFIG_PACKAGE_kmod-qmi-wwan=m<br />
CONFIG_PACKAGE_kmod-usb-wdm=m<br />
...<br />
</code></p>
<p>For reference, you can find <a href="http://www.lanedo.com/~aleksander/openwrt/latest/config" target="_blank">here</a> the .config I used for the <a href="http://www.lanedo.com/~aleksander/openwrt/latest/" target="_blank">ar71xx-nand builds</a> (installable in a RouterBoard 433UAH).</p>
<p>&nbsp;</p>
<h4>libqmi-glib and qmi4g</h4>
<p>&#8216;libqmi-glib&#8217; and &#8216;qmi4g&#8217; are two new packages added to the <strong>&#8216;qmi-support&#8217; branch</strong> of the <a href="https://gitorious.org/lanedo/openwrt-packages" target="_blank">Lanedo openwrt-packages tree</a>:<br />
  <code>git://gitorious.org/lanedo/openwrt-packages.git</code></p>
<p>This repository can be added to your OpenWRT build by creating a new &#8216;<code>feeds.conf</code>&#8216; with the following contents:<br />
<code>src-git packages git://gitorious.org/lanedo/openwrt-packages.git;qmi-support</code></p>
<p>The new packages, in detail:</p>
<ul>
<li><strong>libqmi-glib:</strong> This package provides a preliminary version of <code>libqmi-glib</code>, <a href="http://www.lanedo.com/~aleksander/libqmi-glib/" target="_blank">as released</a> unofficially by me. This package will provide the <code>libqmi-glib</code> library, the <code>qmicli</code> command line utility and the <code>qmi-network</code> script.</li>
<li><strong>qmi4g:</strong> This package registers a new &#8216;<code>qmi4g</code>&#8216; network protocol, which takes care of launching the network start/stop requests through QMI.</li>
</ul>
<p>If you&#8217;re using the precompiled OpenWRT images I gave above, you can just install these packages using &#8216;opkg&#8217; once you&#8217;ve added <a href="http://www.lanedo.com/~aleksander/openwrt/latest" target="_blank">the &#8216;latest&#8217; Lanedo repository</a>.</p>
<p>&nbsp;</p>
<h4>Configuring qmi4g</h4>
<p>Once the <code>qmi4g</code> package is installed, you are then allowed to include the<br />
following configuration under /etc/config/network:<br />
<code><br />
config 'interface' 'broadband'<br />
        option 'ifname' 'wwan0'<br />
        option 'proto' 'dhcp'<br />
        option 'auto' '0'</p>
<p>config 'interface' 'wdm0'<br />
        option 'proto' 'qmi4g'<br />
        option 'wdmif' '/dev/cdc-wdm0'<br />
        option 'wwanif' 'broadband'<br />
</code></p>
<p>The configuration is split into 2 interfaces:</p>
<ol>
<li>First, the configuration for the &#8216;<code>wwan0</code>&#8216; interface. This interface needs to be set with &#8216;<code>auto</code>&#8216; equal to &#8216;<code>0</code>&#8216;, so that it is never brought up automatically; and with &#8216;<code>dhcp</code>&#8216; as the protocol to be used. You should <strong>never</strong> ifup/ifdown this interface manually.</li>
<li>Second, a virtual interface using the new &#8216;<code>qmi4g</code>&#8216; protocol, which needs 2 options set: &#8216;<code>wdmif</code>&#8216; with the cdc-wdm port to use for the QMI protocol, and &#8216;<code>wwanif</code>&#8216; with the uci-interface-name of the wwan iface to use.</li>
</ol>
<p>&nbsp;</p>
<h4>Start/Stop the network</h4>
<p>Once the qmi4g setup is added in /etc/config/network, you can now then just:<br />
 <code>$&gt; ifup wdm0</code></p>
<p>That command will internally first launch the network start QMI command, and if succeeds it will itself ifup wwan0. The wwan interface can be used as any other eth-based interface now, it can be added as part of multiwan or in a vlan or in a bonding, or anything.</p>
<p>Once the connection is no longer wanted, you can just:<br />
 <code>$&gt; ifdown wdm0</code></p>
<p>That command will stop the network with QMI and also ifdown wwan0.</p>
<p>&nbsp;</p>
<h4>LUCI</h4>
<p>Once the network configuration is in place, the connection can also be started via web. Just log in to LUCI, go to Network interfaces and you&#8217;ll see both the wwan interface (&#8220;<em>broadband</em>&#8220;) and the virtual &#8220;<em>wdm0</em>&#8220;. Starting/Stopping the &#8220;<em>wdm0</em>&#8221; interface via LUCI should work. As said before, you shouldn&#8217;t touch the wwan interface directly.</p>
<p>Enjoy!</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/development/'>Development</a>, <a href='http://sigquit.wordpress.com/category/planets/freedesktop-planet/'>FreeDesktop Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/libqmi/'>libqmi</a>, <a href='http://sigquit.wordpress.com/tag/linux/'>linux</a>, <a href='http://sigquit.wordpress.com/tag/openwrt/'>openwrt</a>, <a href='http://sigquit.wordpress.com/tag/qmi4g/'>qmi4g</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/477/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/477/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=477&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2012/08/20/qmi-powered-broadband-connections-in-openwrt/feed/</wfw:commentRss>
		<slash:comments>44</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>
	</item>
		<item>
		<title>GNOME.Asia 2012</title>
		<link>http://sigquit.wordpress.com/2012/06/25/gnome-asia-2012/</link>
		<comments>http://sigquit.wordpress.com/2012/06/25/gnome-asia-2012/#comments</comments>
		<pubDate>Mon, 25 Jun 2012 15:08:43 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[FreeDesktop Planet]]></category>
		<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Meetings]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[devhelp]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gnome-asia]]></category>
		<category><![CDATA[ModemManager]]></category>
		<category><![CDATA[tracker]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=463</guid>
		<description><![CDATA[Finally back home after attending GNOME.Asia 2012 and some vacation time afterwards. &#160; 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 &#8220;GNOME [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=463&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="https://sigquit.files.wordpress.com/2012/05/gnome-asia.jpg"><img class="aligncenter size-full wp-image-455" title="gnome-asia" src="https://sigquit.files.wordpress.com/2012/05/gnome-asia.jpg?w=595" alt=""   /></a></p>
<p>Finally back home after attending <a title="GNOME.Asia 2012" href="http://2012.gnome.asia">GNOME.Asia 2012</a> and some vacation time afterwards.</p>
<p>&nbsp;</p>
<div id="attachment_466" class="wp-caption aligncenter" style="width: 510px"><a href="http://sigquit.files.wordpress.com/2012/06/pre-event.jpg"><img class="size-full wp-image-466" title="Design workshop" src="http://sigquit.files.wordpress.com/2012/06/pre-event.jpg?w=595" alt=""   /></a><p class="wp-caption-text">CC BY-NC-SA 2.0, Sammy Fung</p></div>
<p>The conference started on Friday afternoon, with a design workshop managed by <a href="http://afaikblog.wordpress.com">Allan Day</a>, <a href="http://jimmac.musichall.cz">Jakub Steiner</a> and <a href="http://blogs.gnome.org/mccann">William Jon McCann</a>. It was pretty interesting, truth be told, and I particularly enjoyed how Jakub played with Inkscape to create the icon of &#8220;GNOME Ball&#8221; (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 <a title="Unofficial GNU PDF logo" href="http://www.es.gnu.org/~aleksander/drawings/gnupdflogo.jpg">my previous attempts</a> to draw an icon/logo.</p>
<p>&nbsp;</p>
<div id="attachment_468" class="wp-caption aligncenter" style="width: 510px"><a href="http://sigquit.files.wordpress.com/2012/06/7183876857_bac7f39762.jpg"><img class="size-full wp-image-468" title="Tracker talk" src="http://sigquit.files.wordpress.com/2012/06/7183876857_bac7f39762.jpg?w=595" alt=""   /></a><p class="wp-caption-text">CC BY-NC-SA 2.0, Sammy Fung</p></div>
<p>I gave two talks during the first day of the conference, one about <strong>Tracker</strong> (<a href="http://www.lanedo.com/~aleksander/talks/GNOMEASIA2012%20-%20Introduction%20to%20Tracker.pdf">slides here</a>) and another one about <strong>ModemManager</strong> (<a href="http://www.lanedo.com/~aleksander/talks/GNOMEASIA2012%20-%20ModemManager%20revamped.pdf">slides here</a>). The talks were recorded, but official videos of the talks are not yet available on the Internet.</p>
<p>&nbsp;</p>
<p><a href="http://sigquit.files.wordpress.com/2012/06/devhelp-application-menu.png"><img class="aligncenter size-full wp-image-469" title="Devhelp Application Menu" src="http://sigquit.files.wordpress.com/2012/06/devhelp-application-menu.png?w=595" alt=""   /></a></p>
<p>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 <a href="http://git.gnome.org/browse/devhelp/log/?h=application-menu">&#8216;application-menu&#8217; branch</a> in the gnome git repo, and tracked at <a href="https://bugzilla.gnome.org/show_bug.cgi?id=677927">GB#677927</a>.</p>
<p>&nbsp;</p>
<p><a href="http://sigquit.files.wordpress.com/2012/06/lanedologo.png"><img class="aligncenter size-full wp-image-470" title="Lanedo Logo" src="http://sigquit.files.wordpress.com/2012/06/lanedologo.png?w=595" alt=""   /></a></p>
<p>Finally, thanks to my employer, <a href="http://www.lanedo.com">Lanedo GmbH</a>, for sponsoring my attendance to this great conference!</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/planets/freedesktop-planet/'>FreeDesktop Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/meetings/'>Meetings</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/devhelp/'>devhelp</a>, <a href='http://sigquit.wordpress.com/tag/gnome/'>gnome</a>, <a href='http://sigquit.wordpress.com/tag/gnome-asia/'>gnome-asia</a>, <a href='http://sigquit.wordpress.com/tag/modemmanager/'>ModemManager</a>, <a href='http://sigquit.wordpress.com/tag/tracker/'>tracker</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/463/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=463&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2012/06/25/gnome-asia-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>

		<media:content url="https://sigquit.files.wordpress.com/2012/05/gnome-asia.jpg" medium="image">
			<media:title type="html">gnome-asia</media:title>
		</media:content>

		<media:content url="http://sigquit.files.wordpress.com/2012/06/pre-event.jpg" medium="image">
			<media:title type="html">Design workshop</media:title>
		</media:content>

		<media:content url="http://sigquit.files.wordpress.com/2012/06/7183876857_bac7f39762.jpg" medium="image">
			<media:title type="html">Tracker talk</media:title>
		</media:content>

		<media:content url="http://sigquit.files.wordpress.com/2012/06/devhelp-application-menu.png" medium="image">
			<media:title type="html">Devhelp Application Menu</media:title>
		</media:content>

		<media:content url="http://sigquit.files.wordpress.com/2012/06/lanedologo.png" medium="image">
			<media:title type="html">Lanedo Logo</media:title>
		</media:content>
	</item>
		<item>
		<title>Looking for a ModemManager logo</title>
		<link>http://sigquit.wordpress.com/2012/06/06/looking-for-a-modemmanager-logo/</link>
		<comments>http://sigquit.wordpress.com/2012/06/06/looking-for-a-modemmanager-logo/#comments</comments>
		<pubDate>Wed, 06 Jun 2012 11:11:40 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[FreeDesktop Planet]]></category>
		<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[ModemManager]]></category>
		<category><![CDATA[NetworkManager]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=458</guid>
		<description><![CDATA[Hey designers! ModemManager (a.k.a &#8220;MM&#8220;) is a small daemon which takes care of controlling your broadband devices in your GNU/Linux system. We currently don&#8217;t have a logo for ModemManager, so if you&#8217;re a designer with some free time, share your ideas! Something simple, similar to the NetworkManager logo would be great, actually. Filed under: Development, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=458&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Hey designers!</p>
<p><strong>ModemManager</strong> (a.k.a &#8220;<strong>MM</strong>&#8220;) is a small daemon which takes care of controlling your broadband devices in your GNU/Linux system. We currently don&#8217;t have a logo for ModemManager, so if you&#8217;re a designer with some free time, <span style="color:#ff0000;">share your ideas</span>! Something simple, similar to the <a href="http://projects.gnome.org/NetworkManager/">NetworkManager</a> logo would be great, actually.</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/development/'>Development</a>, <a href='http://sigquit.wordpress.com/category/planets/freedesktop-planet/'>FreeDesktop Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/modemmanager/'>ModemManager</a>, <a href='http://sigquit.wordpress.com/tag/networkmanager/'>NetworkManager</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/458/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=458&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2012/06/06/looking-for-a-modemmanager-logo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>
	</item>
		<item>
		<title>Speaking at GNOME.Asia 2012 (Hong Kong)</title>
		<link>http://sigquit.wordpress.com/2012/05/22/speaking-at-gnome-asia-2012-hong-kong/</link>
		<comments>http://sigquit.wordpress.com/2012/05/22/speaking-at-gnome-asia-2012-hong-kong/#comments</comments>
		<pubDate>Tue, 22 May 2012 18:22:24 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[FreeDesktop Planet]]></category>
		<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Meetings]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[gnome-asia]]></category>
		<category><![CDATA[ModemManager]]></category>
		<category><![CDATA[tracker]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=452</guid>
		<description><![CDATA[Only 3 weeks left for GNOME.Asia, this year in the beautiful city of Hong Kong. According to the current schedule I&#8217;ll be giving two talks on Saturday June 9th: An introduction to Tracker, SPARQL and whatnot: Tracker is not (only) a search engine: it is a semantic data storage, powered by RDF ontologies, Nepomuk, and [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=452&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Only 3 weeks left for <a href="http://2012.gnome.asia/" title="GNOME.Asia" target="_blank">GNOME.Asia</a>, this year in the beautiful city of <strong>Hong Kong</strong>.</p>
<p><a href="http://2012.gnome.asia/"><img src="https://sigquit.files.wordpress.com/2012/05/gnome-asia.jpg?w=595" alt="" title="gnome-asia"   class="aligncenter size-full wp-image-455" /></a></p>
<p>According to the <a href="http://2012.gnome.asia/schedule" title="GNOME.Asia 2012 Schedule" target="_blank">current schedule</a> I&#8217;ll be giving two talks on Saturday June 9th:</p>
<ul>
<li>
<strong>An introduction to Tracker, SPARQL and whatnot</strong>:<br />
<a href="http://projects.gnome.org/tracker" title="Gnome Tracker" target="_blank">Tracker</a> is not (only) a search engine: it is a semantic data storage, powered by RDF ontologies, Nepomuk, and the SPARQL protocol. Tracker is one of the core building blocks of the MeeGo Harmattan operating system; and since release 2.30, it is also a blessed external dependency in GNOME. But it wasn’t until GNOME 3 and the first release of GNOME Documents that it started to get some really good attention&#8230; and there is more to come!
</li>
</ul>
<ul>
<li>
<strong>ModemManager revamped: now supporting LTE/4G modems</strong>:<br />
ModemManager, along with <a href="http://projects.gnome.org/NetworkManager/" title="NetworkManager" target="_blank">NetworkManager</a>, provides easy-to-use broadband modem connections in the GNOME desktop. With new requirements coming along with the new LTE (4G) communication standards, ModemManager got not only a face-lift, but also a deep surgery to improve its codebase and the way it supports vendor-specific plugins.</p>
<p>The new ModemManager comes with a new GDBus-powered interface; built-in support for LTE and mixed CDMA+LTE devices; dynamic interfaces and per-interface state machines; helper libmm-common and libmm-glib libraries; a handy “mmcli” command line interface utility; and a new plugin development strategy which is port-type agnostic and based on GIO async calls.</p>
<p>This talk is an introduction to ModemManager, with special focus on LTE and all the new details and features coming with the new codebase.
</li>
</ul>
<p>Thanks to my employer, <a href="http://www.lanedo.com" title="Lanedo Website" target="_blank">Lanedo GmbH</a>, for sponsoring my attendance!</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/planets/freedesktop-planet/'>FreeDesktop Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/meetings/'>Meetings</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/gnome-asia/'>gnome-asia</a>, <a href='http://sigquit.wordpress.com/tag/modemmanager/'>ModemManager</a>, <a href='http://sigquit.wordpress.com/tag/tracker/'>tracker</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/452/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=452&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2012/05/22/speaking-at-gnome-asia-2012-hong-kong/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>

		<media:content url="https://sigquit.files.wordpress.com/2012/05/gnome-asia.jpg" medium="image">
			<media:title type="html">gnome-asia</media:title>
		</media:content>
	</item>
		<item>
		<title>Enabling GPS location in ModemManager</title>
		<link>http://sigquit.wordpress.com/2012/03/29/enabling-gps-location-in-modemmanager/</link>
		<comments>http://sigquit.wordpress.com/2012/03/29/enabling-gps-location-in-modemmanager/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 09:33:40 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[Programs]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[location]]></category>
		<category><![CDATA[ModemManager]]></category>
		<category><![CDATA[NetworkManager]]></category>
		<category><![CDATA[option]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=431</guid>
		<description><![CDATA[Location information in ModemManager Since MM 0.5 at least, ModemManager comes with a Location interface which is defined to expose not only 3GPP-specific location information (operator MMC/MNC + Location area code + Cell ID), but also GPS-specific location information (cached NMEA traces and raw location information). In MM 0.7, this Location interface will actually work [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=431&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h4>Location information in ModemManager</h4>
<p>Since MM 0.5 at least, ModemManager comes with a Location interface which is defined to expose not only 3GPP-specific location information (operator MMC/MNC + Location area code + Cell ID), but also GPS-specific location information (cached NMEA traces and raw location information). <strong>In MM 0.7, this Location interface will actually work for GPS location, at least for Option modems with GPS capabilities.</strong></p>
<h4>The HSO plugin</h4>
<p>The High-Speed Option plugin is probably one of the most complex plugins being handled in ModemManager. In the new ModemManager 0.7 codebase, HSO modems (<code>MMBroadbandModemHso</code>) are implemented as a subclass of the standard Option modems (<code>MMBroadbandModemOption</code>), as they share lots of common features (allowed modes management, access technology and signal quality reporting&#8230;); but they also implement lots of connection related HSO-specific features (e.g. success of a connection establishment gets notified via unsolicited messages), which are most of them handled in a new HSO-specific bearer. Some of these advanced Option modems come with additional surprises: GPS-specific ports (AT port for control, raw serial port for NMEA traces).</p>
<p>The HSO modems provide detailed information about the type of each port being exposed in the USB interface; and so during the probing phase we are able to easily grab the GPS-control AT port and the additional serial port for NMEA traces (handled by a new MMGpsSerialPort port type). Once the HSO modem knows it has these two ports, it will allow to enable or disable any of the two GPS-specific location sources (NMEA or raw), or both at the same time. The NMEA location source will enable the modem to expose the last cached NMEA traces; while the raw location source will tell the modem to just expose generic location information such as time, latitude, longitude and altitude. In the case of the HSO modem (and possibly in every other case), both location sources are actually implemented based on the same NMEA traces received (raw information is parsed from <code>$GTGGA</code> traces). In addition to the core GPS location handling and the HSO-specific implementation, <strong>libmm-glib</strong> and <strong>mmcli</strong> where also improved to easily play with the new features.</p>
<h4>Trying the GPS location retrieval with your Option modem</h4>
<p>If you want to give a quick try to these capabilities, grab ModemManager git master, compile, install and plug in your modem. You first need to check whether the modem has GPS-specific location capabilities. Note that we&#8217;ll assume the modem is exposed as index 0; if you have more than one modem, just use <code>--list-modems</code> to check the proper modem index:<br />
<code><br />
$ mmcli -m 0 --location-status<br />
/org/freedesktop/ModemManager1/Modem/0<br />
&nbsp;&nbsp;----------------------------<br />
&nbsp;&nbsp;Location | capabilities: '3gpp-lac-ci, gps-raw, gps-nmea'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enabled: 'none'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signals: 'no'<br />
</code></p>
<p>The output says that the modem supports 3GPP Location area code/Cell ID, GPS raw and GPS-NMEA location sources. None is enabled yet, as we didn&#8217;t enable the modem, which we can do issuing:<br />
<code><br />
$ sudo mmcli -m 0 --enable<br />
successfully enabled the modem</p>
<p>$ mmcli -m 0 --location-status<br />
/org/freedesktop/ModemManager1/Modem/0<br />
&nbsp;&nbsp;----------------------------<br />
&nbsp;&nbsp;Location | capabilities: '3gpp-lac-ci, gps-raw, gps-nmea'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enabled: '3gpp-lac-ci'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signals: 'no'<br />
</code></p>
<p>The 3GPP location source will always be enabled by default if it is supported by the modem, while the GPS-specific ones will always be disabled by default. The reasoning behind this is that the 3GPP LAC/CI comes <em>for free</em> in C(G)REG notifications when C(G)REG=2 is supported, while the GPS location is usually an additional module in the modem, with high power consumption. Using mmcli, we can now enable both GPS raw and NMEA location sources:<br />
<code><br />
$ sudo mmcli -m 0 \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--location-enable-gps-raw \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--location-enable-gps-nmea<br />
successfully setup location gathering<br />
</code></p>
<p>If we do check again the status, we&#8217;ll see the GPS-specific locations are enabled:<br />
<code><br />
$ mmcli -m 0 --location-status<br />
/org/freedesktop/ModemManager1/Modem/0<br />
&nbsp;&nbsp;----------------------------<br />
&nbsp;&nbsp;Location | capabilities: '3gpp-lac-ci, gps-raw, gps-nmea'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enabled: '3gpp-lac-ci, gps-raw, gps-nmea'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signals: 'no'<br />
</code></p>
<p>Once they are enabled, ModemManager will start receiving NMEA traces in the GPS raw port, and will start to cache and process them. mmcli allows to show location-source-specific information with <code>--location-get-3gpp</code>, <code>--location-get-gps-nmea</code> and <code>--location-get-gps-raw</code>; but it also allows to query for all at the same time:<br />
<code><br />
$ sudo mmcli -m 0 --location-get<br />
/org/freedesktop/ModemManager1/Modem/0<br />
&nbsp;&nbsp;-------------------------<br />
&nbsp;&nbsp;3GPP location&nbsp;&nbsp;&nbsp;|&nbsp;Mobile country code: '214'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;Mobile network code: '3'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;Location area code: '21071'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cell ID: '7033737'<br />
&nbsp;&nbsp;-------------------------<br />
&nbsp;&nbsp;GPS NMEA traces | $GPGGA,,,,,,0,,,,,,,,*66<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| $GPRMC,,V,,,,,,,,,,N*53<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| $GPGSA,A,1,,,,,,,,,,,,,,,*1E<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| $GPGSV,4,1,16,24,,,,29,,,,05,,,,18,,,*7A<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| $GPGSV,4,2,16,22,,,,14,,,,11,,,,17,,,*7B<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| $GPGSV,4,3,16,03,,,,12,,,,30,,,,13,,,*78<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| $GPGSV,4,4,16,23,,,,15,,,,27,,,,07,,,*79<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| $GPVTG,,T,,M,,N,,K,N*2C<br />
&nbsp;&nbsp;-------------------------<br />
&nbsp;&nbsp;Raw GPS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| Not available<br />
</code></p>
<p>Note that ModemManager will expose only the last received NMEA traces of each kind, except for those (<code>$GPGSV</code> here) that are actually building a sequence.</p>
<p>Once the GPS module fixes a position, we&#8217;ll process the <code>$GPGGA</code> NMEA trace to get valid GPS location information:<br />
<code><br />
$ sudo mmcli -m 0 --location-get-gps-raw<br />
/org/freedesktop/ModemManager1/Modem/0<br />
&nbsp;&nbsp;-------------------------<br />
&nbsp;&nbsp;Raw GPS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;UTC time: '155142.2'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;Longitude: '-3.513941'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;Latitude: '40.502603'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;Altitude: '18.000000'<br />
</code></p>
<h4>What about other modems?</h4>
<p>Well, if the modem exposes GPS-specific ports in the same USB interface, it shouldn&#8217;t be difficult to add support for them, specially now that all the core/libmm-glib/mmcli work is already available.</p>
<p>A special case is when the modem exposes a single AT port via USB and the GPS port via RS232 (e.g. Sierra Wireless FXT009 with GPS extension). This case is a bit more tricky as there is no easy way for ModemManager to tell that the RS232 port is to be managed by the same modem object created after grabbing the AT port. In this case, the user may need to explicitly set some magic udev tags to let ModemManager handle the needed logic, but that also may get tricky if the user has more than one such modem plugged in (not sure for what, but anyway).</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/development/'>Development</a>, <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a>, <a href='http://sigquit.wordpress.com/category/programs/'>Programs</a> Tagged: <a href='http://sigquit.wordpress.com/tag/gps/'>gps</a>, <a href='http://sigquit.wordpress.com/tag/location/'>location</a>, <a href='http://sigquit.wordpress.com/tag/modemmanager/'>ModemManager</a>, <a href='http://sigquit.wordpress.com/tag/networkmanager/'>NetworkManager</a>, <a href='http://sigquit.wordpress.com/tag/option/'>option</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/431/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=431&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2012/03/29/enabling-gps-location-in-modemmanager/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>
	</item>
		<item>
		<title>Help wanted in ModemManager/NetworkManager development!</title>
		<link>http://sigquit.wordpress.com/2012/03/02/help-wanted-in-modemmanagernetworkmanager-development/</link>
		<comments>http://sigquit.wordpress.com/2012/03/02/help-wanted-in-modemmanagernetworkmanager-development/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 13:02:41 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[glib]]></category>
		<category><![CDATA[gobject]]></category>
		<category><![CDATA[ModemManager]]></category>
		<category><![CDATA[NetworkManager]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=417</guid>
		<description><![CDATA[If you have free time, and experience with gtk-doc documentation or man pages, ModemManager developers will thank you [1] if you help writing the new libmm-common, libmm-glib and mmcli documentation: [MM 0.6] Documentation If you have free time, basic GLib/GIO development knowledge, and a broadband modem (either USB dongle or internal) to play with, ModemManager [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=417&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>If you have free time, and <strong>experience with gtk-doc documentation or man pages</strong>, ModemManager developers will thank you [1] if you help writing the new libmm-common, libmm-glib and mmcli documentation:<br />
<a href="https://mail.gnome.org/archives/networkmanager-list/2012-March/msg00021.html" title="[MM 0.6] Documentation" target="_blank">[MM 0.6] Documentation</a></p>
<p>If you have free time, <strong>basic GLib/GIO development knowledge</strong>, and a broadband modem (either USB dongle or internal) to play with, ModemManager developers will thank you [2] if you port any of the missing plugins to the new codebase in the 06-api branch:<br />
<a href="https://mail.gnome.org/archives/networkmanager-list/2012-March/msg00022.html" title="[MM 0.6] Plugins" target="_blank">[MM 0.6] Plugins</a></p>
<p>If you have free time, <strong>NetworkManager installed</strong> [3] and basic GLib/GIO development knowledge,  ModemManager developers will thank you [4] if you help providing support for the new ModemManager1 interface in NetworkManager:<br />
<a href="https://mail.gnome.org/archives/networkmanager-list/2012-March/msg00023.html" title="[MM 0.6] NM integration" target="_blank">[MM 0.6] NM integration</a></p>
<p>[1] You&#8217;ll get one beer for free if we ever meet.<br />
[2] You&#8217;ll get two beers for free if we ever meet.<br />
[3] This already leaves out Jose, Luca and Alfred.<br />
[4] You&#8217;ll get three! beers for free if we ever meet.</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/development/'>Development</a>, <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/glib/'>glib</a>, <a href='http://sigquit.wordpress.com/tag/gobject/'>gobject</a>, <a href='http://sigquit.wordpress.com/tag/modemmanager/'>ModemManager</a>, <a href='http://sigquit.wordpress.com/tag/networkmanager/'>NetworkManager</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/417/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=417&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2012/03/02/help-wanted-in-modemmanagernetworkmanager-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>
	</item>
		<item>
		<title>FOSDEM talk slides online</title>
		<link>http://sigquit.wordpress.com/2012/02/08/fosdem-talk-slides-online/</link>
		<comments>http://sigquit.wordpress.com/2012/02/08/fosdem-talk-slides-online/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 11:28:07 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Meetings]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[FOSDEM]]></category>
		<category><![CDATA[LTE]]></category>
		<category><![CDATA[ModemManager]]></category>
		<category><![CDATA[slides]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=412</guid>
		<description><![CDATA[The slides of my talk about LTE and ModemManager in FOSDEM are now online at the Lanedo articles website: LTE is here and ModemManager is (almost) ready for it Filed under: GNU Planet, Lanedo Planet, Meetings, Planets Tagged: FOSDEM, LTE, ModemManager, slides<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=412&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The slides of <a href="http://fosdem.org/2012/schedule/event/lte_modemmanager" target="_blank">my talk about LTE and ModemManager in FOSDEM</a> are now online at the <a title="Lanedo articles" href="http://www.lanedo.com/articles.html" target="_blank">Lanedo articles</a> website:</p>
<ul>
<li><a href="http://www.lanedo.com/~aleksander/talks/FOSDEM2012%20-%20LTE%20and%20ModemManager.pdf" target="_blank">LTE is here and ModemManager is (almost) ready for it</a></li>
</ul>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/meetings/'>Meetings</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/fosdem/'>FOSDEM</a>, <a href='http://sigquit.wordpress.com/tag/lte/'>LTE</a>, <a href='http://sigquit.wordpress.com/tag/modemmanager/'>ModemManager</a>, <a href='http://sigquit.wordpress.com/tag/slides/'>slides</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/412/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=412&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2012/02/08/fosdem-talk-slides-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>
	</item>
		<item>
		<title>FOSDEM 2012</title>
		<link>http://sigquit.wordpress.com/2012/01/30/fosdem-2012/</link>
		<comments>http://sigquit.wordpress.com/2012/01/30/fosdem-2012/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 20:54:07 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Meetings]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[FOSDEM]]></category>
		<category><![CDATA[LTE]]></category>
		<category><![CDATA[ModemManager]]></category>
		<category><![CDATA[NetworkManager]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=407</guid>
		<description><![CDATA[Only some days left for FOSDEM 2012; which this [1] year is organized in Brussels (Belgium). For anyone interested, I&#8217;ll be giving a talk about LTE and ModemManager in the Telephony devroom (room H.2213), in the best time slot possible: Sunday 5th at 09:00 am. If you wake up that early just to attend the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=407&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Only some days left for <a href="http://fosdem.org/2012" target="_blank">FOSDEM 2012</a>; which this [1] year is organized in Brussels (Belgium).</p>
<p>For anyone interested, I&#8217;ll be giving a talk about <a href="http://fosdem.org/2012/schedule/event/lte_modemmanager" target="_blank">LTE and ModemManager</a> in the Telephony devroom (room H.2213), in the best time slot possible: Sunday 5th at 09:00 am. If you wake up that early just to attend the talk, you&#8217;ll get cookies for free!! [2].</p>
<p>Some GNU hackers will also attend the conference, but this year there won&#8217;t be a GNU devroom. If you want to suggest a place for dinner on Friday or Saturday, please do so in the <a href="http://lists.gnu.org/archive/html/ghm-discuss/2012-01/msg00002.html" target="_blank">ghm-discuss mailing list</a>.</p>
<p>Cheers and see you there!</p>
<p><a href="http://www.fosdem.org"><img src="http://www.fosdem.org/promo/going-to" alt="I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting" /></a></p>
<p>[1] (and every)<br />
[2] no, this is not true</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/meetings/'>Meetings</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/fosdem/'>FOSDEM</a>, <a href='http://sigquit.wordpress.com/tag/lte/'>LTE</a>, <a href='http://sigquit.wordpress.com/tag/modemmanager/'>ModemManager</a>, <a href='http://sigquit.wordpress.com/tag/networkmanager/'>NetworkManager</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/407/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/407/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=407&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2012/01/30/fosdem-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>

		<media:content url="http://www.fosdem.org/promo/going-to" medium="image">
			<media:title type="html">I&#039;m going to FOSDEM, the Free and Open Source Software Developers&#039; European Meeting</media:title>
		</media:content>
	</item>
		<item>
		<title>FSCONS 2011 and GNU get-together</title>
		<link>http://sigquit.wordpress.com/2011/11/04/fscons-2011-and-gnu-get-together/</link>
		<comments>http://sigquit.wordpress.com/2011/11/04/fscons-2011-and-gnu-get-together/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 13:08:30 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Meetings]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[fscons]]></category>
		<category><![CDATA[ghm]]></category>
		<category><![CDATA[gnu]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=402</guid>
		<description><![CDATA[I&#8217;ll be attending FSCONS 2011 in Göteborg (Sweden) next week (11/11/11), which also holds a GNU get-together, with lots of usual suspects. Carlos Garnacho, another Lanedian, will be giving a talk about Theming GTK+ applications with CSS, which you shouldn&#8217;t miss. So, if you are interested in developing custom GTK+, LibreOffice, NetworkManager, ModemManager or Tracker [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=402&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ll be attending <a href="http://fscons.org/" title="FSCONS website" target="_blank"><strong>FSCONS 2011</strong></a> in Göteborg (Sweden) next week (11/11/11), which also holds a <a href="http://www.gnu.org/ghm/2011/fscons/GHM.html" title="GNU get-together" target="_blank">GNU get-together</a>, with lots of usual suspects.</p>
<p><a href="http://blogs.gnome.org/carlosg" target="_blank">Carlos Garnacho</a>, another Lanedian, will be giving a talk about <a href="http://my.fscons.org/schedule/session/67" target="_blank">Theming GTK+ applications with CSS</a>, which you shouldn&#8217;t miss.</p>
<p>So, if you are interested in developing custom <a href="http://www.gtk.org" target="_blank">GTK+</a>, <a href="http://www.libreoffice.org" target="_blank">LibreOffice</a>, <a href="http://projects.gnome.org/NetworkManager" target="_blank">NetworkManager, ModemManager</a> or <a href="http://projects.gnome.org/tracker" target="_blank">Tracker</a> features; or any <a href="http://www.lanedo.com/services.html" target="_blank">other services</a> provided by <a href="http://www.lanedo.com/" target="_blank"><strong>Lanedo GmbH</strong></a>, just email me and we&#8217;ll be able to talk in Göteborg.</p>
<p>See you there!</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/meetings/'>Meetings</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/fscons/'>fscons</a>, <a href='http://sigquit.wordpress.com/tag/ghm/'>ghm</a>, <a href='http://sigquit.wordpress.com/tag/gnu/'>gnu</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/402/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/402/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=402&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2011/11/04/fscons-2011-and-gnu-get-together/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>
	</item>
		<item>
		<title>Unaccenting words, or at least trying to&#8230;</title>
		<link>http://sigquit.wordpress.com/2011/07/21/unaccenting-words-or-at-least-trying-to/</link>
		<comments>http://sigquit.wordpress.com/2011/07/21/unaccenting-words-or-at-least-trying-to/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 14:57:50 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[diacritics]]></category>
		<category><![CDATA[normalization]]></category>
		<category><![CDATA[tracker]]></category>
		<category><![CDATA[unaccenting]]></category>
		<category><![CDATA[unicode]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=376</guid>
		<description><![CDATA[So today I found that Tracker in MeeGo packaging was still depending on libunac, while it shouldn&#8217;t. And that has reminded me that I had a blog post still unfinished about why and how we removed the libunac dependency in Tracker&#8230; so here it goes One of the features supported in Tracker is doing FTS [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=376&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>So today I found that Tracker in MeeGo packaging was still depending on libunac, while it shouldn&#8217;t. And that has reminded me that I had a blog post still unfinished about why and how we removed the libunac dependency in Tracker&#8230; so here it goes <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>One of the features supported in <a href="http://projects.gnome.org/tracker" target="_blank">Tracker</a> is doing <a href="https://live.gnome.org/Tracker/Documentation/Examples/SPARQL/FTS" target="_blank">FTS</a> searches for words without considering &#8216;accents&#8217;. Of course, we&#8217;re not talking about accent as in the <a href="http://en.wikipedia.org/wiki/Accent_%28linguistics%29" target="_blank">specific pronunciation of words</a> relative to a location or nation. Our &#8216;unaccenting&#8217; mechanism, as we call it, refers to the process of removing combining <a href="http://en.wikipedia.org/wiki/Diacritic" target="_blank">diacritical</a> marks from characters, so that users can look for words with or without these marks. Therefore, this &#8216;unaccenting&#8217; applies not only to diacritics in Latin alphabets, but also to other alphabets like Arabic, Greek, Hebrew or Korean which also have special combining diacritical marks.</p>
<p>In the previous 0.8 stable series of Tracker, the unaccenting mechanism was completely done by the <a href="http://www.nongnu.org/unac/unac-man3.en.html" target="_blank">&#8216;unac&#8217; library</a>. We were not really convinced that unac was a good option in our case, as it involved extra conversions from UTF-8 to UTF-16 and back, and measurements showed that it was one of the most time consuming steps during FTS parsing. In order to improve the situation, and as we already did ourselves some Unicode normalization work before passing the work to unac, we ended up writing <a href="https://mail.gnome.org/archives/commits-list/2010-June/msg04595.html" target="_blank">our own unaccenting mechanism in Tracker</a> for 0.10.</p>
<p>The method is applied to all our three Unicode-support backends (GNU libunistring, ICU and GLib), and roughly involves just two steps:</p>
<ul>
<li>Apply a compatibility decomposition to the word (<a href="http://unicode.org/reports/tr15" target="_blank">NFKD normalization</a>).</li>
<li>Remove all combining diacritical marks, this is, all Unicode points within the following ranges:
<ul>
<li>Basic range: [U+0300,U+036F]</li>
<li>Supplement: [U+1DC0,U+1DFF]</li>
<li>For Symbols: [U+20D0,U+20FF]</li>
<li>Half marks: [U+FE20,U+FE2F]</li>
</ul>
</li>
</ul>
<p>Instead of NFKD, NFD decomposition can also be used in the method, but as the main purpose of the unaccenting is a Full Text Search in Tracker, compatibility of Unicode points is also a desired feature which we could get in the same step.</p>
<p>Looking at an example may explain it easier. Consider the French word &#8220;école&#8221;, which has a diacritic on top of the first &#8216;e&#8217; character. This accented &#8216;e&#8217; character can be encoded in UTF-8 in either a composed or decomposed way:</p>
<ul>
<li>(NFC, composed) <strong>[0xC3 0xA9]</strong> 0&#215;63 0x6F 0x6C 0&#215;65</li>
<li>(NFD, decomposed) <strong>0&#215;65 [0xCC 0x81]</strong> 0&#215;63 0x6F 0x6C 0&#215;65</li>
</ul>
<p>The UTF-8 encoding of the composed way (NFC or NFKC) will (probably) always need less bytes than the decomposed (NFD or NFKD) counterpart. This is because the accented &#8216;e&#8217; character will be represented in composed way as a single Unicode point: <strong>&#8216;é&#8217; U+00E9</strong> (UTF-8: [0xC3 0xA9]). In the decomposed way, the same accented &#8216;e&#8217; character is represented as a base character <strong>&#8216;e&#8217; U+0065</strong> (UTF-8: 0&#215;65) plus a combining mark <strong>&#8216; ́ &#8216; U+0301</strong> (UTF-8: [0xCC 0x81]).</p>
<p>For either of the previous two representations of &#8216;école&#8217;, the removal of combining diacritical marks is as we have already described:</p>
<ul>
<li>First, get the word NFKD-normalized (or NFD if point compatibility is not needed):
<ul>
<li>(NFC) <span style="color:#ff0000;">[0xC3 0xA9]</span> 0&#215;63 0x6F 0x6C 0&#215;65 &#8212;&gt; <br />
(NFKD) <span style="color:#0000ff;">0&#215;65 [0xCC 0x81]</span> 0&#215;63 0x6F 0x6C 0&#215;65</li>
<li>(NFD) <span style="color:#ff0000;">0&#215;65 [0xCC 0x81]</span> 0&#215;63 0x6F 0x6C 0&#215;65 &#8212;&gt; <br />
(NFKD) <span style="color:#0000ff;">0&#215;65 [0xCC 0x81]</span> 0&#215;63 0x6F 0x6C 0&#215;65</li>
</ul>
</li>
<li>Once we have the word decomposed, we can now just walk each unicode point found in the string, and remove those which end up falling into one of the ranges applicable to diacritics. In this case, only the accent on top of the &#8216;e&#8217; character is found and removed: U+0301 (UTF-8: [0xCC 0x81]):
<ul>
<li>(NFKD) 0&#215;65 <span style="color:#ff0000;">[0xCC 0x81]</span> 0&#215;63 0x6F 0x6C 0&#215;65 &#8212;&gt; <br />
            (unaccented) <span style="color:#0000ff;">0&#215;65 0&#215;63 0x6F 0x6C 0&#215;65</span></li>
</ul>
</li>
</ul>
<p>This new method not only worked perfectly in all the test cases we could think of, it was even <a href="https://mail.gnome.org/archives/tracker-list/2010-May/msg00165.html" target="_blank">much faster than using the unac library</a> (up to 73% faster in the best case, and same speed in more complex cases).</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/development/'>Development</a>, <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/diacritics/'>diacritics</a>, <a href='http://sigquit.wordpress.com/tag/normalization/'>normalization</a>, <a href='http://sigquit.wordpress.com/tag/tracker/'>tracker</a>, <a href='http://sigquit.wordpress.com/tag/unaccenting/'>unaccenting</a>, <a href='http://sigquit.wordpress.com/tag/unicode/'>unicode</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/376/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=376&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2011/07/21/unaccenting-words-or-at-least-trying-to/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>
	</item>
		<item>
		<title>ModemManager, now with Iridium satellite network support</title>
		<link>http://sigquit.wordpress.com/2011/07/14/modemmanager-now-with-iridium-satellite-network-support/</link>
		<comments>http://sigquit.wordpress.com/2011/07/14/modemmanager-now-with-iridium-satellite-network-support/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 11:01:47 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[iridium]]></category>
		<category><![CDATA[ModemManager]]></category>
		<category><![CDATA[network config]]></category>
		<category><![CDATA[NetworkManager]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=370</guid>
		<description><![CDATA[ModemManager and the Iridium satellite network I recently sent a new &#8216;iridium&#8217; plugin for review upstream, this time for Iridium modems. The plugin was developed using a Iridium 9522B Satellite Transceiver modem connected through RS232, properly handled by ModemManager&#8217;s plugin system thanks to the extended RS232 support available in git master. The &#8216;iridium&#8217; plugin handles [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=370&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><strong>ModemManager and the Iridium satellite network</strong></p>
<p>I recently sent a <a href="https://mail.gnome.org/archives/networkmanager-list/2011-June/msg00158.html" target="_blank"><strong>new &#8216;iridium&#8217; plugin</strong></a> for review upstream, this time for Iridium modems. The plugin was developed using a Iridium 9522B Satellite Transceiver modem connected through RS232, properly handled by ModemManager&#8217;s plugin system thanks to the extended RS232 support available in git master. The &#8216;iridium&#8217; plugin handles these modems as any other GSM modem, even if it has nothing to do with GSM technologies.</p>
<p>Iridium is a constellation of 66 active (plus spares) LEO satellites orbiting at an altitude of 781 km, which gives phone and network coverage to every point in Earth. It was initially thought to be a constellation of 77 satellites, therefore named &#8216;Iridium&#8217; after <a href="http://en.wikipedia.org/wiki/Iridium" target="_blank">the chemical element with atomic number 77</a>. The name didn&#8217;t change to &#8216;<a href="http://en.wikipedia.org/wiki/Dysprosium" target="_blank">Dysprosium</a>&#8216; when it was redesigned to maintain only 66 active satellites, no wonder why.</p>
<p>Even if the Iridium modems expose a GSM-modem like AT command set, several special things needed to be considered. For example, IP address setup via PPP needed more than the 20s hardcoded in NetworkManager, due to the extreme latency of the satellite network. Therefore, <a href="https://gitorious.org/lanedo/networkmanager/commit/4e2d10816d0cfbbbebd3502718664e1116385dae" target="_blank">NM was also updated</a> to allow ModemManager plugins to specify a specific &#8216;IpTimeout&#8217; value.</p>
<p>See <a href="https://mail.gnome.org/archives/networkmanager-list/2011-June/msg00158.html" target="_blank">my email to the NM mailing list</a> for further information on how to use ModemManager with Iridium support.</p>
<p><strong>Ammonit Measurement GmbH sponsoring some hardware for ModemManager development</strong></p>
<p>In <a href="http://www.lanedo.com/networkmanager.html" target="_blank"><strong>Lanedo</strong></a> we have worked with <a href="http://www.ammonit.com" target="_blank"><strong>Ammonit Measurement GmbH</strong></a> to help them with the improvement of ModemManager to handle Wavecom, Cinterion and Iridium modems. The guys at Ammonit were kind enough to sponsor some modems, so that I can spend my free time in developing and improving ModemManager, as well as in testing the modems before stable releases (<a href="http://blogs.gnome.org/dcbw" target="_blank">Dan</a> will probably be happy for that):</p>
<ul>
<li>Sierra Wireless Fastrack Xtend FXT009 (GPRS modem, USB, handled by the &#8216;wavecom&#8217; plugin)</li>
<li>Cinterion TC63i (GPRS modem, RS232, handled by the &#8216;cinterion&#8217; plugin)</li>
</ul>
<p>So, thanks Ammonit!</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/development/'>Development</a>, <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/gnulinux/'>gnu/linux</a>, <a href='http://sigquit.wordpress.com/tag/iridium/'>iridium</a>, <a href='http://sigquit.wordpress.com/tag/modemmanager/'>ModemManager</a>, <a href='http://sigquit.wordpress.com/tag/network-config/'>network config</a>, <a href='http://sigquit.wordpress.com/tag/networkmanager/'>NetworkManager</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/370/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=370&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2011/07/14/modemmanager-now-with-iridium-satellite-network-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>
	</item>
		<item>
		<title>GNU PDF, MeeGo conference in San Francisco, new Cinterion plugin for ModemManager&#8230;</title>
		<link>http://sigquit.wordpress.com/2011/06/02/gnu-pdf-meego-conference-in-san-francisco-new-cinterion-plugin-for-modemmanager/</link>
		<comments>http://sigquit.wordpress.com/2011/06/02/gnu-pdf-meego-conference-in-san-francisco-new-cinterion-plugin-for-modemmanager/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 14:09:55 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Meetings]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[gnu pdf]]></category>
		<category><![CDATA[MeeGo]]></category>
		<category><![CDATA[ModemManager]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=360</guid>
		<description><![CDATA[So, May has ended up being a very very busy month. GNU PDF After more than 2 months and tons of hours spent in trying not to break the thing (and fixing it when I did break it), I finally finished refactoring the API of the Streams module in GNU PDF in order to use [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=360&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>So, May has ended up being a very very busy month.</p>
<p><strong>GNU PDF</strong><br />
After more than 2 months and tons of hours spent in trying not to break the thing (and fixing it when I did break it), I finally finished refactoring the API of the Streams module in GNU PDF in order to use the new error reporting methods. <a href="http://www.jemarch.net">Jose</a> is still reviewing the branch with the changes, so meanwhile I started refactoring the API of the Filesystem module. The Filesystem module is supposed to be just a small layer of abstraction on top of different filesystem backends, but not even the disk backend is fully implemented yet, with some basic pieces still missing. So as part of the API rework, I&#8217;ll try to include all missing bits in both the disk and http filesystem backends. Luckily, we got quite a lot of new people coming around the mailing list and providing <a href="http://lists.gnu.org/archive/html/pdf-devel/2011-04/msg00010.html">patches</a> and <a href="http://lists.gnu.org/archive/html/pdf-devel/2011-04/msg00013.html">useful comments</a> for these tasks, so it should be just a matter of time.</p>
<p><strong>ModemManager</strong><br />
Another month hacking ModemManager, working on <a href="https://mail.gnome.org/archives/networkmanager-list/2011-May/msg00127.html">a new Cinterion plugin</a>. After several changes in the generic code base of the daemon, plugins can now also implement specific features for RS232 modems. The new Cinterion plugin is not available in git master yet, so if you want to give it a try with Cinterion/Siemens USB or RS232 modems, get the following git repo: <a href="https://gitorious.org/lanedo/modemmanager">git://gitorious.org/lanedo/modemmanager.git</a> and checkout the &#8216;plugin-cinterion&#8217; branch from there.</p>
<p><strong>MeeGo Conference 2011</strong><br />
<a href="http://www.lanedo.com">Lanedo GmbH</a> was one of the sponsors of the <a href="http://sf2011.meego.com">MeeGo Conference 2011 in San Francisco</a>, so I had the opportunity to visit the US(of)A again. And I was not the only Spanish guy around: <a href="http://luisbg.blogalia.com/">Luis de Bethencourt</a> (Collabora), <a href="http://blogs.igalia.com/itoral/">Iago del Toral</a> (Igalia) and <a href="http://flors.wordpress.com/">Quim Gil</a> (Nokia) where also in the conference. With Nokia focusing on &#8220;that Harmattan thing&#8221; as some call it, Intel seems to be the one pushing MeeGo forward (even if not <a href="http://lists.meego.com/pipermail/meego-dev/2011-March/481890.html">all decisions taken</a> are shared by everyone). It is nice to see that the world didn&#8217;t end neither on February 11th (<a href="http://bethesignal.org/wp-content/uploads/2011/02/steve-ballmer.jpg">Elopocalypse</a>) nor on May 21st (The Judgment Day, which now seems <a href="http://judgementday2011.com">postponed until October</a>) <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Oh, I also turned 30 this past month&#8230; I keep on trying to forget it.</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/development/'>Development</a>, <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/meetings/'>Meetings</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/gnu-pdf/'>gnu pdf</a>, <a href='http://sigquit.wordpress.com/tag/meego/'>MeeGo</a>, <a href='http://sigquit.wordpress.com/tag/modemmanager/'>ModemManager</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/360/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=360&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2011/06/02/gnu-pdf-meego-conference-in-san-francisco-new-cinterion-plugin-for-modemmanager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>
	</item>
		<item>
		<title>ModemManager is fun</title>
		<link>http://sigquit.wordpress.com/2011/05/05/modemmanager-is-fun/</link>
		<comments>http://sigquit.wordpress.com/2011/05/05/modemmanager-is-fun/#comments</comments>
		<pubDate>Thu, 05 May 2011 15:56:39 +0000</pubDate>
		<dc:creator>aleksander</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[GNU Planet]]></category>
		<category><![CDATA[Lanedo Planet]]></category>
		<category><![CDATA[Planets]]></category>
		<category><![CDATA[freedesktop]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[ModemManager]]></category>
		<category><![CDATA[NetworkManager]]></category>
		<category><![CDATA[sierra-wireless]]></category>
		<category><![CDATA[wavecom]]></category>

		<guid isPermaLink="false">http://sigquit.wordpress.com/?p=355</guid>
		<description><![CDATA[These last weeks I&#8217;ve been out of my usual Tracker work, and have been hacking on NetworkManager/ModemManager so that they can work properly with Sierra Wireless Airlink Fastrack Xtend modems. Ended up writing a new wavecom plugin for this purpose (Wavecom was bought by Sierra Wireless in 2009), which Dan already merged in the master [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=355&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>These last weeks I&#8217;ve been out of my usual <a href="http://www.tracker-project.org" title="Tracker" target="_blank">Tracker</a> work, and have been hacking on <a href="http://projects.gnome.org/NetworkManager" title="NetworkManager website" target="_blank"><strong>NetworkManager/ModemManager</strong></a> so that they can work properly with <a href="http://www.sierrawireless.com/productsandservices/AirLink/Programmable_Modems/Fastrack_Xtend_EDGE.aspx" target="_blank">Sierra Wireless Airlink Fastrack Xtend</a> modems.</p>
<p>Ended up writing a new <strong><em>wavecom</em></strong> plugin for this purpose (<a href="http://en.wikipedia.org/wiki/Wavecom" target="_blank">Wavecom</a> was bought by Sierra Wireless in 2009), which <a href="http://blogs.gnome.org/dcbw" target="_blank">Dan</a> already <a href="http://cgit.freedesktop.org/ModemManager/ModemManager/commit/?id=5dadfa4c214be79e704eb61c135893f93a705d3a" target="_blank">merged in the master branch of ModemManager</a>.</p>
<p>The changes in the new <em>wavecom</em> plugin with respect to the generic GSM plugin are:</p>
<ol>
<li><strong>AT+CPIN?</strong> 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).</li>
<li>Disabled default power-up comand, <strong>AT+CFUN=1</strong>. 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.</li>
<li>Enabled <strong>RTS/CTS</strong> instead of XOFF/XON flow control.</li>
<li>Implemented access technology retrieval using <strong>AT+WGPRS=9,2</strong> to query network capabilities</li>
<li>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:
<ul>
<li>Class A  (3G only mode)</li>
<li>Class B  (PS or CS, GPRS/EDGE or GSM)</li>
<li>Class CG (PS only, GPRS/EDGE)</li>
<li>Class CC (CS only, GSM)</li>
</ul>
</li>
<li>Implemented setting and getting allowed mode, for both 2G and 3G based modems (using <strong>AT+WWSM</strong> command in the 3G case).</li>
<li>Implemented setting and getting frequency bands for 2G modems (with <strong>AT+WMBS</strong>) and 3G modems (with <strong>AT+WUBS</strong>).</li>
</ol>
<p>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 (<strong>CMUX</strong>), but ModemManager doesn&#8217;t handle this yet.</p>
<p>If anyone has one of this Wavecom/SierraWireless modems at home, please test it with latest ModemManager and report any errors found.</p>
<br />Filed under: <a href='http://sigquit.wordpress.com/category/development/'>Development</a>, <a href='http://sigquit.wordpress.com/category/planets/gnu-planet/'>GNU Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/lanedo-planet/'>Lanedo Planet</a>, <a href='http://sigquit.wordpress.com/category/planets/'>Planets</a> Tagged: <a href='http://sigquit.wordpress.com/tag/freedesktop/'>freedesktop</a>, <a href='http://sigquit.wordpress.com/tag/gnome/'>gnome</a>, <a href='http://sigquit.wordpress.com/tag/modemmanager/'>ModemManager</a>, <a href='http://sigquit.wordpress.com/tag/networkmanager/'>NetworkManager</a>, <a href='http://sigquit.wordpress.com/tag/sierra-wireless/'>sierra-wireless</a>, <a href='http://sigquit.wordpress.com/tag/wavecom/'>wavecom</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sigquit.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sigquit.wordpress.com/355/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sigquit.wordpress.com&#038;blog=4751666&#038;post=355&#038;subd=sigquit&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sigquit.wordpress.com/2011/05/05/modemmanager-is-fun/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/56af7e00abf1e9a285f7149bf4d5bd52?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">drehbahn</media:title>
		</media:content>
	</item>
	</channel>
</rss>
