kate.alhola | 21 January, 2008 19:47
The new Nokia N810 internet tablet supports a feature called USB-On-The-Go, or shorter USB-OTG. The OTG means that N810 can act in both USB roles, slave and master. You can find more about USB-OTG from http://www.usb.org/developers/onthego/ .
In Slave role N810 acts as a FAT-format memory card or with g_ether driver as a USB networking card. In Slave mode you can connect your tablet to your PC and it shows up by default as external memory card.
Using USB-OTG host mode you can connect your USB memory stick to your tablet, you can also connect tablet to various other memory devices like digital cameras, memory card readers or even to a external hard disk. The N810 can supply limited amount of power to external USB device and no extra powered hub is needed. In practise, hub does not work with the current software version.
To activate USB-OTG host mode there is a special ID pin in micro- or mini USB connector. If this pin is left open, device acts as usb slave(device) mode, if grounded, it acts as master(host) mode. Only problem is that I have not found anywhere a such cable, at least they are not very common in computer shops. If you have a such cable, you can just plug in a USB memory stick and everything works. If you don't have, you have two choices. You can make cable yourself by practicing little bit micro surgery and connect the ID pin to ground or then activate host mode x-terminal shell command prompt. It is also possible to make small control panel applet to activate the host mode.
Activating host mode from command line
Start "X terminal" application from utilities menu, issue the "sudo gainroot" command in terminal. You should have r&d mode enabled with the linux-flasher to be able use gainroot (sudo ./flasher --enable-rd-mode).
sudo gainroot
echo host> /sys/devices/platform/musb_hdrc/mode
There are also drivers for few other USB devices in the kernel, for example realtek RTL8150 based ethernet adapter. How to use Realtek ethernet adapter, I will have more info in my next blog entry about USB networking.
If you have come up with some other device that does not yet have kernel support, you may need a separate driver installed for it. As example pl2303 based USB serial converters require an additional driver to be installed. Note also that all devices will not work with N810 even with the driver. N810 can't supply as much power as a PC laptop and USB device power consumption can easilly drain battery empty quickly. All USB devices tells in their device descriptor, how much power they need. If the value is too much, the N810 just refuses to use it or N810 even can't raise power up enough to be able to read this decsriptor. For example there has been used Dlink DUB-E100 with Nokia 770 with external powered USB hub. They are so power hungry that N810 can't use them. Realtek tells that it needs 120mA, D-link 250mA.
Patching normal USB-cable to USB-OTG cable
If you can't find OTG cable anywhere, you can buy normal micro-USB cable and patch it. Don't patch your Nokia cable because OTG-cable can't be used any more to connect your tablet to PC. To patch the cable, you need a small sharp "surgical" knife and soldering iron, and a shrinking tube.
First step is peel soft rubber covering connector body with surgical knife, then lift the top side of metal shield up with knife. You may need to cut the shield soldering that connects the cable to the protective ground. Be careful in lifting the cover because you need to bend it back when the modification is ready. Then solder the two pins together as shown in the picture.

kate.alhola | 14 January, 2008 14:52
Hello,
This is my first blog entry on this blog, let me introduce myself first:
I am a Maemo Chief Engineer at Forum Nokia. I have been working with maemo since Nokia 770. I have long history of open source projects, first ones were bios, debuggers and RTOS drivers for 8 bit 6809 and 16/32 bit 68xxx series and after that I have followed the development closely. I have also made several Linux device drivers and the Katix real time operating system which is used on embedded protocol gateways. At the moment I have in garage.maemo.org internet tablet based katix-efis and enginemonitor projects for small aircraft and X-plane flight simulator. I have also other infinity-project to make tablet and openwrt based home automation system.
Forum Nokia is Nokia developers' organization, offering technical and marketing support, tools and documentation to developers.
I am dedicated Linux-user, gadget-lover (there are so many Nokia 770s, N800s, N810s and other cool gadgets along with computers (most of them running Linux and the rest running MacOSX Leopard), etc. in our household) we have two cats and a dog and I fly small aircraft as a hobby. If it is about some cool new gadget, I most likely know about it, or already have it :).
I will publish in this blog maemo related news, interesting issues and also maemo related hints and small tutorials.
Kate
Kate is maemo chief engineer in Forum Nokia,
She has long Linux/Open Source developer background.