Nokia N810 FAQ

See also my N810 Blog





How can I get root ?
There are several alternatives:
  1. Install ssh-server; enable root logins and set a password. Then ssh to localhost and login as root.
  2. Download the "getroot" application and run it. This patches gainroot to work in normal (non-R&D) mode. Then type "sudo gainroot" as above.
  3. Use the Flasher tool to enable R&D mode. The flasher is available from Nokia A4678158. Then in an xterm window, type "sudo gainroot".
    Note: R&D mode is not intended for protracted use. It disables battery checking so that a lab power supply can be used. (I believe a check of battery temperature using the 3rd battery terminal - this may be a safety issue, since Li-ion batteries can catch fire).

How can I update the operating system ?
First, use the backup application to make a backup of your files from the "internal disk" (the flash memory with MyDocs) to the "Internal memory card" or "Removable memory" (SD card). Or use SSH, Rsync etc. to backup files to a PC. Flashing a new operating system will completely wipe the system memory.
Then, install the flasher on a PC from Nokia A4678158. There is a version for Windows and one for Linux. Download a new system package from, then follow the instructions to reflash the operating system using the USB cable. Make sure the device is well charged first

From Diablo on, software updates are performed piecemeal over the Internet. There is normally no need to re-flash the device.

How can I enable USB host mode ?
The USB port on the tablet is normally set to "peripheral mode" - it looks like a memory device when connected to a PC. If the tablet is set to "host mode", it can act as a USB master (like a PC) and access USB devices such as memory sticks. There are a few alternatives:

  1. Install the "usbcontrol" package
  2. Use a special USB cable
  3. Write to /sys/devices/platform/musb_hdrc/mode; e.g.
    echo XXX > /sys/devices/platform/musb_hdrc/mode where XXX is one of
    • host - host (master) mode
    • otg - autosense mode
    • peripheral - peripheral (slave) mode
You will usually need a Female-Female USB adaptor, available for about $10, to connect the supplied cable to a USB device. Small devices such as memory sticks are usually powered through the USB cable. The tablet has a limited current capability and can typically only power small memory sticks. To connect a bigger device such as an SD card adaptor, disk drive etc. you will need a powered USB hub.

How can I disable the shift status display ?
In the xterm command line utility, there is a large chunk of screen used to show the state of capslock and function lock. To regain this area to use it for a terminal, press "shift" "spacebar".

How can I access the tablet over WiFi from a PC ?
Install "ssh-server", optionally "rsync". Use SSH/SCP/SFTP/Rsync to login to the tablet and transfer files. SSH is included with most Linux distributions and Mac; several implementations for Windows are listed on, such as PuTTy.

How can I write my own applications ?
Install scratchbox as per the instructions. Use the ARMEL target. Make sure you have the correct version for your tablet. Once you have the scratchbox environment running, you can do "./configure; make install" for many open-source packages, then copy the binaries across to the tablet with scp.
See also maemo_4-0_tutorial for code examples.

Is there Java available for the N810 ?
Yes. See It does not yet (Apr 2008) have a full J2ME (Java Mobile Edition), so Java applications written for cellphones may not work.

Where can I find my files ?
The filesystem seen from the command line in xterm or via SSH is slightly different from that seen from the desktop file manager. Images etc. are in "hidden" directories (starting with a dot). You need "ls -a" to make these show up.
Removable memory/media/mmc1
Internal memory card/media/mmc2
Audio Clips/home/user/MyDocs/.sounds
Video Clips/home/user/MyDocs/.videos

Help, my disk is full!
The "system disk" "/" is only 256Mb, so can get filled up quite easily. Suggestions:

  • Clean out cached packages from /var/cache/apt/archives/. You don't need these - at least, not on the system disk. Move them to an SD card or to a PC.
  • Remove big MP3s, videos etc. from MyDocs and put them on an SD card or internal memory instead.
  • Uninstall unused software packages. If you place the .deb files on an SD card, it is easy to reinstall them when needed with "dpkg -i".
The "/" partition is jffs2 (journalling Flash filesystem), and I'm told it is compressed.
Another suggestion from vinc17:
# mkdir -p /media/mmc3/var/cache/apt
# mv /var/cache/apt/archives /media/mmc3/var/cache/apt/
# ln -s /media/mmc3/var/cache/apt/archives /var/cache/apt/
This requires a Linux partition on the SD card, not the default VFAT one.

