Editing N900 Hardware USB Host

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 6: Line 6:
USB Host mode has reached beta status, and is working reliably with manual speed switching.
USB Host mode has reached beta status, and is working reliably with manual speed switching.
-
Proper host mode would only require the normal cable, and a commonly available adapter. ([http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=250641334947 USB A-A adaptor]) Or maybe you like to get a fitting all-in-one small adapter, or make one fit ([http://talk.maemo.org/showthread.php?p=873725#post873725 N8 OTG adapter rework]). Huge rigid adapters are STRONGLY DEPRECATED, regarding the notorious problems with USB receptacle coming off the PCB.
+
Proper host mode would only require the normal cable, and a commonly available adapter. ([http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=250641334947 USB A-A adaptor])
A pre-alpha of hostmode was released on the 23rd of September, here: http://talk.maemo.org/showthread.php?p=824298
A pre-alpha of hostmode was released on the 23rd of September, here: http://talk.maemo.org/showthread.php?p=824298
Line 34: Line 34:
When an external power supply is found, the following should be done in sequence.
When an external power supply is found, the following should be done in sequence.
-
*If the supply is a charger (D+,D- short, detected by the 1707a), fast charge.
+
"Paul has found out that it is impossible (at least at the time of writing) to detect speed changes while VBUS is running, so for now, you have to select speeds manually.
-
*Attempt to enumerate as a device, if this succeeds (including handling of suspended busses), then enumerate and charge as a device, respecting the enumerated current.
+
Use common sense in doing so, '''high speed''' is for devices that require a lot of writing and are fairly new (flash drives/HDDs/CD-drives, new hubs).
-
*If both enumeration as a device and charger detection have failed, we may be plugged into a hub or device with reverse power. Attempt to enumerate connected devices (=hostmode. Will not work due to [probably hardware] limitations in hostmode, which block speed selection after VBUS got applied). Charge at user-defined maximum current. For example - may be a 500mA power supply also supplying the hub and a keyboard = 2 unit loads - max draw = 300mA. Anyway see http://talk.maemo.org/showthread.php?p=921203#post921203 for actually powering N900 from external supply during hostmode. Implementation of this feature to h-e-n GUI still pending.
+
'''Full speed''' devices are devices that do not require a lot of USB activity, such as BT/2.4GHz mouse transceivers.
 +
'''Low speed''' devices are normal mice and keyboards."
 +
 
 +
"A help window is available and will guide you through the steps needed.
 +
The mount button is currently hardcoded to mount /dev/sda1, default for most USB flash drives and HDDs.
 +
For NTFS support, do modprobe ntfs as root
 +
For ISO (CDs/DVDs - most of them), do modprobe isofs (also as root).
 +
CDs will have the dev node /dev/sr0, so you'll need to do mount /dev/sr0 /mnt etc...
 +
Disabling tracker by adding /media/flash to tracker-cfg's non watch configuration is recomended, use tracker-cfg UI."
==Installation==
==Installation==
-
Install hostmode-gui from -devel, kernel-power will be installed if no other compatible kernel is present.
+
Install hostmode-gui from -devel, your kernel will be replaced.
-
 
+
-
'''apt-get install hostmode-gui'''
+
-
 
+
-
[Update]
+
-
"The most recent h-e-n pkg itself should come '''without any kernel''' now (just the GUI), however, it does depend on kernel-feature-usbhost, so any kernel providing that works, if no kernel is installed, kernel-power will be installed, and - as mentioned in a previous post - h-e-n doesn't plan to ship any dedicated hostmode kernels anymore.
+
apt-get install hostmode-gui
-
The GUI will check if a compatible API is present (as per /proc/driver/musb_hdrc), and will notify to user if problems are detected (with hostmode support in whatever is the currently installed kernel).
+
-
Of course a mere update of h-e-n pkg won't magically switch from h-e-n hostmode kernel to power kernel. You have to care for that yourself."
 
-
==Usage==
+
== Warning: ==
 +
Uninstalling "h-e-n" might brick your device. However, it's easy to restore it to a working state by re-flashing the kernel.
-
A help window is available and will guide you through the steps needed.
+
'''Steps:'''
-
The mount button currently executes a script that reads /proc/partitions and mounts all devices there on /media/<partition_number>.
+
*download http://tablets-dev.nokia.com/nokia_N900.php?f=RX-51_2009SE_20.2010.36-2_PR_COMBINED_MR0_ARM.bin
-
The script will also modprobe ntfs and isofs (if /dev/sr0 is present), it will also create a temporary symlink (/dev/dvd) so mplayer works without any modifications (a package with DVD support compiled is needed)
+
*download flasher for your system from http://tablets-dev.nokia.com/maemo-dev-env-downloads.php and install it
-
Disabling tracker by adding /media/<partition_name> to tracker-cfg's non watch configuration is HIGHLY recommended, use tracker-cfg UI.
+
*Turn off your device
 +
*Plug-in usb cable into n900
 +
*open console and run flasher-3.5 -F RX-51_2009SE_20.2010.36-2_PR_COMBINED_MR0_ARM.bin --flash-only=kernel -f -R
 +
The .bin file has to be in the "current" directory.
 +
* Initiate flashing by pressing enter
 +
* Turn on your device, slide-down keyboard and press "U"
 +
* Wait until flashing is finished
 +
* You should get a working phone with all of your programs and settings.
== Devices ==
== Devices ==
Line 65: Line 75:
== Demos ==
== Demos ==
* http://www.youtube.com/watch?v=zDzUG-bno6Q by MohammadAG (usb CD-ROM)
* http://www.youtube.com/watch?v=zDzUG-bno6Q by MohammadAG (usb CD-ROM)
-
* http://www.youtube.com/watch?v=6ED92orZLMM by divan0 (usb flash drive)
+
* http://www.youtube.com/watch?v=1Qfx_jaQ9jo&NR=1 by divan0  (usb HDD via usbhub)
-
* http://www.youtube.com/watch?v=1Qfx_jaQ9jo by divan0  (usb HDD via usbhub)
+
-
* http://www.youtube.com/watch?v=ua5xpTZJpwo by divan0 (usb mouse)
+
* http://www.youtube.com/watch?v=9byE_qTl15M by divan0 (usb keyboard)
* http://www.youtube.com/watch?v=9byE_qTl15M by divan0 (usb keyboard)
-
* http://www.youtube.com/watch?v=0YPk4Y0ZPQY by divan0 (usb card reader)
 
-
* http://www.youtube.com/watch?v=3IyeSNGCWTA by divan0 (usb Ethernet adapter)
 
-
* http://www.youtube.com/watch?v=AUjbFi3-GpA by davidxfoo (USB I2C Sonar SRF08)
 
==Hostmode development team:==
==Hostmode development team:==

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)