http://wiki.openmoko.org/api.php?action=feedcontributions&user=Iknowjoseph&feedformat=atomOpenmoko - User contributions [en]2024-03-28T08:06:19ZUser contributionsMediaWiki 1.19.24http://wiki.openmoko.org/wiki/Talk:Community_Updates/2009-07-09Talk:Community Updates/2009-07-092009-07-07T12:27:12Z<p>Iknowjoseph: /* Application Updates */</p>
<hr />
<div>Please fill in everything you think the community should know. On 9th July this content will be moved to http://wiki.openmoko.org/wiki/Community_Updates/July_9%2C_2009, FEEL FREE TO DO IT on 9th, also post a note on the community mailing list!<br />
<br />
====='''Period June 25nd to July 9th, 2009'''=====<br />
<br />
==Distributions==<br />
<br />
* '''[http://activationrecord.net/radekp/qtmoko/ QtMoko V3]''' - QT moko is debian distribution for Openmoko Freerunner phone. Phone and user interface is based on QT Extendeded formerly known as Qtopia. V3 version should be stable as daily phone. Latest changes include:<br />
** upgrade to QT 4.5.2 which should improve speed<br />
** merge from other QtMoko branches with many bug fixes<br />
** added nice new QtMaze game<br />
** fixed problem so that apt-get should work out of the box now<br />
<br />
* '''[http://activationrecord.net/radekp/qtmoko/download/ Experimental QtMoko X4]''' - new QtMoko images that are based on debian and that now support running X application from Qtopia. You have to use QX launcher which will allow you to start X application in fullscreen. You can exit the application when you press the touchscreen for 5 seconds. The application will be then paused and you can either kill it or continue. The support for switching tasks between Qtopia and X application is still missing.<br />
** images are called x4 (because of X windows support), images without X will be called v4<br />
** logging should now work<br />
** better UI speed<br />
** rotation should work<br />
** apt-get should work out of the box<br />
** new application QX which is used as launcher for X applications<br />
** included tangogps and scummvm<br />
** /dev/mmcblk0p1 mounts to /media/card now and /dev/mmcblk0p4 as swap<br />
<br />
* '''[http://wiki.openmoko.org/wiki/OpenWrt OpenWrt]''' - Mirko Vogt and OpenWrt team has released OpenWrt for the Neo/FreeRunner devices. They provide flashable /* <- does this word exist?*/ [http://nanl.de/files/openwrt/openmoko/ images]. Mind - that, as usual for OpenWrt - the default IP of your device will be "192.168.1.1" and the only running service will be <telnet> on port 23. After logging in and setting a password, <telnetd> is getting replaced through <sshd> (port 22).<br />
** kernel 2.6.30.1 is running <br />
** clean, stable and accelerated graphics system<br />
** GPS works<br />
** performance tuned<br />
** software added/upgraded<br />
** a beautiful bootsplash<br />
** phone calls are possible, thanks to paroli<br />
<br />
==Applications== <br />
===New Applications===<br />
<br />
* '''[http://github.com/Sektor/mqutim/ mqutIM]''' - instant messenger for QtMoko. Only ICQ protocol is currently supported.<br />
* '''[http://github.com/Sektor/noxchat/ NoxChat]''' - IRC client for QtMoko.<br />
* '''[http://code.google.com/p/neote/ Neote 0.1.0]''' - note taking application. Its interface aims to be easy and finger friendly. It's written in Python/Elementary and uses SQLite for storing data. Notes can be organized using custom categories that you can add, rename and delete at any time. Currently, only text note type is available. It should run on any system with a revision of python-elementary equal or greater to 40756. Looks like at time of this writing SHR-unstable is the only candidate. Future plans:<br />
** Search<br />
** Draw notes<br />
** Record voice notes<br />
<br />
* '''[http://example.url.com Exampleapp 0.0.1]''' - description<br />
<br />
===Application Updates===<br />
<br />
* '''[http://code.google.com/p/elmdentica/ Elmdentica 0.5.0]''' - the µ-blogging (identi.ca only, so far) client for your Free Smartphone. You can take a look at the screenshot [http://files.1407.org/openmoko/elmdentica/elmdentica-0.4.0-scap.png here]<br />
** now with pretty bubbles with icons and temporal references<br />
** repeat (or retweet) what other say and reply to others<br />
** counter which warns if you type more than 140 characters ''//somebody double check, please''<br />
** multiple account support (only one active at each moment)<br />
<br />
* '''[http://projects.openmoko.org/frs/?group_id=260&release_id=542 ffalarms 0.2.3]''' is a program to set multiple alarms a day using a finger friendly user interface (hence the name). Three clicks to set an alarm time. Progressive volume. Switch off though four buttons puzzle. LED night clock included. ffalarms 0.2.3 includes:<br />
**rewritten using Vala/libeflvala/Elementary (same features as 0.2.2)<br />
**avoids suspend and keeps display on during alarm on FSO platform (such as SHR)<br />
**note: will not stop alarms added by previous versions of ffalarms<br />
<br />
* '''[http://gvsigmobileonopenmoko.wordpress.com/ gvSIG Mobile 0.1.4]''' - Mobile GIS <br />
** [http://gvsigmobileonopenmoko.wordpress.com/2009/06/24/with-the-new-courier-mode-openmoko-actively-guides-you-through-the-city/ Courier Mode] - produce and display tours of an area, or use the eature to measure your distance from a point / region<br />
**GUI tweaks including full screen mode<br />
**Arabic translation, thanks to Nawfal Cherqui<br />
**Support for German coordinate systems (EPSG:31466 to EPSG:31469)<br />
<br />
* '''[http://example.url.com Exampleapp 0.0.1]''' - description<br />
** new examplefeature<br />
<br />
==Community==<br />
<br />
Most important and change making mails on the mailing lists, blogs etc.. Coolest hacks, screenshots, themes etc..<br />
<br />
* Kimaidou, author of [[Mokometeo]], has created a google '''[http://code.google.com/p/mokometeo/source/checkout code]''' page with a mercurial repository. Thus you all are encouraged to commit the improvements.<br />
<br />
==Event News==<br />
<br />
* '''2009-07-25''' [https://penta.debconf.org/dc9_schedule/events/376.en.html The Debconf9] buzz fix party has been scheduled on Saturday.<br />
* '''2009-mm-dd''' [http://example.url.xom Example event] add your event here<br />
<br />
[[Category:Community Update]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/Community_Updates/2009-03-20Community Updates/2009-03-202009-03-20T17:36:59Z<p>Iknowjoseph: </p>
<hr />
<div>{{Languages|Community Updates/March 20, 2009}}<br />
<br />
__NOTOC__<br />
__NOEDITSECTION__<br />
<br />
<br />
<br />
<br />
<br />
====='''Period 6, Mar ~ 20, Mar, 2009'''=====<br />
<br />
<br />
==Distributions ==<br />
<br />
* '''Om2009''' - Openmoko continues its work on the [http://lists.openmoko.org/pipermail/devel/2009-March/004976.html release plan]. Members from Paroli, Distribution and FSO met in Chemnitz, Germany to further discuss their commitments to a future release.<br />
<br />
* '''QT Extended''' [http://wiki.openmoko.org/wiki/Qt_Extended_4.4.3 moving along as a community project] The community created a fork of it and called it Qt Extended Improved:<br />
** [http://trac.karadog.net/qt-extended-improved bug tracking system]<br />
** [http://dashi-x02.karadog.net/~lihouyu/qtextended/4.4.3/ prebuild rootfs images]<br />
** [http://git.karadog.net/qt-extended-improved.git git repository]<br />
<br />
* '''Android''' - Beta 4 announced (where?) , cupcake image - can someone add to this.<br />
The images produced by the community driven (not Koolu) Android images can be found at [http://panicking.kicks-ass.org/download/], with information on their use at the [http://forum.koolu.org/ koolu forum], or on other pages, e.g. [http://jms.id.au/wiki/AndroidOnFreerunner]. Latest features include working GPRS (see forum) and using the Cupcake branch with the on-screen keyboard built in (see e.g. [http://www.newlc.com/en/freerunner-mobile-which-support-android-cupcake]). <br />
<br />
<br />
* '''Fyp 3.18''' [[Fyp | released]]<br />
<br />
==Applications ==<br />
<br />
===New Applications===<br />
<br />
* [http://www.opkg.org/package_168.html Xboard + GNUChess]<br />
** XBoard is an open source graphical chess user interface for numerous chess engines<br />
<br />
* [http://www.opkg.org/package_166.html knjMokoCalendar]<br />
** Google Calendar for the Openmoko (unstable)<br />
<br />
* [http://wiki.openmoko.org/wiki/KnjMokoOPKG knjmokoopkg]<br />
** A package-browser which both creates a SQLite3-database with all packages from the OPKG-cache (enabling fast searches through packages < 1 sec) and is able to install and remove packages. You can also perform updates and upgrades through it.<br />
<br />
* [http://gvsigmobileonopenmoko.wordpress.com gvSIG Mobile 0.11]<br />
** Mobile GIS application.<br />
<br />
===Application Updates===<br />
<br />
* '''Mokometeo 0.2''' the small python/GTK application fetching the weather forecast from Yahoo weather pages,has been released with some improvements and bug fixes. Changes that went in are: <br />
** added some "print" in the code <br />
** debug the .mokometeo folder ; put the config folder in /home/root/.mokometeo/ instead of /.mokometeo/ <br />
** test if the connection to internet is ok. If not, display question marks <br />
** backup the data each time data is downloaded and displayed. This data is used on the next Mokometeo startup <br />
** added the date and time when the data has been downloaded<br />
** http://wiki.openmoko.org/wiki/Mokometeo <br />
<br />
* '''Fennec Beta 1''' Released its twelfth development milestone and the first beta release of the mobile version of Firefox, for testing purposes only. No version for Freerunner yet. More details about this on:<br />
** http://blog.pavlov.net/2009/03/17/fennec-1-beta-1/<br />
** http://www.mozilla.org/projects/fennec/1.0b1/releasenotes/<br />
** https://wiki.mozilla.org/Mobile/Build/Fennec<br />
<br />
* '''Orrery 2.5''' Released a new version of the orrery sky-chart program has been released. In addition to several bug fixes, the new version includes support for displaying informal constellations (asterisms like the Big Dipper), a new to-scale display of the Solar System, information about the number of satellites used for the position fix in GPS mode and better support for displaying stars too faint for the unaided eye to see. <br />
** http://wiki.openmoko.org/wiki/Orrery<br />
<br />
* [http://www.opkg.org/package_137.html GTick] is a metronome application written for GNU/Linux and other UN*X-like operting systems supporting different meters (Even, 2/4, 3/4, 4/4 and more) and speeds ranging from 10 to 1000 bpm. It utilizes GTK+ and OSS (ALSA compatible). It is part of the GNU Project. <br />
** Please test the package and leave some feedback (comment or [[GTick wikipage]])<br />
<br />
* '''GridPad v.2.1''' Released<br />
<br />
* '''KnjMokoWifi''' Released <br />
** [[http://wiki.openmoko.org/wiki/KnjMokoWifi More information]]<br />
*[http://www.opkg.org/package_96.html ZOMG!] package fixed<br />
<br />
<br />
==Community ==<br />
<br />
<br />
* A [[Browser review|browser review/comparison]] study of the best suitable browser<br />
** Everyone can add test results of the browser compatibility to any of the distributions being used so that we may find the one that has the most potential and can be developed to a actual working browser.<br />
<br />
* If anyone is looking for a [http://repository.maemo.org/pool/maemo4.1/free/g/gnuchess/ Chess game on the Neo], you could try Maemo. This might be a good start for the application:<br />
** http://repository.maemo.org/pool/maemo4.1/free/o/osso-chess-ui/<br />
** http://repository.maemo.org/pool/maemo4.1/free/g/gnuchess/<br />
<br />
* Mid April: [http://lists.openmoko.org/pipermail/community/2009-March/043971.html GSM buzz-fix party in Braunschweig, Germany] Daniel Williams has been glad to perform buzz fixes for phones that needs the fix.In order to gauge interest and plan ahead with respect to ordering Resistors/Capacitors he would like to know how many phones would come. If you are interested and would show up please mail him privately and also give information on how many phones you would bring.<br />
<br />
* Also there is another Fix party in Barcelona organized by David Samblas from [http://www.tuxbrain.com Tuxbrain] visit [http://www.openmoko-spain.org/tiki-view_blog_post.php?blogId=1&postId=7 this blog post] for more information<br />
<br />
* [http://software.cofundos.org Software.Cofundos.org] - Following the programming contest, software.Cofundos.org will help to boost any idea one has in mind and give an opportunity to earn some money for people who have the time/skills you may not have.This is a great platform for discussing and enriching ideas on upcoming/existing projects. You can view only openmoko related projects at [http://openmoko.cofundos.org openmoko.cofundos.org]. A feed for new projects from cofundos.org has been uploaded to [http://planet.openmoko.org Openmoko Planet]. [http://www.tuxbrain.com Tuxbrain] has also started a [http://www.openmoko-spain.org/tiki-view_blog_post.php?blogId=1&postId=8 cofundos.org campaign]<br />
<br />
<br />
* Kustomizer 0.4 released for 2008.12 [http://groups.google.com/group/kustomizer/browse_thread/thread/58b14dd6893d7242]<br />
<br />
* [http://lists.openmoko.org/pipermail/community/2009-March/043615.html Freerunner For Application Ideas]<br />
<br />
<br />
===Competitions===<br />
<br />
* Announcing the [http://lists.openmoko.org/pipermail/community/2009-March/043240.html first programming competition] for Openmoko phones<br />
** [http://risto.kurppa.fi/blog/announcing-the-first-programming-competition-for-openmoko-phones/ read the rules]<br />
<br />
* [http://lists.openmoko.org/pipermail/community/2009-March/044153.html New application contest] organized by Rakshat Hooja 'Call Recorder cum Dictaphone Application for the Freerunner' on cofundus.org. Any one who wishes to contribute their time/skills and also get more details can check the following link:<br />
** http://www.cofundos.org/project.php?id=154<br />
<br />
===Event News===<br />
<br />
[[Image:IEEE-LINUXeOMD.preview.jpg|250px|align|right]]<br />
* '''2009-03-01/03-31''' [http://wiki.openmoko.org/wiki/user:Harry Harry' Openmoko Survey] | Please help me with my free software and Openmoko related academic research | Harry Tsai of [http://www.cgu.edu.tw Chang Gung Universtiy]<br />
<br />
* '''2009-03-21/03-22''' [http://fsf.org/conference LibrePlanet conference], Cambridge, MA | [[User:JohnSullivan|John Sullivan]] and other Openmoko users will be around, if critical mass then there will be related unconference hacking on Sunday.<br />
* '''2009-03-23/27''' [http://www.bits-apogee.org/ Apogee 2009] | Rakshat Hooja of IDA Systems will be speaking about Openmoko <br />
<br />
* '''2009-03-30/04-03''' [http://www.confabb.com/conferences/57983-embedded-systems-conference-silicon-valley-2009 EMBEDDED SYSTEMS CONFERENCE - SILICON VALLEY 2009] | San Jose McEnery Convention Center, California | A huge Openmoko marketing event and Sean's speech<br />
<br />
* '''2009-04-01/02''' [http://www.openexpo.ch/en/openexpo-2008-bern/travel-and-accommodation/ Swiss Open Source Software Conference & Exposition] | Bern, Switzerland | Openmoko Sean will give a speech<br />
<br />
* '''2009-04-06/08''' CELF Embedded Linux Conference | ELC 2009 San Francisco, California.<br />
<br />
* '''2009-04-18''' [http://http://www.openmoko-spain.org/tiki-view_blog_post.php?blogId=1&postId=7 Openmoko Fix it Party] | Repairing buzz hardware bug live and for free , Barcelona. <br />
<br />
* '''2009-04-18/19''' [http://register.osdc.tw/ Open Source Developer's Conference] | OSDC will hold in Taipei , Taiwan. <br />
<br />
<br />
<br />
[[category:Community Update]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/ApplicationsApplications2009-03-16T17:47:00Z<p>Iknowjoseph: </p>
<hr />
<div>{{Languages|Applications}}<br />
This is the wiki's master application list for the Openmoko smartphones. <br />
<br />
== How to register new applications ?==<br />
<br />
This list can not be exhaustive, as new things are showing up every week. This page is here to help spreading awareness about applications. Here are instructions on how to add a specific application to this list. There are many ways to go<br />
<br />
Method 1 (preferred):<br />
* Register your application at http://opkg.org. You will get a package number there, for example 33.<br />
* Notify the community mailing list.<br />
* Come back here, click on "edit" next to the appropriate section title, then add a line like:<br />
<pre>* {{opkg.org|33|Application name}} A short description</pre><br />
<br />
Method 2: Just link to wherever the application is hosted.<br />
* Click on "edit" next to the appropriate section title, add a line like:<br />
<pre>* [http://your.host.domain/the/path/to/app/page.html Application name] A short description</pre><br />
<br />
Method 3: Create a new page in this wiki.<br />
* Click on "edit" next to the appropriate section title, then add a line like:<br />
<pre>* [[Application name]] A short description</pre><br />
* The application name will appear in red, click on it to create and edit the new page.<br />
<br />
== Audio ==<br />
<br />
* [[Openmoko-mediaplayer2]] - Play music and video (mp3...)<br />
* [[Openmokast]] - Play audio stream and slideshow stream<br />
* [[Pythm]] - Audio player GUI using mplayer and mpd as backend.<br />
* [[Mokoko]]-Play music.<br />
* [[Satan]] - Create your own music!<br />
* [[Fourier]]- Realtime frequency analysis of sound data.<br />
* [[Neoqplayer]] - a multimedia player written in Qt4 <br />
* {{opkg.org|55|ePiano}} - epiano is going to be a virtual piano<br />
* [http://www.faltantornillos.net/proyectos/gnu/brightPlayer/brightPlayerOM2008v0.1.tar.gz Bright Player] - Fast, lightweight and easy random music player.<br />
* [http://fisoft.eu/standa/openmoko/omshuffle_0.1_arm.ipk omShuffle] - Inspired by Bright Player with volume control.<br />
* [[GTick]] - GTick is a metronome application written for GNU/Linux<br />
* [[Guitartune]] - Tune musical Instruments.<br />
* [[Voicenote]]-Voicenote is a script which allows to record any sound from the microphone into a wav file. It can play the created files too. It is intended to be an easy and quick way to do so.<br />
* {{opkg.org|151|MokoPod}} - Retrieve and listen to podcasts<br />
----<br />
<br />
== Games ==<br />
<br />
* [[Games/Om 2007.2]] - Many small games on Om 2007.2<br />
* [[Om 2008.8 Sudoku]] - Number placement based puzzle game<br />
* [[Moko-sudoku]] - Another sudoku puzzle game.<br />
* {{opkg.org|60|ScummVM}} ([[Scummvm|Wiki]]) Virtual Machine for several classic graphical point-and-click adventure games<br />
* [[Kobodeluxe]] - A top-view space shooter, available from 2008.8 repositories.<br />
* [[Pingus]] - Pingus is a lemmings clone with penguins.<br />
* [[Duke Nukem 3D]] - Legendary First Person Shooter.<br />
* [[Numptyphysics]] - A drawing puzzle game.<br />
* [[Gnuboy]] - An emulator for the handheld gaming all-time bestseller.<br />
* [[XBill]] - Little action game to stop Bill from installing Windows(tm) on computers.<br />
* [[Xlogical]]-A puzzle based game where you turn spinners to move balls around.<br />
* [[Liquid War]]-Liquid War is a truly original multiplayer wargame.<br />
* [http://unsyncopated.com/BrainSolvent/Doom%20Port DOOM]- Classic FPS. Freerunner/1973<br />
* [[MBAC]]- MBAC is "Moko Bulls and Cows", a classic game for openmoko written in pygtk similar to mastermind.<br />
* [[OpenVibe]] - The first opensource vibrator.<br />
* [[OpenTTD]] - OpenTransportTycoonDeluxe, ported to openmoko, using only GPLed datafiles.<br />
* [http://scalde.free.fr/index.php?option=com_content&view=article&id=93:pong-pogresses&catid=43:openmoko&Itemid=66 Pong progresses]- This is a little pong game for the openmoko freerunner. The screen is devided in halves, so you can touch the right half to move the paddle right and the left half to move it left.<br />
* [[OpenMooCow]] - OpenMooCow reads information out of your accelerometers. Now, if you turn the phone upside down and back again, it "moos" like one of the little toys.<br />
* [[Freerunner LightSaber]]-Application as iphone LightSaber.<br />
* [[CellHunter]] - A game you earn points by collecting cells (in english now).<br />
* [[XSkat]] - XSkat lets you play the card game Skat defined by the official Skat Order.<br />
* {{opkg.org|136|OpenMiaoCat}} OpenMiaoCat, like OpenMooCow, makes your phone became a cat!<br />
* {{opkg.org|149|I'm Rich}} I'm Rich application<br />
* {{opkg.org|121|Mokomaze}} Ball-in-the-labyrinth game<br />
* [[Acceleroids]] Shoot-the-asteroids game<br />
----<br />
<br />
== GPS ==<br />
<br />
* [[GPS Sight]] - Display GPS information, location, tracks, etc, without maps.<br />
* [[Gpsdrive]] - Car (bike, etc) navigation system<br />
* [[Om 2008.8 Locations]] - (aka Splinter) - Location sharing based on GPS and SMS<br />
* [[Navit]] - Car navigation system with routing engine<br />
* [[TangoGPS]] - Display map (OSM..), record GPS tracks...<br />
* [[Pyroute]] - Pyroute is a routing program written in Python. It features mobile phone GUI for maps, GPS, and routing.<br />
* [http://www.mumpot.org/ mumpot] - Display map (OSM), routing, OSM editing, a bit of live editing<br />
* [[QMapControl]] - Display maps (OSM..) and add points, lines...<br />
* [[Qpegps]] - Display map with current position<br />
* [[Idle Hands]] - Give a task to you based on your location<br />
* [[Gtkaddpoi]] - Utility for add a POI to TangoGPS using address or coordinates<br />
* [[Gpsdcontrol]]-A simple python script for start or stop gpsd daemon with a button on the desktop.<br />
* [[OpenBmap]]-a free and open map of wireless communicating objects (e.g. cellular antenna, Wi-Fi, Bluetooth). It provides tools to mutualize data, create and access this map.<br />
* {{opkg.org|162|gvSIG Mobile}} - This is an unofficial port of gvSIG Mobile (http://www.gvsig.gva.es/) to the Openmoko platform. gvSIG Mobile for Openmoko is currently a GPS-enabled projection-aware map viewer. [http://gvsigmobileonopenmoko.wordpress.com/ Homepage].<br />
<br />
== Graphics ==<br />
<br />
* [[Orrery]] - Displays the night sky<br />
* [[OMView]] - Image viewer<br />
* [[PyPenNotes]] - Write notes using pen and touchscreen<br />
* [[Gpe-scap]] - Take screenshots<br />
* [[Flash|Gnash]]-Play flash file on Neo<br />
* [[Neon]] - Image viewer<br />
<br />
----<br />
<br />
== Internet ==<br />
<br />
* [[Twinkle]] - Voice over IP<br />
* [[Linphone]] - Voice over IP<br />
* [[Midori]] - Webkit based web browser<br />
* [[Minimo]] - Mozilla based web browser<br />
* [http://www.dillo.org/ Dillo] - Multiplatform fast and small web browser ([http://misc.andi.de1.cc/dillo/ .ipk]).<br />
* [[Mokopedia]] - Read small Wikipedia dumps offline<br />
* [[Offline Wikipedia reader]] - store the entire content of wikipedia (except iamges), on a single 8GB microSD card<br />
* [[Openmoko-browser2]] - The original Openmoko web browser<br />
* [[Openmokast]] - Play audio stream and slideshow stream<br />
* [[Openmoko Mail]] - E-mail client<br />
* [[Pidgin]] - Instant messaging client (ICQ, MSN, Jabber, Yahoo and more.)<br />
* [[CenterIM]] - Instant messaging client (terminal-based).<br />
* [[PyFeedRead]] - RSS feed reader<br />
* [[Qtmail]] - Default mail program on Om 2008.8<br />
* [[TwitterMoko]] - A Twitter client for Openmoko<br />
* [http://code.google.com/p/pyqt-browser/ pyqt-browser] - modified the sample code from python-pyqt4 and changed it to use webkit for web browsing. <br />
* [http://we.trekbeyond.org/~kd8ikt/moko/shr_pkgz/ ettercap-ng]<br />
* [http://www.netsurf-browser.org/ netsurf]-A new browser for Neo FreeRunner.<br />
<br />
== Office ==<br />
* [[Epdfview]] - PDF reader.<br />
* Evince - Document reader for PDF, PS, DJVU and more.<br />
* [[FBReader]] - E-book reader program (TXT, FB2, HTML and more)<br />
* [[Gutenflash]] - Fast text reader by scrolling text<br />
* [[OMoney]] - A bookkeeping application<br />
<br />
== Settings ==<br />
<br />
* [[Mofi]] - Wifi setup tool<br />
* [[Lint-wifi]] - Wifi setup tool<br />
* [[Om 2008.8 Installer]] - Graphical software installer<br />
* [[Opkg]] - Command line software installer<br />
* [[Sephora]] - Settings manager<br />
* [[SettingsGUI]] - Edit various settings<br />
* [[Wicd]] - Wifi setup tool<br />
* [[ZOMG!]] - A graphical package manager (opkg frontend -> should work on any distro)<br />
* [[Timezone|tzdata]]- Customise your time zone setting.<br />
* [[momtools]] - an application to control Wifi, gprs and some other stuff<br />
* [[Wlan]] - Wlan is an application to manage wireless connection on the Freerunner<br />
<br />
== System ==<br />
* [[Aphasia]] - A system built on Erlang and a vertical application for people with apahasia.<br />
* [[Auxlaunch]] - Finger-friendly app launcher and window switcher<br />
* [[Display Locker]] - Screen lock<br />
* [[Gwaterpas]] - levelling tool using accelerometer<br />
* [[Gestures]] - Detect movement and display information, rotate screen<br />
* [[Keychain]] - SSH keys<br />
* [[MokoFEM]] - Monitors GSM information<br />
* [[Mokostat]] - Monitors battery<br />
* [[Openmoko Bluetooth remote controller|ReMoko]] - Control stuff via BlueTooth<br />
* [[Rotate]] - Rotate screen when phone is rotated<br />
* [[Vala-terminal]] - Command prompt with tabs<br />
* [[Ts calibrate]] - Calibrates touchscreen<br />
* [[Zedlock]] - Screen locker<br />
* [http://fso-control.projects.openmoko.org/ fso-control] - Popup Power menu to shutdown/suspend/reboot.<br />
* [[omkeys_functions]] - Remap AUX key bindings<br />
* [[Siglaunchd]] - A daemon that listens to dbus signals and launches appliactions upon arrival.<br />
* [[Pexpect]]-a pure Python module for spawning child applications; controlling them; and responding to expected patterns in their output. <br />
<br />
----<br />
<br />
== Telephony ==<br />
* [[Dialer/2007.2]] - The dialer application in Om 2007.2<br />
* [[Openmoko SMS Middleware]]- SMS middleware is a Openmoko middleware software for additional features related to SMS. Plugin architecture and Python based code gives this project lots of flexibility and enchancebility.<br />
* [[Paroli]] -Paroli is an integrated phone application based on Tichy (and so also written in python). <br />
<br />
----<br />
<br />
== Utility ==<br />
* [[Unison]] - Unison is a file-synchronization tool for Unix and Windows. It determines all differences between two directory trees and lets the user decide, how to proceed with every differing file. <br />
* [[HP48 Series RPN Calculator]] - Calculator with many functions<br />
* [[qwo]]- An alternative input method.<br />
* {{opkg.org|57|fido}} - [[fido]] is a todo list\note manager written with elementary<br />
* [http://meuk.spritesserver.nl/lightsaber-0.1.tgz The Lightsaber]. Pre-alpha starwaresque orphanware.<br />
* [[NeoTool]] NeoTool is a bash script for your desktop system to provide a friendly GUI frontend to some common management tasks.<br />
* [[NeoCon]] - neocon is a handy serial console utility (not only) for u-boot. The main feature of neocon is actually that you can give it a list of devices and it will pick one that works.<br />
* [http://techiem2.net/index.php?/archives/10-Freerunner-USB-Mode-Control-Program.html usbmode]-a quick pygtk program. <br />
* [[Enotes]] - Enotes is the implementation of a TODOlist manager written with elementary to appear better with distribution that use illume, like SHR.<br />
* [[LED clock]] - When an Openmoko is sitting unused at night, turn it into an alarm clock with large 7-segment digits on a black background in landscape mode. <br />
* [[MokoGeocaching]] - Utility for add a POI to TangoGPS using geocaching.com <br />
* [[Wrench]] - Modual used utility enlightenment_remote.<br />
* [[Yaouh!]] - Yet Another OSM Updater H.<br />
* [[ShortOm]] - Graphical launcher for shell or application, with editable config file, and log result page.<br />
* [[Pimlico]]-Pimlico is a suite of lightweight Personal Information Management (PIM) applications designed primarily for handheld and mobile devices<br />
* [http://projects.openmoko.org/projects/otp4neo/ OTP4Neo] One time password generator<br />
* [http://projects.openmoko.org/projects/ffalarms/ FFAlarm] is a program to set multiple alarms a day using a finger friendly user interface<br />
* [[OpenWrt]]-basic support for the Openmoko "Freerunner"! Kernel (2.6.28) is building and booting.<br />
* [[Enscribi]]-a handwriting recognition input method for Linux. It's mainly developed for the Openmoko Freerunner smartphone.<br />
* [[GridPad]]-GridPad is an alternative input method for entering text with your finger, a Simple Character Recognizer Software.<br />
* [http://sortdesk.projects.openmoko.org/ sortdesk] sort your om-desktop in categories<br />
* [[Mokometeo]] is a widget which fetches the weather forecast from yahoo, for a list of cities<br />
<br />
==Setting Application==<br />
* [[Wmiconfig]]- wmiconfig is a tool written by Atheros Communications Inc to configure the Ar6k WIFI chip used in the Neo Freerunner. This is a standalone C executable, released under GPL v2.<br />
* [[GTA02 sysfs]]- sysfs is a filesystem that is mounted on /sys which contains various fake "files" that are actually filled by a variety of drivers and other kernel subsystems. You can use it to change settings and behaviours of the kernel and drivers dynamically.<br />
<br />
== Video ==<br />
<br />
* [[Video Player]] - Using Mplayer on Openmoko smartphones.<br />
* [http://katastrophos.net/andre/blog/software/quasar-media-player/ Quasar] - a mplayer frontend for X11.<br />
<br />
<br />
<br />
<br />
----<br />
<br />
== daemon ==<br />
* [[PyPhonelog]] - daemon uses the framework to track and log all the calls made to and from the moko.<br />
* [[Lscd]] - LSC library/daemon on Linux System.<br />
<br />
== An automatic list of application-related wiki pages ==<br />
<br />
The pages linked above are all maintained manually. We also maintain an automatic categorization system by tagging wiki pages. Here is the list of application-related pages in this wiki. Normally, every page listed below should be also listed above in the same category. The converse is false: there are applications without a wiki page.<br />
<br />
<div style="border: solid 1px black; padding: 1ex"><b>Applications in this Wiki:</b><br />
<categorytree mode=pages depth=2 hideroot=on>Applications</categorytree><br />
</div><br />
<br />
<br />
== Where to find more applications? ==<br />
<br />
At [http://opkg.org opkg.org] !<br />
<br />
Not all Openmoko apps are listed on this wiki - there are much more [http://projects.openmoko.org/softwaremap/ projects at the Openmoko GForge] than the wiki can list, not to mention self-hosted applications on their own websites. Actually the phones can run most Linux based Free Software, using for example the [[Debian]] distribution. The [http://handhelds.freshmeat.net/browse/1038/ mobile phones section of Freshmeat] may be a interesting place to look.<br />
<br />
Note also that there are many packages in the repository that are not installed by default. If what you want is a classic, chances are that it is already packaged. Suppose you want to install Perl:<br />
opkg list|grep perl<br />
opkg install perl<br />
<br />
More application download related pages:<br />
<br />
* [[Community Repository]]<br />
* [[Users Repositories]]<br />
<br />
<div style="clear:both">&nbsp;</div><br />
<br />
== Where to find full distributions ? ==<br />
<br />
* [[Download]]: for complete system downloads<br />
<br />
== The usual warnings ==<br />
<small><br />
* Some of these software are developed by Openmoko Inc. and some are contributed by the community. Any problems with community contributed software should be reported to the individual software developer rather than the Openmoko core team.<br />
* Most programs listed here are not mature/stable, but only useable/beta.<br />
* Many programs listed here are not yet packaged for your distribution and integrated in its repositories. Whichever it is.<br />
* Installing experimental software from the internet is certain to break things. Running it as root is a very insecure thing to do. Kown that you will be burned, have backups, and be ready to apologize to everybody in your phone contact list in case they receive strange SMSs...<br />
</small><br />
<br />
<br />
[[Category:Applications|Applications]]<br />
[[Category:Basic End User]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/BikingBiking2009-01-29T12:52:29Z<p>Iknowjoseph: /* Bike Mounts */</p>
<hr />
<div>The collection of information useful for biking with a Neo.<br />
<br />
== Bike Mounts ==<br />
<br />
* André Gaul [http://andre.web-yard.de/blog/2008/08/03/neo-freerunner-rocks-hard-rides-free/ documented a complete mounting kit]<br />
* It's just a prototype :) but with some foam around the handlebar and careful positioning to avoid bumps, a [http://www.xmission.com/~bmidgley/neobike.jpg basic attachment] like this might work and makes it easy to "pinch" the screen when you need to finger tap something. [http://blogs.thehumanjourney.net/finds/entry/20080306 Something similar].<br />
* [http://www.rabenfrost.net/openmoko/bikemount/ Images of an interesting bike mount]<br />
* Another mount: [http://comiles.eu/~natanael/wordpress/2008/09/10/fahrradhalterung-fur-den-freerunner/ Description/Parts list (in German)] and [http://comiles.eu/~natanael/wordpress/2008/09/10/bilder-vom-fahrrad-freerunner/ Pictures]<br />
* And [http://blog.printf.net/articles/2008/08/11/an-openmoko-bike-ride another one] "which I don't recommend very highly; I've had the phone come off it (without major damage, which is good) twice now while riding over rough road."<br />
<br />
== Power Supply ==<br />
If you want to keep the GPS running and have the screen always on or staying on with a long timeout, you'll need a way to supplement power.<br />
<br />
=== Charging via hub ===<br />
Connecting a hub ([http://nabendynamo.de/ Nabendynamo]) like the [http://www.peterwhitecycles.com/schmidt.asp SON] to a self-made or prebuilt charger can supply your device while biking.<br />
<br />
The FreeRunner has three different [[Forcing_fast_charge_mode|charging modes]]: 100mA, 500mA and 1A. 100mA seems to be too low, as it is said, that the FreeRunner draws 100mA current even when it is switched off. A hub dynamo provides 500mA. If you want to use your lights while charging you need to connect the lights in series to the charger. At least the SON will increase the voltage and still delivers the same current. But you need a bypass circuit in case of less current draw of the charger when the battery is full.<br />
<br />
Using an USB connection with that ID resistor for 1A mode provides the advantages that the charging mode is automatically correct.<br />
This might be important if you stop frequently and so cause some kind of power "disconnect" and you do not want<br />
to select the charge mode all the time. 1A mode does not harm the hub dynamo but if the dynamo can provide the 500mA also<br />
at higher voltages, you can gain more charge current than in 500mA mode if you have a switching regulator.<br />
For example if the dynamo would provide 10V 500mA and you would have a 100% efficient regulator,<br />
you would have 5V 1A.<br />
<br />
==== Commercial Chargers ====<br />
* [[Zzing]]<br />
* [http://www.jawetec.de/index.php?content=bikecharger&framing=radsport JaWeTec Bike Charger]<br />
* There is a prototype of a hub featuring built-in USB-out which will hopefully be ready for mass market soon.<br />
<br />
==== self-made chargers ====<br />
* [http://www.heise.de/kiosk/archiv/ct/07/23/190 Article (German) in c't 23/2007, page 190]<br />
* maybe 6V [http://www.forumslader.de/6V-Version-des-Rad-Forum-Ladegeraets.125.0.html Forumslader] (You need at least one diode in series to be within the maximum ratings of the power managment IC and the FET switches in FreeRunner.)<br />
* [http://www.iki.fi/~msmakela/electronics/dynamo5v/ Makela]<br />
<br />
Linear regulator above might be replaced by [http://www.dimensionengineering.com/DE-SW050.htm DE-SW050].<br />
<br />
=== Alternatives ===<br />
If you decide to try solar, it's recommended to get a flexible panel and attach it to your backpack or something like that. One nice advantage here is it might also charge even when you're not moving. It's unlikely anything below 7 watts will keep things running. (5v * 1A = 5W).<br />
<br />
It might work with an dynamo outside the hub like the one on the [http://www.reelight.com reelight], but it looks like their coil produces only 3vAC so it makes sense to use a custom coil.<br />
<br />
An extra battery like [http://www.dealextreme.com/details.dx/sku.3060 Rechargeable USB Emergency Power Backup Pack 2400mAh $14.43] can also be useful for extending battery life-time.<br />
<br />
== Software for biking ==<br />
<br />
* [[TangoGPS]] + [http://blogs.thehumanjourney.net/finds/entry/20080826 OSM Cycle data]<br />
* [[Navit]]<br />
* [http://wiki.openstreetmap.org/index.php/Rana Rana] (uses [[Installing Pyroute|Pyroute]])<br />
* [http://www.neo1973-germany.de/wiki/pylgrim pylgrim] bitmap map viewer. Dead.<br />
* [[The_Bicycle_Motion_Information_Displayer]]<br />
* [http://wiki.openstreetmap.org/index.php/Mumpot Mumpot]<br />
<br />
=== See also ===<br />
* [[GPS applications]]<br />
<br />
== Heart Rate Monitor ==<br />
<br />
According to [http://www.mail-archive.com/community@lists.openmoko.org/msg11248.html mailing list discussions] some heart rate monitors use [http://thisisant.com/index.php?section=5 ANT]. Due to the modern chip cases building a reliable homemade receiver seems to be difficult.<br />
<br />
=== HRM Links ===<br />
* [http://www.mikrocontroller.net/articles/Pulsuhrempf%C3%A4nger_mit_AVR_Butterfly German Microcontroller Wiki], Circuit diagram and DSP Simulation.<br />
<br />
== Other Hardware ==<br />
* [http://www.obico.de oBiCo] - An open bicycle linux computer - seems to be alive, but nothing there yet.<br />
<br />
[[Category:Add-on data]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-12-15T11:40:40Z<p>Iknowjoseph: /* Using a GUI */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Using USB host mode ===<br />
==== Selecting USB host modes ====<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹:<br />
<br />
# echo host > [[GTA02 sysfs|/sys]]/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
# echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
# echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
# echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
* NOTE: with [FSO] based distributions one should use the [[Dbus device API|dbus APIs]] and not the method stated above.<br />
<br />
==== Returning to USB device mode ====<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
You can now safely restart USB networking<br />
<br />
ifconfig usb0 up<br />
<br />
==== USB-Mode-Script====<br />
This simple script switches between USB-Modes:<br />
<br />
#!/bin/sh</nowiki> <br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<br />
if [ $? -eq 0 ]<br />
then<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
ifconfig usb0 up<br />
echo USB-Port is in device-mode now.<br />
else<br />
ifconfig usb0 down<br />
echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
lsusb<br />
echo USB-Port is in host-mode now.<br />
fi<br />
<br />
See this [https://docs.openmoko.org/trac/ticket/2166 bug] for a justification for adding the lsusb hack.<br />
<br />
==== Using a GUI ====<br />
* Using the packaged push button derived from the script above: [http://blogs.thehumanjourney.net/finds/resource/usbmode-button_0.3_armv4t.ipk Download]<br />
* [[User:Techiem2|Mark D. Montgomery II]]'s [http://techiem2.net/index.php?/archives/10-Freerunner-USB-Mode-Control-Program.html application] controls all the various modes through a GUI<br />
* Thomas Vesely's [http://projects.openmoko.org/projects/usbchmod/ project]<br />
* Using the gtk+ gui [[Framework-settings]]<br />
* Using [http://projects.openmoko.org/projects/panel-plugin openmoko-panel-plugin]<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
(However, as there is a wide range[http://permalink.gmane.org/gmane.comp.handhelds.openmoko.hardware/415]<br />
of USB hubs out there, one might find power (on a powered USB hub)<br />
is available already on the hub's mini USB 5 pin socket already, so not need a specialized cable after all!<br />
Check with a test meter.)<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n fast_cccv > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== USB Keyboard ====<br />
<br />
Pictures [http://blogs.thehumanjourney.net/finds/entry/20080716 here]<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-12-12T13:33:50Z<p>Iknowjoseph: /* USB-Mode-Script */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Using USB host mode ===<br />
==== Selecting USB host modes ====<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹:<br />
<br />
# echo host > [[GTA02 sysfs|/sys]]/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
# echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
# echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
# echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
* NOTE: with [FSO] based distributions one should use the [[Dbus device API|dbus APIs]] and not the method stated above.<br />
<br />
==== Returning to USB device mode ====<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
You can now safely restart USB networking<br />
<br />
ifconfig usb0 up<br />
<br />
==== USB-Mode-Script====<br />
This simple script switches between USB-Modes:<br />
<br />
#!/bin/sh</nowiki> <br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<br />
if [ $? -eq 0 ]<br />
then<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
ifconfig usb0 up<br />
echo USB-Port is in device-mode now.<br />
else<br />
ifconfig usb0 down<br />
echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
lsusb<br />
echo USB-Port is in host-mode now.<br />
fi<br />
<br />
See this [https://docs.openmoko.org/trac/ticket/2166 bug] for a justification for adding the lsusb hack.<br />
<br />
==== Using a GUI ====<br />
* Using the packaged push button derived from the script above: [http://blogs.thehumanjourney.net/finds/resource/usbmode-button_0.2_armv4t.ipk Download]<br />
* [[User:Techiem2|Mark D. Montgomery II]]'s [http://techiem2.net/index.php?/archives/10-Freerunner-USB-Mode-Control-Program.html application] controls all the various modes through a GUI<br />
* Thomas Vesely's [http://projects.openmoko.org/projects/usbchmod/ project]<br />
* Using the gtk+ gui [[Framework-settings]]<br />
* Using [http://projects.openmoko.org/projects/panel-plugin openmoko-panel-plugin]<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
(However, as there is a wide range[http://permalink.gmane.org/gmane.comp.handhelds.openmoko.hardware/415]<br />
of USB hubs out there, one might find power (on a powered USB hub)<br />
is available already on the hub's mini USB 5 pin socket already, so not need a specialized cable after all!<br />
Check with a test meter.)<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n fast_cccv > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== USB Keyboard ====<br />
<br />
Pictures [http://blogs.thehumanjourney.net/finds/entry/20080716 here]<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/Openmoko:Usb_lightOpenmoko:Usb light2008-12-05T18:25:05Z<p>Iknowjoseph: </p>
<hr />
<div>{{Languages|Openmoko:Usb_light}}<br />
<br />
=USB-Light=<br />
One thing that i like on my older phone, a Sony Ericsson W800i, is the light (camera light, but you can use it without the camera). So i thought about a solution for my Freerunner and the result is the following article. At least ⇒ At own's risk ;)<br />
<br />
==Idea==<br />
<br />
* Two leds<br />
* Two resitors<br />
* a miniusb B male connector<br />
* a bit solder<br />
* and a bit hot glue<br />
<br />
and you have a light for your Freerunner :D<br />
<br />
=Instructions=<br />
==Components==<br />
<br />
* 2 x white LED ultra bright ⇒ [http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=A5332;GROUPID=3019;ARTICLE=26496;START=0;SORT=artnr;OFFSET=16;SID=28SA7h56wQARwAACk@Bmsa794de820d10a89112a12211e64ae497 LED 3-2000 WS on Reichelt] (german distributor for electrical components)<br />
* 2 x 75 Ohm resistors 1/4 W ⇒ [http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=B1112;GROUPID=3063;ARTICLE=1466;START=0;SORT=artnr;OFFSET=16;SID=28SA7h56wQARwAACk@Bmsa794de820d10a89112a12211e64ae497 1/4W 75 Ohm resistor on Reichelt]<br />
* 1 x USB mini B cable ⇒ [http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=C6992;GROUPID=3348;ARTICLE=45361;START=0;SORT=artnr;OFFSET=16;SID=28SA7h56wQARwAACk@Bmsa794de820d10a89112a12211e64ae497 AK 673-A USB mini B to normal usb connector on Reichelt]<br />
<br />
==Schematic==<br />
[[Image:Fetch.png|align|center]]<br />
German Wikipedia-article about the universal serial bus ⇒ http://de.wikipedia.org/wiki/Universal_Serial_Bus#Farbkodierung_und_Pinouts<br />
<br />
==Preparation==<br />
Cut the usb cable and seperate the rubber of the usbmini connector and remove the pins 2,3,4 (a lower risk of a short circuit). Now solder the components according to the schematic. WARNING ⇒ risk of a short circuit on the metal parts of the connector. Check the circuit without the metal part, if it works.<br />
<br />
{|<br />
|-<br />
[[Image:Fetch1.png|align|center|400px|thumb|'''* without the metal part of the connector''']]<br />
|-<br />
[[Image:Fetch2.png|align|center|400px|thumb|'''* with the metal part of the connector''']]<br />
|-<br />
[[Image:Fetch3.png|align|center|400px|thumb|'''* with hot glue (i know its not very beautiful, but it works, it's robust and i have no short circuit''' ;)]]<br />
|-<br />
<br />
==Software==<br />
When I searched for a good solution to activate the host-mode of the Freerunner I found this blog entry:<br />
<br />
* http://blogs.thehumanjourney.net/finds/entry/usb_host_mode_the_button<br />
<br />
Joseph Reeves modified his usbmode-button package after a few suggestions by me and here is his new blog-article with Version 0.2:<br />
<br />
* http://blogs.thehumanjourney.net/finds/entry/usb_mode_button_0_2<br />
<br />
Thanks Joseph Reeves :D<br />
<br />
You can toggle the host-mode on and off with a click on the icon.<br />
It works!<br />
<br />
=Examples=<br />
==Images==<br />
<br />
[[Image:Fetch4.jpeg|200px|align|center]]<br />
[[Image:Fetch6.jpeg|200px|align|center]]<br />
<br />
==Videos==<br />
<br />
* Freerunner in broad daylight ⇒ http://www.youtube.com/watch?v=iK5w-OHSm9g<br />
* Freerunner at night ⇒ http://www.youtube.com/watch?v=f2H4QZq2xxE<br />
<br />
* My version ⇒ http://www.youtube.com/watch?v=-qMmwOoLiZ8 :)<br />
<br />
=Improvements? Ideas!=<br />
<br />
It works but it's not very beautiful, perhaps you have any ideas. Mail me :D<br />
[[Category:Hardware ideas]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/Openmoko:Usb_lightOpenmoko:Usb light2008-12-05T18:21:54Z<p>Iknowjoseph: </p>
<hr />
<div>{{Languages|Openmoko:Usb_light}}<br />
<br />
=USB-Light=<br />
One thing that i like on my older phone, a Sony Ericsson W800i, is the light (camera light, but you can use it without the camera). So i thought about a solution for my Freerunner and the result is the following article. At least ⇒ At own's risk ;)<br />
<br />
==Idea==<br />
<br />
* Two leds<br />
* Two resitors<br />
* a miniusb B male connector<br />
* a bit solder<br />
* and a bit hot glue<br />
<br />
and you have a light for your Freerunner :D<br />
<br />
=Instructions=<br />
==Components==<br />
<br />
* 2 x white LED ultra bright ⇒ [http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=A5332;GROUPID=3019;ARTICLE=26496;START=0;SORT=artnr;OFFSET=16;SID=28SA7h56wQARwAACk@Bmsa794de820d10a89112a12211e64ae497 LED 3-2000 WS on Reichelt] (german distributor for electrical components)<br />
* 2 x 75 Ohm resistors 1/4 W ⇒ [http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=B1112;GROUPID=3063;ARTICLE=1466;START=0;SORT=artnr;OFFSET=16;SID=28SA7h56wQARwAACk@Bmsa794de820d10a89112a12211e64ae497 1/4W 75 Ohm resistor on Reichelt]<br />
* 1 x USB mini B cable ⇒ [http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=C6992;GROUPID=3348;ARTICLE=45361;START=0;SORT=artnr;OFFSET=16;SID=28SA7h56wQARwAACk@Bmsa794de820d10a89112a12211e64ae497 AK 673-A USB mini B to normal usb connector on Reichelt]<br />
<br />
==Schematic==<br />
[[Image:Fetch.png|align|center]]<br />
German Wikipedia-article about the universal serial bus ⇒ http://de.wikipedia.org/wiki/Universal_Serial_Bus#Farbkodierung_und_Pinouts<br />
<br />
==Preparation==<br />
Cut the usb cable and seperate the rubber of the usbmini connector and remove the pins 2,3,4 (a lower risk of a short circuit). Now solder the components according to the schematic. WARNING ⇒ risk of a short circuit on the metal parts of the connector. Check the circuit without the metal part, if it works.<br />
<br />
{|<br />
|-<br />
[[Image:Fetch1.png|align|center|400px|thumb|'''* without the metal part of the connector''']]<br />
|-<br />
[[Image:Fetch2.png|align|center|400px|thumb|'''* with the metal part of the connector''']]<br />
|-<br />
[[Image:Fetch3.png|align|center|400px|thumb|'''* with hot glue (i know its not very beautiful, but it works, it's robust and i have no short circuit''' ;)]]<br />
|-<br />
<br />
==Software==<br />
When I searched for a good solution to activate the host-mode of the Freerunner I found this blog entry:<br />
<br />
* http://blogs.thehumanjourney.net/finds/entry/usb_host_mode_the_button<br />
<br />
Joseph Reeves modified his usbmode-button package after a few suggestions by me and here is his new blog-article with Version 0.2:<br />
<br />
* http://blogs.thehumanjourney.net/finds/entry/usb_mode_button_0_2<br />
<br />
Thanks Joseph Reeves :D<br />
<br />
You can toggle the host-mode on and off with a click on the icon.<br />
It works!<br />
<br />
<br />
=Images=<br />
<br />
[[Image:Fetch4.jpeg|200px|align|center]]<br />
[[Image:Fetch6.jpeg|200px|align|center]]<br />
<br />
=Videos=<br />
<br />
* Freerunner in broad daylight ⇒ http://www.youtube.com/watch?v=iK5w-OHSm9g<br />
* Freerunner at night ⇒ http://www.youtube.com/watch?v=f2H4QZq2xxE<br />
<br />
* My version ⇒ http://www.youtube.com/watch?v=-qMmwOoLiZ8 :)<br />
<br />
=Improvements? Ideas!=<br />
<br />
It works but it's not very beautiful, perhaps you have any ideas. Mail me :D<br />
[[Category:Hardware ideas]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/Openmoko:Usb_lightOpenmoko:Usb light2008-12-05T18:17:49Z<p>Iknowjoseph: </p>
<hr />
<div>{{Languages|Openmoko:Usb_light}}<br />
<br />
=USB-Light=<br />
One thing that i like on my older phone, a Sony Ericsson W800i, is the light (camera light, but you can use it without the camera). So i thought about a solution for my Freerunner and the result is the following article. At least ⇒ At own's risk ;)<br />
<br />
==Idea==<br />
<br />
* Two leds<br />
* Two resitors<br />
* a miniusb B male connector<br />
* a bit solder<br />
* and a bit hot glue<br />
<br />
and you have a light for your Freerunner :D<br />
<br />
=Instructions=<br />
==Components==<br />
<br />
* 2 x white LED ultra bright ⇒ [http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=A5332;GROUPID=3019;ARTICLE=26496;START=0;SORT=artnr;OFFSET=16;SID=28SA7h56wQARwAACk@Bmsa794de820d10a89112a12211e64ae497 LED 3-2000 WS on Reichelt] (german distributor for electrical components)<br />
* 2 x 75 Ohm resistors 1/4 W ⇒ [http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=B1112;GROUPID=3063;ARTICLE=1466;START=0;SORT=artnr;OFFSET=16;SID=28SA7h56wQARwAACk@Bmsa794de820d10a89112a12211e64ae497 1/4W 75 Ohm resistor on Reichelt]<br />
* 1 x USB mini B cable ⇒ [http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=C6992;GROUPID=3348;ARTICLE=45361;START=0;SORT=artnr;OFFSET=16;SID=28SA7h56wQARwAACk@Bmsa794de820d10a89112a12211e64ae497 AK 673-A USB mini B to normal usb connector on Reichelt]<br />
<br />
=Schematic=<br />
[[Image:Fetch.png|align|center]]<br />
German Wikipedia-article about the universal serial bus ⇒ http://de.wikipedia.org/wiki/Universal_Serial_Bus#Farbkodierung_und_Pinouts<br />
<br />
=Preparation=<br />
Cut the usb cable and seperate the rubber of the usbmini connector and remove the pins 2,3,4 (a lower risk of a short circuit). Now solder the components according to the schematic. WARNING ⇒ risk of a short circuit on the metal parts of the connector. Check the circuit without the metal part, if it works.<br />
<br />
{|<br />
|-<br />
[[Image:Fetch1.png|align|center|400px|thumb|'''* without the metal part of the connector''']]<br />
|-<br />
[[Image:Fetch2.png|align|center|400px|thumb|'''* with the metal part of the connector''']]<br />
|-<br />
[[Image:Fetch3.png|align|center|400px|thumb|'''* with hot glue (i know its not very beautiful, but it works, it's robust and i have no short circuit''' ;)]]<br />
|-<br />
<br />
=Software=<br />
When i searched for a good solution to activate the host-mode of the freerunner i found this blog entry<br />
<br />
* http://blogs.thehumanjourney.net/finds/entry/usb_host_mode_the_button<br />
<br />
Joseph Reeves modified his usbmode-button package after a few suggestions by me and here is his new blog-article with Version 0.2<br />
<br />
* http://blogs.thehumanjourney.net/finds/entry/usb_mode_button_0_2<br />
<br />
Thanks Joseph Reeves :D<br />
<br />
You can toggle the host-mode on and off with a click on the icon.<br />
It works!<br />
<br />
<br />
=Images=<br />
<br />
[[Image:Fetch4.jpeg|200px|align|center]]<br />
[[Image:Fetch6.jpeg|200px|align|center]]<br />
<br />
=Videos=<br />
<br />
* Freerunner in broad daylight ⇒ http://www.youtube.com/watch?v=iK5w-OHSm9g<br />
* Freerunner at night ⇒ http://www.youtube.com/watch?v=f2H4QZq2xxE<br />
<br />
* My version ⇒ http://www.youtube.com/watch?v=-qMmwOoLiZ8 :)<br />
<br />
=Improvements? Ideas!=<br />
<br />
It works but it's not very beautiful, perhaps you have any ideas. Mail me :D<br />
[[Category:Hardware ideas]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-12-01T11:12:09Z<p>Iknowjoseph: /* USB-Mode-Script */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Using USB host mode ===<br />
==== Selecting USB host modes ====<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹:<br />
<br />
# echo host > [[GTA02 sysfs|/sys]]/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
# echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
# echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
# echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
* NOTE: with [FSO] based distributions one should use the [[Dbus device API|dbus APIs]] and not the method stated above.<br />
<br />
==== Returning to USB device mode ====<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
You can now safely restart USB networking<br />
<br />
ifconfig usb0 up<br />
<br />
==== USB-Mode-Script====<br />
This simple script switches between USB-Modes:<br />
<br />
#!/bin/sh</nowiki> <br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<br />
if [ $? -eq 0 ]<br />
then<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
ifconfig usb0 up<br />
echo USB-Port is in device-mode now.<br />
else<br />
ifconfig usb0 down<br />
echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo USB-Port is in host-mode now.<br />
fi<br />
<br />
==== Using a GUI ====<br />
* Using the packaged push button derived from the script above: [http://blogs.thehumanjourney.net/finds/resource/usbmode-button_0.2_armv4t.ipk Download]<br />
* [[User:Techiem2|Mark D. Montgomery II]]'s [http://techiem2.net/index.php?/archives/10-Freerunner-USB-Mode-Control-Program.html application] controls all the various modes through a GUI<br />
* Thomas Vesely's [http://projects.openmoko.org/projects/usbchmod/ project]<br />
* Using the gtk+ gui [[Framework-settings]]<br />
* Using openmoko-panel-plugin (confirmation and link needed)<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
(However, as there is a wide range[http://permalink.gmane.org/gmane.comp.handhelds.openmoko.hardware/415]<br />
of USB hubs out there, one might find power (on a powered USB hub)<br />
is available already on the hub's mini USB 5 pin socket already, so not need a specialized cable after all!<br />
Check with a test meter.)<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n fast_cccv > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== USB Keyboard ====<br />
<br />
Pictures [http://blogs.thehumanjourney.net/finds/entry/20080716 here]<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-12-01T11:11:12Z<p>Iknowjoseph: /* USB-Mode-Script */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Using USB host mode ===<br />
==== Selecting USB host modes ====<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹:<br />
<br />
# echo host > [[GTA02 sysfs|/sys]]/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
# echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
# echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
# echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
* NOTE: with [FSO] based distributions one should use the [[Dbus device API|dbus APIs]] and not the method stated above.<br />
<br />
==== Returning to USB device mode ====<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
You can now safely restart USB networking<br />
<br />
ifconfig usb0 up<br />
<br />
==== USB-Mode-Script====<br />
This simple script switches between USB-Modes:<br />
<br />
#!/bin/sh</nowiki> <br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<br />
if [ $? -eq 0 ]<br />
then<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
ifconfig usb0 up<br />
echo USB-Port is in device-mode now.<br />
else<br />
ifconfig usb0 down<br />
echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo USB-Port is in host-mode now.<br />
fi<br />
<BR><br />
<br />
==== Using a GUI ====<br />
* Using the packaged push button derived from the script above: [http://blogs.thehumanjourney.net/finds/resource/usbmode-button_0.2_armv4t.ipk Download]<br />
* [[User:Techiem2|Mark D. Montgomery II]]'s [http://techiem2.net/index.php?/archives/10-Freerunner-USB-Mode-Control-Program.html application] controls all the various modes through a GUI<br />
* Thomas Vesely's [http://projects.openmoko.org/projects/usbchmod/ project]<br />
* Using the gtk+ gui [[Framework-settings]]<br />
* Using openmoko-panel-plugin (confirmation and link needed)<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
(However, as there is a wide range[http://permalink.gmane.org/gmane.comp.handhelds.openmoko.hardware/415]<br />
of USB hubs out there, one might find power (on a powered USB hub)<br />
is available already on the hub's mini USB 5 pin socket already, so not need a specialized cable after all!<br />
Check with a test meter.)<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n fast_cccv > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== USB Keyboard ====<br />
<br />
Pictures [http://blogs.thehumanjourney.net/finds/entry/20080716 here]<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-12-01T11:04:23Z<p>Iknowjoseph: /* Selecting USB host modes */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Using USB host mode ===<br />
==== Selecting USB host modes ====<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹:<br />
<br />
# echo host > [[GTA02 sysfs|/sys]]/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
# echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
# echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
# echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
* NOTE: with [FSO] based distributions one should use the [[Dbus device API|dbus APIs]] and not the method stated above.<br />
<br />
==== Returning to USB device mode ====<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
You can now safely restart USB networking<br />
<br />
ifconfig usb0 up<br />
<br />
==== USB-Mode-Script====<br />
These simple script is useful to switch the USB-Modes:<br />
<BR><BR><br />
#!/bin/sh</nowiki> <br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<br />
if [ $? -eq 0 ]<br />
then<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
ifconfig usb0 up<br />
echo USB-Port is in device-mode now.<br />
else<br />
ifconfig usb0 down<br />
echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo USB-Port is in host-mode now.<br />
fi<br />
<BR><br />
<br />
==== Using a GUI ====<br />
* Using the packaged push button derived from the script above: [http://blogs.thehumanjourney.net/finds/resource/usbmode-button_0.2_armv4t.ipk Download]<br />
* [[User:Techiem2|Mark D. Montgomery II]]'s [http://techiem2.net/index.php?/archives/10-Freerunner-USB-Mode-Control-Program.html application] controls all the various modes through a GUI<br />
* Thomas Vesely's [http://projects.openmoko.org/projects/usbchmod/ project]<br />
* Using the gtk+ gui [[Framework-settings]]<br />
* Using openmoko-panel-plugin (confirmation and link needed)<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
(However, as there is a wide range[http://permalink.gmane.org/gmane.comp.handhelds.openmoko.hardware/415]<br />
of USB hubs out there, one might find power (on a powered USB hub)<br />
is available already on the hub's mini USB 5 pin socket already, so not need a specialized cable after all!<br />
Check with a test meter.)<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n fast_cccv > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== USB Keyboard ====<br />
<br />
Pictures [http://blogs.thehumanjourney.net/finds/entry/20080716 here]<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-12-01T10:38:34Z<p>Iknowjoseph: /* Power Concerns */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Using USB host mode ===<br />
==== Selecting USB host modes ====<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹):<br />
<br />
# echo host > [[GTA02 sysfs|/sys]]/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
# echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
# echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
# echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
* NOTE: with [FSO] based distributions one should use the [[Dbus device API|dbus APIs]] and not the method stated above.<br />
<br />
==== Returning to USB device mode ====<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
You can now safely restart USB networking<br />
<br />
ifconfig usb0 up<br />
<br />
==== USB-Mode-Script====<br />
These simple script is useful to switch the USB-Modes:<br />
<BR><BR><br />
#!/bin/sh</nowiki> <br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<br />
if [ $? -eq 0 ]<br />
then<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
ifconfig usb0 up<br />
echo USB-Port is in device-mode now.<br />
else<br />
ifconfig usb0 down<br />
echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo USB-Port is in host-mode now.<br />
fi<br />
<BR><br />
<br />
==== Using a GUI ====<br />
* Using the packaged push button derived from the script above: [http://blogs.thehumanjourney.net/finds/resource/usbmode-button_0.2_armv4t.ipk Download]<br />
* [[User:Techiem2|Mark D. Montgomery II]]'s [http://techiem2.net/index.php?/archives/10-Freerunner-USB-Mode-Control-Program.html application] controls all the various modes through a GUI<br />
* Thomas Vesely's [http://projects.openmoko.org/projects/usbchmod/ project]<br />
* Using the gtk+ gui [[Framework-settings]]<br />
* Using openmoko-panel-plugin (confirmation and link needed)<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
(However, as there is a wide range[http://permalink.gmane.org/gmane.comp.handhelds.openmoko.hardware/415]<br />
of USB hubs out there, one might find power (on a powered USB hub)<br />
is available already on the hub's mini USB 5 pin socket already, so not need a specialized cable after all!<br />
Check with a test meter.)<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n fast_cccv > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== USB Keyboard ====<br />
<br />
Pictures [http://blogs.thehumanjourney.net/finds/entry/20080716 here]<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-12-01T10:38:13Z<p>Iknowjoseph: /* Returning to USB device mode */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Using USB host mode ===<br />
==== Selecting USB host modes ====<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹):<br />
<br />
# echo host > [[GTA02 sysfs|/sys]]/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
# echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
# echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
# echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
* NOTE: with [FSO] based distributions one should use the [[Dbus device API|dbus APIs]] and not the method stated above.<br />
<br />
==== Returning to USB device mode ====<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
You can now safely restart USB networking<br />
<br />
ifconfig usb0 up<br />
<br />
==== USB-Mode-Script====<br />
These simple script is useful to switch the USB-Modes:<br />
<BR><BR><br />
#!/bin/sh</nowiki> <br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<br />
if [ $? -eq 0 ]<br />
then<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
ifconfig usb0 up<br />
echo USB-Port is in device-mode now.<br />
else<br />
ifconfig usb0 down<br />
echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo USB-Port is in host-mode now.<br />
fi<br />
<BR><br />
<br />
==== Using a GUI ====<br />
* Using the packaged push button derived from the script above: [http://blogs.thehumanjourney.net/finds/resource/usbmode-button_0.2_armv4t.ipk Download]<br />
* [[User:Techiem2|Mark D. Montgomery II]]'s [http://techiem2.net/index.php?/archives/10-Freerunner-USB-Mode-Control-Program.html application] controls all the various modes through a GUI<br />
* Thomas Vesely's [http://projects.openmoko.org/projects/usbchmod/ project]<br />
* Using the gtk+ gui [[Framework-settings]]<br />
* Using openmoko-panel-plugin (confirmation and link needed)<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
(However, as there is a wide range[http://permalink.gmane.org/gmane.comp.handhelds.openmoko.hardware/415]<br />
of USB hubs out there, one might find power (on a powered USB hub)<br />
is available already on the hub's mini USB 5 pin socket already, so not need a specialized cable after all!<br />
Check with a test meter.)<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n fast_cccv > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== USB Keyboard ====<br />
<br />
Pictures [http://blogs.thehumanjourney.net/finds/entry/20080716 here]<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-12-01T10:37:29Z<p>Iknowjoseph: /* Using a GUI */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Using USB host mode ===<br />
==== Selecting USB host modes ====<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹):<br />
<br />
# echo host > [[GTA02 sysfs|/sys]]/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
# echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
# echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
# echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
* NOTE: with [FSO] based distributions one should use the [[Dbus device API|dbus APIs]] and not the method stated above.<br />
<br />
==== Returning to USB device mode ====<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<BR><BR><br />
You can now safely restart USB networking.<br />
<br />
==== USB-Mode-Script====<br />
These simple script is useful to switch the USB-Modes:<br />
<BR><BR><br />
#!/bin/sh</nowiki> <br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<br />
if [ $? -eq 0 ]<br />
then<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
ifconfig usb0 up<br />
echo USB-Port is in device-mode now.<br />
else<br />
ifconfig usb0 down<br />
echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo USB-Port is in host-mode now.<br />
fi<br />
<BR><br />
<br />
==== Using a GUI ====<br />
* Using the packaged push button derived from the script above: [http://blogs.thehumanjourney.net/finds/resource/usbmode-button_0.2_armv4t.ipk Download]<br />
* [[User:Techiem2|Mark D. Montgomery II]]'s [http://techiem2.net/index.php?/archives/10-Freerunner-USB-Mode-Control-Program.html application] controls all the various modes through a GUI<br />
* Thomas Vesely's [http://projects.openmoko.org/projects/usbchmod/ project]<br />
* Using the gtk+ gui [[Framework-settings]]<br />
* Using openmoko-panel-plugin (confirmation and link needed)<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
(However, as there is a wide range[http://permalink.gmane.org/gmane.comp.handhelds.openmoko.hardware/415]<br />
of USB hubs out there, one might find power (on a powered USB hub)<br />
is available already on the hub's mini USB 5 pin socket already, so not need a specialized cable after all!<br />
Check with a test meter.)<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n fast_cccv > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== USB Keyboard ====<br />
<br />
Pictures [http://blogs.thehumanjourney.net/finds/entry/20080716 here]<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-12-01T10:36:55Z<p>Iknowjoseph: /* USB-Mode-Script */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Using USB host mode ===<br />
==== Selecting USB host modes ====<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹):<br />
<br />
# echo host > [[GTA02 sysfs|/sys]]/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
# echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
# echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
# echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
* NOTE: with [FSO] based distributions one should use the [[Dbus device API|dbus APIs]] and not the method stated above.<br />
<br />
==== Returning to USB device mode ====<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<BR><BR><br />
You can now safely restart USB networking.<br />
<br />
==== USB-Mode-Script====<br />
These simple script is useful to switch the USB-Modes:<br />
<BR><BR><br />
#!/bin/sh</nowiki> <br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<br />
if [ $? -eq 0 ]<br />
then<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
ifconfig usb0 up<br />
echo USB-Port is in device-mode now.<br />
else<br />
ifconfig usb0 down<br />
echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo USB-Port is in host-mode now.<br />
fi<br />
<BR><br />
<br />
==== Using a GUI ====<br />
* Using the packaged push button derived from the script above: [http://blogs.thehumanjourney.net/finds/resource/usbmode-button_0.1_armv4t.ipk Download]<br />
* [[User:Techiem2|Mark D. Montgomery II]]'s [http://techiem2.net/index.php?/archives/10-Freerunner-USB-Mode-Control-Program.html application] controls all the various modes through a GUI<br />
* Thomas Vesely's [http://projects.openmoko.org/projects/usbchmod/ project]<br />
* Using the gtk+ gui [[Framework-settings]]<br />
* Using openmoko-panel-plugin (confirmation and link needed)<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
(However, as there is a wide range[http://permalink.gmane.org/gmane.comp.handhelds.openmoko.hardware/415]<br />
of USB hubs out there, one might find power (on a powered USB hub)<br />
is available already on the hub's mini USB 5 pin socket already, so not need a specialized cable after all!<br />
Check with a test meter.)<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n fast_cccv > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== USB Keyboard ====<br />
<br />
Pictures [http://blogs.thehumanjourney.net/finds/entry/20080716 here]<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-11-12T15:49:31Z<p>Iknowjoseph: /* Using a GUI */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Using USB host mode ===<br />
==== Selecting USB host modes ====<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹):<br />
<br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
~ - echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
~ - echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
* NOTE: with [FSO] based distributions one should use the dbus APIs and not the method stated above.<br />
<br />
<br />
==== Returning to USB device mode ====<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<BR><BR><br />
You can now safely restart USB networking.<br />
<br />
==== USB-Mode-Script====<br />
These simple script is useful to switch the USB-Modes:<br />
<BR><BR><br />
<br />
<nowiki>#!/bin/sh</nowiki> <BR><br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
if [ $? -eq 0 ]<BR><br />
then<BR><br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
echo USB-Port is in device-mode now.<BR><br />
else<BR><br />
ifconfig usb0 down<BR><br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo USB-Port is in host-mode now.<BR><br />
fi<BR><br />
<BR><br />
You can easily create a push button menu item for this: [http://blogs.thehumanjourney.net/finds/entry/usb_host_mode_the_button Instructions]<br />
<br />
==== Using a GUI ====<br />
* Using the packaged push button derived from the script above: [http://blogs.thehumanjourney.net/finds/resource/usbmode-button_0.1_armv4t.ipk Download]<br />
* Mark D. Montgomery II's [http://techiem2.net/index.php?/archives/10-Freerunner-USB-Mode-Control-Program.html application] controls all the various modes through a GUI<br />
* Thomas Vesely's [http://projects.openmoko.org/projects/usbchmod/ project]<br />
* Using the gtk+ gui [[Framework-settings]]<br />
* Using openmoko-panel-plugin (confirmation and link needed)<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n "fast_cccv" > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== USB Keyboard ====<br />
<br />
Pictures [http://blogs.thehumanjourney.net/finds/entry/20080716 here]<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-11-11T17:05:52Z<p>Iknowjoseph: /* Working Examples */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Using USB host mode ===<br />
==== Selecting USB host modes ====<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹):<br />
<br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
~ - echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
~ - echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
* NOTE: with [FSO] based distributions one should use the dbus APIs and not the method stated above.<br />
<br />
<br />
==== Returning to USB device mode ====<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<BR><BR><br />
You can now safely restart USB networking.<br />
<br />
==== USB-Mode-Script====<br />
These simple script is useful to switch the USB-Modes:<br />
<BR><BR><br />
<br />
<nowiki>#!/bin/sh</nowiki> <BR><br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
if [ $? -eq 0 ]<BR><br />
then<BR><br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
echo USB-Port is in device-mode now.<BR><br />
else<BR><br />
ifconfig usb0 down<BR><br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo USB-Port is in host-mode now.<BR><br />
fi<BR><br />
<BR><br />
You can easily create a push button menu item for this: [http://blogs.thehumanjourney.net/finds/entry/usb_host_mode_the_button Instructions]<br />
<br />
==== Using a GUI ====<br />
* Using the packaged push button derived from the script above: [http://blogs.thehumanjourney.net/finds/resource/usbmode-button_0.1_armv4t.ipk Download]<br />
* Using the gtk+ gui [[Framework-settings]]<br />
* Using openmoko-panel-plugin (confirmation and link needed)<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n "fast_cccv" > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== USB Keyboard ====<br />
<br />
Pictures [http://blogs.thehumanjourney.net/finds/entry/20080716 here]<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-11-11T16:55:41Z<p>Iknowjoseph: /* Using a GUI */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Using USB host mode ===<br />
==== Selecting USB host modes ====<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹):<br />
<br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
~ - echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
~ - echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
* NOTE: with [FSO] based distributions one should use the dbus APIs and not the method stated above.<br />
<br />
<br />
==== Returning to USB device mode ====<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<BR><BR><br />
You can now safely restart USB networking.<br />
<br />
==== USB-Mode-Script====<br />
These simple script is useful to switch the USB-Modes:<br />
<BR><BR><br />
<br />
<nowiki>#!/bin/sh</nowiki> <BR><br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
if [ $? -eq 0 ]<BR><br />
then<BR><br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
echo USB-Port is in device-mode now.<BR><br />
else<BR><br />
ifconfig usb0 down<BR><br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo USB-Port is in host-mode now.<BR><br />
fi<BR><br />
<BR><br />
You can easily create a push button menu item for this: [http://blogs.thehumanjourney.net/finds/entry/usb_host_mode_the_button Instructions]<br />
<br />
==== Using a GUI ====<br />
* Using the packaged push button derived from the script above: [http://blogs.thehumanjourney.net/finds/resource/usbmode-button_0.1_armv4t.ipk Download]<br />
* Using the gtk+ gui [[Framework-settings]]<br />
* Using openmoko-panel-plugin (confirmation and link needed)<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n "fast_cccv" > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-11-11T14:18:45Z<p>Iknowjoseph: /* USB-Mode-Script */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Selecting USB host modes ===<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹):<br />
<br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
~ - echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
~ - echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
<br />
<br />
=== Returning to USB device mode ===<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<BR><BR><br />
You can now safely restart USB networking.<br />
<br />
=== USB-Mode-Script===<br />
These simple script is useful to switch the USB-Modes:<br />
<BR><BR><br />
<br />
<nowiki>#!/bin/sh</nowiki> <BR><br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
if [ $? -eq 0 ]<BR><br />
then<BR><br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
echo USB-Port is in device-mode now.<BR><br />
else<BR><br />
ifconfig usb0 down<BR><br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo USB-Port is in host-mode now.<BR><br />
fi<BR><br />
<BR><br />
You can easily create a push button menu item for this: [http://blogs.thehumanjourney.net/finds/entry/usb_host_mode_the_button Instructions]<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n "fast_cccv" > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-11-11T14:17:35Z<p>Iknowjoseph: /* USB-Mode-Script */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Selecting USB host modes ===<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹):<br />
<br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
~ - echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
~ - echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
<br />
<br />
=== Returning to USB device mode ===<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<BR><BR><br />
You can now safely restart USB networking.<br />
<br />
=== USB-Mode-Script===<br />
These simple script is useful to switch the USB-Modes:<br />
<BR><BR><br />
#!/bin/sh<BR><br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
if [ $? -eq 0 ]<BR><br />
then<BR><br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
echo USB-Port is in device-mode now.<BR><br />
else<BR><br />
ifconfig usb0 down<BR><br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<BR><br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo USB-Port is in host-mode now.<BR><br />
fi<BR><br />
<BR><br />
You can easily create a push button menu item for this: [http://blogs.thehumanjourney.net/finds/entry/usb_host_mode_the_button Instructions]<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n "fast_cccv" > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-11-11T14:16:40Z<p>Iknowjoseph: /* Returning to USB device mode */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Selecting USB host modes ===<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹):<br />
<br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
~ - echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
~ - echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
<br />
<br />
=== Returning to USB device mode ===<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<BR><br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<BR><BR><br />
You can now safely restart USB networking.<br />
<br />
=== USB-Mode-Script===<br />
These simple script is useful to switch the USB-Modes:<br />
#!/bin/sh<br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<br />
if [ $? -eq 0 ]<br />
then<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo USB-Port is in device-mode now.<br />
else<br />
ifconfig usb0 down<br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo USB-Port is in host-mode now.<br />
fi<br />
<br />
You can easily create a push button menu item for this: [http://blogs.thehumanjourney.net/finds/entry/usb_host_mode_the_button Instructions]<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n "fast_cccv" > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-11-11T14:15:59Z<p>Iknowjoseph: /* Returning from USB host mode to USB device mode */</p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Selecting USB host modes ===<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹):<br />
<br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
~ - echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
~ - echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
<br />
<br />
=== Returning to USB device mode ===<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
You can now safely restart USB networking.<br />
<br />
=== USB-Mode-Script===<br />
These simple script is useful to switch the USB-Modes:<br />
#!/bin/sh<br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<br />
if [ $? -eq 0 ]<br />
then<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo USB-Port is in device-mode now.<br />
else<br />
ifconfig usb0 down<br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo USB-Port is in host-mode now.<br />
fi<br />
<br />
You can easily create a push button menu item for this: [http://blogs.thehumanjourney.net/finds/entry/usb_host_mode_the_button Instructions]<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n "fast_cccv" > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-11-11T14:15:21Z<p>Iknowjoseph: </p>
<hr />
<div>{{Languages|USB host}}<br />
The mini-USB port on both the Neo 1973 and the Neo FreeRunner supports both USB host and USB device. This opens up a range of possibilities, such as adding USB cameras and USB input devices.<br />
<br />
=== Selecting USB host modes ===<br />
<br />
By default, the mini-USB port is in device mode. To tell the Neo that it is logically a host¹):<br />
<br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Independent of the logical mode of the USB port, the Neo FreeRunner can provide 5 volt USB power to an attached USB device. To enable this (not available on Neo 1973):<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to USB host mode, as the Neo's USB networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
Note that in full USB host mode the FreeRunner will power the external device. To avoid draining the battery use a powered USB hub, then on the FreeRunner enable logical host mode:<br />
<br />
~ - echo host > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
but NOT electrical host mode<br />
<br />
~ - echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Note that powered USB hubs do not send power upstream, that is, into the host. If you wish to power or charge the FreeRunner, you will need a [[Specialized USB cables|special USB cable]].<br />
<br />
¹)Debian note: You'll need the ohci-hcd module:<br />
modprobe ohci-hcd<br />
<br />
==== Returning from USB host mode to USB device mode ====<br />
<br />
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
=== Returning to USB device mode ===<br />
After doing whatever is needed to safely remove your device and unplugging it you can remove the provision of 5 volt power and return to device mode.<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
You can now safely restart USB networking.<br />
<br />
=== USB-Mode-Script===<br />
These simple script is useful to switch the USB-Modes:<br />
#!/bin/sh<br />
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode<br />
if [ $? -eq 0 ]<br />
then<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo USB-Port is in device-mode now.<br />
else<br />
ifconfig usb0 down<br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
echo USB-Port is in host-mode now.<br />
fi<br />
<br />
You can easily create a push button menu item for this: [http://blogs.thehumanjourney.net/finds/entry/usb_host_mode_the_button Instructions]<br />
<br />
=== Providing power to connected USB devices while in host mode ===<br />
<br />
Normally, USB host ports provide power to any connected USB device.<br />
<br />
Available power in host mode is the full maximum of 500mA according to USB-specifications on the Neo FreeRunner, and no power is available in host mode on the Neo 1973. If your USB device respects USB-standards and consumes not more than 500mA, you may connect it directly to your Neo FreeRunner.<br />
<br />
To provide power to USB devices attached to your Neo 1973, or to provide power to your Neo FreeRunner while USB-device connected, you can provide power by using a (modified [for powering FreeRunner]) powered USB hub (see below), or by manually injecting power into the attached USB device (and Neo FreeRunner) via one of the [[specialized_USB_cables]].<br />
<br />
=== Powered USB hubs known to work with the Neo ===<br />
<br />
(please add any known to work)<br />
<br />
=== Providing power to run and charge the Neo while in host mode ===<br />
<br />
A slightly separate issue is power to run and charge the Neo (both types) itself. When the USB port is in device mode, the Neo FreeRunner/1973 can be powered and recharged via the USB port, but when in standard host mode, the Neo FreeRunner is set to provide power and does not charge. Fortunately, control of the direction of power (in or out) is independent of the personality of the USB port (host or device):<br />
<br />
To recap, the direction of power can be controlled:<br />
<br />
Set to 0 (default), no power is provided at the USB port, charging is enabled, and host 15K pulldowns are removed from D+ and D-:<br />
<br />
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Set to 1, provides up to 500mA USB power at the USB port (FreeRunner only), disables charging from USB, and applies 15K pulldowns to USB D+ and D-:<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
Next, power must somehow be injected. An unmodified powered USB hub only provides power to the connected devices, but not to the connected host, so the only solution here is to modify a USB-hub¹) or to create a custom cable which will inject power into the host. See [[specialized_USB_cables]] for some examples.<br />
<br />
Finally, there is the question of charge rate. The charging logic in the Neo will only charge at 100mA by default. Charging at 500mA will take place only if the charging device responds appropriatly to USB negotiation to increase power consumption. Charging at 1000mA will only take place if the Neo detects the appropriate resistor on the ID pins.<br />
<br />
You can manually set the charge rate. See [[Forcing_fast_charge_mode]]<br />
<br />
¹) often it's sufficient to short a diode in USB-hub to feed power to the host-connector too.<br />
# Edit 05 Oct. 2008 : Not being able to find any diode on my ([[User:Henrikz|Henrikz]]) USB Hub (Brand: Equip, Type: 4 port, aluminum) I simply connected +5V (pin 1) from one of the downstream ports to pin 1 of the upstream port.<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n "fast_cccv" > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
(Also this should be done by kernel when seeing 47K at ID-pin)<br />
<br />
=== Working Examples ===<br />
<br />
==== Connecting a USB-Stick ====<br />
[[Image:connecting-usb-stick-1.jpg|thumb|left]]<br />
I found this adapter, it has 2 Type A jacks, rather cheap (about 5 &euro;).<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-2.jpg|thumb|left]]<br />
I borrowed the cable from a card reader, it has the same pinout like the cable that comes with the Neo.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-3.jpg|thumb|left]]<br />
With the above commands I could mount the memory stick.<br />
<br clear="both" /><br />
<br />
[[Image:connecting-usb-stick-4.jpg|thumb|left]]<br />
<br clear="both" /><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo FreeRunner Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/File:Nokia-charging-stand.jpgFile:Nokia-charging-stand.jpg2008-10-26T00:01:44Z<p>Iknowjoseph: </p>
<hr />
<div>Charger for Nokia BL-5C. There are several important points to note:<br />
<br />
*1. This is just a charging stand and does not include a charger<BR><br />
*2. No one, apart from [[Joseph Reeves]], has actually tried using this; it works fine for him on a daily basis.</div>Iknowjosephhttp://wiki.openmoko.org/wiki/Community_Updates/2008-09-17Community Updates/2008-09-172008-09-19T13:00:24Z<p>Iknowjoseph: /* Cool mod */</p>
<hr />
<div>== Software and distributions ==<br />
* Dale's [[NeoTool]] started. A GUI to manage the phones hostside. Backup and flash with GUI.<br />
* [[FDOM - a Fat and Dirty OM based distribution]] started. A bleeding edge overloaded combination of applications and hot bugfixes to demonstrate the capabilities of the Freerunner and to have a functional phone. This all while retaining the ability to update through the official feeds.<br />
* [[Gentoo]] on the FreeRunner.<br />
* Several classic [[Games|games]] ported: Duke Nukem 3D, Battle for Wesnoth, DOOM (Coming Soon)<br />
* [[Debian]] fso-pkg team is getting full steam ahead.<br />
* Qtopia 4.3.2 and 4.3.3 (including echo fix) released.<br />
* Google SoC projects released: [[Gestures]] (includes autorotates the screen !), [[ReMoko]].<br />
<br />
== Cool mods ==<br />
<br />
* [[Openmokast]]<br />
* Bicycle holders<br />
<br />
== News from the git ==<br />
* The html access to buildhost.openmoko.org that provided 2007.2 has been discontinued and everything was moved to downloads.openmoko.org. The 2007.2 image is in [http://downloads.openmoko.org/releases/Om2007.11/ the folder named to Om2007.11]. The 2007.2 repository is at http://downloads.openmoko.org/repository/Om2007.2/ .<br />
* 2008.8 + daily updates is getting better and better, working its way towards a bug fix release (milestone tagged 2008.9 in the trac)<br />
* Om shuffling git branches around is about done, .asu.dev is dead wood now.<br />
* New "head" development branch is only basesystem+installer (no phone stack preloaded, even less applications)<br />
* FSO Milestone 3 released<br />
* Planned architecture for next release is Tichy + Paroli + framework .<br />
<br />
== Documentation team ==<br />
* Redesigned wiki [[Main Page]] in time for the Digg day.<br />
* Deleting [[Special:Log/delete| lots of old/unused]] wiki pages.<br />
* Introduced wiki [[Templates#Navigation_boxes| navigation boxes]], working on [http://wiki.openmoko.org/wiki/Category:Categories categories].<br />
* Learning to use our [[Special:Version| MediaWiki]] server. Postponed CSS revision. Wondering how to improve multilinguism support.<br />
* More blogs added to [http://planet.openmoko.org/ the planet].<br />
<br />
== Notable fixes ==<br />
* GPS TTFF bug was fixed soon after launch. The software fix solves the problem as well as the hardware fix, so there is no necessity to hardware fix the units in the field.<br />
* Keyboard choices in 2008.8 [[Keyboard Debate| explained]].<br />
* Workaround found for suspend corrupts SD card partition table (??? Slow the GLAmo clock ???)<br />
* Echo cancelation turned on in TI chip (is that undocumented function in 2008.8 updates yet ?)<br />
<br />
== Hot bugs ==<br />
* Touch Screen Coordinates not re-calculating correctly on screen Rotation (Every mode except randr -o 0) Patch is available, no package update.<br />
* Using Bluetooth headset is solved [http://wiki.openmoko.org/wiki/Manually_using_Bluetooth#Bluetooth_Headset_on_Freerunner Headset on Freerunner] but still a work in progress<br />
* Sound is still awfully complicated (alsa.state remains black magic)<br />
* Power management: progress but still far from goal of autonomy in days (full discharge vs. forced load issue, LEDs and buttons use model still in flux, charging while off, fine-grained subsystems sleep...)<br />
* Repeated messages on the mailing lists<br />
* The trac is getting crowded, bug reports numbers are exploding<br />
<br />
== People ==<br />
* community-repository is slow to take off: orrery, diversity-wifi, mofi, moko-sudoku, comic-reader, only omview has been added in September.<br />
* [http://www.rasterman.com Raster] left the project. Thanks for your fantastic contribution, we would not be there without E !<br />
* A X guru position is open at Openmoko Inc., also looking for kernel hackers (update: 16/09/2008).<br />
* Spanish mailing list started.<br />
* French [http://openmoko-fr.org/wiki/index.php/Bienvenue wiki], [http://openmoko-fr.org/forum/index.php forums], [http://openmoko-fr.org/blog/ blog] and [irc://chat.eu.freenode.net/openmoko-fr IRC channel] started.<br />
* Polish wiki, irc-room, planet and forums started. <br />
* The Paris meeting was a big success with ~80 attendees.<br />
<br />
== Business ==<br />
* A classified section has been started to sell/buy on the wiki<br />
* FreeRunners still seem to sell like hotcakes, they are frequently out of stock.<br />
[[category:Event]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/BikingBiking2008-08-26T14:44:55Z<p>Iknowjoseph: /* Software for biking */</p>
<hr />
<div>The collection of information useful for biking with a Neo<br />
<br />
== Secure it to the bike ==<br />
<br />
André Gaul documented a complete mounting kit [http://andre.web-yard.de/blog/2008/08/03/neo-freerunner-rocks-hard-rides-free/]<br />
<br />
It's just a prototype :) but with some foam around the handlebar and careful positioning to avoid bumps, a basic attachment like this might work [http://www.xmission.com/~bmidgley/neobike.jpg] and makes it easy to "pinch" the screen when you need to finger tap something.<br />
<br />
== Crank up the charge ==<br />
<br />
If you want to keep the GPS running and have the screen always on or staying on with a long timeout, you'll need a way to supplement power.<br />
<br />
If you decide to try solar, it's recommended to get a flexible panel and attach it to your backback or something like that. One nice advantage here is it might also charge even when you're not moving. It's unlikely anything below 7 watts will keep things running. (5v * 1A = 5W).<br />
<br />
The alternative is to steal energy from the crank. You can do this with a hub dynamo. It might work with an dynamo outside the hub like the one on the reelight [http://www.reelight.com]--it looks like their coil produces only 3vAC so it makes sense to use a custom coil.<br />
<br />
== Charging via hub ==<br />
Connecting a hub ("Nabendynamo" [http://nabendynamo.de/]) like the SON [http://www.peterwhitecycles.com/schmidt.asp] to a self-made or prebuilt charger could supply your device while biking.<br />
<br />
The Freerunner has three different [[Forcing_fast_charge_mode|charging modes]]: 100mA, 500mA and 1A. 100mA seems to be too low, as it is said, that the Freerunner draws 100mA current even when it is switched off. A hub dynamo provides 500mA. If you want to use your lights while charging you need to connect the lights in series to the charger. At least the SON will increase the voltage and still delivers the same current. But you need a bypass circuit in case of less current draw of the charger when the battery is full.<br />
<br />
=== pre-built chargers ===<br />
* Zzing [http://zzing.de/English_Zzing/]<br />
* JaWeTec Bike Charger [http://www.jawetec.de/index.php?content=bikecharger&framing=radsport]<br />
<br />
=== self-made chargers ===<br />
* Article (German) in c't 23/2007, page 190 [http://www.heise.de/kiosk/archiv/ct/07/23/190]<br />
* maybe 6V "Forumslader" [http://www.forumslader.de/6V-Version-des-Rad-Forum-Ladegeraets.125.0.html]<br />
* Makela [http://www.iki.fi/~msmakela/electronics/dynamo5v/] <br />
<br />
Linear regulator above might be replaced with [http://www.dimensionengineering.com/DE-SW050.htm]<br />
<br />
== Software for biking ==<br />
<br />
* [[TangoGPS]], + [http://blogs.thehumanjourney.net/finds/entry/20080826 OSM Cycle data]<br />
* [[Navit]]<br />
* [[Installing Pyroute|Pyroute]]<br />
* [http://wiki.openstreetmap.org/index.php/Rana Rana]<br />
<br />
== See also ==<br />
<br />
* http://wiki.openmoko.org/wiki/GPS_applications<br />
<br />
[[Category:Technical]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-08-01T12:51:18Z<p>Iknowjoseph: /* Three-Headed Cable */</p>
<hr />
<div>== The Neo1973 as a USB host ==<br />
The Neo1973's mini-USB port can be configured to act as a usb host instead of a usb device. This opens up a range of possibilities, such as USB cameras and usb input devices.<br />
<br />
This used to require a kernel patch provided [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=876 as an attachment in Bugzilla], but that same page now details how to do this <i>without</i> any kernel hacking:<br />
<br />
<br />
Tell the device that it is logically a host:<br />
<br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Instruct the device to provide 5 volts:<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to usb host mode, as the Neo's usb networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
=== Three-Headed Cable ===<br />
Three-headed cables are required if you want to power the FreeRunner / USB device whilst in host mode. For many uses the FreeRunner provides sufficient power to make such a cable unnecessary. At the moment, you'll have to manufacture this one yourself. You need to make a cable with three ends:<br />
<br />
* A mini-usb type B cable for the Neo itself<br />
* A cable of whatever type to go to your USB device.<br />
* A cable going to a +5V voltage source with enough power for your device and to charge the Neo. This could be a wall charger or even another USB plug.<br />
<br />
You just connect the Data+ and Data- wires of the Neo and the device, and connect all of the ground wires together and all of the +5V wires together. This powers the Neo and the device, while letting the neo talk to the device.<br />
<br />
Just for reference, the USB wires from left to right are:<br />
*Black: Power -<br />
*Green: Data -<br />
*White: Data +<br />
*Red: Power +<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n "fast_cccv" > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/DistributionsDistributions2008-07-20T23:00:39Z<p>Iknowjoseph: </p>
<hr />
<div>This is a skeleton to try and get the strengths and weaknesses of the various distributions available for the Neo listed in one place. See the [[Latest Images]] for information on where to find and download each distribution.<br />
<br />
Mickey Lauer has written a good overview of the various images available, [http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!].<br />
<br />
== Features by Distribution ==<br />
{| border=1 |<br />
| Feature || OM2007.2 || FSO || ASU || SHR || Qtopia || Debian<br />
|-<br />
| Description || The Openmoko 2007.2 Stack, utilizing GTK+ and assorted applications. 2007.2, since it was the 2nd iteration of the GTK+ user interface that we released in 2007. || The FSO Stack, also known as the Openmoko Framework initiative. This one is called FSO, because it's an implementation of the freesmartphone.org APIs. You may also have seen the term Zhone which describes the framework testing user interface and is a minor part of this stack. || August Software Update. The ASU Stack, the combination of a classical smartphone stack based on Trolltech's Qtopia ported to X11 and enhanced with an EFL-based launcher and new applications. You may have seen the term Illume which is the launcher of ASU. || Stable Hybrid Release, a combination of the FSO, some of the 2007.2 GTK software, and the ASU that provides all of the functionality of the 2007.2 software, but with the stability of the FSO. || The Qtopia distribution from Trolltech, it aims to provide a ready-to use image for Openmoko devices || Debian, the whole distribution, on a mobile phone<br />
|-<br />
| Availability || [http://buildhost.openmoko.org/daily/ Official Buildhost] and [[MokoMakefile]] support for development builds || Now (Milestone 1) || August 2008 || No || Now || Now<br />
|-<br />
| URL || ? || [http://trac.freesmartphone.org:8000/trac-example Development tracker] || [http://buildhost.openmoko.org/daily/freerunner/ Releases are labled "openmoko-qtopia-X11" ] || [[Stable Hybrid Release]] || [http://www.qtopia.net/modules/mydownloads/viewcat.php?cid=6 Qtopia.net] || [[Debian]]<br />
|-<br />
!colspan=6| Connectivity<br />
|-<br />
| Telephony || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| SMS || style="background:lightgreen;" | Yes || No || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| GPRS || Not through UI || Not through UI || Not through UI || N/A || Not through UI || ??<br />
|-<br />
| WiFi || style="background:lightgreen;" | Yes || No || style="background:lightgreen;" | Yes || N/A || Not through UI ||style="background:lightgreen;" | Yes<br />
|-<br />
| VoIP || ?? || ?? || ?? || ?? || ?? || ??<br />
|-<br />
| Bluetooth || style="background:lightgreen;" | Yes || No || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| GPS || style="background:lightgreen;" | Yes (1) || style="background:lightgreen;" | Yes (1) || style="background:lightgreen;" | Yes (1) || N/A || No || ??<br />
|-<br />
!colspan=6| User Interaction<br />
|-<br />
| Stylus friendly || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Finger friendly || Partly || style="background:lightgreen;" | Yes || No || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Accelerometer || No || No || No || N/A || No || ??<br />
|-<br />
!colspan=6| Applications<br />
|-<br />
| Terminal || Basic, but unusable due to lack of certain keyboard characters (unless you [[Switching_Keyboards#Matchbox_keyboard|install matchbox-keyboard]]) || No || No || N/A || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes<br />
|-<br />
| PIM || style="background:lightgreen;" | Yes || No || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Phonebook || style="background:lightgreen;" | Yes || No || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Dialer || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
!colspan=6| Application Compatibility (Toolkits / Runtimes)<br />
|-<br />
| GTK+ || style="background:lightgreen;" | Yes || ? || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || No || ??<br />
|-<br />
| QT/Qtopia || No || style="background:lightgreen;" | Yes? || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes? || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Java || Jalimo || ? || ? || ? || ? || ??<br />
|-<br />
| Python || style="background:lightgreen;" | Yes || ? || style="background:lightgreen;" | Yes || ? || style="background:lightgreen;" | Yes || ??<br />
|-<br />
|}<br />
<br />
<br />
Footnotes:<br />
<br />
(1) works, but need additional software to be installed<br />
<br />
<br />
[[Category:Distributions]]<br />
[[Category:Documentation]]<br />
[[Category:FSO]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-07-20T22:56:41Z<p>Iknowjoseph: </p>
<hr />
<div>== The Neo1973 as a USB host ==<br />
The Neo1973's mini-USB port can be configured to act as a usb host instead of a usb device. This opens up a range of possibilities, such as USB cameras and usb input devices.<br />
<br />
This used to require a kernel patch provided [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=876 as an attachment in Bugzilla], but that same page now details how to do this <i>without</i> any kernel hacking:<br />
<br />
<br />
Tell the device that it is logically a host:<br />
<br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Instruct the device to provide 5 volts:<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to usb host mode, as the Neo's usb networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
=== Three-Headed Cable ===<br />
At the moment, you'll have to manufacture this one yourself. You need to make a cable with three ends:<br />
<br />
* A mini-usb type B cable for the Neo itself<br />
* A cable of whatever type to go to your USB device.<br />
* A cable going to a +5V voltage source with enough power for your device and to charge the Neo. This could be a wall charger or even another USB plug.<br />
<br />
You just connect the Data+ and Data- wires of the Neo and the device, and connect all of the ground wires together and all of the +5V wires together. This powers the Neo and the device, while letting the neo talk to the device.<br />
<br />
Just for reference, the USB wires from left to right are:<br />
*Black: Power -<br />
*Green: Data -<br />
*White: Data +<br />
*Red: Power +<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n "fast_cccv" > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/Openmoko_supported_devicesOpenmoko supported devices2008-07-20T22:51:47Z<p>Iknowjoseph: </p>
<hr />
<div>{{Hdsupport}}<br />
[[Openmoko]] is meant to run on various devices. The following hardware platforms are at least partly supported.<br />
<br />
* [[Neo1973|Neo 1973]] and [[FreeRunner_Overview|Neo Freerunner]] Best support, reference platforms.<br />
<br />
* Treo 650 [http://blog.mikeasoft.com/2007/07/01/openmoko-on-a-treo-650/ up and limping.]<br />
<br />
* Palm TX [http://www.palminfocenter.com/news/9371/openmoko-running-on-a-palm-tx/ with some issues]. See also [http://hackndev.com/node/701 here]<br />
<br />
* Motorola E680i [http://www.motorolafans.com/forums/showthread.php?t=10763 kind of.]<br />
<br />
* Motorola A780 [http://www.vanille-media.de/images/openmoko-on-a780.jpg OM2007.2]<br />
<br />
* Motorola A1200E [http://blog.myspace.cn/index.cfm?fuseaction=blog.view&friendID=1303227936&blogID=304760192 OpenMoko 2007.2]<br />
<br />
* [http://en.wikipedia.org/wiki/HTC_Universal HTC Universal] dialer works [http://linuxtogo.org/~htcpxa/htcuniversal/index.html code:linuxtogo] [http://www.handhelds.org/moin/moin.cgi/UniversalStatus status:handhelds.org]<br />
<br />
* [http://en.wikipedia.org/wiki/HTC_Magician HTC Magician] dialer works [http://linuxtogo.org/~htcpxa/htcmagician/index.html code:linuxtogo] [http://www.handhelds.org/moin/moin.cgi/Magician status:handhelds.org]<br />
<br />
* [http://www.etencorp.com/products/Communication/G500.php E-TEN G500] dialler works but some [http://article.gmane.org/gmane.comp.handhelds.openmoko.community/9306 screen res issues as yet]<br />
<br />
* HP iPAQ hx4700 - [http://dominion.kabel.utwente.nl/koen/cms/openmoko-running-on-an-ipaq details]<br />
<br />
<br />
<br />
== See also ==<br />
<br />
* You can run Openmoko applications on your [[How_to_run_Openmoko_Apps_on_PC | linux PC]]<br />
<br />
* [[Other OSes]]<br />
{{Languages|Openmoko-supported hardware}}<br />
[[Category:Hardware ]]<br />
[[Category:Hardware Support| ]]<br />
[[Category:Documentation]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/DistributionsDistributions2008-07-20T22:48:30Z<p>Iknowjoseph: </p>
<hr />
<div>This is a skeleton to try and get the strengths and weaknesses of the various distributions available for the Neo listed in one place. See the [[Latest Images]] for information on where to find and download each distribution.<br />
<br />
Mickey Lauer has written a good overview of the various images available, [http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!].<br />
<br />
== Features by Distribution ==<br />
{| border=1 |<br />
| Feature || OM2007.2 || FSO || ASU || SHR || Qtopia || Debian<br />
|-<br />
| Description || The Openmoko 2007.2 Stack, utilizing GTK+ and assorted applications. 2007.2, since it was the 2nd iteration of the GTK+ user interface that we released in 2007. || The FSO Stack, also known as the Openmoko Framework initiative. This one is called FSO, because it's an implementation of the freesmartphone.org APIs. You may also have seen the term Zhone which describes the framework testing user interface and is a minor part of this stack. || August Software Update. The ASU Stack, the combination of a classical smartphone stack based on Trolltech's Qtopia ported to X11 and enhanced with an EFL-based launcher and new applications. You may have seen the term Illume which is the launcher of ASU. || Stable Hybrid Release, a combination of the FSO, some of the 2007.2 GTK software, and the ASU that provides all of the functionality of the 2007.2 software, but with the stability of the FSO. || The Qtopia distribution from Trolltech, it aims to provide a ready-to use image for Openmoko devices || Debian, the whole distribution, on a mobile phone<br />
|-<br />
| Availability || [http://buildhost.openmoko.org/daily/ Official Buildhost] and [[MokoMakefile]] support for development builds || Now (Milestone 1) || August 2008 || No || Now || Now<br />
|-<br />
| URL || ? || [http://trac.freesmartphone.org:8000/trac-example Development tracker] || [http://buildhost.openmoko.org/daily/freerunner/ Releases are labled "openmoko-qtopia-X11" ] || [[Stable Hybrid Release]] || [http://www.qtopia.net/modules/mydownloads/viewcat.php?cid=6 Qtopia.net] || [[Debian]]<br />
|-<br />
!colspan=6| Connectivity<br />
|-<br />
| Telephony || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| SMS || style="background:lightgreen;" | Yes || No || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| GPRS || Not through UI || Not through UI || Not through UI || N/A || Not through UI || ??<br />
|-<br />
| WiFi || style="background:lightgreen;" | Yes || No || style="background:lightgreen;" | Yes || N/A || Not through UI || ??<br />
|-<br />
| VoIP || ?? || ?? || ?? || ?? || ?? || ??<br />
|-<br />
| Bluetooth || style="background:lightgreen;" | Yes || No || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| GPS || style="background:lightgreen;" | Yes (1) || style="background:lightgreen;" | Yes (1) || style="background:lightgreen;" | Yes (1) || N/A || No || ??<br />
|-<br />
!colspan=6| User Interaction<br />
|-<br />
| Stylus friendly || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Finger friendly || Partly || style="background:lightgreen;" | Yes || No || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Accelerometer || No || No || No || N/A || No || ??<br />
|-<br />
!colspan=6| Applications<br />
|-<br />
| Terminal || Basic, but unusable due to lack of certain keyboard characters (unless you [[Switching_Keyboards#Matchbox_keyboard|install matchbox-keyboard]]) || No || No || N/A || style="background:lightgreen;" | Yes || Yes<br />
|-<br />
| PIM || style="background:lightgreen;" | Yes || No || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Phonebook || style="background:lightgreen;" | Yes || No || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Dialer || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
!colspan=6| Application Compatibility (Toolkits / Runtimes)<br />
|-<br />
| GTK+ || style="background:lightgreen;" | Yes || ? || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || No || ??<br />
|-<br />
| QT/Qtopia || No || style="background:lightgreen;" | Yes? || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes? || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Java || Jalimo || ? || ? || ? || ? || ??<br />
|-<br />
| Python || style="background:lightgreen;" | Yes || ? || style="background:lightgreen;" | Yes || ? || style="background:lightgreen;" | Yes || ??<br />
|-<br />
|}<br />
<br />
<br />
Footnotes:<br />
<br />
(1) works, but need additional software to be installed<br />
<br />
<br />
[[Category:Distributions]]<br />
[[Category:Documentation]]<br />
[[Category:FSO]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-07-16T21:27:43Z<p>Iknowjoseph: /* The Neo1973 as a USB host */</p>
<hr />
<div>== The Neo1973 as a USB host ==<br />
The Neo1973's mini-USB port can be configured to act as a usb host instead of a usb device. This opens up a range of possibilities, such as USB cameras and usb input devices.<br />
<br />
This used to require a kernel patch provided [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=876 as an attachment in Bugzilla], but that same page now details how to do this <i>without</i> any kernel hacking:<br />
<br />
<br />
Tell the device that it is logically a host:<br />
<br />
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode<br />
<br />
Instruct the device to provide 5 volts:<br />
<br />
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode<br />
<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to usb host mode, as the Neo's usb networking may not like having its USB port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
=== Three-Headed Cable ===<br />
At the moment, you'll have to manufacture this one yourself. You need to make a cable with three ends:<br />
<br />
* A mini-usb type B cable for the Neo itself<br />
* A cable of whatever type to go to your USB device.<br />
* A cable going to a +5V voltage source with enough power for your device and to charge the Neo. This could be a wall charger or even another USB plug.<br />
<br />
You just connect the Data+ and Data- wires of the Neo and the device, and connect all of the ground wires together and all of the +5V wires together. This powers the Neo and the device, while letting the neo talk to the device.<br />
<br />
Just for reference, the USB wires from left to right are:<br />
*Black: Power -<br />
*Green: Data -<br />
*White: Data +<br />
*Red: Power +<br />
<br />
=== Console ===<br />
Although you could use a USB keyboard, you may want to have a console while you're doing all of this. You'll probably want to use bluetooth in conjunction with pand to set up bluetooth networking.<br />
<br />
See [[Manually using Bluetooth]]<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
echo -n "fast_cccv" > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode<br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-07-16T13:57:53Z<p>Iknowjoseph: /* The Neo1973 as a USB host */</p>
<hr />
<div>== The Neo1973 as a USB host ==<br />
The Neo1973's mini-usb port can be configured to act as a usb host instead of a usb device. This opens up a range of possibilities, such as usb cameras and usb input devices.<br />
<br />
This used to require a kernel patch [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=876 as an attachment in Bugzilla], but that same page now details how to do this <i>without</i> any kernel hacking:<br />
<br />
<br />
Tell the device that it is logically a host:<br />
<br />
<code>echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode</code><br />
<br />
<br />
Instruct the device to provide 5 volts:<br />
<br />
<code>echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode </code><br />
<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to usb host mode, as the Neo's usb networking may not like having it's usb port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
=== Three-Headed Cable ===<br />
At the moment, you'll have to manufacture this one yourself. You need to make a cable with three ends:<br />
<br />
* A mini-usb type B cable for the Neo itself<br />
* A cable of whatever type to go to your usb device.<br />
* A cable going to a +5V voltage source with enough power for your device and to charge the Neo. This could be a wall charger or even another usb plug.<br />
<br />
You just connect the Data+ and Data- wires of the Neo and the device, and connect all of the ground wires together and all of the +5V wires together. This powers the Neo and the device, while letting the neo talk to the device.<br />
<br />
Just for reference, the USB wires from left to right are:<br />
*Black: Power -<br />
*Green: Data -<br />
*White: Data +<br />
*Red: Power +<br />
<br />
=== Console ===<br />
Although you could use a USB keyboard, you may want to have a console while you're doing all of this. You'll probably want to use bluetooth in conjunction with pand to set up bluetooth networking.<br />
<br />
See [[Manually_using_Bluetooth]]<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
<code>echo -n "fast_cccv" > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode</code><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-07-16T13:55:21Z<p>Iknowjoseph: /* The Neo1973 as a USB host */</p>
<hr />
<div>== The Neo1973 as a USB host ==<br />
The Neo1973's mini-usb port can be configured to act as a usb host instead of a usb device. This opens up a range of possibilities, such as usb cameras and usb input devices.<br />
<br />
This used to require a kernel patch [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=876 as an attachment in Bugzilla], but that same page now details how to do this <i>without</i> any kernel hacking:<br />
<br />
<br />
Tell the device that it is logically a host:<br />
<br />
<code>echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode</code><br />
<br />
<br />
Instruct the device to provide 5 volts:<br />
<br />
<code>echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode </code><br />
<br />
<br />
Note: This second command failed for me and I was unable to use <code>echo</code> to change the 0 to a 1. Using <code>vi</code>, however, worked as expected.<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to usb host mode, as the Neo's usb networking may not like having it's usb port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
=== Three-Headed Cable ===<br />
At the moment, you'll have to manufacture this one yourself. You need to make a cable with three ends:<br />
<br />
* A mini-usb type B cable for the Neo itself<br />
* A cable of whatever type to go to your usb device.<br />
* A cable going to a +5V voltage source with enough power for your device and to charge the Neo. This could be a wall charger or even another usb plug.<br />
<br />
You just connect the Data+ and Data- wires of the Neo and the device, and connect all of the ground wires together and all of the +5V wires together. This powers the Neo and the device, while letting the neo talk to the device.<br />
<br />
Just for reference, the USB wires from left to right are:<br />
*Black: Power -<br />
*Green: Data -<br />
*White: Data +<br />
*Red: Power +<br />
<br />
=== Console ===<br />
Although you could use a USB keyboard, you may want to have a console while you're doing all of this. You'll probably want to use bluetooth in conjunction with pand to set up bluetooth networking.<br />
<br />
See [[Manually_using_Bluetooth]]<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
<code>echo -n "fast_cccv" > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode</code><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:USB]]</div>Iknowjosephhttp://wiki.openmoko.org/wiki/USB_hostUSB host2008-07-16T13:24:55Z<p>Iknowjoseph: </p>
<hr />
<div>== The Neo1973 as a USB host ==<br />
The Neo1973's mini-usb port can be configured to act as a usb host instead of a usb device. This opens up a range of possibilities, such as usb cameras and usb input devices.<br />
<br />
This used to require a kernel patch [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=876 as an attachment in Bugzilla], but that same page now details how to do this <i>without</i> any kernel hacking:<br />
<br />
<br />
Tell the device that it is logically a host:<br />
<br />
<code>echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode</code><br />
<br />
<br />
Instruct the device to provide 5 volts:<br />
<br />
<code>echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode </code><br />
<br />
<br />
Note: This second command failed for me and I was unable to use <code>echo</code> to change the 0 to a 1. Using <code>vi</code>, however, worked as expected.<br />
<br />
Note: You may want to run <code>ifconfig usb0 down</code> prior to switching to usb host mode, as the Neo's usb networking may not like having it's usb port disappear. You'll probably want to ssh into your Neo over WiFi or Bluetooth before starting all of this, alternatively use an on screen keyboard.<br />
<br />
=== Three-Headed Cable ===<br />
At the moment, you'll have to manufacture this one yourself. You need to make a cable with three ends:<br />
<br />
* A mini-usb type B cable for the Neo itself<br />
* A cable of whatever type to go to your usb device.<br />
* A cable going to a +5V voltage source with enough power for your device and to charge the Neo. This could be a wall charger or even another usb plug.<br />
<br />
You just connect the Data+ and Data- wires of the Neo and the device, and connect all of the ground wires together and all of the +5V wires together. This powers the Neo and the device, while letting the neo talk to the device.<br />
<br />
Just for reference, the USB wires from left to right are:<br />
*Black: Power -<br />
*Green: Data -<br />
*White: Data +<br />
*Red: Power +<br />
<br />
=== Console ===<br />
Although you could use a USB keyboard, you may want to have a console while you're doing all of this. You'll probably want to use bluetooth in conjunction with pand to set up bluetooth networking.<br />
<br />
See [[Manually_using_Bluetooth]]<br />
<br />
=== Power Concerns ===<br />
You'll need to force the Neo to go into fast charge mode, since it can't do its usual power negotiation over USB.<br />
<br />
<code>echo -n "fast_cccv" > /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/chgmode</code><br />
<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:USB]]</div>Iknowjoseph