A Look at the Ben NanoNote
The Ben NanoNote uses the OpenWrt Linux distribution, which is used for embedded Linux devices. Prior to using it on the Ben NanoNote, my only exposure to this distro had been on wireless routers.
Unlike my experience with OpenWrt on routers, the Ben NanoNote version comes with a desktop of sorts. The desktop is Gmenu2X, and by default, it has two sections: applications and settings. You can switch between sections using the q and p keys. Navigate within a section by using the direction pad, and to launch a selected application icon, use the x key. The Enter key is configured to launch the GMenu2X configuration program for some unknown reason.
The selection of desktop applications included in the default firmware is sparse in the extreme. There is a clock, the GMU music player, the StarDict dictionary and a file browser called Explorer.
The GMU music player, according to its home page, is capable of playing a wide variety of sound files, but only with the proper supporting libraries, several of which are not available in the Ben NanoNote default firmware. As it ships, GMU on the Ben NanoNote can play Ogg Vorbis, Muse, MikMod and WavPack files. Most of my music is encoded in FLAC or MP3 format, so any ideas I may have had to use the Ben NanoNote as a scriptable music player are on hold.
After playing around with GMU for a bit, just to confirm that it worked with my .ogg files (it did), and after trying out the other desktop apps, I decided the Ben NanoNote's graphical interface wasn't for me. It just isn't very useful. To be fair, the graphical interface is there more as an example than anything else. But, I was more interested in the command line anyway.
To switch to a console from the desktop, press Ctrl-Alt-F1, and then press Enter to activate the console. The Ben NanoNote actually gives you four virtual consoles, and you can substitute F2, F3 or F4 for F1 in the above command.
To get back to graphical mode from the command line, press Alt-F5. To switch between virtual consoles, press Alt and the console to which you want to switch (F1–F4). If the virtual console you switch to says “Please wait while graphical environment is loading...” or some other text, just press Enter to activate it.
As mentioned previously, the Ben NanoNote's console size is 40x15 (40 characters wide, 15 lines tall). For the next NanoNote, I hope this is increased at least to 80x24.
Like many embedded Linux environments, the OpenWrt command line is based on BusyBox. Instead of sticking just with BusyBox, the Ben NanoNote version of OpenWrt also includes several useful programs to supplement it. For example, Vim 7.1 is included. It's a stripped-down version (for example, no syntax highlighting is available), but it's still better than the vi clone built into BusyBox.
The Qi Hardware Wiki (see Resources) provides a list of some of the command-line applications included with the Ben NanoNote, such as Python, GPG, Vim and Mutt.
As I mentioned earlier when talking about the keyboard, the layout works fairly well when using the console. It's far from ideal, but it does work. After some practice, I could type at a slow but steady rate without a lot of hunting and pecking for the next key.
Many, if not most, portable devices come with some variant of 802.11 wireless networking these days. So, I was a little surprised when I learned the Ben NanoNote's only way of connecting to the Internet was through its USB port, which, when connected to a host computer, does not show up as a mass storage device but instead as a USB Ethernet device.
Unless you already have an Ethernet-over-USB adapter plugged in to your system, the NanoNote interface likely will show up as usb0. A list of all network interfaces your computer knows about can be viewed using the ifconfig command, like so:
ifconfig -a -s
To activate the Ethernet interface, an IP address needs to be assigned. I did this with the ifconfig command:
ifconfig usb0 192.168.254.100
I chose the above address because the NanoNote comes out of the box with the USB Ethernet configured with an IP address of 192.168.254.101. SSH starts automatically when the NanoNote boots, so as soon as the network was configured on my desktop, I was able to ssh to the NanoNote as root (change the root password on the NanoNote if you don't know it). You also can copy files to and from the NanoNote using scp.
While using the Ben NanoNote during the past couple weeks, the one question in the back of my mind has been: what exactly is the Ben NanoNote good for? The short answer I arrived at is: I don't know.
On the surface, the Ben NanoNote can do many things, but it is nowhere near the best or even particularly good at any single one of them. In particular, without a wireless Internet connection, it can't be used conveniently for e-mail, Web searching, posting blog updates or anything else that small, Internet-connected devices are good at. It can be used for those things, but only within 15 feet of a computer (the maximum length of a USB cable). So in my mind, I might as well use the computer.
I could use it as a portable electronic journal, but like my cell phone, typing on the Ben NanoNote is slow. If I really want to record my thoughts throughout the day, I would rather use a small paper notepad and pen.
So is the Ben NanoNote a useless gadget? Not at all. The thing that attracted me to the Ben NanoNote, and that still fascinates me, is that in a size I wouldn't have dreamed possible only a few years ago, I have a “real” computer complete with a screen and a keyboard.
Real, of course, depends on a particular definition of the term. For me, it means a computer with a usable command line, SSH and Vim, and the ability to install new software and to run shell scripts.
Although I still haven't decided what I ultimately want to do with my Ben NanoNote, I have thought of some tasks I might consider for it. One idea is to use it as a monitoring device for my home server with the internal speaker playing an alert if some preset condition is not met.
Another idea is to use it as an ultra-secure GPG encryption device. It's practically impossible to break into something over the network when the device you are trying to break into is not even connected to the network, so the Ben NanoNote satisfies my tinfoil-hat tendencies. I would have to be careful never to connect it to a computer, because anything connected directly to the Internet is, or potentially could be, compromised. But, with USB power adapters and the microSDHC slot (for getting files on and off the device), this shouldn't be too hard. I also would have to be careful to secure the device physically, but it's small enough that it should fit into almost any safe.
Those are just two uses, and others are rolling around in the back of my head. Some ideas have been discussed on the Qi Hardware Wiki or talked about on the mailing list, but I'm sure many uses have not been thought of yet.
The Ben NanoNote is not a device for passive consumers. It's for developers, hackers and tinkerers. Why? Because the biggest thing the Ben NanoNote provides is freedom—total freedom to do whatever you want. There aren't any EULAs, encrypted and/or signed firmware images, or other artificial locks standing in your way with the Ben NanoNote. Play with it, hack it, break it, fix it, discover new uses, rinse, repeat. The Ben NanoNote has a limited set of abilities, true, but like the rules for haiku, it's what you do within, or in spite of, the limitations that makes the difference.
Webinar: 8 Signs You’re Beyond Cron
11am CDT, April 29th
Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.Join us!
- Not So Dynamic Updates
- New Products
- Users, Permissions and Multitenant Sites
- Security in Three Ds: Detect, Decide and Deny
- Flexible Access Control with Squid Proxy
- Tighten Up SSH
- Solving ODEs on Linux
- Non-Linux FOSS: MenuMeters
- DevOps: Everything You Need to Know
- diff -u: What's New in Kernel Development