1. VoIP at home

    Yesterday I received package with old device: T-Com Speedport W500V. It is ADSL modem with router, WiFi accesspoint and VoIP bridge functionality. Internally it is just standard set for such equipment: MIPS SoC from Broadcom, 16MB of RAM, 4MB of Flash storage.

    After connecting it to my laptop I disabled most of functions (DSL, AP, DHCP/DNS/HTTP Proxy daemons etc) and tested VoIP calls (with Tlenofon as provider). It worked without any extra configuring — I think that this is due to BitSwitcher firmware which was installed instead of original one.

    Today I disabled LAN port, configured WiFi to work as a client and moved W500V with analog wireless phone to shelf in corridor. What people see is just base for phone — rest is hidden in wall cupboard and operate over WiFi.

    W500V
    W500V

    And this is how yet another Linux box got added to my collection… But this one got something to do on first day ;)

    Written by Marcin Juszkiewicz on
  2. OEDEM 2009

    This year OEDEM will take place in Cambridge, UK during second weekend of November (7-8th). People who wants to arrive there are requested to inform Phil Blundell by mail.

    We did not decided on agenda yet but we are at gathering ideas now.

    And if you want to join me I will fly from Berlin Schönefeld airport on Friday 6th November by Ryanair to London Stansted and then by train.

    Written by Marcin Juszkiewicz on
  3. ELC Europe 2009

    In October there will be Embedded Linux Conference Europe in Grenoble, France. And this year I will talk there.

    It will be “Hacking with OpenEmbedded” presentation in which I plan to cover some non-standard uses of OpenEmbedded build system. Also I was invited to take part of ST-Ericsson workshop where I will present Poky Linux and Ångström on ST Nomadik based NHK15 developer board.

    If you want to meet me there I will arrive at Thursday evening and leave on Saturday’s morning. Traveling Szczecin -> Berlin -> Amsterdam -> Lyon -> Grenoble (same way back) will take most of those days…

    Written by Marcin Juszkiewicz on
  4. NHK15 arrived

    Some time ago Andrea Gallo from ST-Ericsson called me and proposed participation in their workshop during ELC Europe. It will be about NHK15 developer board which is based on STn8815 cpu (arm926 core + dsp). I will present Poky Linux and OpenEmbedded based environments on it.

    Few days later board arrived at home in a big carton box filled with stuff.

    Box contents
    Box contents
    All accessories
    All accessories

    As it is shown on picture above package contains everything needed to use board. From top-left:

    • tv out cable
    • board
    • debug board (serial + ethernet)
    • miniUSB cable
    • speakers + battery cable + wifi antenna
    • ribbon cables to connect debug board
    • PSU (5V)
    • UK/EU/US power plugs
    • headset
    • serial cable

    By default board comes without operating system flashed. The only thing available is test picture which can be used to test does device works at all:

    Test picture
    Test picture

    NHK15 offers many connectors:

    • audio in/out
    • SD/MMC slot
    • battery connector (cable included, battery not)
    • speakers (separated left/right — both are included)
    • WiFi antenna (board uses same chip as Nokia tablets)
    • FM antenna
    • TV out (cable included)
    • miniAB USB device/host port
    • camera (daughterboard with image sensor included)
    • debug board (which provides serial + Ethernet ports)
    • ETM/Nexus ports
    • SIM socket

    There is 128MB of memory and 128MB NAND + 256MB OneNAND for storage. Connection with world can be done over serial, Ethernet, WiFi or Bluetooth. Screen has WVGA resolution and touchscreen attached.

    Bottom side of board
    Bottom side of board

    Now I have Linux running on it but plan to switch to Poky Linux (supported) and OpenEmbedded based systems (Ångström for start) soon.

    Written by Marcin Juszkiewicz on
  5. Defining good Contacts application

    What defines good Contacts application? Some will say that it depends on device which runs it, but I think that it is not true.

    I am using Nokia E66 phone. It is running Symbian S60 3rd Edition FP1 (what ever it means). As a phone it has phone book called “Contacts”. Simple application which allows to have unlimited amount of entries with quite big set of possible fields. But phone also has GPS unit and is able to connect to Internet via WiFi, Bluetooth and GSM. Why I mention it? Because default address book ignore those elements…

    So what should good Contacts application do? Except standard fields like phone numbers, SIP “numbers”, email addresses, web addresses, home/work addresses, birthdays, anniversaries, pictures, notes… I think that things like GPS coordinates for each address would be nice — add “Drive/Walk to” functionality and you get phone which can really be named “Navigator” (IIRC there was PalmOS powered PDA with that function).

    Next thing which would be nice (especially with flat rate for GPRS) would be integration of IM communicator. Why I have to launch separate application to check who from my friends is available on Jabber, Skype, ICQ, GaduGadu, AIM, MSN etc. Why not have device auto login into those networks to check who from entries in address book is available to chat/talk with. And then let me choose do I want to make GSM call or Skype, SIP or other VoIP call. This will also remove situation which is present in most multi-protocol communicators: few entries for one person just because it use 7 accounts on 5 protocols. And let integrate all chats in one application with SMS/MMS stuff — this is done on Palm Pre according to their promotion videos.

    And all those things should sync with external servers of course. So if I have Facebook account then let it fetch my connections from there and merge into address book — this is done on Palm Pre already. But let it be also second way (if user choose to) — so phone will check who from my contacts have a Facebook account and send join request.

    Next thing: groups… Symbian has groups support and this is working, user can even define conferences numbers for groups and few other things. Next step should be linking contacts — you know: wife, kids, secretary, co-worker who do your job when you are on vacations… PalmOS Agendus had something like that, Symbian has only imitation (it is possible to enter person name but thats all).

    Will there be such application? Maybe one day…

    Written by Marcin Juszkiewicz on
  6. Hacking UI for small resolutions

    One of devices which I have on desk is BUG on which we are using Connection Manager (connman) to manage Ethernet/WiFi connections. It works nice but there are problems with connman-gnome (small application which shows information from connman).

    The problem is that we have QVGA resolution screen and UI for connman-gnome expects at least VGA. The result is not nice:

    Original look
    Original look

    The main part of screen is occupied by list of network interfaces and nothing more can be seen.

    I lack GTK+ skills to rewrite application to have more sane UI but decided to try anyway. Dropped most of spacings, icons were removed (there is ‘Connected/Not Connected’ text for each interface), changed width of widgets and application is more usable now:

    New look
    New look

    Some spacing should be added in few places but other then that it looks better then it was before.

    Written by Marcin Juszkiewicz on
  7. 2.6.30 on AT91 board from Atmel

    Recently I got my AT91SAM9263-EK board back (it was not booting due to problem with backup battery) and decided to upgrade it to 2.6.30 Linux kernel.

    But I got problem which was UBI subsystem not able to initialize. This looked strange but after checking what is going on I found reason. Before I was using 2.6.28-at91-exp kernel build with OpenEmbedded and at91-exp patch added “Bootstrap” flash partition so I had three of them in NAND and just two under 2.6.30 release. Changing “bootargs” in U-Boot solved problem.

    I also enabled several things in kernel:

    • I²c with eeprom support
    • suspend
    • backlight
    • keyboard (which is just two keys: “left button” and “right button”)
    • leds (all 3 of them)

    To get sound working I updated linux-2.6.28-exp.patch to newer version and also removed most of code from it (which supported newer boards). I did not yet tested too much how resulting kernel works but at least it boots properly and supports most of components.

    Other AT91 boards should work fine with 2.6.30 but I lack access to hardware so no plans for update currently.

    Written by Marcin Juszkiewicz on
  8. Embedded package managers sucks

    Years ago someone wrote IPKG in pure shell. It can be still found in some distributions. Then it was rewritten into C and this version we used in OpenEmbedded derived systems. It had some bugs, we patched some of them, from time to time there was even upstream development done for it.

    Then Openmoko arrived and forked IPKG — new project got OPKG name. It was written by OpenedHand and Openmoko developers. Their main goals were:

    • callbacks for GUI package managers
    • GPG signed repositories
    • fixing bugs

    Many things got changed, OE patches got merged, new bugs was added. Those who use CLI version of opkg (so far the only usable client) lost some functionalities — for example there is no progress bar when packages are fetched.

    For last few months OPKG is in unmaintained mode again and I think that this is some kind of curse on embedded market package managers.

    Some time ago I discovered that when many (>50) packages needs to be upgraded then opkg segfaults during process and this is not a matter of going out of RAM as I have ~400MB free. Today it did not gave value of PATH for post install scripts… I wonder what else can be found ;(

    What are other options? So far I know two — dpkg + apt or rpm + yum. First one costs few megabytes of space, second one require also Python so it is not acceptable for most of our targets. Both also require rebuilding of everything :(

    Written by Marcin Juszkiewicz on
Page 57 / 106