Canonical Voices

Posts tagged with 'devices'

Timo Jyrinki

If you're running an Android device with GNU userland Linux in a chroot and need a full network access over USB cable (so that you can use your laptop/desktop machine's network connection from the device), here's a quick primer on how it can be set up.

When doing Openmoko hacking, one always first plugged in the USB cable and forwarded network, or like I did later forwarded network over Bluetooth. It was mostly because the WiFi was quite unstable with many of the kernels.

I recently found out myself using a chroot on a Nexus 4 without working WiFi, so instead of my usual WiFi usage I needed network over USB... trivial, of course, except that there's Android on the way and I'm a Android newbie. Thanks to ZDmitry on Freenode, I got the bits for the Android part so I got it working.

On device, have eg. data/usb.sh with the following contents.

#!/system/xbin/sh
CHROOT="/data/chroot"

ip addr add 192.168.137.2/30 dev usb0
ip link set usb0 up
ip route delete default
ip route add default via 192.168.137.1;
setprop net.dns1 8.8.8.8
echo 'nameserver 8.8.8.8' >> $CHROOT/run/resolvconf/resolv.conf
On the host, execute the following:
adb shell setprop sys.usb.config rndis,adb
adb shell data/usb.sh
sudo ifconfig usb0 192.168.137.1
sudo iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.137.0/24
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo iptables -P FORWARD ACCEPT
This works at least with Ubuntu saucy chroot. The main difference in some other distro might be whether the resolv.conf has moved to /run or not. You should be now all set up to browse / apt-get stuff from the device again.

Update: Clarified that this is to forward the desktop/laptop's network connection to the device so that network is accessible from the device over USB.

Read more
Timo Jyrinki

I'd like to modify my discussion comment and earlier thoughts into a short blog post touching only some of the technical concerns voiced, and my opinion to those.

Claim (my version): Ubuntu/Canonical is going the "Google route" to become another Android, while Android has not benefited the Linux ecosystem in any way, forking everything