How can I show my IP address ?
Install "iphome" (desktop applet), or "wifiinfo" (shows WiFi signal strength, too). Or use /sbin/ifconfig wlan0 in xterm.

How can I right-click in the web browser ?
You can't. But if you hold the stylus over a link for a few seconds, the Firefox right-click menu will appear.

Why won't software copied from my PC work on the tablet ?
Several reasons:

  • The tablet runs Linux, not Windows. .EXE files will not work.
  • The tablet has an ARM processor, not x86. Programs compiled for Intel or AMD CPUs will not run. Most desktops are Intel-compatible.
  • You may be missing libraries.

Help! None of the keys work and I can't turn it off.
Remove the back cover, remove the battery, wait a few seconds then replace it.

How can I remap the keyboard ?
Edit /usr/share/X11/xkb/symbols/nokia_vndr/rx-44 as per The Pipe Character by ArnimS on internettablettalk:

 key <AB07> { [ m,          M,        Escape,  Escape   ]  };
 key <AC10> { [ semicolon,  colon,    bar,     bar      ]  };
 key <AE12> { [ plus,       equal,    Tab,     Tab      ]  };
 key <AC11> { [ apostrophe, question, grave,   grave    ]  };
You need to reboot, or at least restart X, for this to take effect.
Note: if you make a syntax error you may not be able to type anything. Keep a backup copy, and have a working sshd so you can login and fix it.

Or, as per "normal" desktop Linux: Install "xmodmap". Run "xev" to find the keycodes for keys you wish to reassign, then create a map file (e.g. /etc/X11/Xmodmap) to assign the new codes. E.g.

keycode 58 = m M Escape Escape Escape
keycode 47 = semicolon colon bar bar bar
keycode 21 = plus equal Tab Tab Tab
keycode 48 = apostrophe question grave grave grave
which uses "Fn-;" to generate "|" (Unix pipe) instead of the UK currency symbol etc. Then run "xmodmap /etc/X11/Xmodmap" to read the map. Ideally, this could be done from /home/user/.profile, but when I tried this locked the tablet in an endless reboot cycle. My desktop reads /etc/X11/Xmodmap on boot, then ~/.xmodmap for each user.

How can I set preferences in the browser ?
Many of the user preferences in Firefox appear to be missing in the tablet edition, such as "warn when leaving a secure page". However, typing "about:config" into the location box will bring up the config editor (as it does in the desktop edition), and various settings may be changed. (Note that HTTP proxy settings may be found in the system "connectivity settings" under "advanced", in addition to the manual and autoconfig URL settings in the browser)
See also Microb Tweaks in the Wiki

How can I show saved passwords in the browser ?
Saved passwords appear to be encrypted in /home/user/.mozilla/microb/passwords.s. It's probably fairly simple to decrypt them but I can't see it. However, the Firefox Asterisk Revealer bookmarklet will show saved passwords when they are used in an HTML form - i.e. you navigate to the page, wait till the password is autofilled (shows as asterisks), then run the bookmarklet. It will not show "basic auth" (or MD5) HTTP passwords.

Asterisk Revealer:
javascript:(function(){var%20s,F,j,f,i;s="";F=document.forms; for(j=0;j<F.length;++j){ f=F[j];for(i=0;i<f.length;++i){ if(f[i].type.toLowerCase()=="password")s+=f[i].value+"\n";}} if(s)alert("Passwords%20in%20forms%20on%20this%20page:\n\n"+s); else%20alert("There%20are%20no%20passwords%20in%20forms%20on%20this%20page.");})();

That didn't work for some reason on the Twitter login, but this more general one did:
javascript:(function(){var%20s,F,j,f,i;F=document.forms; for(j=0;j<F.length;++j){f=F[j]; for(i=0;i<f.length;++i){s+=f[i].name+":%20"+f[i].value+"\n";}} if(F.length)alert("Values%20in%20forms%20on%20this%20page:\n\n"+s); else%20alert("There%20are%20no%20forms%20on%20this%20page.");})();
To use these, add a bookmark, and in the dialog form enter the above script in the URL box.

