Thursday, January 31, 2008

USB OTG the easy way

Some people have been writing about the USB OTG use with need to hack the cable by soldering a few wires together. Even Ars technica went the hard way of soldering a cable. This is not the way to do it my friends. On a computer-like device, the way is to 'solder software', not hardware. I found the instructions on software solution from muru and then thought:"This is still just too hard". So, what to do? Make it easy, of course.


Enter USBControl


I thought that this is worth a full hour of my time. So, today I put together a new application that you can use to switch the device (N800 or N810) between USB Host and USB OTG modes. All you need, is an USB Female-Female adaptor like this:
http://www.amazon.com/USB-Type-Female-Coupler-Adapter/dp/B000I97N0S

So, remember, that is USB A female to female adaptor. Costs pennies. Well, almost.

After you have the USB adaptor, just install ukmp from here: Garage

That version is beta. You may need to install ukmp first from here: maemo.org

ukmp is my media player, but it now comes bundled with uktube (youtube downloader) and USBControl.

Finally, open USBController from your extras menu. Click on HOST. Attach USB cable and e.g keyboard to the other end and.... There you go. Nothing else needed. Open notes, xterm, whatnot and start typing. Or, remove the kb and attach a memory stick. For me, even wireless keyboards work just fine without any powered hub. Same for one memory stick, but another memory stick needed more juice than the device had.

If your peripheral needs more juice, just put a powered hub in between. Simple, huh?

17 comments:

  1. Is it possible to get USBControl without UKMP? I really have no need for another media player, I just want to plug in USb stuff while I'm out and about.

    ReplyDelete
  2. Well... here I am, typing with a french USB keyboard... Numlock doesn't trigger, but not bad fir a first run !

    ReplyDelete
  3. And a picture of what I was typing :-)

    ReplyDelete
  4. You may have convinced me to buy a nokia n800 now. One issue I had was not being able to hook up my thumb drive.

    ReplyDelete
  5. Anonymous06:17

    While I like UKMP (although it's been a little while since you updated it =) busy at Nokia I guess) Could you not just package USBControl without UKMP? Please? Pretty Please?

    ReplyDelete
  6. Does this work on a N800 running OS2008?

    ReplyDelete
  7. Anonymous07:34

    It works, but not without a bug: in case your usb peripherals won't be correctly recognised the USBControl simply stops to work in host mode and the only way to fix this is to reset the device, remove the program and reinstall it.
    I have an N800 with OS2008, tried a couple of usb memories and it worked flawlessly, then tried to hook my 10Gb portable media player and the USBHost funcion was lost...
    I doublechecked everything, the portable media player doesn't power over USB, so it is supposed to absorb as much current as a normal USB pendrive: my guess is that some devices are not recognised completely (I know every usb device you try to connect to N800 USB will be listed as unsupported hardware, but after that it works) and trigger something in the USBControl that prevents the USBHost mode to funcion...

    ReplyDelete
  8. Anonymous10:20

    Hi.

    I try it on my N800, but nothing happens. On extras there is no entry for USBHost. Still works only on n810?

    ReplyDelete
  9. Anonymous11:06

    - a host/otg shell script w/desktop icons for use under os2008 was posted on ITT forums in early january... quite simply really, simply using:

    echo host > /sys/devices/platform/musb_hdrc/mode

    and to return to otg mode:

    echo otg > /sys/devices/platform/musb_hdrc/mode

    - if you plug in a device such as an external HD and it fails to mount, the problem could be lack of power and/or unrecognized filesystem... i use a Maxtor 120GB USB drive w/my os2008 N800, hooked up to a powered hub... follow these steps:

    1) apply power to hub
    2) set IT to host mode
    3) plug in hub
    4) then plug in drive to hub

    - this works without fail for me, but as always, YMMV

    ReplyDelete
  10. Anonymous14:42

    For me, the command in xterminal works on N800, but not on N810. I've tried with a thumb drive and a Nikon D50, the original USB cable(s) connected via a female-female USB connector.

    ReplyDelete
  11. It doesnt work for me on my N810. If I cat the mode file, it says b_idle.
    I tried echoing host into it from the commandline, but no luck.

    Any ideas?

    ReplyDelete
  12. Anonymous06:16

    Walther: same problem for me. I guess it means the USB device (I've tried flash, protection dongle, mouse, digital camera and Palm cradle) isn't recognized, but I don't know why, especially since it works on N800.

    ReplyDelete
  13. Anonymous11:47

    Walther, anonymous, same problem here, n810 doesn't react anything, trying to use USBControl app or typing the command line: echo host > /sys/devices/platform/musb_hdrc/mode in root mode, nothing helps, none of the usb devices recognizes...

    ReplyDelete
  14. Anonymous03:04

    I didn't believe before I saw. It really work!! now I can take photos on camera without computer. N800 is almost computer now!

    thanks

    ReplyDelete
  15. Anonymous10:18

    Will this work with n800 and OS2007 too? ie. do I need to upgrade to
    OS2008?

    Cheers,
    Rich

    ReplyDelete
  16. Anonymous14:54

    Can the N810 keyboard be used to control my PC through bluetooth?
    On the login screen of the PC I need to type in a password to gain access.
    Is there a USB dongle that connects to the PC and then communicates to the N810 through bluetooth? That way I can use my N810 for my home theater system and getting rid of that bulky wireless keyboard.
    Thanks
    Enjin

    ReplyDelete
  17. Several posters noted that it was not working for them, one said they got "b_idle" when they tried the commandline.

    The trick here is that you have another module loaded that's using the port. The common one is the usb ethernet driver, which must be removed before switching to host-mode (this tripped me up for a while when using the deblet distro)

    ReplyDelete