Firstly, Ubuntu is open to development and community for also mobile and tablet - Android has none of that, just code drops that get modded. (yes, some people have a problem with CLA like Canonical's or Qt's, I have no problem with those - let's keep that discussion elsewhere). Ubuntu contributes back to Debian and upstream projects like Qt - those upstream projects it's not upstream of itself. There are not too many free software mobile UIs for example. SHR has some E17 apps, Nemo Mobile a handful of Qt apps and so on.

Secondly, I disagree about Android - even in its current shape and after creating everything from scratch with mobile on mind, Android has done tremendous things for the free software community, kernel development, mobile device driver and making things like Replicant possible. If those aren't directly seen on the desktop side, that's because it's not the desktop and most free software desktop users don't use free software mobile products (usually at most a vendor provided Android).

I feel people get too attached to software projects or even the desktop in general. The money to pay desktop has traditionally largely come from the server. As a discussion-heating example Wayland has been a great promise for 5 years and continues to be, yet no products use it (software products like distributions or hardware+software products). That's not a problem per se for a great and ambitious project, but it means no interested party has taken it to create products. I was very excited about Gallium3D and Wayland in 2008, but somewhat optimistic in believing they would conquer the world in one or two years. In perspective, I've always seen the "version staring" a common habit in enthusiasts me included. I think it extents to "shiny development projects that should be taken into production use immediately".

The Nokia N9 triumphs all other 2011 mobile phones in general and even the current user interfaces like iOS, Android and Windows Phone in general usability ideas (if only it'd run Cortex-A15 instead of OMAP3..). It uses X.org and Qt 4.7. Jolla's plans for their first phone at the end of this year? Qt 4.8, no Wayland. Like N9 which otherwise had unfortunate fate, I hope Jolla will sell millions of free software wielding products to the masses. The biggest problem with X.org is, though, the drivers, generally zero support from vendors so hard to make products. Hooking into Android EGL drivers and building on top of that seems a good compromise at the moment. Note that from product creation point of view it's not the non-shininess of X.org that IMHO is the blocker. Wayland and Mir may help on the driver side.

I want products!

I'd love to see more push to have actual products on the market, since otherwise we don't get free software to the masses. If Mir helps Ubuntu to do that in one year, fine (I don't know how it's going to be). Yes Mir is a new shiny project, but it's a very product/target oriented project one. If Android would be open as a project, it wouldn't hurt - other than feelings attached to the other projects especially by the core developers and fans of those - if it was the superior alternative from product creation perspective making all of X.org, upstart, systemd, Wayland, Pulseaudio, D-Bus, glibc less interesting to product creators while even more interest would go to Android. It's not so now, Android is not an open project in any sense, even though still beneficial for free software. Ubuntu will keep using a lot more of the traditional stack anyway than Android (which also just got rid of BlueZ), but I have zero problem of changing any of the components if it's visioned to be required to get finished, ready to use products out. IMHO the key is to get products out, and I hope all the parties manage to do that.

Of the traditional GNU/Linux desktop distributions only Ubuntu seems to be adapting for the mobile in large steps at the moment. The other distributions in the mobile playing field are: (Android/)Replicant, Mer/Sailfish, Firefox OS, Tizen, added with OpenEmbedded based distributions like SHR. Have you used those on a daily basis on your devices? I believe you should. I think KDE will bring with its Plasma Active - currently focusing on building on top of Mer - mobile power to the traditional GNU/Linux distributions, but otherwise it's all up to the new players - and Ubuntu.

Like many know, I used Debian exclusively on my primary phone for ca. two years before switching mostly to N9. During all that time, I already pondered why people and distributions are so focused on x86 and desktop. And the reason is that that's what their history is, and I stared at the wrong place - desktop distributions. I dismissed Android and some of the small newcomers in the mobile distro playing field, but it seems that big changes are needed to not need completely new players. I think Ubuntu is on the completely right track to both benefit from the history and adapt for the future. I still hope more developers to Debian Mobile, though!! Debian should be the universal operating system after all.

Disclaimer: I'm an Ubuntu community person from 2004, Debian Developer since 2008 and a contractor for Canonical for ca. 1 year. My opinions haven't changed during the 1 year, but I've learned a lot more of how free software is loved at Canonical despite critics.

Read more
Timo Jyrinki

UDS GTA04 Hacking

I'm sitting at the Bella Sky lobby bar while UDS people keep pouring in. I guess I have to start this UDS with some hacking (and a little beer)! I bootstrapped an Ubuntu armhf rootfs and coupled it with QtMoko's kernel already earlier after I received my GTA04 but it didn't boot right away so I had nothing to report. I wanted armhf so I chose QtMoko's 'experimental' Debian armhf rootfs + boot files as the reference to look at while working on the Ubuntu rootfs. I now went through again some of the configuration files, and voilà:


Now running apt-get install unity over SSH :) It will require OpenGL ES 2.0 hw acceleration to run, now that the support was integrated in Ubuntu 12.10. I will therefore need to tinker what kind of OMAP3 armhf binary blobs there are available, and what's again the situation with X.org DDX driver as well. I always feel that the fun starts at this point for me, when I've the device booting and I can SSH in. That's why I'm happy the work from Golden Delicious GmbH and QtMoko helped me to get here...

Read more
Timo Jyrinki

OpenPhoenux GTA04

Postman was on a kind mood yesterday. My OpenPhoenux GTA04 arrived! I had my newer Neo FreeRunner upgraded via the service from Golden Delicious.

First, something rare to behold in phones nowadays - Made in Bavaria:






As a sidenote, also rare now - my Nokia N9 is one of the last phones that had this:

It's sad that's now a thing of the past for both hardware assembly and software! But that's just a hint for new companies to step in.

But back to GTA04 - a quick boot to the pre-installed Debian w/ LXDE:






And then as a shortcut unpacked and booted into QtMoko (well, it's also Debian) instead to test that phone functionality also works - and it does:



Next up: brewing something of my own!

Read more
Timo Jyrinki

Do you ever have those afternoons you get a ”great” idea and you've all the evening time for that task. The task is a relaxing one and won't need much attention, and you can watch a movie or something.  But then, it happens that the evening turns into night as you realize a couple of little details adding complexity to the idea, and the task turns out to be much more invasive to your evening than you thought?

In this example, I got the great idea to upgrade my Debian running NAS device (thanks Martin for everything!) to use ext4 instead of ext3. The kind of idea that takes a long time for relatively little practical benefit, but it just feels like a nice thing do when you've the extra amounts of nerd time available. It's basically just opening the NAS device up, mounting its hard disk to a laptop via external case, running the tune2fs and fsck then putting the disk back. It just takes a long time for the initial fsck (to make sure everything's intact) and then the required fsck run to get ext4 mountable.

Only in this situation, it would have been beneficial to have the ext4 support in the flashed initramfs before the migration. So... before the photo below, I've already:

  1. done the ext4 migration and fsck:s
  2. screwed the disk back to the NAS case, attached cables and found that it doesn't boot
  3. (on the laptop with the hard disk attached again tried manually unpacking initramfs and adding ext4 module... also had time to bind mount everything and chroot into the ARM system to run update-initramfs manually... also tried booting with those... until remembered the simple fact that the /boot partition is only for show and also the initramfs is loaded directly from flash)
  4. copied the main root filesystem content from the original disk to another external disk with ext3 partition
  5. attached the another disk (with same UUID:s) to the QNAP NAS device, booted, double-checked that I have now ext4 specified under /etc/initramfs-tools/modules, reconfigured the linux image that also regenerates initramfs and flashes it
And in the photo, what's happening is that:
  1. I've again the original disk reattached and system booted with the initramfs generated and flashed from the ext3 disk
  2. the NAS device is hanging in the air, cover open, from the closet where I've things stuffed in (normally secured with cable ties), and I need to support it with a knee or one hand since the 2TB disk is much heavier than the small SSD I used as the ext3 disk so the power cable and RJ-45 cable would have pretty heavy load
  3. Since I've only one hand in use and can't use a laptop, I'm logging in via my Nokia N9 and then reflashing the kernel + initramfs from this original disk, just to make sure everything is now alright and also after that flashing it still boots (it does!). Note that I feel like the setup is secure enough for non-interrupted flashing so that I can indeed support the NAS with a knee, use one hand to keep N9 and another hand to take a photo with a camera.

And so we have had a productive and educating afternoon/evening/night once again. Does this ever happen to you?

Read more
Colin Ian King

I've been fortunate to get my hands on an Intel ® 520 2.5" 240GB Solid State Drive so I thought I'd put it through some relatively simple tests to see how well it performs.

Power Consumption


My first round of tests involved seeing how well it performs in terms of power consumption compared to a typical laptop spinny Hard Disk Drive.  I rigged up a Lenovo X220i (i3-2350M @ 2.30GHz) running Ubuntu Precise 12.04 LTS (x86-64) to a Fluke 8846A precision digital multimeter and then compared the SSD with a 320GB Seagate ST320LT020-9YG142 HDD against some simple I/O tests.  Each test scenario was run 5 times and I based my results of the average of these 5 runs.

The Intel ® 520 2.5" SSD fits into conventional drive bays but comes with a black plastic shim attached to one side that has to be first removed to reduce the height so that it can be inserted into the Lenovo X220i low profile drive bay. This is a trivial exercise and takes just a few moments with a suitable Phillips screwdriver.   (As a bonus, the SSD also comes with a 3.5" adapter bracket and SATA 6.0 signal and power cables allowing it to be easily added into a Desktop too).

In an idle state, the HDD pulled ~25mA more than the SSD, so in overall power consumption terms the SSD saves ~5%, (e.g. adds ~24 minutes life to an 8 hour battery).

I then exercised the ext4 file system with Bonnie++ and measured the average current drawn during the run and using the idle "baseline" calculated the power consumed for the duration of the test.    The SSD draws more current than the HDD, however it ran the Bonnie++ test ~4.5 times faster and so the total power consumed to get the same task completed was less, typically 1/3 of the power of the HDD.

Using dd, I next wrote 16GB to the devices and found the SSD was ~5.3 times faster than the HDD and consumed ~ 1/3 the power of the HDD.    For a 16GB read, the SSD was ~5.6 times faster than the HDD and used about 1/4 the power of the HDD.

Finally, using tiobench I calculated that the SSD was ~7.6 times faster than the HDD and again used about 1/4 the power of the HDD.

So, overall, very good power savings.  The caveat is that since the SSD consumes more power than the HDD per second (but gets way more I/O completed) one can use more power with the SSD if one is using continuous I/O all the time.    You do more, and it costs more; but you get it done faster, so like for like the SSD wins in terms of reducing power consumption.

 

Boot Speed


Although ureadhead tries hard to optimize the inode and data reads during boot, the HDD is always going to perform badly because of seek latency and slow data transfer rates compared to any reasonable SSD.   Using bootchart and five runs the average time to boot was ~7.9 seconds for the SSD and ~25.8 seconds for the HDD, so the SSD improved boot times by a factor of about 3.2 times.  Read rates were topping ~420 MB/sec which was good, but could have been higher for some (yet unknown) reason. 

 

Palimpsest Performance Test


Palimpsest (aka "Disk Utility") has a quick and easy to use drive benchmarking facility that I used to measure the SSD read/write rates and access times.  Since writing to the drive destroys the file system I rigged the SSD up in a SATA3 capable desktop as a 2nd drive and then ran the tests.  Results are very impressive:

Average Read Rate: 535.8 MB/sec
Average Write Rate: 539.5 MB/sec
Average Access Time: sub 0.1 milliseconds.

This is ~7 x faster in read/write speed and ~200-300 x faster in access time compared to the Seagate HDD.

File System Benchmarks


So which file system performs best on the SSD?  Well, it depends on the use case. There are may different file system benchmarking tools available and each one addresses different types of file system behaviour.   Which ever test I use it most probably won't match your use case(!)  Since SSDs have very small latency overhead it is worth exercising various file systems with multiple threaded I/O read/writes and see how well these perform.  I rigged up the threaded I/O benchmarking tool tiobench to exercise ext2, ext3, ext4, xfs and btrfs while varying the number of threads from 1 to 128 in powers of 2.  In theory the SSD can do multiple random seeks very efficiently, so this type of testing should show the point where the SSD has optimal performance with multiple I/O requests.

 

Sequential Read Rates

Throughput peaks at 32-64 threads and xfs performs best followed by ext4, both are fairly close to the maximum device read rate.   Interestingly btrfs performance is always almost level.

Sequential Write Rates


xfs is consistently best, where as btrfs performs badly with the low thread count.

 

Sequential Read Latencies



These scale linearly with the number of threads and all file systems follow the same trend.

 

 Sequential Write Latencies



Again, linear scaling of latencies with number of threads.

Random Read Rates


Again, best transfer rates seem to occur at with 32-64 threads, and btrfs does not seem to perform that well compared to ext2, ext3, ext4 and xfs

Random Write Rates



Interestingly ext2 and ext3 fair well with ext4 and xfs performing very similarly and btrfs performing worst again.

 

Random Read Latencies



Again the linear scaling with latency as thread count increases with very similar performance between all file systems.  In this case, btrfs performs best.

Random Write Latencies


With random writes the latency is consistently flat, apart from the final data point for ext4 at 128 threads which could be just due to an anomaly.

Which I/O scheduler should I use?

 

Anecdotal evidence suggests using the noop scheduler should be best for an SSD.  In this test I exercised ext4, xfs and btrfs with Bonnie++ using the CFQ, Noop and Deadline schedulers.   The tests were run 5 times and below are the averages of the 5 test runs.

ext4:




CFQNoopDeadline
Sequential Block Write (K/sec):506046513349509893
Sequential Block Re-Write (K/sec):213714231265217430
Sequentual Block Read (K/sec):523525551009508774


So for ext4 on this SSD, Noop is a clear winner for sequential I/O.

xfs:




CFQNoopDeadline
Sequential Block Write (K/sec):514219514367514815
Sequential Block Re-Write (K/sec):229455230845252210
Sequentual Block Read (K/sec):526971550393553543


It appears that Deadline for xfs seems to perform best for sequential I/O.

 

btrfs:




CFQNoopDeadline
Sequential Block Write (K/sec):511799431700430780
Sequential Block Re-Write (K/sec):252210253656242291
Sequentual Block Read (K/sec):629640655361659538


And for btrfs, Noop is marginally better for sequential writes and re-writes but Deadline is best for reads.

So it appears for sequential I/O operations, CFQ is the least optimal choice with Noop being a good choice for ext4, deadline for xfs and either for btrfs.   However, this is just based on Sequential I/O testing and we should explore Random I/O testing before drawing any firm conclusions.

Conclusion

 

As can be seen from the data, SSD provide excellent transfer rates, incredibly short latencies as well as a reducing power consumption.   At the time of writing the cost per GB for an SSD is typically slightly more than £1 per GB which is around 5-7 times more expensive than a HDD.    Since I travel quite frequently and have damaged a couple of HDDs in the last few years the shock resistance, performance and power savings of the SSD are worth paying for.

Read more
Timo Jyrinki

A couple of photos from the Ubuntu release fest in Tampere yesterday.

People gathering up before presentations

Tieto's Markus Mannio

Again, continuing on how Ubuntu is used at Tieto

A cut to the end of presentations, Trine 2 game licenses from Frozenbyte being raffled. A great game available on Linux.

Tablets running KDE Plasma, and Ubuntu for Android being demoed.

Someone else probably has photos of my generic Ubuntu 12.04 LTS presentation (what's new, what's next), and likewise for the other presentations (Ubuntu for Android, uTouch) held. Those will be available as slides and videos later on, although do note the whole event was in the crypto-language called Finnish.

Thanks to the organizers, sponsors and everyone I met, it was a great event with nice little dinner and wine served at the end!

Read more
Timo Jyrinki

Almost forgot to post this. My mobile phones running free software in photos. From left to right:



All of that software running on the devices is more or less free software, with Harmattan obviously being by far the least free, especially applications, but still better than any other on-the-shelf phone software *), and the others being 99% or "Ubuntu like" free ie. possibly with firmware and a few driver exceptions. N9 needs some bootloader work still before Nemo, Debian, Ubuntu etc. can be run there. I've collected a few things about N9 from this point of view at a wiki page.
*) Not sure about every Android phone, but Android is not openly developed anyway so it's hardly a similar free software project such as freedesktop.org projects or Qt