Why won't "ping" work ?
On a desktop system, /bin/ping has the setuid bit set so that it can access the network directly. On the tablet, ping is a soft link to busybox, which is not setuid. Hence only root can run "ping". Busybox takes up much less space than having separate applications for everything. However, apart from not being able to suid particular commands, it often has less advanced options than the equivalent standalone command. It is often possible to build and install the full-fledged utilities such as "diff" if desired.

What happened to the documentation ?
When you install a package, any documentation such as /doc/ or /man/ (manpages) is automatically stripped out to save space, though the package still lists it.

Where can I find a description of commands like "ls", "diff" ?
On the Web. Search for "diff manpage" etc., or "Unix for Dummies/Windows Users". Note that many commands are actually implemented by busybox and are missing some options compared to the "full size" ones.

Where can I find software for the N810 ?
Various places. There are bookmarks preloaded into the browser, or try e.g.

How do I install software ?
The easy way: Run the (Hildon) Application Manager on the desktop (under "Settings"), browse installable applications, find what you want, and install it.

The just-as-easy way: Click the "Install Now" button on a software website. This should launch the application manager and let you install the package.

The hard way: Become root. Add the repository where the software is located to /etc/apt/sources.list or to a list in /etc/apt/sources.list.d/. Type "apt-get install xxxx". This is actually the easy way if you are already logged on to the tablet as root through SSH.

The harder way: Download a .deb package from somewhere using the browser, or with wget, or scp it across from your desktop. Then install it with "dpkg -i xxxx".

Can I log on to a Windows machine ?
Yes. Install "rdesktop".

Are there any forums or mailing lists ?
Yes. E.g., maemo mailing lists, (archives), Nokia Support, Google groups (WiMAX)

