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:
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 192.168.254.100
On the Ben (note the Ben does this automatically with the default image, so this should not be necessary):
# ifconfig usb0 192.168.254.101 # echo "nameserver 126.96.36.199" > /etc/resolv.conf # route add default gateway 192.168.254.100
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???