1. Going to Android

    Over two years ago I was thinking about next cellphone and wrote that it would be something with Windows Mobile. There were comments that I should go for Android which was not on a market yet. In first week of 2009 I switched to Nokia E66 running Symbian. There were apps for this device (I even bought one: ProfiMail) and community existed with lot of tricks, hints, suggestions.

    In October I got Nokia N900 discount offer and I decided to take it. Device arrived month later and I got hooked. Finally device which I can use daily for my network activity without having to carry additional cellphone (like it was with Nokia 770 and N810 tablets). Maemo community existed already and I was a part of it. As there were developers already equipped with N900s there was a constant flow of new applications, themes, tweaks and hints. Platform was living. Nokia provided few system updates, some of them even gave some nice new features.

    But at same time it was known that amount of love for Nokia N900 at headquarters is near zero. MeeGo was announced just few months after device release so it was known that there will be very limited support level and that some things will never be done (like Ovi Maps with voice navigation).

    So I started slowly to look at market to know which way to go for next cellphone. Windows Mobile 6.x was out of question as this is platform which gets out of market now. Windows Phone 7 is fresh, strictly controlled so I do not want to go there — let it first get some devices, applications etc. Symbian? no way — been there already. Ok, Nokia N8 looks nice but it is still Symbian. MeeGo is not yet market ready when it comes to phones and even when mystic N9 will be released then it will not be pure MeeGo but rather some kind of mix of open components from MeeGo + huge set of closed sourced applications written by Nokia. And who knows how long it will be supported…

    So I looked into Android. Installed NITDroid on N900 to play with FroYo and it looks and behaves quite good. There are lot of communities (usually around families of devices), custom system images are something normal for popular devices (so if vendor does not support upgrades to newer OS versions then community usually do). Also lot of friends already use Android powered devices (cellphones, tablets etc) so there are lot of hints from them what to choose when it comes to hardware or software.

    Which cellphone to choose? I have few candidates:

    • Nexus S - brand new device, Google supported so should get few OS releases, runs latest Android
    • Nexus One - nearly year on market, also Google supported, runs Android 2.2, newest version “should be out in few weeks”
    • HTC Desire - nearly same as Nexus One but this time as official HTC device. Android 2.2, should get at least 2.3 version from HTC
    • HTC Desire HD - hardware similar to previous one but bigger screen
    • HTC Desire Z - Desire + hardware QWERTY keyboard
    • Samsung Galaxy S - Android 2.1 but 2.3 is promised

    Which to buy? Nexus S looks good and I will be in US in January…

    And this will be my 4th cellphone running Linux…

    UPDATE: added Samsung Galaxy S because vendor promised Android 2.3 — but it depends when it will be available.

    Written by Marcin Juszkiewicz on
  2. Is this the end of Maemo5?

    Some time ago I stopped following Maemo news. For me N900 became “just a phone” which I used for calls, checking email in crappy Modest, browsing web from time to time and to read Twitter (if any application for it works) or Facebook (by web browser cause there are no apps for it).

    But recently I got one tweet which pointed me to “State of Maemo” post. For me it looks like Nokia decided to finally abandon sinking ship and leave Nokia N900 users alone. Qt will probably get some updates to show that they care about cross platform support. How many MeeGo Qt apps will work on Maemo5? No one knows probably but one thing is sure — they will have to be recompiled because Harmattan will be hard-float (confirmed by Nokia developer during UDS-N). But for rest community will have to care about.

    OK, there was told that there are “ideas about opening various pieces of Maemo source code that are still closed” but what it will be? No one knows. I would like to get Calendar opened but when it will happen I will probably do not have N900 anymore…

    And today I read total “please ignore our ,but ignored by us, platform” message:

    Last week we spoke with Nokia. We were actively discouraged from developing for Maemo any further. There are lots of things we love about Maemo, including an awesome user community so we’re disappointed to see it EOL’d. It’s frustrating to have put so much effort into an app only to see the platform it’s on be terminated. Whether we reappear on MeeGo — the successor to Maemo — depends in part on Nokia. In the mean time, our conversation with Nokia has led us to deprioritize the update we were working on, though no final decision has been made yet as to whether or not it’ll ship. I’ll keep you posted.

    Somebody wants to buy my N900? I am going to move to Android because this looks like a platform where OS vendor care at least on some of devices by providing system upgrades. And there are communities which provide updates for abandoned devices. And no, I do not plan to buy device running MeeGo — enough money spent on Nokia devices.

    Written by Marcin Juszkiewicz on
  3. Debug board for Efika MX Smartbook

    I finally found a time to connect debug board to Efika MX Smartbook. I got that dongle about week ago but had more important things to do.

    Package arrived in small box with BBRV signature on it:

    Box with signature
    Box with signature

    Inside was “Lange 3 DB Board” made by Pegatron company. This provides ARM JTAG and serial connectors.

    Debug board itself + connection cable
    Debug board itself + connection cable

    To connect it with Efika MX Smartbook first thing to do is take out keyboard. To do this small screwdriver is needed to push in four places at the top edge:

    Keyboard before connecting cable
    Keyboard before connecting cable

    Inside you see empty space for mini-pciexpress card (but only USB signalling) which is used for 3G modems. On the right is half size mini-pciexpress card (also USB only ofcourse) wifi card based on Ralink 3273 chipset. Debug board cable needs to be connected to CONN1501 connector under 3G modem space (contacts bottom).

    Keyboard open, slots and connectors visible
    Keyboard open, slots and connectors visible

    Keyboard can be put back into place so it is possible to use serial/JTAG and keyboard at same time:

    Debug board connected, keyboard in place
    Debug board connected, keyboard in place

    What for I would use debug board? Time will show. So far I found out that kernel based on 10.08 Freescale code drop has worse battery driver then previous one (10.07 based). After one hack I got at least system which boots normally.

    Written by Marcin Juszkiewicz on
  4. Ubuntu One — good or bad?

    Today I activated my UbuntuOne account again and enabled mobile service + extra 20GB storage (such set is given free for Canonical people). Now I wonder did it had sense…

    On my desktop I am running KDE 4.5.3 under 11.04 ‘natty’ development release. Why is it important? Because there is no client for such combination. It looks like you need to run GNOMEbuntu or Microsoft Windows to have some kind of U1 integration. Otherwise I need to run shell command (or use GTK app) to login.

    But ok, I installed all required packages and it connected. Synced Tomboy notes from desktop and Conboy ones from my Nokia N900 so now I have them in sync (without a way to select which one I want where but that’s limit of apps). Then I decided to make use from synchronization of contacts. And here the fun begins… My phone is not supported by Funambol (syncml backend used by Ubuntu One) so sorry — all I can use is one bug on LaunchPad.

    So what’s left? Files — good to have 20GB of storage for something. Maybe will start using it one day. Now I spend time mostly at home so wifi/ethernet connection works and I have access to all media on my machines. Other is bookmarks — but only Firefox is supported (by extension) and I switched to Chromium few months ago.

    But who knows… maybe it will have some use one day.

    Written by Marcin Juszkiewicz on
  5. PandaBoard: my story

    It was 24th March 2010 when one friend asked me do I want to be added to beta testers list for new omap hardware. One of questions was “what would you like to have on board” so I replied:

    • hdmi out (does not care much about vga/svideo/composite out)
    • 2xSD slots (SD or microsd type)
    • ethernet (but rather not on usb)
    • serial on db9/icd10 + serial/jtag by miniusb (think sheevaplug)
    • OTG is not needed but can be present
    • BT would be nice but not required as I have 5 micro dongles here
    • few usb ports — if possible (not omap3530) on more then one hub
    • few leds (multicolor?) would be nice (bug 2.0 has 2xblue + 2xmulticolor)
    • few buttons including power/reset ones
    • and 5V 2.1/2.5mm power jack. I do not need power-on-otg because it require 500mA ports
    • onboard lcd+ts is not needed for me
    • ah… and mounting holes like in beagleboard so board can be mounted anywhere
    • connector with i2c/spi/gpio/etc/etc
    • I missed audio in/out
    • battery for rtc

    And suggested to place most of connectors on 2 edges as it helps to organize desk. Atmel’s at91sam9m10 was given as example cause it has all connectors on top and left edge.

    And time passed… At UDS-M TI people said that there will be cheap OMAP4 based board named PandaBoard. During dinner (later same day) I got added second time to early adopters list. I wonder how Rob Clark reacted when he saw me on a list already :D

    And again time passed… Ubuntu/ARM people were playing with prototypes of PandaBoard (ES1.0, ES2.0 6-layer etc) and I had occasion to play with boards during Ubuntu/Linaro platform sprint in Prague. It looked nice (if you did not looked at ES1.0 one) and was more or less working fine.

    And finally at 15th September I was told that at the end of month there will be production run from which several boards will be shipped to early adopters and few selected projects. Board travelled half of the world, then got back to US and at the end of UDS-N I got it.

    Arrived home, powered BeagleBoard C3 off and started to assemble new board. Panda got several accessories connected:

    • +5V 3.5A power supply
    • powered USB hub
    • small USB keyboard
    • wireless USB mouse
    • 20” LCD monitor with 1680x1050px resolution (this is also connected to my desktop)
    • 320GB Serial-ATA hard drive in SATA->USB enclosure

    Also connected Ethernet, serial (by usb-serial dongle + 2 usb extenders) and used one of floating SD cards to have place for bootloaders and kernel. Config is much nicer then it was when I used BeagleBoard.

    As operating system I am using Ubuntu 11.04 ‘natty’ as this is current development version and I have some things to check under it. Anyway I plan to move backwards and install 10.10 ‘maverick’ as primary system cause this will allow me to test omap4 hardware acceleration of graphics and audio/video decoding.

    What I am using it for? Package building and testing. So far rebuilt whole KDE4 but it was segfaulting all the time on EfikaMX Smartbook so I am waiting for official ones (as there are some things to fix there first).

    Written by Marcin Juszkiewicz on
  6. How to detect PandaBoard version

    Some time ago I got PandaBoard for my personal use. It is EA1 version but then there was a question which I heard countless times:

    Which version of OMAP4430 did you got?

    There are two possible answers: ES2.0 or ES2.1. During my return trip from UDS-N Nicolas Dechesne from TI asked me and instead of answering I just gave him board with “this one” answer. He looked and told “ES2.1” and I did not asked more.

    At home when I got it working I found PandaBoard Revisions wiki page which tells which GPIO lines should be checked. So I wrote simple test:

    for gpio in 171 101 182;
    do
        cat /sys/class/gpio/gpio$gpio/value;
    done
    

    And got “0 1 1” as an answer which according to table from wiki means “750-2152-010 (ES2.1, 8-layer board)-Production board/PandaBoard Rev. A1”. But sticker on mine says “750-2152-001 (D)” which (again according to table) means that I have “(ES2.0, 8-layer board)-Early Adopter Board/PandaBoard Rev. EA1” one.

    So who to believe? After some discussions on #pandaboard irc channel I prefer to trust Måns Rullgård and his skills in OMAP related area. He pointed me to OMAP4430 TRM section 1.5 which describes where version of silicon is written. What left was just one run of devmem2 tool:

    root@localhost:~# devmem2 0x4A002204
    /dev/mem opened.
    Memory mapped at address 0x2aba9000.
    Value at address 0x4A002204 (0x2aba9204): 0x1B85202F
    

    And I got confirmation that I have real ES2.0 board. For those curious: ES2.1 has 0x3B95C02F value.

    Written by Marcin Juszkiewicz on
  7. Efika MX SmartBook hacking day 3

    Today I spent some time on hacking Efika MX Smartbook to be more useful.

    First thing which got fixed was display panel placement — one kernel compilation later I had it working. Kernel is provided in my Efika MX download zone. No warranty etc of course. Sources available on request (or you can fetch them from gitorious repository).

    Then I got rid of initrd — kernel has everything built-in to boot from internal drive so why bother with reading few megabytes on each boot? Here I looked at /boot/ and after few reboots I got into system which does not need initrd to start.

    But editing “/boot/boot.scr” by hand was not what I would call handy. So I checked flash-kernel modifications done by Genesi, cleaned it up and proposed for merge. Resulting package is also provided in download zone.

    What next? Time will show. Maybe will look at USB suspend/resume problem or again at making KDE fly (this needs some rebuilds done first).

    Written by Marcin Juszkiewicz on
  8. UDS-N is ending

    Last day of UDS-N is today. I am tired and decided to skip last sessions slot and summary. It was good event and for me it was far better then previous one. Even with jetlag…

    I attended lot of sessions. Mostly toolchain related ones but some just for fun (like “git for bzr users”) or to add something from me. My session was on Wednesday — a bit too late for people in Europe but even without Wookey it was success. We defined what is do be done for next months and I have all I need to write specification + work items.

    But there are few things which I want to note before I forgot (mostly related to organization):

    • IRC screens on sessions should have local timezone instead of random one
    • all sessions (except private meetings) should have blueprints attached so there will be a possibility to subscribe for them
    • would be nice if blueprint page would have information when and where it will be discussed
    • when session is moved then subscribers should get notification
    • sessions with essential participation should be marked as such on schedule view (and in iCal) — saves time when you have all slots occupied (sometimes even with few sessions at same time)

    Some people will say that I am complaining but week before UDS I had huge amount of sessions subscribed (some as essential) and did few cleaning attempts before and during event to be present at as many as possible.

    But summit is not only sessions — it is also people. I met some Polish people from ARM, Canonical, Ubuntu, had occasion to speak with new people from Linaro’s toolchain working group or from Linaro or Ubuntu. It was good time. And next time I will take small photo camera because at the end of day my cellphone was discharged so not so many photos taken :(

    And I learnt few new things :D How to switch devices connected to hotel wifi by cloning MAC address in laptop or phone, that my x86-64 laptop works quite good as access point (but next time I will rather use WPA instead of open network) and that Skype from time to time decides that microphone which worked does not work anymore. SkypeOut is great thing btw — was the only connection between me and my family.

    So this evening we have a party, tomorrow I have to do something with time and then “24h” trip home (about 18h in real but 6 timezones add some + DST change night). I hope that next week will be jetlag free ;D

    Written by Marcin Juszkiewicz on
Page 47 / 106