Why doesn't the GPS start when I run gpscamera or Maemo Mapper ?
The GPS chip is normally turned off to save power (make the battery last longer). Not all programs know how to turn it on. See e.g. the Maemo Connectivity Guide, gpsbt API
The easy way: run Nokia Maps and minimize it, then run the other application.
The easier way (Maemo Mapper): as per this post by Duncan, in the Maemo Mapper "settings" dialog select 'Bluetooth' for the GPS but leave the edit field empty. (it's not obvious to me why this should work .. I presume that the tablet will respond to Bluetooth requests for GPS and start up gpsd/power on the chip, including requests from itself)
The hard way: patch your program to call gpsbt_start(). See e.g. "demo" (from above Connectivity Guide) at N810/gpstest

How the GPS system works:
(On an N810 purchased in February 2008, running OS2008, as deduced from running "ps", "strace" etc.)
The boot sequence starts "gpsdriver", which creates /dev/pgps and talks to the chip (TI GPS5300) on /dev/ttyS0. It reads a proprietary binary format from the chip and appears to write NMEA to /dev/pgps. It saves almanac data in /var/lib/gps/nvd_data which allows for a faster restart.
If you stop gpsdriver, then restart in the foreground, you can see its messages when the chip is turned on/off
# /etc/init.d/gpsdriver stop
# gpsdriver
Nokia Map (navicore) starts navicore-gpsd-helper and gpsd. navicore-gpsd-helper tells gpsdriver to power up the chip. It also writes /var/lib/gps/gps_last_saved_report when it quits.
gpsd reads NMEA from /dev/pgps and listens on localhost:2947 for requests for position data
gpsd runs for as long as there are any clients, then it stops. navicore and maemo-mapper (and generally any location consumer) read data from localhost:2947. maemo-mapper 2.4.1 does not start gpsd itself.
The demo program both starts and stops the GPS chip via calls to gpsbt_stop(), gpsbt_start(). navicore-gpsd-helper starts the chip, but does not stop it. If there are no clients it will time out (30 seconds at least) and turn off, but I believe if there is a client (i.e. gpsd) it will stay on. If the chip is still on a client will get a fix quite rapidly.
Why so complicated ? The chip format is proprietary and only one client can connect to a serial line at one time, while gpsd is an open standard and supports multiple clients...

How can I get a faster fix with the GPS ?
Official Nokia advice: position the tablet on the stand so it is roughly vertical.
Other suggestions:

  • Make sure the tablet clock is set correctly (see hwclock). More importantly, don't keep changing it - if it is different from what it was when the almanac was saved, a fix will take longer. The system clock is set from the hardware clock on boot, but is not normally written back to the hardware clock on shutdown if it is changed by e.g. ntpdate, so will revert on reboot.
  • Keep the almanac up to date by occasionally starting the GPS and getting a fix.
  • Go to a location with a good view of the sky in all directions. Try to get outside and away from trees, tall buildings etc.
  • Point the tablet to the south.
  • Delete /var/lib/gps/nvd_data (requires root). If it is corrupt, it may prevent the GPS from acquiring lock if it "knows" it is somewhere significantly different in spacetime from where it really is.

See A-GPS Beta for Nokia N810

  • Install supl-daemon and agps-ui.
  • Reboot, or do /etc/init.d/supllistenerd start.
  • Use A-GPS to set your approximate location if you have moved significantly since last using the GPS, e.g. after a plane trip. You may also use it to allow the tablet to download location data via a cellphone. I believe that almanac data is downloaded from if it is out-of-date.
These are still beta releases; I think it jammed up on me one time but a reboot fixed it. If enabled, the daemon makes a cellphone connection if required, even if "connect automatically phone" is not set.

Why does GPS take so long when my FM radio starts instantly ?
FM broadcast transmitters are close and powerful. GPS transmitters are far away and relatively feeble. One way to improve the sigal-to-noise ratio is to listen on a really narrow band, which will let in only a small amount of noise. But the satellites are moving quite fast, and their signal is subject to Doppler shift. It's as if you are listening for a "C" on a piano recording, but it's being played on a car stereo heading up the street and sounds like a "B". If you don't know how fast the car is moving, you have to listen to "A" through "F". If you know the speed, you can work out the doppler shift and just listen for a "B", and hear less traffic noise. With GPS, once you have got a good signal and downloaded the almanac, you know how fast they are moving and can listen on a narrower band, meaning that you can tolerate a weaker signal and can maybe go indoors for a bit or put the tablet in your pocket. You need a signal from several satellites to get a position fix - you know how far away each satellite is, because the signal is timestamped and you know the speed of light, but you don't know the direction as the antenna is onmidirectional. Once it has downloaded the almanac/ephemeris data from a strong satellite signal (maybe overhead), the GPS will be able to retune the receivers to listen for other weaker signals (maybe close to the horizon and further away). Once it has locked on to enough signals, then you will get a fix.

How can I tell if A-GPS is working ?
If, when you start the GPS, it immediately shows 5 or more satellites in view, then the assisted GPS system is working.

How accurately do I need to set my location in AGPS-ui ?
About 300km/185 miles. once you get a fix, supldaemon will use your last fix position next time it needs assistance data.

Can I connect a Bluetooth keyboard ?
Yes. Tap the Bluetooth icon, select "new device", push the pairing key on the keyboard. When the tablet shows a PIN to enter, tap "OK" then key in the code on the BT keyboard and press Enter. Works for me on a Logitech DiNovo. Also, after trying for about an hour, on a Ubiquio Skype-enabled folding keyboard in HID mode. (The Skype functions need a special driver on Windows Mobile, but the regular keys work OK). Note that a keyboard should show as a keyboard icon, not a generic device. There is a setting on the control panel to select generic or Nokia keyboard, and choose alternate layouts. I have only tried USA.
See also: N800_Bluetooth_Keyboard_Guide, kbdd (userspace driver for SPP keyboards)

How can I speed up a Bluetooth keyboard ?
Some people report that a BT keyboard is a bit sluggish. One speed-up trick is to disable the look-ahead dictionary (in Settings/Control Panel). On my tablet with Diablo the dictionary does not appear when I use the BT keyboard, though it does with the slide-out keyboard.

Can I connect a Bluetooth headset ?
Yes. Tap the Bluetooth icon, select "new device", push the pairing key on the headset. Probably uses PIN 0000, or as per the headset documentation. I was a bit disappointed with the maximum volume attainable; with all controls maxed out it still could not compete with traffic noise.

Can I connect a monitor/projector ?
Maybe. There are devices to convert from USB to VGA; then you need software. E.g. xsisusb

Is the plastic stand good for anything ?
Well, you could drill holes in your car dashboard. Or ... [photo]

How can you set the hardware clock ?
(Is there an equivalent to "hwclock" ?)
/mnt/initfs/usr/bin/retutime --rtc-from-system
to set the clock and
/mnt/initfs/usr/bin/retutime --get-time
to read the hardware clock.
See N800 - Setting the Hardware Clock by cdmackay on

Can you use alternate filesystems on the SD cards ?
Yes. The kernel supports (at least) ext2, ext3, and jffs2. You can reformat the SD cards to ext2 or ext3; then you can set ownership, suid bits, and make symbolic links across filesystems. You lose the ability to mount the SD cards from Windows over USB, but you can still mount them from Linux. jffs2 used for the root partition cannot be used since the SD card is a SCSI emulation and jffs2 requires a direct interface.

I bought an SD card but it won't fit !
The N810 takes a mini-SD, not an SD. The manual is for both N800 and N810, and the N800 takes full-size cards. Don't force it, you'll break something. I had to return an SD card and got a 2Gb micro-SD card with an adapter.

Network over USB ?
Try Setting up the USB networking (Maemo development). I've not tried this myself.

Network over Bluetooth ?
Install bluez-utils-test (from extras repository).
On a Bluetooth capable Linux PC:

# pand --listen --role GN
# pand -l
bnep0 xx:xx:xx:xx:xx:xx GN
# ifconfig bnep0
on my Fedora Core 9 system
- set /etc/sysconfig/pand to "PANDARGS='--listen --role GN'"
# service bluetooth stop
# service pand start
On the tablet:
# pand --connect xx:xx:xx:xx:xx:xx
# pand -l
bnep0 yy:yy:yy:yy:yy:yy PANU
# ifconfig bnep0
$ rsync -av whatever user@
xx:xx... is the MAC address of the Bluetooth interface on the PC. are arbitrary private addresses in a different netblock from the WiFi ones. Now scp/ssh/rsync/wget etc. will work in either direction across Bluetooth, so you can ssh from a laptop to the tablet when there's no access point.

What is the funny sqare pattern under the battery ?
It is a Datamatrix 2-D barcode; see e.g. The one on the N810 contains the WiFi and Bluetooth MAC addresses.

Help, my battery keeps running down
Certain applications may consume more power because of the way that they are written. One user reports that the "Pidgin" jabber/IM client was particularly bad. The CPU uses power-management techniques (e.g. changing frequency, see /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state) to reduce load when idle, so that anything with a compute loop that does not sleep waiting for clock interrupts is going to consume battery. Other significant consumers are the display backlight, WiFi, GPS chip and USB host mode.
Other reported problems: metalayer-crawler (may hang if symlinks are used), running in R&D mode.
Running the WLAN not in Power-Save mode, or using an access point that does not properly support it, can cause a significant power loss (about 10x over idle). I currently have a problem with Proxim APs at work running multiple SSIDs, which I still don't understand.

How can I take a picture with the camera ?
(other than one of your face)
Start the camera app. Slide out the keyboard, tap the file menu, select "capture". Point the camera at the object to be photographed (screen facing away from you). Press the "Enter" key (centre button in joystick ring) to take a photo.

How can I upload images from a digital camera ?

  1. Buy a micro-SD card with both a mini and regular-SD adapter (see wont fit). Install the card with the regular adapter in the camera. Take pictures. Then remove the card from the camera and install it in the tablet "removable memory" using the mini-SD adapter. Your images will appear somewhere like /media/mmc1/dcim (see file map). Now you can upload them to a server using rsync, or an online service using Firefox. Over a cellular network via a cellphone, even.
  2. gphoto2. Maybe. I was intending to try building it for the tablet. That would require USB host mode and a custom USB cable, or female-female adapter, maybe a hub. If successful that would allow direct control of some cameras.

The tablet won't power on
As reported on Holger's blog and bug 2673, the tablet sometimes will not power on after being switched off. Cooling the battery may help, or update the system to 51-3

How long will the battery last?
It depends on the load. From my tests (using the battery-status script to log % charge and measuring the slope, e.g. idle/GPS on (PDF) ) :

  • Idle, offline mode - 270 hours
  • Idle, WiFi on, power saving mode - 100 hours
  • GPS chip on, CPU polling GPS - 11 hours
  • Idle, WiFi on, power saving mode OFF - 7 hours
  • Idle, display backlight on - 9 hours
  • 100% CPU (loop doing sqrt), display backlight off - 6 hours
Tapping the display lights up the display and brings the CPU clock to 400MHz (cf. 165MHz quiescent) so continuously working with the tablet using the Web or GPS map will give even less time on a charge (3-4 hours, maybe).
See also Everything you want to know about the tablet battery by bunanson

Can I use a 3rd-party charger/batteries?
Not recommended. The supplied battery is a 3.7 Li-ion cell with (I believe) a temperature sensor and safety circuit. The Nokia chargers (110V and 12V) are voltage-sensing constant-current supplies delivering 890mA designed to charge Li-ion cells. Chargers designed for Ni-Cad or NiMh cells may take longer to charge, or may overcharge the battery causing a fire and destruction of the tablet. Cheap imitation batteries may lack the safety circuit or temperature sensor, again leading to risk of fire. See e.g. How to rebuild a Li-Ion battery pack.
Having said that, I currently have an aftermarket battery, not being able to find a Nokia pack locally, and Lenmar/Radio Shack have a compatible battery. Note that the N800 takes a different battery from the N810.

Help, my tablet keeps rebooting

  • The system has a watchdog process that reboots the tablet if it hangs; this may be disabled in R&D mode. I had a problem in /home/user/.profile which caused this and had to reflash.
  • Broken battery terminals. Two of the clips broke inside the battery and were making intermittant contact, so the tablet rebooted every time it lost power for a moment.

How can I read Word/Powerpoint/Excel documents ?
OpenOffice is available, but slow. I have not tried it.
Abiword is available here to read Word but I have not tried it. Also gnumeric from extras-devel or here to read Excel (I haven't tried that either, but I use it on my desktop as a spreadsheet).

For Powerpoint, one can run OpenOffice on a webserver and do conversion on the fly. I implemented this on my home server but it's a) not for public use and b) offline. To view an Office document that's publicly available online, you paste the document URL into a text box and the script returns PDF viewable on the tablet.
See this Ninja article

How can I play DVDs on the tablet ?
You need to rip and transcode them to a format which will play in the Nokia media player. The Maemo media converter by Urho Konttori is a Java application that simplifies this process. It uses mencoder from the MPlayer package to do the actual conversion. Note: mplayer must be built with support for DVD reading, and also for MP3 encoding (mp3lame). Mencoder may also be run directly from the command line, using options such as:
mencoder dvd://1 -oac mp3lame -lameopts abr:br=64 -af volnorm -ovc lavc -lavcopts vcodec=mpeg4:aspect=4/3:vbitrate=640 -vf scale=480:360 -idx -ffourcc DIVX -ofps 13 -o whatever.avi
mencoder dvd://5 -oac twolame -twolameopts br=64 -ovc lavc -lavcopts vcodec=mpeg4:aspect=4/3:vbitrate=512 -vf scale=480:288 -idx -ffourcc DIVX -quiet -o whatever.avi

MPlayer is also available natively for the N8*0. It is faster than the Nokia media player, and supports more video formats, but DVD quality content will still need to be reduced to play on the tablet.

How can I play youtube videos offline ?
With a copy of youtube-dl, or by otherwise altering "watch?v=" to "get_video?video_id=" in a youtube URL, you can download a copy which will play offline. The normal quality uses the FLV codec, the mobile quality uses 3GP, best quality uses MPEG4. The Nokia media player will play the 3GP video, and MPEG4 although it will probably drop frames. Mplayer for the N770/N8*0 will play all 3 formats, though again will probably drop frames in MPEG4.

How can I tell which xterm window is which ?
If you create multiple xterms (by tapping "New Window"), they are all called "osso_xterm", making it hard to switch back and forth. Fortunately, osso_xterm understands the standard xterm escape sequences for renaming the window. This script lets you change the window name from the command line:

echo -ne "\033]0;$*\007"
I call it "icon", so I can type "icon root", "icon xterm two" etc.

How can I take a screenshot on the tablet ?
Install osso-screenshot-tool

How can I measure ambient light or temperature ?
You can find some data under /sys/, e.g.
/sys/bus/i2c/devices/0-0029/lux - light
/sys/bus/i2c/devices/1-0048/temp1_input - temperature
/sys/class/leds/keyboard/brightness - keyboard illumination
/sys/devices/platform/gpio-switch/slide/state - whether keyboard is open or closed

Other FAQs

Andrew Daviel