This post is part 1 of a 3 part series. You may also be interested in: Part 2: N900: first impressions Part 3: N900: a phone for hackers? (coming soon…)
A week ago I was contacted by Lydia of WOMWorld.com/nokia who asked me if I would be interested in receiving an indestructible box. I was told that she found me via my twitter profile and felt it would appeal to my passions. After confirming the email was not spam I replied, intrigued, “yes please” and sent her my address.
Yesterday it arrived. I opened the door to a delivery man who offered me a large cardboard box. Jof had suggested to me that it would likely be an N900 (which I had heard a little about but had not had time to look into) so I was expecting a small package. Surprised I was when the box the man handed me was so large and heavy - 35x35x35cm and 7.5kg!
I took it indoors and opened it, to find a large package, cold to the
touch, wrapped up in brown parcel paper and surrounded by polystyrene
balls. Unwrapping this (and making a hell of a mess with the styrofoam
balls which attempted to mirror the snow outside onto my living room
floor) unveiled a 25x25x25cm black shiny box with a
Nokia logo on top, a hinge and a
small
USB mini-B socket
barely visible on one side. It was obvious that the top would open…
but how? I wanted to attempt to hack it right away, but two things
stopped me: firstly, I should be working; and secondly the box was wet
with condensation from the sudden contrast with the cold outside. I went
back to work. A hour and a half later I got temporarily stumped with a
programming problem and decided to attempt to hack the box. My first
step was to see what happened when I plugged it in to the USB. I booted
into Ubuntu 9.10,
ran dmesg -c
to clear all the kernel messages, plugged it in, waited a
few seconds, and ran dmesg
again to see just the new logs:
[ 314.544034] usb 6-2: new full speed USB device using uhci_hcd and address 2
[ 314.747104] usb 6-2: configuration #1 chosen from 1 choice
[ 314.811722] usbcore: registered new interface driver usbserial
[ 314.811734] USB Serial support registered for generic
[ 314.811764] usbcore: registered new interface driver usbserial_generic
[ 314.811766] usbserial: USB Serial Driver core
[ 314.823161] USB Serial support registered for FTDI USB Serial Device
[ 314.823263] ftdi_sio 6-2:1.0: FTDI USB Serial Device converter detected
[ 314.823283] usb 6-2: Detected FT232RL
[ 314.823285] usb 6-2: Number of endpoints 2
[ 314.823287] usb 6-2: Endpoint 1 MaxPacketSize 64
[ 314.823289] usb 6-2: Endpoint 2 MaxPacketSize 64
[ 314.823291] usb 6-2: Setting MaxPacketSize 64
[ 314.825064] usb 6-2: FTDI USB Serial Device converter now attached to ttyUSB0
[ 314.825077] usbcore: registered new interface driver ftdi_sio
[ 314.825079] ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver
I spotted the /dev/ttyUSB0
and instantly thought “minicom
.” It took
me a while to refamiliarise myself with the program and get it to
connect, but soon I had fiddled with the speed settings (reduced it to
just 9600baud from 115200) and was greeted the following output on my
screen:
_ _ ___ _ _____ _
| \ | |/ _ \| |/ /_ _| / \
| \| | | | | ' / | | / _ \
| |\ | |_| | . \ | | / ___ \
|_| \_|\___/|_|\_\___/_/ \_\
*******************************
W3lc0m3 t0 n0k14 h4x0rb0x!
*******************************
? - displays help dialog
$-nokia h4x0rb0x->
Unfortunately I could not type into minicom. I experimented with the speed and parity settings some more (as they had helped before) but no use. Finally I disabled hardware flow control and voilà I could type. Then it was simply a case of typing “?” to find out what commands were available:
$-nokia h4x0rb0x-> ?
Available commands:
? - prints this help dialog
connecting <argument> - opens box
$-nokia h4x0rb0x->
And guessing what the argument to the nokia connecting command was…
$-nokia h4x0rb0x-> connecting people
Initiation complete.
Start Connecting.
$-nokia h4x0rb0x->
Hardly a challenge! A nice clichéd progress bar appeared for a few seconds and then *click* the lid popped open a little. I opened it fully and was pleased to see that they had even included dry ice to maximise theatrics, with the N900 packed safely waiting to be admired.
They really put a lot of thought into this! I delved deeper and here are all of my winnings: That’s: an N900 with accessories plus a butane soldering iron, sports band, cake, and a little fox figurine. The box itself was powered by a Roboduino Nano (which I intend to repurpose later… not sure what as yet) hooked up to a solenoid:
UPDATE: Techcrunch have a video of the opening - check it out!
Continue reading: Part 2: N900: first impressions Part 3: N900: a phone for hackers? (coming soon…)