I gave my N900 away now since obviously I cannot make full use of each one of these. I'm multi-SIMming my N9 and the GTA02a7 Neo FreeRunner for daily use, while the other FreeRunner and N950 are purely for tinkering related purposes. The development FreeRunner will get on upgrade to GTA04 once it's available, and then hopefully that can be made into a daily usable phone as well.

By the way, see you in FSCONS in Gothenburg next weekend. Even rms will be there, which is always interesting of course :)

Read more
Timo Jyrinki

The MeeGo community is frustrated with the news of the MeeGo brand being abandoned. Some are understandably angry or otherwise not happy about how Linux Foundation, Intel handled the Tizen announcement and community in general - or more like how they didn't handle it at all. Last week Openmind 2011 happened to be arranged in Tampere on the very same day as Tizen announcement came alive. It was good in the way that it lead to the fact that Nomovok's CEO Pasi Nieminen was able to initiate the "Reigniting MeeGo" session not just by talking vague things about future, but actually about the process which led to Tizen and the unfortunately brief initial PR about it. Pasi is intense on emphasizing the quality and role of Qt in Tizen as well, even though officially Tizen is all about HTML5 and apparently from Samsung's part at least EFL is provided as a native toolkit. However, the promise of Tizen compared to MeeGo is reportedly that the toolkit is not specified in compliancy documents, so HTML5 with WAC is the main/only "3rd party apps" layer whereas others can be offered case-by-case. This means that unlike before, the underlying system can be built on top of practically any distribution (theoretically) and using whatever toolkits and other techniques wanted. Obviously the "Nordic System Integrators" are probably all very keen of using Qt to produce more of Nokia N9 quality user experiences in various products.

