It's been way too long since our eight update. A lot of things happened and we're still making steady progress.

We've seen more and more people join the IRC channel, get a device to develop on, and slowly help porting / adding new applications, so that's exciting!

The N900 Alpha milestone status is looking quite good, with a couple of (relatively minor) changes remaining, the most prominent being completion of the virtual keyboard package , we need to add monitoring of the keyboard slide status. This should be a day of work at most. The other meaningful (non bug fix) addition will be welcome application, as pioneered by Pavel .

The last couple of months has been dominated by work on cellular support and the upcoming PinePhone and PineTablet devices. The Pine64 project plans to start shipping the PinePhone a couple months from now, and we hope to have a usable-enough image so that the PinePhone can ship with the option of having Maemo Leste installed. This might also explain the focus on the modem/cellular work, which this article will discuss in greater detail later on.

Software additions & Connectivity

In the connectivity domain there's been a couple of things going on, connui-cellular was ready to be ported to ofono, the daemon that interfaces with the modem. Freemangordon started working on libicd-network-ofono , the icd2 plugin that will allow for setting up GPRS/UMTS/LTE data connections, and Freemangordon and Wizzup have been working on porting connui-common and connui-cellular to ofono. While porting, effort is been made to support multiple modems and dual sim setups. Maemo supported neither, so it will require some architectural changes down the line.

The tracking issue for 3G data support can be found seen here: https://github.com/maemo-leste/bugtracker/issues/76

connui-cellular connui-cellular is a big package that contains a lot: Shared code (library) to interface with the various cellular daemons Control panel (Settings) applet to: Set up call forwarding

Set up / change what radio technologies should be used (2G, 3G, etc)

Set up roaming options

Change, set or reset pin code for the sim card Hildon-home applet to show the operator name on the desktop Hildon status bar applet to show the signal strength, radio access technology, sim card status and more. Dialogs to enter pin codes for a sim card Roaming related dialogs. So this is a very important package to have (fully) working. Porting it to ofono requires replacing a ton of functions, mostly in the shared code. An effort is being made on the ofono-port branch. There are two tickets open to track this progress in (they should probably be merged): https://github.com/maemo-leste/bugtracker/issues/195

https://github.com/maemo-leste/bugtracker/issues/256 While it's still work in progress, the operator name widget and the status bar applet is already mostly functional, as can be seen on this Nokia N900, being connected to the Dutch operator KPN , over 3G. Maemo did not support 4G/LTE at all, so we also added that, as can be seen in this virtual machine using a modem via usb-passthrough: (Thanks to sicelo for creating the logo - and before you ask, yes, we're going to switch from 4G to LTE as a logo text) The following pages on the wiki contain some more information (although some of it may surely be outdated): https://leste.maemo.org/Status/Mobile_Data https://leste.maemo.org/Status/Mobile_Data/Dev

libicd-network-ofono As mentioned, work has started on libicd-network-ofono, the icd2 plugin that will allow setting up a data connection. Currently the plugin will find modems, and provision them. The connection will then show up in the usual connection dialog: And if you select it, it will power up the modem, but not yet connect you to a data network: There's more work to be done in this area - and help is appreciated: https://github.com/maemo-leste/libicd-network-ofono

connui-common connui-common contains (as the name suggests) common code shared within the connui stack. It has also seen porting to libgofono. Recently in an effort to migrate all our packages to the upcoming Devuan release, we upgraded the build system, but as a result, dialogs were being installed into an architecture specific path, which is the way it's supposed to be, but this resulted in certain dialog plugins not being loaded at all. Ultimately, it meant that you could no longer get any wireless connection dialog when you updated your system. The bug had apparently existed for a while, but it has now been fixed, for more details see bug #251.

mode control entity For a few months, changing the brightness no longer worked from the settings applet, this was due to the fact that there were several user dbus-daemon instances running, and applications were not able to chat with each other. This has now been fixed.

welcome application We'll soon have a welcome application of some sorts, as documented in issue #229, to allow resizing of the rootfs, changing default passwords, and so on. And ... unlike most of the core Maemo software, this is written in Python, using pygtk.

alarmd Maemo has a package called alarmd , which is used to set and manage alarms. The phone can wake itself even when it's completely powered off to alarm the user. alarmd and alarmclient are already built and can be installed to Maemo Leste, and a sample alarm run will look like this: alarmclient -b label=Snooze,flags=TYPE_SNOOZE+WHEN_RESPONDED \ -b label=Stop,flags=WHEN_RESPONDED, \ -n title='Two Button Alarm',message='Hello there', alarm_time=5

Audio Currently, audio mostly just works on the devices that we support (Nokia N900, Motorola Droid 4, Pinephone devkit, Allwinner tablets...). However, for a phone to be particular usable we'll need to deal with audio policies sooner or later. That is: if you plug in a headphone, you expect the output of programs to go to the headphone jack. And if you don't have a headphone jack plugged in, you expect audio to go over the speakers. Unless you're being called, in which case you probably initially want the audio to go over the earpiece. Maemo's audio policies and routing were relatively complex and involved multiple pieces of software, some which are not open source. That said, we do currently have opened up one of these packages, thanks to the hard work done by spinal84 : https://github.com/spinal84/alsa-policy-enforcement

Games Maemo Fremantle has lots of fun games packaged, lots of emulators too. Now that graphics acceleration on the Nokia N900 works quite well, and acceleration on most Mali devices will work quite well, we're starting to package some of the Maemo game frameworks and games. Keep in mind that a lot of games are already available from the Debian repositories, and many of them will just work. If there's a specific game/app you'd like to see ported, feel free to add it to this list on the wiki: https://leste.maemo.org/Status/Games The relevant issues are #18 and #238. Here are some screenshots showing off the work done so far for Mahjong and Marbles:

SMS & Calls As part of the connui work, we also tried to make telepathy (the GNOME messaging backend/daemon) work with ofono. After installing telepathy-ring , which was already packaged in Debian (!) and adding a tel account through Empathy per these instructions , we were able to send and receive SMS texts. It was surprisingly easy. This should work on the Nokia N900, Motorola Droid 4 and Pinephone too. The UI is not particularly usable yet (it won't show you a new window if you get a text from a new/unknown number, and it uses gtk3, we need to add our gtk3 port), but it's a great start! One caveat is that the Debian version also trails upstream quite a bit: https://git.merproject.org/mer-core/telepathy-ring - so we'll probably have to package our own version eventually. This should theoretically also work for calls, but the SIM card that was used in this test doesn't allow for calls. Here's a screenshot of the UI in action, sending a SMS to a Maemo Fremantle device from Maemo Leste, and the receiving a response from the Maemo Fremantle device: