The Ben NanoNote from Qi Hardware – Getting the Concept, Getting Online, Getting Updated, Getting Software

Qi Hardware are a relatively new company that’s trying to do what was attempted before: marry open source software and hardware. So what makes the NanoNote different? Well, it’s not as ugly as what you might have seen so far from the OpenMoko guys, and very affordable @ 99$. Also, the ambition is lower: no WiFi, no phone, no networking (other than through USB port), no USB Root HUB. The goal of the guys at Qi is to keep the software open and unlock all the possibilities the current hardware has before adding bits that would require propriety blobs. This could work as soon as enough software is ready. Nevertheless, being online is hard to beat.

…So I got mine in the mail a few days after ordering. Here’s what it looks like:

Ben NanoNote - ping

Ben NanoNote - ping

Despite all the claims of “no wifi support” and “so much more to do before networking” the Ben gets really fun as soon as it goes online, for a few simple reasons:

– There are network tools like nslookup, SSH, FTP, FethMail and friends.

– lynx can get you simple googling

– you can install packages from OpenWrt, which provide some neat options: text-to-speech (flite), music player deamon (mpd), MSN client (tmsnc) … and … drumroll … PYTHON!

Getting your BEN talking to the OpenWrt repositories is a piece of cake. The instructions for just getting the Ben online are in the user manual and on Qi’s Wiki, but I can’t find the link so here they are again:

On a Linux machine connected to the Ben:

# modprobe ip_tables
# echo "1" > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# ifconfig usb0

On the Ben (note the Ben does this automatically with the default image, so this should not be necessary):

# ifconfig usb0
# echo "nameserver" > /etc/resolv.conf
# route add default gateway

And test…

Ben NanoNote - Googling

Ben NanoNote - Googling

Once you’re online, you can update your NanoNote to the latest packages from OpenWrt. This is not as streight forward as one might expect, so here’s the deal:

You need to refresh the package list:

# opkg update

You may then see the pending upgrades:

# opkg list-upgradable

If you wish to go ahead and upgrade the packages, you have to specify to not perform the upgrade with usage of a temporary squash files system. This is a must becuase it will do so by deafult to save space in case of very limited embedded envourments. This will prevent major updates from coming in if they are too big. The NanoNote has 2GB of NAND, so it is not *limited* in that sense. To override this behaviour, which I had to do to get the kernel upgraded, echo “option force_space” into opkg.conf:

# echo "option force_space" >> /etc/opkg.conf

You are now ready to upgrade. Note that …

# opkg upgrade

… does not work without package names, so you can feed it its own output (pretty silly but hey…):

# opkg upgrade `opkg list-upgradable`

Once that’s done, which might take a little while, you can reboot, and once you’ve gotten yourself back online, you can start exploring other goodies this lovely distro has to offer:

# opkg update
# opkg install python

Did I mention Python???

Ben NanoNote - Vs. Notebook

Ben NanoNote - Highly pocketable Linux



Filed under Ben Nanonote

10 responses to “The Ben NanoNote from Qi Hardware – Getting the Concept, Getting Online, Getting Updated, Getting Software

  1. Ernest Kugel

    SSH-ing into the NanoNote is also a breeze: once you’re connected to a Linux machine via USB it just works. You do have to remember to set a root password on the NanoNote before you can login via SSH using # passwd .

  2. Ernest Kugel

    I hear you Ruben, not even findutils in the OpenWRT repos… : (

    I left you a twit about ALSA, does it work in the new image from Qi?

    • As I @ed you at twitter, yes, it works for playback but looks like it won’t record. At least for March26. Try to build/install/get somehow SOX (is available through the make menuconfig from the sources), and then transfer some mp3. Turn on the volume through alsamixer and then in the console play yourmp3.mp3

      This worked, but it is suboptimal (I wrote a small bash script to play an entire directory… geeky 😉

      As I see from the mailing list, the last image has gmu installed, so playing music should be available by default now.

  3. I can’t get it to work on mine. Just reflashed the newest image (the one with the silly GUI), disabled the GUI, tried this, and I’m getting:

    root@BenNanoNote:/# opkg update
    wget: bad address ‘’
    Collected errors:
    * opkg_download: Failed to download, wget returned 1.

    Actually, I don’t really like the OpenWRT on the NanoNote; it’s almost completely braindead. I tried the Debian Squeeze image on it, which was much, much better, but the keyboard doesn’t seem to work (Q, W, E, R, T, and + can’t be typed unless with SSH).

    Is there a way to get a usable Linux setup onto it?

    • Ernest Kugel

      Hi Mark,

      From first glance, it looks like you can’t reach the Qi repos. Can you access other websites? Can you ping Google?

      I haven’t tried the Debian image yet, but I will need those keys you mentioned before I can try. I actually like OpenWRT exactly because its minimalistic – it really makes understanding what’s going on under the hood both easy and worth-while. For sure, OpenWRT is no Debian. Debian runs on submarine robots, OpenWRT is usually found on Linksys routers 🙂

  4. Frédéric BEUDAERT

    I’m waiting for mine…
    Meanwhile I’m back to learn Python again, creating little tools for my future pocket computer.
    Do you know if the Python for the Nanonote support Ncurses ?
    For the time being I began a RPN Ncurses calculator (fits on a 40×29 characters text screen, no mouse support, operators on the F1-F8 softkeys, key mapping so you don’t have to go to NumPad mode)

  5. about Python, did you manage to have Python with SSL support?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s