Taking the corporate hat off, I as a community member am also puzzled. The only reason I was not completely blown by the news was that I didn't yet manage to get involved in MeeGo community on a daily basis, since I'm involved with a dozen communities already. Instead I've been more like scratching the surface with MeeGo Network Finland meetings, IRC activity, OBS usage for building a few apps for MeeGo Harmattan and MeeGo proper etc. But I can somewhat understand how people like Jarkko Moilanen from meego-fi feel. They have given a _lot_ to the MeeGo community and brand, all taken away without hearing or pre-notice.

So where to now for MeeGo community? Tizen is one obvious choice. However, for all the talks that even I started this post with, Tizen is still vaporware today, and the dislike of how community is being treated might make it easy to consider other options. Also, if Tizen's reference implementation has lesser meaning, it might also mean less to actually be "in" the Tizen community than in MeeGo. I met Jos Poortvliet at Openmind, and he invited people to openSUSE. There is a lot of common ground with MeeGo and openSUSE - strong OBS usage, RPM packaging, community side focused on KDE and therefore Qt.

I would like to now point similarly to Debian! If one is tired about corporate interests and not listening to community, there is no match for Debian's 15+ years history, purely volunteer based, trust based organization, and first of all scope. While openSUSE has traditionally focused on desktop (even though like Jos pointed out they are open to all new contributions and projects), Debian has always had the "universal" scope, ie. no boundaries besides producing free software operating system for various purposes. There are over 10 architectures maintained at the moment, including the ARM (different ports for ARMv4 and hard-float ARMv7) and x86 from MeeGo world. There are even alternative kernels to Linux, mainly the GNU/kFreeBSD port. There are multiple relevant plans and projects like the Smartphones wiki area, most noticeably Debian on Neo FreeRunner. I have run Debian on my primary mobile phone for over 2.5 years, although now in the recent months I've had dual-SIM in my Nokia N950 as well (Debian not yet running on Nokia N950 or Nokia N9 - but it can and will be done!).

What Debian may lack in both good and bad is corporate funding, if you don't count the still quite respectful contributions from Ubuntu to Debian (it's in Ubuntu's interests to contribute as much possible back to Debian, so that the delta remains small). For each and every aspect, it needs a volunteer - there are a thousand volunteer Debian Developers, and at least a double of that of people without the official DD status but who still maintain a package or two among the 25000+ packages in Debian. That means also that one my find it more lucrative to join a project that has paid people to do some of the "boring parts", more of fancy web tools, including for bug handling and build systems like the OBS (which I do love by the way). On the other hand, there is no other project in my opinion where what you do really matters as much.

To find out more about Debian from MeeGo perspective, please see the recent mailing list post Mobile UXes - From the DebConf11 BoF to the stars where I wrote most of the MeeGo (CE) part when I was asked to and known of my MeeGo involvement.

Last but not certainly least, there is the Mer project - originally "maemo reconstructed", ie. making Nokia's "not really distro" into a real distro by filling in the void places. Now it's obviously MeeGo reconstructed, and they aim to be the MeeGo they always wanted MeeGo to be! Read the post for details from Carsten Munk and other key Mer people. They share the love for Qt, and want the core to be as lean as possible. They also aim to incorporate the most community like aspect from MeeGo - MeeGo CE - as the reference vendor in Mer. They also aim to be Tizen compliant - and when Tizen comes alive, I wouldn't see why the Tizen reference implementation couldn't be used for saving resources. Maybe Nomovok and/or others could offer the Qt maintaining part.

So, it might be that Tizen itself is enough for most people's needs. The key point however in this post is not to fall in agony if one corporate based project takes big turns - it has happened before, it will happen in the future. There are always enough political and business reasons from some points of view to do Big Changes. But the wider community is out there, always, and it's bigger than you think. You should consider where you want to contribute by asking yourself why you are/were part of for example the MeeGo community. Aaron Seigo from KDE asked us all this question in the Openmind MeeGo Reignited session, and I think it's good to repeat.

Read more
Timo Jyrinki

It was good that I didn't hold up my blog post in November until the videos from FSCONS 2010 (Free Society Conference and Nordic Summit) are out, but now they finally are:


Timo Jyrinki - Tuning an old but free phone (pt 1/2)
Timo Jyrinki - Tuning an old but free phone (pt 2/2)

Definitely see also all videos and since Vimeo doesn't work in Gnash, use a script to download.

ps. As a related item to the talk's future oriented aspects, while waiting for GTA04A3 boards to arrive, GTA04A2 has been patched to run Debian/LXDE.

Read more
Timo Jyrinki

I'm participating in the MeeGo Summit FI that starts tomorrow, and I'm already in Tampere now, as you can see. The summit is at an interesting time, given that there is a huge amount of stuff happening around MeeGo while at the same time Nokia is balancing on what do both in the far future and what to do to ship the MeeGo device they've already promised. The summit is fully and overly booked for >300 attendees. There is also Finhack free software event happening alongside on Saturday at the same venue.

A view towards the venue(s), Finlayson area in Tampere.
The company I work for, Nomovok's CEO illustrated the MeeGo situation extraordinarily well a little less than two months ago. I think it's one of the best insights you can get from anywhere in public at the moment. Now things are starting to really heat up. Of course the Big thing is the MeeGo Conference in San Francisco in the end of May, but it takes nothing away from this being the major event both in the country formerly known as NokiaLandia, and also globally given the amount of MeeGo related talent here. Nomovok is teasing people with the SteelRat - a launchpad for MeeGo tablet creation and an UX, based on latest MeeGo Core - a beta of which will be available now in Tampere and first version in San Fransisco. Meanwhile we and others are investing in also the MeeGo IVI and MeeGo TV platforms, not forgetting about the handset industry that is more visible to many tech savvy consumers.

