Ben NanoNote

I've received a Ben NanoNote Nanowar Edition for Christmas, and it is a nice little device.

I'm writing the initial version of this article on the NanoNote itself, just to prove it can be done. :)

First Impressions

Typing Text

The NanoNote is small, and so are its keyboard and screen, but I don't agree with people who say that you can't really write on this kind of device, and this article is the proof.

I am going to need some time to get used to the position of a few keys, but that is to be expected on any such device. My main problems are esc, tab and backspace, which are lower than I expect them, and the small space bar.

As for the screen, rxvt in jlime offers some 50 columns, and while less than a screenful (ansi) they are enough for writing prose, if not code. Of course, creating new text is going to be easier than editing existing files formatted on 80 cols.

I believe that my next test will be to write some short math text in LaTeX, to be compiled at home on a pc with plenty of disk space.

Music Player

I am biased on the geek side, but I believe that the Q.H.B.N.N.T.S.E.N.O.F.P.B.T. could be ready to be used by an average Nanowar fan, as long as he is not a complete gadget newbie.

The gmu music player is quite good; unbloated, but with nice to the point features like the lyrics view.

Hacking

Of course, the Ben is perfect for people who love to hack their devices and use them in unexpected ways.

The fact that everything is documented means that it is also a good platform to learn about hardware hacking in the easy way, and the availability of a few linux distros and other OSes is great for people who is more software oriented.

General Impressions

About 10 years ago I was dreaming a device even more limited than than the NanoNote, able to run a text editor like vi or ed, with a couple of lines of display and a near-eternal battery like the one on a calculator, to be able to write text on the go like I could'n really do with my old cumbersome laptop and its battery that lasted less than my commute.

The NanoNote would fit that need quite well: it's even smaller than I hoped, has a bigger screen, it's able to do a lot more, and while it's battery isn't eternal, spares are easily available and cheap enough than spending a week or so without recharges is feasible.

The problem is that in these years we've been spoiled by technology, and I would now expect such a device to be able to connect to the internet while on-the-go. The next version of the NanoNote will probably solve this by having an usb-host port, but if everybody waited for it instead of buying the ben, it could never be developed.

Tips and Tricks

gmu screen blanking timeout

I haven't been able to change the timeout settings for screen blanking in gmu: every time I've tried to change the SecondsUntilBacklightPowerOff in one of the configuration files it was ignored and overwritten as soon as gmu was launched.

My current workaround is to chmod 444 the file that gmu writes, /sys/class/lcd/gpm940b0-lcd/lcd_power, so that I can go on using other small apps (vim) while I listen to music.

I believe that the problem has been solved in a newer version of gmu, anyway.

Missing backtick (grave) and keymap issues

This has been solved in another release of jlime, but for any other problem the keyboard map is in /etc/muffinman-extra/us_bnn.kmap.

Udev scripts for usb-net

I've adapted a script for openmoko to setup usb-net and forwarding on the host pc.

This is for Arch Linux, but can be adapted for other distributions.

/etc/udev/rules.d/z60_nanonote_net.rules:

ACTION=="add", SUBSYSTEM=="net", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a5a2", RUN+="/etc/rc.d/nanonote-usb-networking"
ACTION=="remove", SUBSYSTEM=="net", INTERFACE="usb0", RUN+="/etc/rc.d/nanonote-usb-networking"

/etc/rc.d/nanonote-usb-networking:

#!/bin/sh

if [ "$ACTION" == "add" ]
then
    ACTION=start
fi

if [ "$ACTION" == "remove" ]
then
    ACTION=stop
fi

INTERFACE=${INTERFACE:-"usb0"}
ACTION=${ACTION:-"$1"}

case "$ACTION" in
    start)
        logger -t nanonote "Connected, setting up network"
        /usr/sbin/iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.3.0/24 -o eth0
        if [ "$(cat /proc/sys/net/ipv4/ip_forward)" = "0" ]; then
                echo "temoprarely allow ip_forward for nanonote" > /var/run/nanonote.ip_forward
                echo 1 > /proc/sys/net/ipv4/ip_forward
        fi
        /sbin/ifconfig $INTERFACE 192.168.3.1 netmask 255.255.255.0
        ;;
    stop)
        logger -t nanonote "Disconnected, bringing down network"
        if [ -f /var/run/nanonote.ip_forward ]; then
                rm /var/run/nanonote.ip_forward
                echo 0 > /proc/sys/net/ipv4/ip_forward
        fi
        /usr/sbin/iptables -t nat -F POSTROUTING
        /sbin/ifconfig $INTERFACE down
        ;;
esac

Date/time from ntp

When removing the battery for a significant period of time, the ben loses the date and reverts to the beginning of Time, so it is useful to sync to an ntp server when connecting to a pc. Right now I've just installed ntpdate, but I plan to write a script that detects the availability of usb-net and launches it.

I don't think that installing a full ntp server is worth the (little) resources used, unless one is also connecting a gps and wants to carry a stratum 0 in his pocket.

Send a comment: unless requested otherwise I may add it, or some extract, to this page.

Return to Top