Pre-registration and building on-going.
At the same time there is a lot of exciting stuff going on in the Ubuntu project (Ubuntu 11.04 upcoming, I'm already using it and reporting bugs), together with Linaro and other ARM players. As a founder of Ubuntu Finland I'm always eager to see if I can work there also on work time, not only on free time. And regarding ARM, Nomovok is the key player in having ARM on MeeGo as well.

Then on the completely other end of spectrum, I'm eagerly waiting for the GTA04 project to have my Neo FreeRunner(s) bumped up to modern specs. At the end of the day I'm still using over 2,5 year old phone myself, since I want to run the software that is both free and completely selected (and if I want, done) by me. With GTA04, I could choose between MeeGo armv7hl port, Debian armhf port or Ubuntu as the base distribution to use my software.

Read more
Timo Jyrinki

The 2008 product release, Openmoko Inc's – now in other business areas than mobile phones – Neo FreeRunner is finally starting to get a ”spiritual” successor, in form of the GTA04 project (not to forget about gta02-core project, either). Yes, the ”even schematics and cover CAD files are CC-BY-SA” free mobile phone is back... or at least if the German company Golden Delicious finishes what's it has been doing lately. Of course, the original FreeRunner is also still on sale as an improved version.

Since I have two FreeRunners, I look forward to replacing one of those with the new innards while keeping the other one as a daily phone while kernel and modem drivers get ready with the new platform. With a newer platform with ARMv7 instruction set, there would be easily also other ”traditional” distributions choices besides Debian to choose from, like Ubuntu or MeeGo. Both have oFono (+ telepathy etc.) packaged up, while Ubuntu also has a lot of the FreeSmartphone.Org (FSO) stack that has come to Ubuntu from Debian's pkg-fso team that I'm part of. Both software stacks are capable of getting updated with new modem drivers, although I think currently FSO has more daily / only phone users than oFono at this point of time still (I haven't yet heard of many Nokia N900 users using only free software distribution while using the phone functionality of such a distro as the one to count on).

So, a quote from today's Openmoko Community Updates:

---cut---

GTA04

GTA04 is a project by the long time distributor and hw developer, German company Golden Delicious. The name is loaned from Openmoko project because of the spiritual continuation - GTA01 was the codename for Neo1973, GTA02 was the Neo FreeRunner, and GTA03 was the canceled successor product. Besides offering improved versions of Neo FreeRunner (better battery life, better audio output), they've a complete replacement board planned to fit an existing Neo FreeRunner case and use the existing display.

The key details of GTA04 include among else:

  • OMAP3530 ARMv7 CPU
  • UMTS/3G (HSPA)
  • USB 2.0 OTG
  • WLAN, BT, FM transceiver
  • Barometric Altimeter, Accelerometer, Compass, Gyroscope
  • Optionally camera

Find your GTA04 information at the following addresses:

Latest news:

Visit the FOSDEM in Brussels, Belgium next weekend (5th/6th of February, 2011) to see GTA04 in action and discuss about it! See http://fosdem.org/2011/ , http://wiki.openmoko.org/wiki/FOSDEM_2011 , http://lists.openmoko.org/pipermail/community/2010-December/063899.html

---cut---

Read more
Timo Jyrinki

Just a note that the slides are available (non-slideshare link) for my presentation ”Tuning an old but free phone” (description) that I held in the tremendously great event FSCONS 2010. It could be described as a smaller scale FOSDEM, but that would be actually down-playing it since the free software effects on society are something that I've actually never seen elsewhere on such a scale. My talk was among the purely technical ones, though.

I was planning to hold on with this blog post until the recorded videos arrive, but since it seems it might not be during this year I will just post this now that slides are available.

I've shared a few photos as well at Flickr...


Keynote: Karin Kosina, The Inanna Project. A tech + art workshop for female artists in Damascus, Syria. An experiment in art, technology, and the transformative power of Free Hardware and Software.


Erik de Bruijn, The Future of RepRap, a self-replicating open source 3D printer that fabricates arbitrary objects including parts of itself.


Social event at the Berg 211.


Malin Nilsson on Gender, class and global flows. Using free software to fuel a revolution in home based industrial work.



Keynote: Glyn Moody, Ethics of Intellectual Monopolies.


Keynote: Glyn Moody, Ethics of Intellectual Monopolies (audience).

A few summaries available on a Qaiku seminar channel.

Read more
Timo Jyrinki

(many exciting news from this old project/community working on the "Free Your Phone" idea, so as an publisher of the update sharing via blog as well. FreeRunner still available at eg. http://www.pulster.de/engl/index.html and the improved "+" versions at http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner, if an old/slow hardware is enough for you when you know you can tweak it to your liking)
Period 2010-09-01 to 2010-10-31

Distributions

Debian GNU/Linux

Debian is a universal operating system used on many embedded devices, servers and home computers. Using Debian on the FreeRunner gives access to the huge army of software packaged in the Debian repositories, already compiled for the Neo's ARM(v4) processor. Moreover, one can build one's own source files for programs without having to learn the OpenEmbedded way. For an existing Debian/Ubuntu user, choosing Debian for Neo FreeRunner makes phone a very familiar, trustworthy and flexible place to hack in.

General news:



Codename: 'sid'
Homepage: http://wiki.debian.org/DebianOnFreeRunner
Image: http://wiki.openmoko.org/wiki/Debian

Hardware Works
Neo 1973 yes
FreeRunner yes
HTC-Dream yes
Other yes


Applications

New Applications

aTrack 0.8

APRS tracker and communicator for mobile devices. It turns your Neo into bidirectional APRS unit and besides others it allows you to track your position, do text messaging, object creation or display stations around.


Homepage: http://atrack.googlecode.com/
Package: [1]
Tested on: SHR-Unstable


Application Updates

Gamerunner GnuBoy 0.8

A gameboy emulator which runs very nice, even with sound (sometimes it freezes, then you have to press the A button and everything is ok). You need the gamerunner distro or a gamepad to use it. Using frameskip to run smooth at 320*240 pixel. In second controll mode in gamerunner you can use savestates by pressing top right corne to save and left lower corner to load. Select is right lower corner.


Homepage: http://jlime.com/forum/viewtopic.php?f=117&t=3005
Package: [nopacket no packet sorry]
Tested on: Gamerunner, QTMoko


FoxtrotGPS 1.0.0

FoxtrotGPS is an offshoot of Marcus Bauer's excellent Free & Open Source tangoGPS application, with a focus on cooperation and fostering community innovation. 1.0.0 announcement.

  • Gracefully recovering from gpsd shutting down
  • GPX routepoints support
  • Integration of distribution patches
  • Map tiles are displayed immediately after downloading
  • GeoRSS points can be imported as POIs (script)
  • Various other fixes and improvements
  • Since no feedback gotten from the sister project and some changes will not be imported, version number 1.0.0 was selected to show that there is divergence


Homepage: http://www.foxtrotgps.org/
Package: foxtrotgps
Tested on: Debian


General News

Most important and change making mails on the mailing lists, blogs etc.. Coolest hacks, screenshots, themes etc..

GPRS

  • GPRS on FreeRunner is unstable? Too many connections hang the modem? Unfixable? NO MORE! Our magician lindi has conjured a tc (traffic control) command that makes the data flow more stable even under heavy load. Huge thanks! http://docs.openmoko.org/trac/ticket/2264#comment:21 (use the lower one for faster operation)

Kernels

Spin-off Hardware Projects

Event News

  • 2010-10-12 Next "FYP.de / Openmoko Stammtisch" in Munich, Germany [2]
  • 2011-01-24 Mobile FOSS MiniConf at LCA2011 announced a call for papers that closes on Friday 22nd October 2010. So submit something about OpenMoko today!
  • 2011-02-05/06 FOSDEM 2011 calls for Main Speakers and Devrooms [3] that closes on Saturday 16th October 2010. So submit something about OpenMoko today!

Read more
Colin Ian King

loop devices, device mapper and kpartx

Recently I copied a hard disk image onto a backup drive using dd and later on needed to mount the third partition from this image. Usually I figure out the partition offset and mount using mount -oloop,offset=xxxx but I just could not be bothered this time around to figure out the offsets especially as I have several partitions in the image. Instead, I used the following runes:

1. Associate a loop device with the drive image:

losetup --show --find image-of-drive.img

..the --show option prints out the name of the loop device being used. In my case it was /dev/loop0

2. Create a device mapper device associated with the loop device:

echo "0 `blockdev --getsize /dev/loop0` linear /dev/loop0 0" | dmsetup create sdX

..this will create /dev/mapper/sdX

3. Use kpartx to create device maps from the partition tables on the mapper device:

kpartx -a /dev/mapper/sdX

4. And lo and behold this creates device maps over the detected partition segments. You can then mount the partitions as usual, e.g. partition #3:

mount /dev/mapper/sdX3 /mnt

..I should really put this now into a bash script for next time I need this...


Read more
Timo Jyrinki

This entry includes a few photos of my Dell Latitude 2110 which shipped with Ubuntu 9.10 Netbook Remix. Mostly it's however a critical view on the software shipped. Critical simply because I investigate it quite closely to see how it could be improved especially when sold to end users in non-English countries in the future. The device itself is great, as is the Ubuntu shipped with it. The laptop has the 1.83GHz Atom N470 which is quite nice together with its integrated and battery saving graphics. I also chose 1366x768 resolution for the screen and 16GB SSD for storage. But anyway, this is not a review of any sort.

Currently Dell Latitude 2110 netbook is the only laptop available with Ubuntu in the Dell Finland's web store. A few others have specifications that list Ubuntu as a choice, but in the actual customization view there is no Ubuntu to be selected. So this is the only one, and also only for corporate customers - the web site even says "big companies". In reality though this is reflected in one and only place - there is a mandatory "Company" field in the order form. However, not even the company ID ("Y-tunnus") is required. I did use a company name there, but I wonder if they would care if one would just put "-" or "Ubuntu Finland" or anything there...




Software Observations

I boot it up, and was greeted first with a Dell EULA. Next up was familiar (Ubuntu 9.10 era) Ubuntu logo, white on black. Some churning and a set up wizard was presented:



It worked nicely otherwise, but even though I selected Finnish as the language, it first suggested US keyboard by default. This is in contrast to what normal Ubuntu installer does - offers Finnish keyboard as well.

After that the Ubuntu Netbook interface appeared, and I checked around a bit. Ubuntu 9.10 Netbook Remix shipped with Latitude 2110 seems quite default. No extra repositories. Extra software however is installed, noticed by simply looking through Ubuntu menus: they include Dell Recovery Media creation tool, Citrix Receiver and Vmware View Client.



Digging a bit deeper, I checked the package selection with Synaptic. The reason there are no extra repositories is that packages are installed without repositories. The following packages were "local or obsolete" after refreshing the normal Ubuntu repositories:

Local/main:
- alsa-driver-hda-intel-dkms (git.20100301)
- dell-recovery
- realtek-rts-pstor-card-driver-dkms
- vmware-view-client

UPDATE Sep 01, 2010: Added link to dell-recovery (in Ubuntu repositories) and especially the SD card reader (GPLv2). Patched ALSA shouldn't be needed for anything in Ubuntu 10.04 LTS anymore, and vmware-view-client is available elsewhere. The non-free stuff below are a) not that interesting and b) non-free, potentially non-distributable.

Local/non-free
- ctxusb
- icaclient
- libmotif4
- libmrm4
- libuil4
- libxm4

The great thing is that seemingly most of the customization is indeed done via packages. Great job with both that and correctly separating archive entries depending on whether the software is free or not. The packages themselves are located in the recovery partition of the hard drive.

Some more package observations:
- adobe-flashplugin is installed by default from Canonical partner repository (and the repository is enabled by default)
- besides it, no extra non-free software is installed, that is nothing from multiverse and only bcmwl-kernel-source from restricted
- also, nothing from universe

Language Problems

I didn't expect a fully Finnish laptop since the language of Ubuntu couldn't be selected when customizing the order, and I didn't get one. It's clear there is no effort yet put to actual localized offerings, but still it was possible to choose (any) language with the first boot of Latitude 2110.

Language problems are quite ok at this point since the device is not being sold as a localized home user product yet. Nevertheless, it's good to list issues that need to be fixed before localized devices can be sold. At least in Finnish, dunno how's the state of for example Inspiron 10 devices shipped in Germany and elsewhere to also end users via web.

Number two problem regarding languages software was (number one being the wrong suggested keyboard) that full Finnish support was not offered to be installed (and it wasn't installed by default). Since the selection of language was possible during first run, suggesting download of or automatically downloading language support should be done. Normal Ubuntu does it also in Ubuntu 9.10 just nicely also in the cases that installation is done without Internet connection / full language support, so somehow Dell has unfortunately disabled that feature or not allowing it to run. The hook that checks the language support and shows a message is included in language-selector, the message itself in file /usr/share/language-support/incomplete-language-support-gnome.note.

I ran Language Selector manually, which fixed the problem and indeed works fine nowadays in Ubuntu. However, I also noticed that in Language Selector "For my menus and windows, use" had "English (United States)" selected, so only the second item had Finnish selected. It seems therefore that the setting up of the language during setup wizard doesn't do a complete job anyway for the new user created at least. Only after selecting it manually did the language tool correctly download and enable all the needed support for my language.

The Only Big Problem (...that was fixed)

Now for the only big WTF during my tinkering:

/etc/apt/apt.conf.d/00secure containing lines:

APT::Get::AllowUnauthenticated "true";
Aptitude::CmdLine::Ignore-Trust-Violations "true";

This simply leads to eg. synaptic package manager complaining about all upgrades being unauthenticated, and elsewhere possible well needed warnings are simply not shown. I have no idea what's the basis for shipping this kind of security hindering settings with the laptop.

UPDATE: This was later fixed in Ubuntu as a security issue, see CVE-2010-0834.

What Next

After these observations and being quite happy with a laptop that has Ubuntu straight out-of-the-box (which also saved 80€ of money + taxes compared to default OS), I created a recovery ISO image with Dell's tools and then I let Update Manager upgrade Ubuntu to 10.04.

Ubuntu 10.04 LTS was smooth enough already, but I also upgraded latest Intel graphics drivers from xorg-edgers. My only irritation is the Broadcom WLAN driver 'wl'. It works just fine in 10.04 LTS. The irritation is the amount of battery eating wakeups it generates even when there is no traffic going on. AFAIK it's a non-free driver from the vendor, and once again it's one of those that works in principle but is miles from being a well behaving kernel driver. It seems the free b43 driver does not support the BCM43224 chipset (14e4:4353) yet, so unfortunately I'm currently stuck with this driver. Luckily the laptop (and Ubuntu) is otherwise so great on using power, that I still get 5+ hours of battery usage at least (haven't measured much yet).

I'm very happy with what Dell is doing. I do hope the consumer sales would soar (and become available in Finland in the first place via the consumer retail channels there already exist). I also hope the language support bugs would be fixed - it's not tremendously hard, I could probably fix and test all the problems myself if I'd be given the task. Maybe the new Ubuntu 10.04 LTS offerings will already have some of it working better. All in all the Dell Latitude 2110 with Ubuntu 9.10 Netbook Remix was a problem-free ride, and had I simply used it in English it would have worked out-of-the-box smooth as butter.

Read more
Timo Jyrinki

Thanks to Dr. H. Nikolaus Schaller's efforts, a new "A7+" version of the world's only 100% free software (and even free hardware design, leading to further community development) phone, Neo FreeRunner, is available for sale at www.handheld-linux.com for 299€! New in this hardware version is prolonged battery life, due to a fix applied to the famous "#1024" bug. Now you should have theoretically about 5 days time suspended, but that's of course only if you don't actually do anything with this phone-computer.

In other news, despite the fact or because Openmoko Inc. has ceased its development efforts for now at least, concentrating on the WikiReader to recover from the economic problems, community finally questioned the reasoning behind some of the Linux kernel debug configuration in the official Openmoko kernel branch. Results? Speedup of certain kernel operations in the range of 2x to 5x! In practice that means Neo isn't actually anymore the sluggish device you used to get to know with. Of course it's not top of the line by any means, but being the only Free phone available on the market still, more free than most full-size computers in fact, it's a quite nice improvement to eg. boot time, application start up time et cetera. I merely was a messenger of these news from the kernel mailing list to the community, but I also provided a readily compiled kernel which I use in Debian and which seems to works for others as well (until their distributions package it up).

Over 1,5 years after launch of the FreeRunner, and even more since the original Neo 1973, the software is getting better all the time. The pace is slow, as is the case with any free/open project with limited community-only resources, but the best thing is that it never has to stop. A lot of the middleware, applications and so on will make it to future phones as well. Things like Intone music player, TangoGPS and literki keyboard might be nice little finger-usable applications in the future as well.

So, if you can manage without 3G and want to still have an unique mobile computer experience with basic phone functionality, running for example Debian for the "familiar experience" if you use Debian or Ubuntu on your other computers, it's still not too late to catch it. It seems we're still a couple of years away from any next effort of such level of freedom. I'm making through it by having bought a 59€ 3G modem for the more serious data needs. I'm still also thinking about a privoxy setup on my home server that would clean up and compress pages even via Neo's GPRS connection.

Read more