<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.openmoko.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.openmoko.org/api.php?action=feedcontributions&amp;user=Erin&amp;feedformat=atom</id>
		<title>Openmoko - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.openmoko.org/api.php?action=feedcontributions&amp;user=Erin&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Special:Contributions/Erin"/>
		<updated>2013-05-22T02:22:01Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.6</generator>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Manually_using_Bluetooth</id>
		<title>Manually using Bluetooth</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Manually_using_Bluetooth"/>
				<updated>2008-12-02T08:41:16Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* OBEX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{InProgress}}&lt;br /&gt;
Bluetooth is one of the core functions of the Neo1973, however it is basically unimplemented on the software side at the moment.&lt;br /&gt;
Hardware problems in the P1 phone mean that the CPU has to be active in order to wake on external bluetooth events, which will reduce the battery life to some 2 days at best in standby.&lt;br /&gt;
&lt;br /&gt;
This page details how to use bluetooth from the command line.&lt;br /&gt;
We have quite a lot of plans about what exactly Bluetooth should be used for.&lt;br /&gt;
&lt;br /&gt;
== Power it up ==&lt;br /&gt;
&lt;br /&gt;
Power up the adapter by clicking on the bluetooth icon in the top bar and selecting power on.&lt;br /&gt;
&lt;br /&gt;
The old way to do it is a shell command (for kernels before 2.6.24):&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
For kernel 2.6.24 (or later) use&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02:~# echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
and on the GTA02 *only* (i.e. not on the GTA01) also use&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02:~# echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
But nowadays[http://permalink.gmane.org/gmane.comp.hardware.smartphones.userland/165], one should use [[Dbus device API]]s!&lt;br /&gt;
&lt;br /&gt;
At the shell, &amp;quot;hciconfig&amp;quot; should print information about the adapter if it powered up properly:&lt;br /&gt;
&lt;br /&gt;
 hciconfig&lt;br /&gt;
&lt;br /&gt;
The devices should show as UP. If not you can use&lt;br /&gt;
&lt;br /&gt;
 hciconfig &amp;lt;device&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Functions ==&lt;br /&gt;
&lt;br /&gt;
===Configuring Bluetooth on Openmoko 2007.2 (August 27 snapshot with kernel 2.6.21.6-moko11) ===&lt;br /&gt;
&lt;br /&gt;
In file /etc/bluetooth/hcid.conf you should change the passkey from BlueZ to something numeric. For testing you may use &amp;quot;0000&amp;quot;. Also, you can set the name to &amp;quot;Neo (%d)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Scanning for bluetooth devices ===&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
This will list the addresses of any discoverable bluetooth devices in the vicinity&lt;br /&gt;
&lt;br /&gt;
=== passkey agent example ===&lt;br /&gt;
&lt;br /&gt;
There should be a passkey agent built into openmoko, but for now you can start up the example passkey agent and set the pin code there. This will allow for new pairings to be made when you attempt a connection.&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Note: the passkey-agent is not required in Openmoko 2007.2 with kernel 2.6.21.6 as of at least since August 27 (maybe earlier).&lt;br /&gt;
&lt;br /&gt;
=== HID (Human Input Device) ===&lt;br /&gt;
&lt;br /&gt;
==== Being able to use HID devices ====&lt;br /&gt;
&lt;br /&gt;
Using a bluetooth keyboard with the built-in terminal is a little funky... I can only type into the console using the bt keyboard if the onscreen keyboard is visible. Also, pressing &amp;quot;p&amp;quot; twice on the bt keyboard actually gives you a &amp;quot;q&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
We want to be able to use a bluetooth keyboard to type into the various applications of our Neo1973.&lt;br /&gt;
To use a Bluetooth Keyboard type: (11:22:33:44:55:66 is the Address of your BT-Keyboard)&lt;br /&gt;
&lt;br /&gt;
hidd --connect 11:22:33:44:55:66&lt;br /&gt;
&lt;br /&gt;
and press &amp;quot;Connect&amp;quot; on your BT-KB.  Alternately, if you know that only one BT-Keyboard is within range, you can just:&lt;br /&gt;
&lt;br /&gt;
hidd --search&lt;br /&gt;
&lt;br /&gt;
to find and connect to any BT-Keyboard. There are some bluetooth keyboard only support SPP profile can't direct using hidd comannd to connect. Please reference the discussion of this page for more information.&lt;br /&gt;
&lt;br /&gt;
Tested on:&lt;br /&gt;
* [http://www.logitech.com/index.cfm/products/details/US/EN,CRID=2166,CONTENTID=10717 Logitech Dinovo Edge]&lt;br /&gt;
* [http://www.logitech.com/index.cfm/keyboards/keyboard_mice_combos/devices/164&amp;amp;cl=us,en Logitech Dinovo Media Desktop (keyboard)]&lt;br /&gt;
* [http://www.nokia.es/A4181580 Nokia SU-8W].  Switched on the BT keyboard, scanned for BT address and ran the connect statement above.  Works fine.&lt;br /&gt;
* [http://blog.russnelson.com/chordite Chordite].  This keyboard uses the Broadcom BCM2042 BT keyboard controller along with a custom driver.&lt;br /&gt;
* [http://www.apple.com/keyboard/ Apple's Aluminum Keyboard]. You may have to add 'auth enable; encrypt enable;' to device {} in  hcid.conf. Run the passkey agent the first time. --search works to pair and every time after. (Might be obvious for those who have used BT in other spots, but you have to type in y our passkey on the keyboard as the connect is happening, otherwise pairing doesn't take place. I don't think there is a prompt on the Neo for this)&lt;br /&gt;
* [http://www.apple.com/support/keyboard/ Apple's white &amp;quot;Wireless Keyboard (original)&amp;quot;] - details may be the same as above. (tested some time ago)&lt;br /&gt;
* [http://www.frogpad.com/ FrogPad] - as above&lt;br /&gt;
* [http://freedominput.com The freedom keyboard] and its many rebranded models (they look like this: [http://rabenfrost.net/openmoko/keyboard.jpg]) need 'modprobe uinput' to circumvent the 'Can't open input device: No such file or directory (2)' error of 'hidd --search'. It works as of february 7th 2008.&lt;br /&gt;
* [http://www.nextag.com/Playstation-3-Logitech-Cordless-564345667/prices-html?nxtg=f8320a24052a-7789F8FE732FF6E3 Logitech Playstation 3 Keyboard] Works well, Mouse pad works.&lt;br /&gt;
* [http://corporate.igo.com/product_details.aspx?id=16 iGo Stowaway UltraSlim] (which was apparently discontinued early 2008, but can still be bought in some places) ([[user:ChristW]] I have 2008.8 on it, and using hidd --search to connect to the iGo works perfectly. I also used it to edit a new contact, dial a number and edit a settings text box in [[TangoGPS]]. So far, no problems...)&lt;br /&gt;
* [http://www.vkb-support.com/ I-Tech Virtual Laser Keyboard] works.  Cursor keys not recognized as such, but produce keycodes than can be mapped.&lt;br /&gt;
&lt;br /&gt;
==== Acting as HID device ====&lt;br /&gt;
&lt;br /&gt;
We want to be able to use the Neo as a HID device, being able to use it as controller for presentations. See [[ReMoko]]&lt;br /&gt;
&lt;br /&gt;
=== RFCOMM ===&lt;br /&gt;
&lt;br /&gt;
Here's how to connect to an external Bluetooth GPS and read NMEA data (Tested with a Holux GPSSlim236 and a Nokia LD-3W ).&lt;br /&gt;
&lt;br /&gt;
First, switch on the GPS and identify the BT address:&lt;br /&gt;
&lt;br /&gt;
  hcitool scan&lt;br /&gt;
&lt;br /&gt;
Then, edit /etc/bluetooth/rfcomm.conf, which by default has all settings commented out, to something like this:&lt;br /&gt;
&lt;br /&gt;
  rfcomm0 {&lt;br /&gt;
        # Automatically bind the device at startup&lt;br /&gt;
        bind no;&lt;br /&gt;
        # Bluetooth address of the device&lt;br /&gt;
        device 00:11:22:33:44:55;&lt;br /&gt;
        # RFCOMM channel for the connection (check your GPS docs for details)&lt;br /&gt;
        channel 1;&lt;br /&gt;
        # Description of the connection&lt;br /&gt;
        comment &amp;quot;Bluetooth GPS&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Restart the BT services:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ /etc/init.d/bluetooth stop&lt;br /&gt;
  root@neo:~$ /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
You should now be able to bind the GPS to /dev/rfcomm0, like this:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ rfcomm bind 0&lt;br /&gt;
&lt;br /&gt;
Confirm the connect:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ rfcomm&lt;br /&gt;
  rfcomm0: 00:11:22:33:44:55 channel 1 clean &lt;br /&gt;
&lt;br /&gt;
... and watch the NMEA strings coming from your GPS:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ cat /dev/rfcomm0 &lt;br /&gt;
  $GPGGA,111748.000,5907.6964,N,01121.1787,E,1,06,1.2,57.7,M,40.1,M,,0000*6F&lt;br /&gt;
  $GPRMC,111748.000,A,5907.6964,N,01121.1787,E,0.00,94.94,160807,,,A*50&lt;br /&gt;
  $GPVTG,94.94,T,,M,0.00,N,0.0,K,A*3D&lt;br /&gt;
&lt;br /&gt;
If you have nothing better to do, you can now pinpoint my office :-).&lt;br /&gt;
&lt;br /&gt;
=== OBEX ===&lt;br /&gt;
OBEX (abbreviation of OBject EXchange, also termed IrOBEX) is a communications protocol that facilitates the exchange of binary objects between devices. Here is the notes about how to use OBEX to send/receive files via bluetooth in NEO.&lt;br /&gt;
&lt;br /&gt;
power on bluetooth: &lt;br /&gt;
if you use FSO image&lt;br /&gt;
 root@om-gta02:~# dbus-send --system --dest=org.freesmartphone.odeviced --type=method_call --print-reply &lt;br /&gt;
 /org/freesmartphone/Device/PowerControl/Bluetooth org.freesmartphone.Device.PowerControl.SetPower int32:1&lt;br /&gt;
else: (GTA02 only)&lt;br /&gt;
 root@om-gta02:~# echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
 root@om-gta02:~# echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
[http://linux.die.net/man/5/hcid.conf hcid.conf] &lt;br /&gt;
modify /etc/bluetooth/hcid.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# HCI daemon configuration file.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# HCId options&lt;br /&gt;
options {&lt;br /&gt;
	# Automatically initialize new devices&lt;br /&gt;
	autoinit yes;&lt;br /&gt;
&lt;br /&gt;
	# Security Manager mode&lt;br /&gt;
	#   none - Security manager disabled&lt;br /&gt;
	#   auto - Use local PIN for incoming connections&lt;br /&gt;
	#   user - Always ask user for a PIN&lt;br /&gt;
	#&lt;br /&gt;
	security auto;&lt;br /&gt;
&lt;br /&gt;
	# Pairing mode&lt;br /&gt;
	#   none  - Pairing disabled&lt;br /&gt;
	#   multi - Allow pairing with already paired devices&lt;br /&gt;
	#   once  - Pair once and deny successive attempts&lt;br /&gt;
	pairing multi;&lt;br /&gt;
&lt;br /&gt;
	# Default PIN code for incoming connections&lt;br /&gt;
	passkey &amp;quot;1234&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Default settings for HCI devices&lt;br /&gt;
device {&lt;br /&gt;
	# Local device name&lt;br /&gt;
	#   %d - device id&lt;br /&gt;
	#   %h - host name&lt;br /&gt;
	name &amp;quot;%h-%d&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	# Local device class&lt;br /&gt;
	class 0x000100;&lt;br /&gt;
&lt;br /&gt;
	# Default packet type&lt;br /&gt;
	pkt_type DH1,DM1,HV1;&lt;br /&gt;
&lt;br /&gt;
	# Inquiry and Page scan&lt;br /&gt;
	iscan enable; pscan enable;&lt;br /&gt;
&lt;br /&gt;
	# Default link mode&lt;br /&gt;
	#   none   - no specific policy &lt;br /&gt;
	#   accept - always accept incoming connections&lt;br /&gt;
	#   master - become master on incoming connections,&lt;br /&gt;
	#            deny role switch on outgoing connections&lt;br /&gt;
	lm accept;&lt;br /&gt;
&lt;br /&gt;
	# Default link policy&lt;br /&gt;
	#   none    - no specific policy&lt;br /&gt;
	#   rswitch - allow role switch&lt;br /&gt;
	#   hold    - allow hold mode&lt;br /&gt;
	#   sniff   - allow sniff mode&lt;br /&gt;
	#   park    - allow park mode&lt;br /&gt;
	lp rswitch,hold,sniff,park;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://linux.die.net/man/8/hcid hcid] - Bluetooth Host Controller Interface Daemon &lt;br /&gt;
&lt;br /&gt;
All paired devices information are stored in /var/lib/bluetooth/BT HW addr folder &lt;br /&gt;
eg. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@om-gta02:/var/lib/bluetooth/00:06:6E:16:EB:C7# ls&lt;br /&gt;
classes        features       lastused       names          panu&lt;br /&gt;
config         gn             manufacturers  nap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display local devices&lt;br /&gt;
 root@om-gta02:/# hcitool dev&lt;br /&gt;
&lt;br /&gt;
Scan all nearby bluetooth devices&lt;br /&gt;
 root@om-gta02:~# hcitool scan&lt;br /&gt;
&lt;br /&gt;
Browse what kind of services in this device&lt;br /&gt;
 root@om-gta02:~# sdptool browse 00:18:C5:42:18:78&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Browsing 00:18:C5:42:18:78 ...&lt;br /&gt;
&lt;br /&gt;
Service Name: OBEX File Transfer&lt;br /&gt;
Service RecHandle: 0x1005b&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 11&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x454e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
Service Name: OBEX Object Push&lt;br /&gt;
Service RecHandle: 0x1005e&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX Object Push&amp;quot; (0x1105)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 9&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x454e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX Object Push&amp;quot; (0x1105)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use obexpush and obexftp tools&lt;br /&gt;
 &lt;br /&gt;
install obexpush, obexftp packages&lt;br /&gt;
 opkg install obexpush, [http://www.go2linux.org/linux-command-line-obexftp-man-page obexftp]&lt;br /&gt;
&lt;br /&gt;
obexpush would launch 'opd' and it's a obex data server. It starts OBEX file transfer service. The default folder is \home\root and it would store all received files here. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 root@om-gta02:~# ps aux | grep opd&lt;br /&gt;
 root      1322  0.0  0.4   1972   604 ?        Ss   16:21   0:00 opd: waiting for incomming OBEX connections on channel 10...&lt;br /&gt;
&amp;lt;/pre&amp;gt;                 &lt;br /&gt;
&lt;br /&gt;
How to pair with a bluetooth device, check [http://wiki.bluez.org/wiki/Security bluez wiki]&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
==== Using PC's connection from Neo ====&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Linux system =====&lt;br /&gt;
&lt;br /&gt;
Bluetooth should behave just like our usbnet and provide full TCP/IP access to the phone.  BNEP has to be used.&lt;br /&gt;
&lt;br /&gt;
'''On the laptop'''&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth&lt;br /&gt;
 /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
 pand -s&lt;br /&gt;
&lt;br /&gt;
* As soon as pand is started on the phone configure your IP address&lt;br /&gt;
 ip a add 10.0.0.1/24 dev bnep0&lt;br /&gt;
 ip l set bnep0 up&lt;br /&gt;
&lt;br /&gt;
* Configure IP forwarding and masquerading to your liking (see [[USB_Networking]]). You can even set up Udev rules to do this for you once the bnep0 interface appears.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''On the Neo'''&lt;br /&gt;
&lt;br /&gt;
* There is a little script that does the steps below (and retries the pand -c command; I had issues with it not working the first time every time) at [[Bt-net-script]]  You shouldn't need the other steps below if you use the script.&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
 00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
 00:20:E0:5A:FE:C8       BlueZ (0)&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 root@fic-gta01:~$ pand -c 00:20:E0:5A:FE:C8&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address&lt;br /&gt;
 ip a add 10.0.0.2/24 dev bnep0&lt;br /&gt;
 ip r add default via 10.0.0.1&lt;br /&gt;
&lt;br /&gt;
* Sometimes you may need to bring up the bnep0 on the phone as well:&lt;br /&gt;
 ip l set bnep0 up&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*--[[User:Mantis|Mantis]] 18:37, 15 October 2008 (UTC)  Note for use on OpenSuse 11.0 - I was getting a connection failure with 'Host is down(112)' errors in /var/log/messages (on neo).&lt;br /&gt;
I found that editing  /etc/bluetooth/hcid.conf  to set  'pscan enable'  instead of 'pscan disable' and making passkey consistent with Neo Freerunner made it work.&lt;br /&gt;
&lt;br /&gt;
Should see log line like&lt;br /&gt;
 ''pand[17965]: New connection from 00:06:6E:XX:XX:XX at bnep0''&lt;br /&gt;
&lt;br /&gt;
if connection is successful in server's /var/log/messages.&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a MacOS X system =====&lt;br /&gt;
&lt;br /&gt;
Please refer to [[MacOS_X#Bluetooth_2]]&lt;br /&gt;
&lt;br /&gt;
For using the Neo as a dialup Bluetooth server and the Mac as the client, please see below at [[Manually_using_Bluetooth#PPP_Networking]]&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Windows XP system =====&lt;br /&gt;
&lt;br /&gt;
This was tested with a Windows XP SP2 on a IBM Thinkpad T41 with the Widcomm BT stack&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth on Windows XP&lt;br /&gt;
&lt;br /&gt;
* Enable &amp;quot;Network Access&amp;quot; in the Bluetooth configuration&lt;br /&gt;
&lt;br /&gt;
* Scan for the Neo and pair with the Neo (right click, select pair)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On the Neo&lt;br /&gt;
&lt;br /&gt;
* Enable PAN support on the Neo by changing Autostart from false to true in /etc/bluetooth/network.service&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         &amp;lt;laptop_bt_address&amp;gt;     Thinkpad&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 pand -c &amp;lt;laptop_bt_address&amp;gt; -r PANU -d NAP -e bnep0 -A -E -S&lt;br /&gt;
(add '-n' to see the pand status messages until you get it right)&lt;br /&gt;
&lt;br /&gt;
For some reason, I was not able to initiate PAN connections from the Neo, I got 'Permission denied (13)' even when I had explicitly allowed the Neo to connect (right click on Neo icon, set properties, on Authorization tab). But initiating 'PAN User' from Windows worked when executing on Neo:&lt;br /&gt;
 pand -l -r PANU -d NAP -e bnep0 -A -E -S&lt;br /&gt;
(add '-n' to see the pand status messages until you get it right)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address. It should work like when connecting to Linux:&lt;br /&gt;
 ip a add 10.0.0.2/24 dev bnep0&lt;br /&gt;
 ip r add default via 10.0.0.1&lt;br /&gt;
If this does not work, the IP stacks may have auto-assigned network addresses to themselves. You can look this up with 'ifconfig' on the Neo and with 'ipconfig' on Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* You should now be able to ssh/putty from Windows to your Neo. Enjoy!&lt;br /&gt;
By setting up the Windows Bluetooth connection properly, it should also be possible to share the Internet Connection of the Windows box with the Neo.&lt;br /&gt;
&lt;br /&gt;
===== PPP Networking =====&lt;br /&gt;
&lt;br /&gt;
If you are unable to use the 'BNEP' method described above, you may be able to use [[PPP]] and a DUN (dialup-networking) emulation mode. On the Neo:&lt;br /&gt;
&lt;br /&gt;
* Edit the /etc/default/bluetooth file and set the following options:&lt;br /&gt;
 RFCOMM_ENABLE=true&lt;br /&gt;
 DUND_ENABLE=true&lt;br /&gt;
 DUND_OPTIONS=&amp;quot;--listen --persist call dun&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Create an /etc/ppp/peers/dun file with options like the following:&lt;br /&gt;
 115200&lt;br /&gt;
 192.168.2.202:192.168.2.200&lt;br /&gt;
 passive&lt;br /&gt;
 local&lt;br /&gt;
 noipdefault&lt;br /&gt;
 noauth&lt;br /&gt;
 nodefaultroute&lt;br /&gt;
 &lt;br /&gt;
* Restart bluetooth (/etc/init.d/bluetooth stop ; /etc/init.d/bluetooth start)&lt;br /&gt;
&lt;br /&gt;
To connect from a MacOS 10.3 client:&lt;br /&gt;
&lt;br /&gt;
* Open &amp;quot;Applications/Utilities/Bluetooth Serial Utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Click on &amp;quot;New&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Choose a name, then click &amp;quot;Choose Device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Locate your Neo, then select the &amp;quot;LAN Access Point&amp;quot; service. If your device is not found, or if this service does not show up, then you will need to troubleshoot and fix that before continuing. Bluetooth is designed for short-range communication, so make sure that the devices are physically close to each other. &lt;br /&gt;
&lt;br /&gt;
* Select &amp;quot;Port type: RS-232&amp;quot; and &amp;quot;Show in Network Preferences&amp;quot;. Click OK.&lt;br /&gt;
&lt;br /&gt;
* Open the Network Preferences page then &amp;quot;Show: Network Port Configurations&amp;quot;. Enable the new device that you defined in the previous step and drag it to the bottom of the device list (so that it will not interfere with your other network connections)&lt;br /&gt;
&lt;br /&gt;
* Choose &amp;quot;Show: &amp;lt;your-device-name&amp;gt;&amp;quot;, then click &amp;quot;Modem&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Select &amp;quot;Null Modem 115200&amp;quot; from the list of available devices. Uncheck &amp;quot;Wait for dial tone&amp;quot; and &amp;quot;Enable error correction and compression in modem&amp;quot;. Optionally check &amp;quot;Show modem status in menu bar&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
* Click &amp;quot;Connect&amp;quot;. If everything worked, you will end up with a 'ppp0' device on your Mac with a local address of 192.168.2.200 and you will be able to access your Neo at 192.168.2.202.&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Linux system - More secure way =====&lt;br /&gt;
&lt;br /&gt;
''Check this, probably needs some corrections''&lt;br /&gt;
&lt;br /&gt;
Bluetooth should behave just like our usbnet and provide full TCP/IP access to the phone.  BNEP has to be used.&lt;br /&gt;
&lt;br /&gt;
On the laptop&lt;br /&gt;
&lt;br /&gt;
* check these options in /etc/bluetooth/hcid.conf&lt;br /&gt;
 security auto;&lt;br /&gt;
 passkey &amp;quot;your pin&amp;quot;;&lt;br /&gt;
 lm master;&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth&lt;br /&gt;
 # /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
  pand --listen --role NAP --encrypt&lt;br /&gt;
&lt;br /&gt;
* Add in /etc/network/interfaces (see [[USB_Networking]])&lt;br /&gt;
 auto bnep0&lt;br /&gt;
 iface bnep0 inet static&lt;br /&gt;
 address 192.168.1.1&lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
 network 192.168.1.0&lt;br /&gt;
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.1.0/24&lt;br /&gt;
        post-up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        post-up iptables -P FORWARD ACCEPT&lt;br /&gt;
&lt;br /&gt;
On the Neo&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:20:E0:5A:FE:C8       laptop&lt;br /&gt;
&lt;br /&gt;
* Set pin&lt;br /&gt;
 root@fic-gta01:~$ passkey-agent 'your pin' 00:20:E0:5A:FE:C8 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 root@fic-gta01:~$ pand -c 00:20:E0:5A:FE:C8&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address&lt;br /&gt;
 root@fic-gta01:~$ ifconfig bnep0 192.168.1.2&lt;br /&gt;
 root@fic-gta01:~$ route add default gateway 192.168.1.1&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
==== Using Neo's connection from PC ====&lt;br /&gt;
&lt;br /&gt;
===== Calling Neo's GPRS modem via Bluetooth =====&lt;br /&gt;
&lt;br /&gt;
In this mode, Neo would behave like any other phone which can be used from a PC to get a network connection.&lt;br /&gt;
&lt;br /&gt;
This section not written yet. Has someone set it up?&lt;br /&gt;
&lt;br /&gt;
===== Sharing existing Neo's connection =====&lt;br /&gt;
&lt;br /&gt;
In this mode, Neo already has a network connection (GPRS, WLAN, ...), and it should get shared to the PC. This guide is general on how to forward network connection from a machine running Linux to another machine. If interested, please see more information for example at http://www.gentoo.org/doc/en/bluetooth-guide.xml.&lt;br /&gt;
&lt;br /&gt;
On the PC&lt;br /&gt;
# Check with hciconfig you have working Bluetooth&lt;br /&gt;
On the Neo&lt;br /&gt;
(if on Debian etc., remember modprobe ohci_hcd hci_usb)&lt;br /&gt;
# Initialize Bluetooth as told before:&lt;br /&gt;
## echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/power_on&lt;br /&gt;
## echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
# install iptables: opkg install http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv4t/base/iptables_1.3.8-r4.1_armv4t.ipk&lt;br /&gt;
# modprobe bnep&lt;br /&gt;
# Check that hcid is running both on Neo and PC (Bluetooth 4.x: install bluez-compat)&lt;br /&gt;
# Use default passkey &amp;quot;1234&amp;quot; in /etc/bluetooth/hcid.conf&lt;br /&gt;
# pand --listen --role NAP --master --autozap # note: after this you might have to the the step 1 below (&amp;quot;On the PC&amp;quot;) or the next step of getting the interface up does not work # note2: you could automate pand listener to start automatically when Bluetooth is turned on&lt;br /&gt;
# ifconfig bnep0 10.0.5.2 up&lt;br /&gt;
# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
# iptables -t nat -A POSTROUTING -j MASQUERADE -o ppp0&lt;br /&gt;
On the PC:&lt;br /&gt;
# sudo pand --connect &amp;lt;your bluetooth mac address&amp;gt; --service NAP --autozap&lt;br /&gt;
# ifconfig bnep0 10.0.5.1 up&lt;br /&gt;
# You can test the connection with ping 10.0.5.2&lt;br /&gt;
# sudo ip route add default via 10.0.5.2 dev bnep0&lt;br /&gt;
# [not automated yet] add GPRS connection's nameservers to /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
== Advanced Audio Distribution Profile (A2DP) ==&lt;br /&gt;
&lt;br /&gt;
=== A2DP quickie ===&lt;br /&gt;
&lt;br /&gt;
* If you experience problems with choppyness, try changing your hcid.conf to include &amp;quot;lm accept,master;&amp;quot; and &amp;quot;lp hold,sniff,park;&amp;quot;  You may also have to bond (commonly known as 'pairing') your phone and your headset.  See http://wiki.bluez.org/wiki/HOWTO/Bonding for details. [[User:Mercury|Mercury]] 17:36, 5 September 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
It's now possible (if a little hackish) to stream mp3 to a bluetooth headset. It's a known problem that the playback rate changes (pitch varies). Timing issues are also likely the reason for gaps in playback.&lt;br /&gt;
&lt;br /&gt;
If the bluez packages are recent enough, you can use a shortcut. I'll document it here and leave the longer version below (the long version also demonstrates the API used by the GUI to manage headsets)&lt;br /&gt;
&lt;br /&gt;
Create /etc/asound.conf with your bluetooth headset's address filled in:&lt;br /&gt;
&lt;br /&gt;
 pcm.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;xx:xx:xx:xx:xx:xx&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
then play a song&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:- | aplay&lt;br /&gt;
&lt;br /&gt;
or for smoother results...&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:song.wav&lt;br /&gt;
 aplay song.wav&lt;br /&gt;
&lt;br /&gt;
=== A2DP ===&lt;br /&gt;
&lt;br /&gt;
If that doesn't work... all the more hackish... install required packages:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;src/gz python http://www.angstrom-distribution.org/unstable/feed/armv4t/python/&amp;quot; &amp;gt;&amp;gt; /etc/ipkg/angstrom-python.conf &lt;br /&gt;
 echo &amp;quot;src/gz base http://www.angstrom-distribution.org/unstable/feed/armv4t/base/&amp;quot; &amp;gt;&amp;gt; /etc/ipkg/angstrom-base.conf&lt;br /&gt;
 ipkg update ; ipkg install python-core python-xml python-dbus bluez-utils bluez-utils-alsa&lt;br /&gt;
&lt;br /&gt;
Create /etc/asound.conf:&lt;br /&gt;
&lt;br /&gt;
 pcm.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 ctl.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 pcm.bluetooth {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 ctl.bluetooth {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Run the passkey agent (see above in this page)&lt;br /&gt;
&lt;br /&gt;
Fill in your bluetooth headset address below and execute the python script (with your headset turned on)&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 import dbus&lt;br /&gt;
 bus = dbus.SystemBus()&lt;br /&gt;
 manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')&lt;br /&gt;
 conn = manager.ActivateService('audio')&lt;br /&gt;
 audio = dbus.Interface(bus.get_object(conn, '/org/bluez/audio'), 'org.bluez.audio.Manager')&lt;br /&gt;
 path = audio.CreateDevice('00:0D:3C:44:33:22')&lt;br /&gt;
 audio.ChangeDefaultDevice(path)&lt;br /&gt;
 sink = dbus.Interface(bus.get_object(conn, path), 'org.bluez.audio.Sink')&lt;br /&gt;
 sink.Connect()&lt;br /&gt;
&lt;br /&gt;
FINALLY: play a song&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:- | aplay&lt;br /&gt;
&lt;br /&gt;
=== Headset Audio ===&lt;br /&gt;
&lt;br /&gt;
[[Neo1973_Audio_Subsystem]] has detail about alsa settings and a proposal for audio scenario management.&lt;br /&gt;
&lt;br /&gt;
To try this out, follow the instructions in the a2dp section to install software and run the passkey agent.&lt;br /&gt;
&lt;br /&gt;
Remove or disable the stuff you put in asound.conf. When using a voice headset, the application uses the regular system audio device and it gets routed to bluetooth in the codec.&lt;br /&gt;
&lt;br /&gt;
Put the headset in pairing mode. Replace the bluetooth address below with your headset's and run the python script:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 import dbus&lt;br /&gt;
 bus = dbus.SystemBus()&lt;br /&gt;
 manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')&lt;br /&gt;
 conn = manager.ActivateService('audio')&lt;br /&gt;
 audio = dbus.Interface(bus.get_object(conn, '/org/bluez/audio'), 'org.bluez.audio.Manager')&lt;br /&gt;
 path = audio.CreateHeadset('00:0B:2E:39:33:22')&lt;br /&gt;
 audio.ChangeDefaultHeadset(path)&lt;br /&gt;
 headset = dbus.Interface (bus.get_object(conn, path), 'org.bluez.audio.Headset')&lt;br /&gt;
 headset.Connect()&lt;br /&gt;
 headset.Play()&lt;br /&gt;
&lt;br /&gt;
Now place a call and try to route it to bluetooth (after it's in progress):&lt;br /&gt;
&lt;br /&gt;
 alsactl -f /etc/gsmbluetooth.state restore&lt;br /&gt;
&lt;br /&gt;
You may also be able to listen to system audio given the right state file:&lt;br /&gt;
&lt;br /&gt;
 alsactl -f /etc/systembluetooth.state restore&lt;br /&gt;
 madplay song.mp3&lt;br /&gt;
&lt;br /&gt;
==Bluetooth Headset on Freerunner ==&lt;br /&gt;
&lt;br /&gt;
[http://lists.openmoko.org/pipermail/support/2008-September/thread.html#2627 This thread] suggests the following:&lt;br /&gt;
&lt;br /&gt;
:Turn on bluetooth. If some of the scripts below fail you may need to reboot [https://docs.openmoko.org/trac/ticket/1744 Bluetooth after suspend]&lt;br /&gt;
&lt;br /&gt;
:Pair your headset according to [http://wiki.bluez.org/ these] instructions or use the script below. The script will change your .asoundrc so make a backup before you run it.&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/BtConfigure.py&lt;br /&gt;
:Put the headset in pairing mode ( this only needs to be done once for each new headset ) and run&lt;br /&gt;
 BtConfigure.py &lt;br /&gt;
&lt;br /&gt;
:Download the the following python scripts to set up the audio service and set the headset as the default device:&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/BtHeadset.py&lt;br /&gt;
:http://handheldshell.com/passkey.py&lt;br /&gt;
:http://handheldshell.com/BtHeadsetDisconnect.py&lt;br /&gt;
:http://handheldshell.com/python-pyalsaaudio_0.3-ml0_armv4t.ipk  - can someone add python-pyalsa to the feeds ?&lt;br /&gt;
&lt;br /&gt;
:Download the the following python scripts if you prefer not to mess around with alsactl:&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/pymixer.py&lt;br /&gt;
:http://handheldshell.com/volume.desktop&lt;br /&gt;
&lt;br /&gt;
:put pymixer in /usr/bin&lt;br /&gt;
&lt;br /&gt;
 chmod u+x /usr/bin/pymixer.py&lt;br /&gt;
&lt;br /&gt;
:put volume.desktop in /usr/share/applications&lt;br /&gt;
&lt;br /&gt;
:Get the [[http://handheldshell.com/gsm_headset.txt alsa state file]] - this state file _WORKS_, mic and earphones are properly routed&lt;br /&gt;
&lt;br /&gt;
 cp gsm_headset.txt /usr/share/openmoko/scenarios/btheadset.state&lt;br /&gt;
&lt;br /&gt;
:from the home screen run Volume&lt;br /&gt;
&lt;br /&gt;
:from the terminal run&lt;br /&gt;
&lt;br /&gt;
 BtHeadset.py &lt;br /&gt;
&lt;br /&gt;
:Wait until it says waiting for call to end, you should hear static in the headset. If you don't something has gone wrong.&lt;br /&gt;
&lt;br /&gt;
:Now start the call&lt;br /&gt;
&lt;br /&gt;
:In the volume control switch to the btheadset tab. press restore&lt;br /&gt;
&lt;br /&gt;
:You should now hear the call in your headset. &lt;br /&gt;
&lt;br /&gt;
:End the call&lt;br /&gt;
&lt;br /&gt;
 BtHeadsetDisconnect.py &lt;br /&gt;
&lt;br /&gt;
:This was all done with the 2008-updates image from sept 4. &lt;br /&gt;
&lt;br /&gt;
:The new scripts rely on a specific format for the .asoundrc . A stanza like this is required :&lt;br /&gt;
&lt;br /&gt;
 pcm.headset {&lt;br /&gt;
     type bluetooth&lt;br /&gt;
     device &amp;lt;headset mac&amp;gt;&lt;br /&gt;
     profile &amp;quot;voice&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
http://www.holtmann.org/papers/bluetooth/ols2006_slides.pdf&lt;br /&gt;
http://wiki.bluez.org/wiki/Audio#org.bluez.Audio&lt;br /&gt;
http://www.gentoo.org/doc/en/bluetooth-guide.xml&lt;br /&gt;
&lt;br /&gt;
{{Languages|Manually_using_Bluetooth}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Bluetooth| ]]&lt;br /&gt;
[[Category:Networking]]&lt;br /&gt;
[[Category:Application Developer]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Manually_using_Bluetooth</id>
		<title>Manually using Bluetooth</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Manually_using_Bluetooth"/>
				<updated>2008-12-02T08:40:00Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* OBEX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{InProgress}}&lt;br /&gt;
Bluetooth is one of the core functions of the Neo1973, however it is basically unimplemented on the software side at the moment.&lt;br /&gt;
Hardware problems in the P1 phone mean that the CPU has to be active in order to wake on external bluetooth events, which will reduce the battery life to some 2 days at best in standby.&lt;br /&gt;
&lt;br /&gt;
This page details how to use bluetooth from the command line.&lt;br /&gt;
We have quite a lot of plans about what exactly Bluetooth should be used for.&lt;br /&gt;
&lt;br /&gt;
== Power it up ==&lt;br /&gt;
&lt;br /&gt;
Power up the adapter by clicking on the bluetooth icon in the top bar and selecting power on.&lt;br /&gt;
&lt;br /&gt;
The old way to do it is a shell command (for kernels before 2.6.24):&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
For kernel 2.6.24 (or later) use&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02:~# echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
and on the GTA02 *only* (i.e. not on the GTA01) also use&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02:~# echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
But nowadays[http://permalink.gmane.org/gmane.comp.hardware.smartphones.userland/165], one should use [[Dbus device API]]s!&lt;br /&gt;
&lt;br /&gt;
At the shell, &amp;quot;hciconfig&amp;quot; should print information about the adapter if it powered up properly:&lt;br /&gt;
&lt;br /&gt;
 hciconfig&lt;br /&gt;
&lt;br /&gt;
The devices should show as UP. If not you can use&lt;br /&gt;
&lt;br /&gt;
 hciconfig &amp;lt;device&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Functions ==&lt;br /&gt;
&lt;br /&gt;
===Configuring Bluetooth on Openmoko 2007.2 (August 27 snapshot with kernel 2.6.21.6-moko11) ===&lt;br /&gt;
&lt;br /&gt;
In file /etc/bluetooth/hcid.conf you should change the passkey from BlueZ to something numeric. For testing you may use &amp;quot;0000&amp;quot;. Also, you can set the name to &amp;quot;Neo (%d)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Scanning for bluetooth devices ===&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
This will list the addresses of any discoverable bluetooth devices in the vicinity&lt;br /&gt;
&lt;br /&gt;
=== passkey agent example ===&lt;br /&gt;
&lt;br /&gt;
There should be a passkey agent built into openmoko, but for now you can start up the example passkey agent and set the pin code there. This will allow for new pairings to be made when you attempt a connection.&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Note: the passkey-agent is not required in Openmoko 2007.2 with kernel 2.6.21.6 as of at least since August 27 (maybe earlier).&lt;br /&gt;
&lt;br /&gt;
=== HID (Human Input Device) ===&lt;br /&gt;
&lt;br /&gt;
==== Being able to use HID devices ====&lt;br /&gt;
&lt;br /&gt;
Using a bluetooth keyboard with the built-in terminal is a little funky... I can only type into the console using the bt keyboard if the onscreen keyboard is visible. Also, pressing &amp;quot;p&amp;quot; twice on the bt keyboard actually gives you a &amp;quot;q&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
We want to be able to use a bluetooth keyboard to type into the various applications of our Neo1973.&lt;br /&gt;
To use a Bluetooth Keyboard type: (11:22:33:44:55:66 is the Address of your BT-Keyboard)&lt;br /&gt;
&lt;br /&gt;
hidd --connect 11:22:33:44:55:66&lt;br /&gt;
&lt;br /&gt;
and press &amp;quot;Connect&amp;quot; on your BT-KB.  Alternately, if you know that only one BT-Keyboard is within range, you can just:&lt;br /&gt;
&lt;br /&gt;
hidd --search&lt;br /&gt;
&lt;br /&gt;
to find and connect to any BT-Keyboard. There are some bluetooth keyboard only support SPP profile can't direct using hidd comannd to connect. Please reference the discussion of this page for more information.&lt;br /&gt;
&lt;br /&gt;
Tested on:&lt;br /&gt;
* [http://www.logitech.com/index.cfm/products/details/US/EN,CRID=2166,CONTENTID=10717 Logitech Dinovo Edge]&lt;br /&gt;
* [http://www.logitech.com/index.cfm/keyboards/keyboard_mice_combos/devices/164&amp;amp;cl=us,en Logitech Dinovo Media Desktop (keyboard)]&lt;br /&gt;
* [http://www.nokia.es/A4181580 Nokia SU-8W].  Switched on the BT keyboard, scanned for BT address and ran the connect statement above.  Works fine.&lt;br /&gt;
* [http://blog.russnelson.com/chordite Chordite].  This keyboard uses the Broadcom BCM2042 BT keyboard controller along with a custom driver.&lt;br /&gt;
* [http://www.apple.com/keyboard/ Apple's Aluminum Keyboard]. You may have to add 'auth enable; encrypt enable;' to device {} in  hcid.conf. Run the passkey agent the first time. --search works to pair and every time after. (Might be obvious for those who have used BT in other spots, but you have to type in y our passkey on the keyboard as the connect is happening, otherwise pairing doesn't take place. I don't think there is a prompt on the Neo for this)&lt;br /&gt;
* [http://www.apple.com/support/keyboard/ Apple's white &amp;quot;Wireless Keyboard (original)&amp;quot;] - details may be the same as above. (tested some time ago)&lt;br /&gt;
* [http://www.frogpad.com/ FrogPad] - as above&lt;br /&gt;
* [http://freedominput.com The freedom keyboard] and its many rebranded models (they look like this: [http://rabenfrost.net/openmoko/keyboard.jpg]) need 'modprobe uinput' to circumvent the 'Can't open input device: No such file or directory (2)' error of 'hidd --search'. It works as of february 7th 2008.&lt;br /&gt;
* [http://www.nextag.com/Playstation-3-Logitech-Cordless-564345667/prices-html?nxtg=f8320a24052a-7789F8FE732FF6E3 Logitech Playstation 3 Keyboard] Works well, Mouse pad works.&lt;br /&gt;
* [http://corporate.igo.com/product_details.aspx?id=16 iGo Stowaway UltraSlim] (which was apparently discontinued early 2008, but can still be bought in some places) ([[user:ChristW]] I have 2008.8 on it, and using hidd --search to connect to the iGo works perfectly. I also used it to edit a new contact, dial a number and edit a settings text box in [[TangoGPS]]. So far, no problems...)&lt;br /&gt;
* [http://www.vkb-support.com/ I-Tech Virtual Laser Keyboard] works.  Cursor keys not recognized as such, but produce keycodes than can be mapped.&lt;br /&gt;
&lt;br /&gt;
==== Acting as HID device ====&lt;br /&gt;
&lt;br /&gt;
We want to be able to use the Neo as a HID device, being able to use it as controller for presentations. See [[ReMoko]]&lt;br /&gt;
&lt;br /&gt;
=== RFCOMM ===&lt;br /&gt;
&lt;br /&gt;
Here's how to connect to an external Bluetooth GPS and read NMEA data (Tested with a Holux GPSSlim236 and a Nokia LD-3W ).&lt;br /&gt;
&lt;br /&gt;
First, switch on the GPS and identify the BT address:&lt;br /&gt;
&lt;br /&gt;
  hcitool scan&lt;br /&gt;
&lt;br /&gt;
Then, edit /etc/bluetooth/rfcomm.conf, which by default has all settings commented out, to something like this:&lt;br /&gt;
&lt;br /&gt;
  rfcomm0 {&lt;br /&gt;
        # Automatically bind the device at startup&lt;br /&gt;
        bind no;&lt;br /&gt;
        # Bluetooth address of the device&lt;br /&gt;
        device 00:11:22:33:44:55;&lt;br /&gt;
        # RFCOMM channel for the connection (check your GPS docs for details)&lt;br /&gt;
        channel 1;&lt;br /&gt;
        # Description of the connection&lt;br /&gt;
        comment &amp;quot;Bluetooth GPS&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Restart the BT services:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ /etc/init.d/bluetooth stop&lt;br /&gt;
  root@neo:~$ /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
You should now be able to bind the GPS to /dev/rfcomm0, like this:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ rfcomm bind 0&lt;br /&gt;
&lt;br /&gt;
Confirm the connect:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ rfcomm&lt;br /&gt;
  rfcomm0: 00:11:22:33:44:55 channel 1 clean &lt;br /&gt;
&lt;br /&gt;
... and watch the NMEA strings coming from your GPS:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ cat /dev/rfcomm0 &lt;br /&gt;
  $GPGGA,111748.000,5907.6964,N,01121.1787,E,1,06,1.2,57.7,M,40.1,M,,0000*6F&lt;br /&gt;
  $GPRMC,111748.000,A,5907.6964,N,01121.1787,E,0.00,94.94,160807,,,A*50&lt;br /&gt;
  $GPVTG,94.94,T,,M,0.00,N,0.0,K,A*3D&lt;br /&gt;
&lt;br /&gt;
If you have nothing better to do, you can now pinpoint my office :-).&lt;br /&gt;
&lt;br /&gt;
=== OBEX ===&lt;br /&gt;
OBEX (abbreviation of OBject EXchange, also termed IrOBEX) is a communications protocol that facilitates the exchange of binary objects between devices. Here is the notes about how to use OBEX to send/receive files via bluetooth in NEO.&lt;br /&gt;
&lt;br /&gt;
power on bluetooth: &lt;br /&gt;
if you use FSO image&lt;br /&gt;
 root@om-gta02:~# dbus-send --system --dest=org.freesmartphone.odeviced --type=method_call --print-reply &lt;br /&gt;
 /org/freesmartphone/Device/PowerControl/Bluetooth org.freesmartphone.Device.PowerControl.SetPower int32:1&lt;br /&gt;
else: (GTA02 only)&lt;br /&gt;
 root@om-gta02:~# echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
 root@om-gta02:~# echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
[http://linux.die.net/man/5/hcid.conf hcid.conf] &lt;br /&gt;
modify /etc/bluetooth/hcid.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# HCI daemon configuration file.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# HCId options&lt;br /&gt;
options {&lt;br /&gt;
	# Automatically initialize new devices&lt;br /&gt;
	autoinit yes;&lt;br /&gt;
&lt;br /&gt;
	# Security Manager mode&lt;br /&gt;
	#   none - Security manager disabled&lt;br /&gt;
	#   auto - Use local PIN for incoming connections&lt;br /&gt;
	#   user - Always ask user for a PIN&lt;br /&gt;
	#&lt;br /&gt;
	security auto;&lt;br /&gt;
&lt;br /&gt;
	# Pairing mode&lt;br /&gt;
	#   none  - Pairing disabled&lt;br /&gt;
	#   multi - Allow pairing with already paired devices&lt;br /&gt;
	#   once  - Pair once and deny successive attempts&lt;br /&gt;
	pairing multi;&lt;br /&gt;
&lt;br /&gt;
	# Default PIN code for incoming connections&lt;br /&gt;
	passkey &amp;quot;1234&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Default settings for HCI devices&lt;br /&gt;
device {&lt;br /&gt;
	# Local device name&lt;br /&gt;
	#   %d - device id&lt;br /&gt;
	#   %h - host name&lt;br /&gt;
	name &amp;quot;%h-%d&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	# Local device class&lt;br /&gt;
	class 0x000100;&lt;br /&gt;
&lt;br /&gt;
	# Default packet type&lt;br /&gt;
	pkt_type DH1,DM1,HV1;&lt;br /&gt;
&lt;br /&gt;
	# Inquiry and Page scan&lt;br /&gt;
	iscan enable; pscan enable;&lt;br /&gt;
&lt;br /&gt;
	# Default link mode&lt;br /&gt;
	#   none   - no specific policy &lt;br /&gt;
	#   accept - always accept incoming connections&lt;br /&gt;
	#   master - become master on incoming connections,&lt;br /&gt;
	#            deny role switch on outgoing connections&lt;br /&gt;
	lm accept;&lt;br /&gt;
&lt;br /&gt;
	# Default link policy&lt;br /&gt;
	#   none    - no specific policy&lt;br /&gt;
	#   rswitch - allow role switch&lt;br /&gt;
	#   hold    - allow hold mode&lt;br /&gt;
	#   sniff   - allow sniff mode&lt;br /&gt;
	#   park    - allow park mode&lt;br /&gt;
	lp rswitch,hold,sniff,park;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://linux.die.net/man/8/hcid hcid] - Bluetooth Host Controller Interface Daemon &lt;br /&gt;
&lt;br /&gt;
All paired devices information are stored in /var/lib/bluetooth/BT HW addr folder &lt;br /&gt;
eg. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@om-gta02:/var/lib/bluetooth/00:06:6E:16:EB:C7# ls&lt;br /&gt;
classes        features       lastused       names          panu&lt;br /&gt;
config         gn             manufacturers  nap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display local devices&lt;br /&gt;
 root@om-gta02:/# hcitool dev&lt;br /&gt;
&lt;br /&gt;
Scan all nearby bluetooth devices&lt;br /&gt;
 root@om-gta02:~# hcitool scan&lt;br /&gt;
&lt;br /&gt;
Browse what kind of services in this device&lt;br /&gt;
 root@om-gta02:~# sdptool browse 00:18:C5:42:18:78&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Browsing 00:18:C5:42:18:78 ...&lt;br /&gt;
&lt;br /&gt;
Service Name: OBEX File Transfer&lt;br /&gt;
Service RecHandle: 0x1005b&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 11&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x454e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
Service Name: OBEX Object Push&lt;br /&gt;
Service RecHandle: 0x1005e&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX Object Push&amp;quot; (0x1105)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 9&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x454e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX Object Push&amp;quot; (0x1105)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use obexpush and obexftp tools&lt;br /&gt;
 &lt;br /&gt;
install obexpush, obexftp packages&lt;br /&gt;
 opkg install obexpush, [http://www.go2linux.org/linux-command-line-obexftp-man-page obexftp]&lt;br /&gt;
&lt;br /&gt;
obexpush would launch 'opd' and it's a obex data server. It starts OBEX file transfer service. The default folder is \home\root and it would store all received files here. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 root@om-gta02:~# ps aux | grep opd&lt;br /&gt;
 root      1322  0.0  0.4   1972   604 ?        Ss   16:21   0:00 opd: waiting for incomming OBEX connections on channel 10...&lt;br /&gt;
&amp;lt;/pre&amp;gt;                 &lt;br /&gt;
&lt;br /&gt;
How to pair with a bluetooth device, check [http://wiki.bluez.org/wiki/bluez bluez wiki]&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
==== Using PC's connection from Neo ====&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Linux system =====&lt;br /&gt;
&lt;br /&gt;
Bluetooth should behave just like our usbnet and provide full TCP/IP access to the phone.  BNEP has to be used.&lt;br /&gt;
&lt;br /&gt;
'''On the laptop'''&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth&lt;br /&gt;
 /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
 pand -s&lt;br /&gt;
&lt;br /&gt;
* As soon as pand is started on the phone configure your IP address&lt;br /&gt;
 ip a add 10.0.0.1/24 dev bnep0&lt;br /&gt;
 ip l set bnep0 up&lt;br /&gt;
&lt;br /&gt;
* Configure IP forwarding and masquerading to your liking (see [[USB_Networking]]). You can even set up Udev rules to do this for you once the bnep0 interface appears.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''On the Neo'''&lt;br /&gt;
&lt;br /&gt;
* There is a little script that does the steps below (and retries the pand -c command; I had issues with it not working the first time every time) at [[Bt-net-script]]  You shouldn't need the other steps below if you use the script.&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
 00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
 00:20:E0:5A:FE:C8       BlueZ (0)&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 root@fic-gta01:~$ pand -c 00:20:E0:5A:FE:C8&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address&lt;br /&gt;
 ip a add 10.0.0.2/24 dev bnep0&lt;br /&gt;
 ip r add default via 10.0.0.1&lt;br /&gt;
&lt;br /&gt;
* Sometimes you may need to bring up the bnep0 on the phone as well:&lt;br /&gt;
 ip l set bnep0 up&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*--[[User:Mantis|Mantis]] 18:37, 15 October 2008 (UTC)  Note for use on OpenSuse 11.0 - I was getting a connection failure with 'Host is down(112)' errors in /var/log/messages (on neo).&lt;br /&gt;
I found that editing  /etc/bluetooth/hcid.conf  to set  'pscan enable'  instead of 'pscan disable' and making passkey consistent with Neo Freerunner made it work.&lt;br /&gt;
&lt;br /&gt;
Should see log line like&lt;br /&gt;
 ''pand[17965]: New connection from 00:06:6E:XX:XX:XX at bnep0''&lt;br /&gt;
&lt;br /&gt;
if connection is successful in server's /var/log/messages.&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a MacOS X system =====&lt;br /&gt;
&lt;br /&gt;
Please refer to [[MacOS_X#Bluetooth_2]]&lt;br /&gt;
&lt;br /&gt;
For using the Neo as a dialup Bluetooth server and the Mac as the client, please see below at [[Manually_using_Bluetooth#PPP_Networking]]&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Windows XP system =====&lt;br /&gt;
&lt;br /&gt;
This was tested with a Windows XP SP2 on a IBM Thinkpad T41 with the Widcomm BT stack&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth on Windows XP&lt;br /&gt;
&lt;br /&gt;
* Enable &amp;quot;Network Access&amp;quot; in the Bluetooth configuration&lt;br /&gt;
&lt;br /&gt;
* Scan for the Neo and pair with the Neo (right click, select pair)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On the Neo&lt;br /&gt;
&lt;br /&gt;
* Enable PAN support on the Neo by changing Autostart from false to true in /etc/bluetooth/network.service&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         &amp;lt;laptop_bt_address&amp;gt;     Thinkpad&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 pand -c &amp;lt;laptop_bt_address&amp;gt; -r PANU -d NAP -e bnep0 -A -E -S&lt;br /&gt;
(add '-n' to see the pand status messages until you get it right)&lt;br /&gt;
&lt;br /&gt;
For some reason, I was not able to initiate PAN connections from the Neo, I got 'Permission denied (13)' even when I had explicitly allowed the Neo to connect (right click on Neo icon, set properties, on Authorization tab). But initiating 'PAN User' from Windows worked when executing on Neo:&lt;br /&gt;
 pand -l -r PANU -d NAP -e bnep0 -A -E -S&lt;br /&gt;
(add '-n' to see the pand status messages until you get it right)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address. It should work like when connecting to Linux:&lt;br /&gt;
 ip a add 10.0.0.2/24 dev bnep0&lt;br /&gt;
 ip r add default via 10.0.0.1&lt;br /&gt;
If this does not work, the IP stacks may have auto-assigned network addresses to themselves. You can look this up with 'ifconfig' on the Neo and with 'ipconfig' on Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* You should now be able to ssh/putty from Windows to your Neo. Enjoy!&lt;br /&gt;
By setting up the Windows Bluetooth connection properly, it should also be possible to share the Internet Connection of the Windows box with the Neo.&lt;br /&gt;
&lt;br /&gt;
===== PPP Networking =====&lt;br /&gt;
&lt;br /&gt;
If you are unable to use the 'BNEP' method described above, you may be able to use [[PPP]] and a DUN (dialup-networking) emulation mode. On the Neo:&lt;br /&gt;
&lt;br /&gt;
* Edit the /etc/default/bluetooth file and set the following options:&lt;br /&gt;
 RFCOMM_ENABLE=true&lt;br /&gt;
 DUND_ENABLE=true&lt;br /&gt;
 DUND_OPTIONS=&amp;quot;--listen --persist call dun&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Create an /etc/ppp/peers/dun file with options like the following:&lt;br /&gt;
 115200&lt;br /&gt;
 192.168.2.202:192.168.2.200&lt;br /&gt;
 passive&lt;br /&gt;
 local&lt;br /&gt;
 noipdefault&lt;br /&gt;
 noauth&lt;br /&gt;
 nodefaultroute&lt;br /&gt;
 &lt;br /&gt;
* Restart bluetooth (/etc/init.d/bluetooth stop ; /etc/init.d/bluetooth start)&lt;br /&gt;
&lt;br /&gt;
To connect from a MacOS 10.3 client:&lt;br /&gt;
&lt;br /&gt;
* Open &amp;quot;Applications/Utilities/Bluetooth Serial Utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Click on &amp;quot;New&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Choose a name, then click &amp;quot;Choose Device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Locate your Neo, then select the &amp;quot;LAN Access Point&amp;quot; service. If your device is not found, or if this service does not show up, then you will need to troubleshoot and fix that before continuing. Bluetooth is designed for short-range communication, so make sure that the devices are physically close to each other. &lt;br /&gt;
&lt;br /&gt;
* Select &amp;quot;Port type: RS-232&amp;quot; and &amp;quot;Show in Network Preferences&amp;quot;. Click OK.&lt;br /&gt;
&lt;br /&gt;
* Open the Network Preferences page then &amp;quot;Show: Network Port Configurations&amp;quot;. Enable the new device that you defined in the previous step and drag it to the bottom of the device list (so that it will not interfere with your other network connections)&lt;br /&gt;
&lt;br /&gt;
* Choose &amp;quot;Show: &amp;lt;your-device-name&amp;gt;&amp;quot;, then click &amp;quot;Modem&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Select &amp;quot;Null Modem 115200&amp;quot; from the list of available devices. Uncheck &amp;quot;Wait for dial tone&amp;quot; and &amp;quot;Enable error correction and compression in modem&amp;quot;. Optionally check &amp;quot;Show modem status in menu bar&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
* Click &amp;quot;Connect&amp;quot;. If everything worked, you will end up with a 'ppp0' device on your Mac with a local address of 192.168.2.200 and you will be able to access your Neo at 192.168.2.202.&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Linux system - More secure way =====&lt;br /&gt;
&lt;br /&gt;
''Check this, probably needs some corrections''&lt;br /&gt;
&lt;br /&gt;
Bluetooth should behave just like our usbnet and provide full TCP/IP access to the phone.  BNEP has to be used.&lt;br /&gt;
&lt;br /&gt;
On the laptop&lt;br /&gt;
&lt;br /&gt;
* check these options in /etc/bluetooth/hcid.conf&lt;br /&gt;
 security auto;&lt;br /&gt;
 passkey &amp;quot;your pin&amp;quot;;&lt;br /&gt;
 lm master;&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth&lt;br /&gt;
 # /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
  pand --listen --role NAP --encrypt&lt;br /&gt;
&lt;br /&gt;
* Add in /etc/network/interfaces (see [[USB_Networking]])&lt;br /&gt;
 auto bnep0&lt;br /&gt;
 iface bnep0 inet static&lt;br /&gt;
 address 192.168.1.1&lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
 network 192.168.1.0&lt;br /&gt;
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.1.0/24&lt;br /&gt;
        post-up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        post-up iptables -P FORWARD ACCEPT&lt;br /&gt;
&lt;br /&gt;
On the Neo&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:20:E0:5A:FE:C8       laptop&lt;br /&gt;
&lt;br /&gt;
* Set pin&lt;br /&gt;
 root@fic-gta01:~$ passkey-agent 'your pin' 00:20:E0:5A:FE:C8 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 root@fic-gta01:~$ pand -c 00:20:E0:5A:FE:C8&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address&lt;br /&gt;
 root@fic-gta01:~$ ifconfig bnep0 192.168.1.2&lt;br /&gt;
 root@fic-gta01:~$ route add default gateway 192.168.1.1&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
==== Using Neo's connection from PC ====&lt;br /&gt;
&lt;br /&gt;
===== Calling Neo's GPRS modem via Bluetooth =====&lt;br /&gt;
&lt;br /&gt;
In this mode, Neo would behave like any other phone which can be used from a PC to get a network connection.&lt;br /&gt;
&lt;br /&gt;
This section not written yet. Has someone set it up?&lt;br /&gt;
&lt;br /&gt;
===== Sharing existing Neo's connection =====&lt;br /&gt;
&lt;br /&gt;
In this mode, Neo already has a network connection (GPRS, WLAN, ...), and it should get shared to the PC. This guide is general on how to forward network connection from a machine running Linux to another machine. If interested, please see more information for example at http://www.gentoo.org/doc/en/bluetooth-guide.xml.&lt;br /&gt;
&lt;br /&gt;
On the PC&lt;br /&gt;
# Check with hciconfig you have working Bluetooth&lt;br /&gt;
On the Neo&lt;br /&gt;
(if on Debian etc., remember modprobe ohci_hcd hci_usb)&lt;br /&gt;
# Initialize Bluetooth as told before:&lt;br /&gt;
## echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/power_on&lt;br /&gt;
## echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
# install iptables: opkg install http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv4t/base/iptables_1.3.8-r4.1_armv4t.ipk&lt;br /&gt;
# modprobe bnep&lt;br /&gt;
# Check that hcid is running both on Neo and PC (Bluetooth 4.x: install bluez-compat)&lt;br /&gt;
# Use default passkey &amp;quot;1234&amp;quot; in /etc/bluetooth/hcid.conf&lt;br /&gt;
# pand --listen --role NAP --master --autozap # note: after this you might have to the the step 1 below (&amp;quot;On the PC&amp;quot;) or the next step of getting the interface up does not work # note2: you could automate pand listener to start automatically when Bluetooth is turned on&lt;br /&gt;
# ifconfig bnep0 10.0.5.2 up&lt;br /&gt;
# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
# iptables -t nat -A POSTROUTING -j MASQUERADE -o ppp0&lt;br /&gt;
On the PC:&lt;br /&gt;
# sudo pand --connect &amp;lt;your bluetooth mac address&amp;gt; --service NAP --autozap&lt;br /&gt;
# ifconfig bnep0 10.0.5.1 up&lt;br /&gt;
# You can test the connection with ping 10.0.5.2&lt;br /&gt;
# sudo ip route add default via 10.0.5.2 dev bnep0&lt;br /&gt;
# [not automated yet] add GPRS connection's nameservers to /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
== Advanced Audio Distribution Profile (A2DP) ==&lt;br /&gt;
&lt;br /&gt;
=== A2DP quickie ===&lt;br /&gt;
&lt;br /&gt;
* If you experience problems with choppyness, try changing your hcid.conf to include &amp;quot;lm accept,master;&amp;quot; and &amp;quot;lp hold,sniff,park;&amp;quot;  You may also have to bond (commonly known as 'pairing') your phone and your headset.  See http://wiki.bluez.org/wiki/HOWTO/Bonding for details. [[User:Mercury|Mercury]] 17:36, 5 September 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
It's now possible (if a little hackish) to stream mp3 to a bluetooth headset. It's a known problem that the playback rate changes (pitch varies). Timing issues are also likely the reason for gaps in playback.&lt;br /&gt;
&lt;br /&gt;
If the bluez packages are recent enough, you can use a shortcut. I'll document it here and leave the longer version below (the long version also demonstrates the API used by the GUI to manage headsets)&lt;br /&gt;
&lt;br /&gt;
Create /etc/asound.conf with your bluetooth headset's address filled in:&lt;br /&gt;
&lt;br /&gt;
 pcm.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;xx:xx:xx:xx:xx:xx&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
then play a song&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:- | aplay&lt;br /&gt;
&lt;br /&gt;
or for smoother results...&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:song.wav&lt;br /&gt;
 aplay song.wav&lt;br /&gt;
&lt;br /&gt;
=== A2DP ===&lt;br /&gt;
&lt;br /&gt;
If that doesn't work... all the more hackish... install required packages:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;src/gz python http://www.angstrom-distribution.org/unstable/feed/armv4t/python/&amp;quot; &amp;gt;&amp;gt; /etc/ipkg/angstrom-python.conf &lt;br /&gt;
 echo &amp;quot;src/gz base http://www.angstrom-distribution.org/unstable/feed/armv4t/base/&amp;quot; &amp;gt;&amp;gt; /etc/ipkg/angstrom-base.conf&lt;br /&gt;
 ipkg update ; ipkg install python-core python-xml python-dbus bluez-utils bluez-utils-alsa&lt;br /&gt;
&lt;br /&gt;
Create /etc/asound.conf:&lt;br /&gt;
&lt;br /&gt;
 pcm.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 ctl.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 pcm.bluetooth {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 ctl.bluetooth {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Run the passkey agent (see above in this page)&lt;br /&gt;
&lt;br /&gt;
Fill in your bluetooth headset address below and execute the python script (with your headset turned on)&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 import dbus&lt;br /&gt;
 bus = dbus.SystemBus()&lt;br /&gt;
 manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')&lt;br /&gt;
 conn = manager.ActivateService('audio')&lt;br /&gt;
 audio = dbus.Interface(bus.get_object(conn, '/org/bluez/audio'), 'org.bluez.audio.Manager')&lt;br /&gt;
 path = audio.CreateDevice('00:0D:3C:44:33:22')&lt;br /&gt;
 audio.ChangeDefaultDevice(path)&lt;br /&gt;
 sink = dbus.Interface(bus.get_object(conn, path), 'org.bluez.audio.Sink')&lt;br /&gt;
 sink.Connect()&lt;br /&gt;
&lt;br /&gt;
FINALLY: play a song&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:- | aplay&lt;br /&gt;
&lt;br /&gt;
=== Headset Audio ===&lt;br /&gt;
&lt;br /&gt;
[[Neo1973_Audio_Subsystem]] has detail about alsa settings and a proposal for audio scenario management.&lt;br /&gt;
&lt;br /&gt;
To try this out, follow the instructions in the a2dp section to install software and run the passkey agent.&lt;br /&gt;
&lt;br /&gt;
Remove or disable the stuff you put in asound.conf. When using a voice headset, the application uses the regular system audio device and it gets routed to bluetooth in the codec.&lt;br /&gt;
&lt;br /&gt;
Put the headset in pairing mode. Replace the bluetooth address below with your headset's and run the python script:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 import dbus&lt;br /&gt;
 bus = dbus.SystemBus()&lt;br /&gt;
 manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')&lt;br /&gt;
 conn = manager.ActivateService('audio')&lt;br /&gt;
 audio = dbus.Interface(bus.get_object(conn, '/org/bluez/audio'), 'org.bluez.audio.Manager')&lt;br /&gt;
 path = audio.CreateHeadset('00:0B:2E:39:33:22')&lt;br /&gt;
 audio.ChangeDefaultHeadset(path)&lt;br /&gt;
 headset = dbus.Interface (bus.get_object(conn, path), 'org.bluez.audio.Headset')&lt;br /&gt;
 headset.Connect()&lt;br /&gt;
 headset.Play()&lt;br /&gt;
&lt;br /&gt;
Now place a call and try to route it to bluetooth (after it's in progress):&lt;br /&gt;
&lt;br /&gt;
 alsactl -f /etc/gsmbluetooth.state restore&lt;br /&gt;
&lt;br /&gt;
You may also be able to listen to system audio given the right state file:&lt;br /&gt;
&lt;br /&gt;
 alsactl -f /etc/systembluetooth.state restore&lt;br /&gt;
 madplay song.mp3&lt;br /&gt;
&lt;br /&gt;
==Bluetooth Headset on Freerunner ==&lt;br /&gt;
&lt;br /&gt;
[http://lists.openmoko.org/pipermail/support/2008-September/thread.html#2627 This thread] suggests the following:&lt;br /&gt;
&lt;br /&gt;
:Turn on bluetooth. If some of the scripts below fail you may need to reboot [https://docs.openmoko.org/trac/ticket/1744 Bluetooth after suspend]&lt;br /&gt;
&lt;br /&gt;
:Pair your headset according to [http://wiki.bluez.org/ these] instructions or use the script below. The script will change your .asoundrc so make a backup before you run it.&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/BtConfigure.py&lt;br /&gt;
:Put the headset in pairing mode ( this only needs to be done once for each new headset ) and run&lt;br /&gt;
 BtConfigure.py &lt;br /&gt;
&lt;br /&gt;
:Download the the following python scripts to set up the audio service and set the headset as the default device:&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/BtHeadset.py&lt;br /&gt;
:http://handheldshell.com/passkey.py&lt;br /&gt;
:http://handheldshell.com/BtHeadsetDisconnect.py&lt;br /&gt;
:http://handheldshell.com/python-pyalsaaudio_0.3-ml0_armv4t.ipk  - can someone add python-pyalsa to the feeds ?&lt;br /&gt;
&lt;br /&gt;
:Download the the following python scripts if you prefer not to mess around with alsactl:&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/pymixer.py&lt;br /&gt;
:http://handheldshell.com/volume.desktop&lt;br /&gt;
&lt;br /&gt;
:put pymixer in /usr/bin&lt;br /&gt;
&lt;br /&gt;
 chmod u+x /usr/bin/pymixer.py&lt;br /&gt;
&lt;br /&gt;
:put volume.desktop in /usr/share/applications&lt;br /&gt;
&lt;br /&gt;
:Get the [[http://handheldshell.com/gsm_headset.txt alsa state file]] - this state file _WORKS_, mic and earphones are properly routed&lt;br /&gt;
&lt;br /&gt;
 cp gsm_headset.txt /usr/share/openmoko/scenarios/btheadset.state&lt;br /&gt;
&lt;br /&gt;
:from the home screen run Volume&lt;br /&gt;
&lt;br /&gt;
:from the terminal run&lt;br /&gt;
&lt;br /&gt;
 BtHeadset.py &lt;br /&gt;
&lt;br /&gt;
:Wait until it says waiting for call to end, you should hear static in the headset. If you don't something has gone wrong.&lt;br /&gt;
&lt;br /&gt;
:Now start the call&lt;br /&gt;
&lt;br /&gt;
:In the volume control switch to the btheadset tab. press restore&lt;br /&gt;
&lt;br /&gt;
:You should now hear the call in your headset. &lt;br /&gt;
&lt;br /&gt;
:End the call&lt;br /&gt;
&lt;br /&gt;
 BtHeadsetDisconnect.py &lt;br /&gt;
&lt;br /&gt;
:This was all done with the 2008-updates image from sept 4. &lt;br /&gt;
&lt;br /&gt;
:The new scripts rely on a specific format for the .asoundrc . A stanza like this is required :&lt;br /&gt;
&lt;br /&gt;
 pcm.headset {&lt;br /&gt;
     type bluetooth&lt;br /&gt;
     device &amp;lt;headset mac&amp;gt;&lt;br /&gt;
     profile &amp;quot;voice&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
http://www.holtmann.org/papers/bluetooth/ols2006_slides.pdf&lt;br /&gt;
http://wiki.bluez.org/wiki/Audio#org.bluez.Audio&lt;br /&gt;
http://www.gentoo.org/doc/en/bluetooth-guide.xml&lt;br /&gt;
&lt;br /&gt;
{{Languages|Manually_using_Bluetooth}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Bluetooth| ]]&lt;br /&gt;
[[Category:Networking]]&lt;br /&gt;
[[Category:Application Developer]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Manually_using_Bluetooth</id>
		<title>Manually using Bluetooth</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Manually_using_Bluetooth"/>
				<updated>2008-12-02T08:37:36Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* OBEX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{InProgress}}&lt;br /&gt;
Bluetooth is one of the core functions of the Neo1973, however it is basically unimplemented on the software side at the moment.&lt;br /&gt;
Hardware problems in the P1 phone mean that the CPU has to be active in order to wake on external bluetooth events, which will reduce the battery life to some 2 days at best in standby.&lt;br /&gt;
&lt;br /&gt;
This page details how to use bluetooth from the command line.&lt;br /&gt;
We have quite a lot of plans about what exactly Bluetooth should be used for.&lt;br /&gt;
&lt;br /&gt;
== Power it up ==&lt;br /&gt;
&lt;br /&gt;
Power up the adapter by clicking on the bluetooth icon in the top bar and selecting power on.&lt;br /&gt;
&lt;br /&gt;
The old way to do it is a shell command (for kernels before 2.6.24):&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
For kernel 2.6.24 (or later) use&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02:~# echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
and on the GTA02 *only* (i.e. not on the GTA01) also use&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02:~# echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
But nowadays[http://permalink.gmane.org/gmane.comp.hardware.smartphones.userland/165], one should use [[Dbus device API]]s!&lt;br /&gt;
&lt;br /&gt;
At the shell, &amp;quot;hciconfig&amp;quot; should print information about the adapter if it powered up properly:&lt;br /&gt;
&lt;br /&gt;
 hciconfig&lt;br /&gt;
&lt;br /&gt;
The devices should show as UP. If not you can use&lt;br /&gt;
&lt;br /&gt;
 hciconfig &amp;lt;device&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Functions ==&lt;br /&gt;
&lt;br /&gt;
===Configuring Bluetooth on Openmoko 2007.2 (August 27 snapshot with kernel 2.6.21.6-moko11) ===&lt;br /&gt;
&lt;br /&gt;
In file /etc/bluetooth/hcid.conf you should change the passkey from BlueZ to something numeric. For testing you may use &amp;quot;0000&amp;quot;. Also, you can set the name to &amp;quot;Neo (%d)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Scanning for bluetooth devices ===&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
This will list the addresses of any discoverable bluetooth devices in the vicinity&lt;br /&gt;
&lt;br /&gt;
=== passkey agent example ===&lt;br /&gt;
&lt;br /&gt;
There should be a passkey agent built into openmoko, but for now you can start up the example passkey agent and set the pin code there. This will allow for new pairings to be made when you attempt a connection.&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Note: the passkey-agent is not required in Openmoko 2007.2 with kernel 2.6.21.6 as of at least since August 27 (maybe earlier).&lt;br /&gt;
&lt;br /&gt;
=== HID (Human Input Device) ===&lt;br /&gt;
&lt;br /&gt;
==== Being able to use HID devices ====&lt;br /&gt;
&lt;br /&gt;
Using a bluetooth keyboard with the built-in terminal is a little funky... I can only type into the console using the bt keyboard if the onscreen keyboard is visible. Also, pressing &amp;quot;p&amp;quot; twice on the bt keyboard actually gives you a &amp;quot;q&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
We want to be able to use a bluetooth keyboard to type into the various applications of our Neo1973.&lt;br /&gt;
To use a Bluetooth Keyboard type: (11:22:33:44:55:66 is the Address of your BT-Keyboard)&lt;br /&gt;
&lt;br /&gt;
hidd --connect 11:22:33:44:55:66&lt;br /&gt;
&lt;br /&gt;
and press &amp;quot;Connect&amp;quot; on your BT-KB.  Alternately, if you know that only one BT-Keyboard is within range, you can just:&lt;br /&gt;
&lt;br /&gt;
hidd --search&lt;br /&gt;
&lt;br /&gt;
to find and connect to any BT-Keyboard. There are some bluetooth keyboard only support SPP profile can't direct using hidd comannd to connect. Please reference the discussion of this page for more information.&lt;br /&gt;
&lt;br /&gt;
Tested on:&lt;br /&gt;
* [http://www.logitech.com/index.cfm/products/details/US/EN,CRID=2166,CONTENTID=10717 Logitech Dinovo Edge]&lt;br /&gt;
* [http://www.logitech.com/index.cfm/keyboards/keyboard_mice_combos/devices/164&amp;amp;cl=us,en Logitech Dinovo Media Desktop (keyboard)]&lt;br /&gt;
* [http://www.nokia.es/A4181580 Nokia SU-8W].  Switched on the BT keyboard, scanned for BT address and ran the connect statement above.  Works fine.&lt;br /&gt;
* [http://blog.russnelson.com/chordite Chordite].  This keyboard uses the Broadcom BCM2042 BT keyboard controller along with a custom driver.&lt;br /&gt;
* [http://www.apple.com/keyboard/ Apple's Aluminum Keyboard]. You may have to add 'auth enable; encrypt enable;' to device {} in  hcid.conf. Run the passkey agent the first time. --search works to pair and every time after. (Might be obvious for those who have used BT in other spots, but you have to type in y our passkey on the keyboard as the connect is happening, otherwise pairing doesn't take place. I don't think there is a prompt on the Neo for this)&lt;br /&gt;
* [http://www.apple.com/support/keyboard/ Apple's white &amp;quot;Wireless Keyboard (original)&amp;quot;] - details may be the same as above. (tested some time ago)&lt;br /&gt;
* [http://www.frogpad.com/ FrogPad] - as above&lt;br /&gt;
* [http://freedominput.com The freedom keyboard] and its many rebranded models (they look like this: [http://rabenfrost.net/openmoko/keyboard.jpg]) need 'modprobe uinput' to circumvent the 'Can't open input device: No such file or directory (2)' error of 'hidd --search'. It works as of february 7th 2008.&lt;br /&gt;
* [http://www.nextag.com/Playstation-3-Logitech-Cordless-564345667/prices-html?nxtg=f8320a24052a-7789F8FE732FF6E3 Logitech Playstation 3 Keyboard] Works well, Mouse pad works.&lt;br /&gt;
* [http://corporate.igo.com/product_details.aspx?id=16 iGo Stowaway UltraSlim] (which was apparently discontinued early 2008, but can still be bought in some places) ([[user:ChristW]] I have 2008.8 on it, and using hidd --search to connect to the iGo works perfectly. I also used it to edit a new contact, dial a number and edit a settings text box in [[TangoGPS]]. So far, no problems...)&lt;br /&gt;
* [http://www.vkb-support.com/ I-Tech Virtual Laser Keyboard] works.  Cursor keys not recognized as such, but produce keycodes than can be mapped.&lt;br /&gt;
&lt;br /&gt;
==== Acting as HID device ====&lt;br /&gt;
&lt;br /&gt;
We want to be able to use the Neo as a HID device, being able to use it as controller for presentations. See [[ReMoko]]&lt;br /&gt;
&lt;br /&gt;
=== RFCOMM ===&lt;br /&gt;
&lt;br /&gt;
Here's how to connect to an external Bluetooth GPS and read NMEA data (Tested with a Holux GPSSlim236 and a Nokia LD-3W ).&lt;br /&gt;
&lt;br /&gt;
First, switch on the GPS and identify the BT address:&lt;br /&gt;
&lt;br /&gt;
  hcitool scan&lt;br /&gt;
&lt;br /&gt;
Then, edit /etc/bluetooth/rfcomm.conf, which by default has all settings commented out, to something like this:&lt;br /&gt;
&lt;br /&gt;
  rfcomm0 {&lt;br /&gt;
        # Automatically bind the device at startup&lt;br /&gt;
        bind no;&lt;br /&gt;
        # Bluetooth address of the device&lt;br /&gt;
        device 00:11:22:33:44:55;&lt;br /&gt;
        # RFCOMM channel for the connection (check your GPS docs for details)&lt;br /&gt;
        channel 1;&lt;br /&gt;
        # Description of the connection&lt;br /&gt;
        comment &amp;quot;Bluetooth GPS&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Restart the BT services:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ /etc/init.d/bluetooth stop&lt;br /&gt;
  root@neo:~$ /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
You should now be able to bind the GPS to /dev/rfcomm0, like this:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ rfcomm bind 0&lt;br /&gt;
&lt;br /&gt;
Confirm the connect:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ rfcomm&lt;br /&gt;
  rfcomm0: 00:11:22:33:44:55 channel 1 clean &lt;br /&gt;
&lt;br /&gt;
... and watch the NMEA strings coming from your GPS:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ cat /dev/rfcomm0 &lt;br /&gt;
  $GPGGA,111748.000,5907.6964,N,01121.1787,E,1,06,1.2,57.7,M,40.1,M,,0000*6F&lt;br /&gt;
  $GPRMC,111748.000,A,5907.6964,N,01121.1787,E,0.00,94.94,160807,,,A*50&lt;br /&gt;
  $GPVTG,94.94,T,,M,0.00,N,0.0,K,A*3D&lt;br /&gt;
&lt;br /&gt;
If you have nothing better to do, you can now pinpoint my office :-).&lt;br /&gt;
&lt;br /&gt;
=== OBEX ===&lt;br /&gt;
OBEX (abbreviation of OBject EXchange, also termed IrOBEX) is a communications protocol that facilitates the exchange of binary objects between devices. Here is the notes about how to use OBEX to send/receive files via bluetooth in NEO.&lt;br /&gt;
&lt;br /&gt;
power on bluetooth: &lt;br /&gt;
if you use FSO image&lt;br /&gt;
 root@om-gta02:~# dbus-send --system --dest=org.freesmartphone.odeviced --type=method_call --print-reply &lt;br /&gt;
 /org/freesmartphone/Device/PowerControl/Bluetooth org.freesmartphone.Device.PowerControl.SetPower int32:1&lt;br /&gt;
else: (GTA02 only)&lt;br /&gt;
 root@om-gta02:~# echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
 root@om-gta02:~# echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
[http://linux.die.net/man/5/hcid.conf hcid.conf] &lt;br /&gt;
modify /etc/bluetooth/hcid.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# HCI daemon configuration file.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# HCId options&lt;br /&gt;
options {&lt;br /&gt;
	# Automatically initialize new devices&lt;br /&gt;
	autoinit yes;&lt;br /&gt;
&lt;br /&gt;
	# Security Manager mode&lt;br /&gt;
	#   none - Security manager disabled&lt;br /&gt;
	#   auto - Use local PIN for incoming connections&lt;br /&gt;
	#   user - Always ask user for a PIN&lt;br /&gt;
	#&lt;br /&gt;
	security auto;&lt;br /&gt;
&lt;br /&gt;
	# Pairing mode&lt;br /&gt;
	#   none  - Pairing disabled&lt;br /&gt;
	#   multi - Allow pairing with already paired devices&lt;br /&gt;
	#   once  - Pair once and deny successive attempts&lt;br /&gt;
	pairing multi;&lt;br /&gt;
&lt;br /&gt;
	# Default PIN code for incoming connections&lt;br /&gt;
	passkey &amp;quot;1234&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Default settings for HCI devices&lt;br /&gt;
device {&lt;br /&gt;
	# Local device name&lt;br /&gt;
	#   %d - device id&lt;br /&gt;
	#   %h - host name&lt;br /&gt;
	name &amp;quot;%h-%d&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	# Local device class&lt;br /&gt;
	class 0x000100;&lt;br /&gt;
&lt;br /&gt;
	# Default packet type&lt;br /&gt;
	pkt_type DH1,DM1,HV1;&lt;br /&gt;
&lt;br /&gt;
	# Inquiry and Page scan&lt;br /&gt;
	iscan enable; pscan enable;&lt;br /&gt;
&lt;br /&gt;
	# Default link mode&lt;br /&gt;
	#   none   - no specific policy &lt;br /&gt;
	#   accept - always accept incoming connections&lt;br /&gt;
	#   master - become master on incoming connections,&lt;br /&gt;
	#            deny role switch on outgoing connections&lt;br /&gt;
	lm accept;&lt;br /&gt;
&lt;br /&gt;
	# Default link policy&lt;br /&gt;
	#   none    - no specific policy&lt;br /&gt;
	#   rswitch - allow role switch&lt;br /&gt;
	#   hold    - allow hold mode&lt;br /&gt;
	#   sniff   - allow sniff mode&lt;br /&gt;
	#   park    - allow park mode&lt;br /&gt;
	lp rswitch,hold,sniff,park;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://linux.die.net/man/8/hcid hcid] - Bluetooth Host Controller Interface Daemon &lt;br /&gt;
&lt;br /&gt;
All paired devices information are stored in /var/lib/bluetooth/BT HW addr folder &lt;br /&gt;
eg. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@om-gta02:/var/lib/bluetooth/00:06:6E:16:EB:C7# ls&lt;br /&gt;
classes        features       lastused       names          panu&lt;br /&gt;
config         gn             manufacturers  nap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display local devices&lt;br /&gt;
 root@om-gta02:/# hcitool dev&lt;br /&gt;
&lt;br /&gt;
Scan all nearby bluetooth devices&lt;br /&gt;
 root@om-gta02:~# hcitool scan&lt;br /&gt;
&lt;br /&gt;
Browse what kind of services in this device&lt;br /&gt;
 root@om-gta02:~# sdptool browse 00:18:C5:42:18:78&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Browsing 00:18:C5:42:18:78 ...&lt;br /&gt;
&lt;br /&gt;
Service Name: OBEX File Transfer&lt;br /&gt;
Service RecHandle: 0x1005b&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 11&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x454e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
Service Name: OBEX Object Push&lt;br /&gt;
Service RecHandle: 0x1005e&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX Object Push&amp;quot; (0x1105)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 9&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x454e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX Object Push&amp;quot; (0x1105)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use obexpush and obexftp tools&lt;br /&gt;
 &lt;br /&gt;
install obexpush, obexftp packages&lt;br /&gt;
 opkg install obexpush, [http://www.go2linux.org/linux-command-line-obexftp-man-page obexftp]&lt;br /&gt;
&lt;br /&gt;
obexpush would launch 'opd' and it's a obex data server. The default folder is \home\root and it would store all received files here.&lt;br /&gt;
&lt;br /&gt;
 How to pair with a bluetooth device, check [http://wiki.bluez.org/wiki/bluez wiki]&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
==== Using PC's connection from Neo ====&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Linux system =====&lt;br /&gt;
&lt;br /&gt;
Bluetooth should behave just like our usbnet and provide full TCP/IP access to the phone.  BNEP has to be used.&lt;br /&gt;
&lt;br /&gt;
'''On the laptop'''&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth&lt;br /&gt;
 /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
 pand -s&lt;br /&gt;
&lt;br /&gt;
* As soon as pand is started on the phone configure your IP address&lt;br /&gt;
 ip a add 10.0.0.1/24 dev bnep0&lt;br /&gt;
 ip l set bnep0 up&lt;br /&gt;
&lt;br /&gt;
* Configure IP forwarding and masquerading to your liking (see [[USB_Networking]]). You can even set up Udev rules to do this for you once the bnep0 interface appears.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''On the Neo'''&lt;br /&gt;
&lt;br /&gt;
* There is a little script that does the steps below (and retries the pand -c command; I had issues with it not working the first time every time) at [[Bt-net-script]]  You shouldn't need the other steps below if you use the script.&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
 00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
 00:20:E0:5A:FE:C8       BlueZ (0)&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 root@fic-gta01:~$ pand -c 00:20:E0:5A:FE:C8&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address&lt;br /&gt;
 ip a add 10.0.0.2/24 dev bnep0&lt;br /&gt;
 ip r add default via 10.0.0.1&lt;br /&gt;
&lt;br /&gt;
* Sometimes you may need to bring up the bnep0 on the phone as well:&lt;br /&gt;
 ip l set bnep0 up&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*--[[User:Mantis|Mantis]] 18:37, 15 October 2008 (UTC)  Note for use on OpenSuse 11.0 - I was getting a connection failure with 'Host is down(112)' errors in /var/log/messages (on neo).&lt;br /&gt;
I found that editing  /etc/bluetooth/hcid.conf  to set  'pscan enable'  instead of 'pscan disable' and making passkey consistent with Neo Freerunner made it work.&lt;br /&gt;
&lt;br /&gt;
Should see log line like&lt;br /&gt;
 ''pand[17965]: New connection from 00:06:6E:XX:XX:XX at bnep0''&lt;br /&gt;
&lt;br /&gt;
if connection is successful in server's /var/log/messages.&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a MacOS X system =====&lt;br /&gt;
&lt;br /&gt;
Please refer to [[MacOS_X#Bluetooth_2]]&lt;br /&gt;
&lt;br /&gt;
For using the Neo as a dialup Bluetooth server and the Mac as the client, please see below at [[Manually_using_Bluetooth#PPP_Networking]]&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Windows XP system =====&lt;br /&gt;
&lt;br /&gt;
This was tested with a Windows XP SP2 on a IBM Thinkpad T41 with the Widcomm BT stack&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth on Windows XP&lt;br /&gt;
&lt;br /&gt;
* Enable &amp;quot;Network Access&amp;quot; in the Bluetooth configuration&lt;br /&gt;
&lt;br /&gt;
* Scan for the Neo and pair with the Neo (right click, select pair)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On the Neo&lt;br /&gt;
&lt;br /&gt;
* Enable PAN support on the Neo by changing Autostart from false to true in /etc/bluetooth/network.service&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         &amp;lt;laptop_bt_address&amp;gt;     Thinkpad&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 pand -c &amp;lt;laptop_bt_address&amp;gt; -r PANU -d NAP -e bnep0 -A -E -S&lt;br /&gt;
(add '-n' to see the pand status messages until you get it right)&lt;br /&gt;
&lt;br /&gt;
For some reason, I was not able to initiate PAN connections from the Neo, I got 'Permission denied (13)' even when I had explicitly allowed the Neo to connect (right click on Neo icon, set properties, on Authorization tab). But initiating 'PAN User' from Windows worked when executing on Neo:&lt;br /&gt;
 pand -l -r PANU -d NAP -e bnep0 -A -E -S&lt;br /&gt;
(add '-n' to see the pand status messages until you get it right)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address. It should work like when connecting to Linux:&lt;br /&gt;
 ip a add 10.0.0.2/24 dev bnep0&lt;br /&gt;
 ip r add default via 10.0.0.1&lt;br /&gt;
If this does not work, the IP stacks may have auto-assigned network addresses to themselves. You can look this up with 'ifconfig' on the Neo and with 'ipconfig' on Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* You should now be able to ssh/putty from Windows to your Neo. Enjoy!&lt;br /&gt;
By setting up the Windows Bluetooth connection properly, it should also be possible to share the Internet Connection of the Windows box with the Neo.&lt;br /&gt;
&lt;br /&gt;
===== PPP Networking =====&lt;br /&gt;
&lt;br /&gt;
If you are unable to use the 'BNEP' method described above, you may be able to use [[PPP]] and a DUN (dialup-networking) emulation mode. On the Neo:&lt;br /&gt;
&lt;br /&gt;
* Edit the /etc/default/bluetooth file and set the following options:&lt;br /&gt;
 RFCOMM_ENABLE=true&lt;br /&gt;
 DUND_ENABLE=true&lt;br /&gt;
 DUND_OPTIONS=&amp;quot;--listen --persist call dun&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Create an /etc/ppp/peers/dun file with options like the following:&lt;br /&gt;
 115200&lt;br /&gt;
 192.168.2.202:192.168.2.200&lt;br /&gt;
 passive&lt;br /&gt;
 local&lt;br /&gt;
 noipdefault&lt;br /&gt;
 noauth&lt;br /&gt;
 nodefaultroute&lt;br /&gt;
 &lt;br /&gt;
* Restart bluetooth (/etc/init.d/bluetooth stop ; /etc/init.d/bluetooth start)&lt;br /&gt;
&lt;br /&gt;
To connect from a MacOS 10.3 client:&lt;br /&gt;
&lt;br /&gt;
* Open &amp;quot;Applications/Utilities/Bluetooth Serial Utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Click on &amp;quot;New&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Choose a name, then click &amp;quot;Choose Device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Locate your Neo, then select the &amp;quot;LAN Access Point&amp;quot; service. If your device is not found, or if this service does not show up, then you will need to troubleshoot and fix that before continuing. Bluetooth is designed for short-range communication, so make sure that the devices are physically close to each other. &lt;br /&gt;
&lt;br /&gt;
* Select &amp;quot;Port type: RS-232&amp;quot; and &amp;quot;Show in Network Preferences&amp;quot;. Click OK.&lt;br /&gt;
&lt;br /&gt;
* Open the Network Preferences page then &amp;quot;Show: Network Port Configurations&amp;quot;. Enable the new device that you defined in the previous step and drag it to the bottom of the device list (so that it will not interfere with your other network connections)&lt;br /&gt;
&lt;br /&gt;
* Choose &amp;quot;Show: &amp;lt;your-device-name&amp;gt;&amp;quot;, then click &amp;quot;Modem&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Select &amp;quot;Null Modem 115200&amp;quot; from the list of available devices. Uncheck &amp;quot;Wait for dial tone&amp;quot; and &amp;quot;Enable error correction and compression in modem&amp;quot;. Optionally check &amp;quot;Show modem status in menu bar&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
* Click &amp;quot;Connect&amp;quot;. If everything worked, you will end up with a 'ppp0' device on your Mac with a local address of 192.168.2.200 and you will be able to access your Neo at 192.168.2.202.&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Linux system - More secure way =====&lt;br /&gt;
&lt;br /&gt;
''Check this, probably needs some corrections''&lt;br /&gt;
&lt;br /&gt;
Bluetooth should behave just like our usbnet and provide full TCP/IP access to the phone.  BNEP has to be used.&lt;br /&gt;
&lt;br /&gt;
On the laptop&lt;br /&gt;
&lt;br /&gt;
* check these options in /etc/bluetooth/hcid.conf&lt;br /&gt;
 security auto;&lt;br /&gt;
 passkey &amp;quot;your pin&amp;quot;;&lt;br /&gt;
 lm master;&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth&lt;br /&gt;
 # /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
  pand --listen --role NAP --encrypt&lt;br /&gt;
&lt;br /&gt;
* Add in /etc/network/interfaces (see [[USB_Networking]])&lt;br /&gt;
 auto bnep0&lt;br /&gt;
 iface bnep0 inet static&lt;br /&gt;
 address 192.168.1.1&lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
 network 192.168.1.0&lt;br /&gt;
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.1.0/24&lt;br /&gt;
        post-up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        post-up iptables -P FORWARD ACCEPT&lt;br /&gt;
&lt;br /&gt;
On the Neo&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:20:E0:5A:FE:C8       laptop&lt;br /&gt;
&lt;br /&gt;
* Set pin&lt;br /&gt;
 root@fic-gta01:~$ passkey-agent 'your pin' 00:20:E0:5A:FE:C8 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 root@fic-gta01:~$ pand -c 00:20:E0:5A:FE:C8&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address&lt;br /&gt;
 root@fic-gta01:~$ ifconfig bnep0 192.168.1.2&lt;br /&gt;
 root@fic-gta01:~$ route add default gateway 192.168.1.1&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
==== Using Neo's connection from PC ====&lt;br /&gt;
&lt;br /&gt;
===== Calling Neo's GPRS modem via Bluetooth =====&lt;br /&gt;
&lt;br /&gt;
In this mode, Neo would behave like any other phone which can be used from a PC to get a network connection.&lt;br /&gt;
&lt;br /&gt;
This section not written yet. Has someone set it up?&lt;br /&gt;
&lt;br /&gt;
===== Sharing existing Neo's connection =====&lt;br /&gt;
&lt;br /&gt;
In this mode, Neo already has a network connection (GPRS, WLAN, ...), and it should get shared to the PC. This guide is general on how to forward network connection from a machine running Linux to another machine. If interested, please see more information for example at http://www.gentoo.org/doc/en/bluetooth-guide.xml.&lt;br /&gt;
&lt;br /&gt;
On the PC&lt;br /&gt;
# Check with hciconfig you have working Bluetooth&lt;br /&gt;
On the Neo&lt;br /&gt;
(if on Debian etc., remember modprobe ohci_hcd hci_usb)&lt;br /&gt;
# Initialize Bluetooth as told before:&lt;br /&gt;
## echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/power_on&lt;br /&gt;
## echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
# install iptables: opkg install http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv4t/base/iptables_1.3.8-r4.1_armv4t.ipk&lt;br /&gt;
# modprobe bnep&lt;br /&gt;
# Check that hcid is running both on Neo and PC (Bluetooth 4.x: install bluez-compat)&lt;br /&gt;
# Use default passkey &amp;quot;1234&amp;quot; in /etc/bluetooth/hcid.conf&lt;br /&gt;
# pand --listen --role NAP --master --autozap # note: after this you might have to the the step 1 below (&amp;quot;On the PC&amp;quot;) or the next step of getting the interface up does not work # note2: you could automate pand listener to start automatically when Bluetooth is turned on&lt;br /&gt;
# ifconfig bnep0 10.0.5.2 up&lt;br /&gt;
# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
# iptables -t nat -A POSTROUTING -j MASQUERADE -o ppp0&lt;br /&gt;
On the PC:&lt;br /&gt;
# sudo pand --connect &amp;lt;your bluetooth mac address&amp;gt; --service NAP --autozap&lt;br /&gt;
# ifconfig bnep0 10.0.5.1 up&lt;br /&gt;
# You can test the connection with ping 10.0.5.2&lt;br /&gt;
# sudo ip route add default via 10.0.5.2 dev bnep0&lt;br /&gt;
# [not automated yet] add GPRS connection's nameservers to /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
== Advanced Audio Distribution Profile (A2DP) ==&lt;br /&gt;
&lt;br /&gt;
=== A2DP quickie ===&lt;br /&gt;
&lt;br /&gt;
* If you experience problems with choppyness, try changing your hcid.conf to include &amp;quot;lm accept,master;&amp;quot; and &amp;quot;lp hold,sniff,park;&amp;quot;  You may also have to bond (commonly known as 'pairing') your phone and your headset.  See http://wiki.bluez.org/wiki/HOWTO/Bonding for details. [[User:Mercury|Mercury]] 17:36, 5 September 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
It's now possible (if a little hackish) to stream mp3 to a bluetooth headset. It's a known problem that the playback rate changes (pitch varies). Timing issues are also likely the reason for gaps in playback.&lt;br /&gt;
&lt;br /&gt;
If the bluez packages are recent enough, you can use a shortcut. I'll document it here and leave the longer version below (the long version also demonstrates the API used by the GUI to manage headsets)&lt;br /&gt;
&lt;br /&gt;
Create /etc/asound.conf with your bluetooth headset's address filled in:&lt;br /&gt;
&lt;br /&gt;
 pcm.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;xx:xx:xx:xx:xx:xx&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
then play a song&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:- | aplay&lt;br /&gt;
&lt;br /&gt;
or for smoother results...&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:song.wav&lt;br /&gt;
 aplay song.wav&lt;br /&gt;
&lt;br /&gt;
=== A2DP ===&lt;br /&gt;
&lt;br /&gt;
If that doesn't work... all the more hackish... install required packages:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;src/gz python http://www.angstrom-distribution.org/unstable/feed/armv4t/python/&amp;quot; &amp;gt;&amp;gt; /etc/ipkg/angstrom-python.conf &lt;br /&gt;
 echo &amp;quot;src/gz base http://www.angstrom-distribution.org/unstable/feed/armv4t/base/&amp;quot; &amp;gt;&amp;gt; /etc/ipkg/angstrom-base.conf&lt;br /&gt;
 ipkg update ; ipkg install python-core python-xml python-dbus bluez-utils bluez-utils-alsa&lt;br /&gt;
&lt;br /&gt;
Create /etc/asound.conf:&lt;br /&gt;
&lt;br /&gt;
 pcm.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 ctl.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 pcm.bluetooth {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 ctl.bluetooth {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Run the passkey agent (see above in this page)&lt;br /&gt;
&lt;br /&gt;
Fill in your bluetooth headset address below and execute the python script (with your headset turned on)&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 import dbus&lt;br /&gt;
 bus = dbus.SystemBus()&lt;br /&gt;
 manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')&lt;br /&gt;
 conn = manager.ActivateService('audio')&lt;br /&gt;
 audio = dbus.Interface(bus.get_object(conn, '/org/bluez/audio'), 'org.bluez.audio.Manager')&lt;br /&gt;
 path = audio.CreateDevice('00:0D:3C:44:33:22')&lt;br /&gt;
 audio.ChangeDefaultDevice(path)&lt;br /&gt;
 sink = dbus.Interface(bus.get_object(conn, path), 'org.bluez.audio.Sink')&lt;br /&gt;
 sink.Connect()&lt;br /&gt;
&lt;br /&gt;
FINALLY: play a song&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:- | aplay&lt;br /&gt;
&lt;br /&gt;
=== Headset Audio ===&lt;br /&gt;
&lt;br /&gt;
[[Neo1973_Audio_Subsystem]] has detail about alsa settings and a proposal for audio scenario management.&lt;br /&gt;
&lt;br /&gt;
To try this out, follow the instructions in the a2dp section to install software and run the passkey agent.&lt;br /&gt;
&lt;br /&gt;
Remove or disable the stuff you put in asound.conf. When using a voice headset, the application uses the regular system audio device and it gets routed to bluetooth in the codec.&lt;br /&gt;
&lt;br /&gt;
Put the headset in pairing mode. Replace the bluetooth address below with your headset's and run the python script:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 import dbus&lt;br /&gt;
 bus = dbus.SystemBus()&lt;br /&gt;
 manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')&lt;br /&gt;
 conn = manager.ActivateService('audio')&lt;br /&gt;
 audio = dbus.Interface(bus.get_object(conn, '/org/bluez/audio'), 'org.bluez.audio.Manager')&lt;br /&gt;
 path = audio.CreateHeadset('00:0B:2E:39:33:22')&lt;br /&gt;
 audio.ChangeDefaultHeadset(path)&lt;br /&gt;
 headset = dbus.Interface (bus.get_object(conn, path), 'org.bluez.audio.Headset')&lt;br /&gt;
 headset.Connect()&lt;br /&gt;
 headset.Play()&lt;br /&gt;
&lt;br /&gt;
Now place a call and try to route it to bluetooth (after it's in progress):&lt;br /&gt;
&lt;br /&gt;
 alsactl -f /etc/gsmbluetooth.state restore&lt;br /&gt;
&lt;br /&gt;
You may also be able to listen to system audio given the right state file:&lt;br /&gt;
&lt;br /&gt;
 alsactl -f /etc/systembluetooth.state restore&lt;br /&gt;
 madplay song.mp3&lt;br /&gt;
&lt;br /&gt;
==Bluetooth Headset on Freerunner ==&lt;br /&gt;
&lt;br /&gt;
[http://lists.openmoko.org/pipermail/support/2008-September/thread.html#2627 This thread] suggests the following:&lt;br /&gt;
&lt;br /&gt;
:Turn on bluetooth. If some of the scripts below fail you may need to reboot [https://docs.openmoko.org/trac/ticket/1744 Bluetooth after suspend]&lt;br /&gt;
&lt;br /&gt;
:Pair your headset according to [http://wiki.bluez.org/ these] instructions or use the script below. The script will change your .asoundrc so make a backup before you run it.&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/BtConfigure.py&lt;br /&gt;
:Put the headset in pairing mode ( this only needs to be done once for each new headset ) and run&lt;br /&gt;
 BtConfigure.py &lt;br /&gt;
&lt;br /&gt;
:Download the the following python scripts to set up the audio service and set the headset as the default device:&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/BtHeadset.py&lt;br /&gt;
:http://handheldshell.com/passkey.py&lt;br /&gt;
:http://handheldshell.com/BtHeadsetDisconnect.py&lt;br /&gt;
:http://handheldshell.com/python-pyalsaaudio_0.3-ml0_armv4t.ipk  - can someone add python-pyalsa to the feeds ?&lt;br /&gt;
&lt;br /&gt;
:Download the the following python scripts if you prefer not to mess around with alsactl:&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/pymixer.py&lt;br /&gt;
:http://handheldshell.com/volume.desktop&lt;br /&gt;
&lt;br /&gt;
:put pymixer in /usr/bin&lt;br /&gt;
&lt;br /&gt;
 chmod u+x /usr/bin/pymixer.py&lt;br /&gt;
&lt;br /&gt;
:put volume.desktop in /usr/share/applications&lt;br /&gt;
&lt;br /&gt;
:Get the [[http://handheldshell.com/gsm_headset.txt alsa state file]] - this state file _WORKS_, mic and earphones are properly routed&lt;br /&gt;
&lt;br /&gt;
 cp gsm_headset.txt /usr/share/openmoko/scenarios/btheadset.state&lt;br /&gt;
&lt;br /&gt;
:from the home screen run Volume&lt;br /&gt;
&lt;br /&gt;
:from the terminal run&lt;br /&gt;
&lt;br /&gt;
 BtHeadset.py &lt;br /&gt;
&lt;br /&gt;
:Wait until it says waiting for call to end, you should hear static in the headset. If you don't something has gone wrong.&lt;br /&gt;
&lt;br /&gt;
:Now start the call&lt;br /&gt;
&lt;br /&gt;
:In the volume control switch to the btheadset tab. press restore&lt;br /&gt;
&lt;br /&gt;
:You should now hear the call in your headset. &lt;br /&gt;
&lt;br /&gt;
:End the call&lt;br /&gt;
&lt;br /&gt;
 BtHeadsetDisconnect.py &lt;br /&gt;
&lt;br /&gt;
:This was all done with the 2008-updates image from sept 4. &lt;br /&gt;
&lt;br /&gt;
:The new scripts rely on a specific format for the .asoundrc . A stanza like this is required :&lt;br /&gt;
&lt;br /&gt;
 pcm.headset {&lt;br /&gt;
     type bluetooth&lt;br /&gt;
     device &amp;lt;headset mac&amp;gt;&lt;br /&gt;
     profile &amp;quot;voice&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
http://www.holtmann.org/papers/bluetooth/ols2006_slides.pdf&lt;br /&gt;
http://wiki.bluez.org/wiki/Audio#org.bluez.Audio&lt;br /&gt;
http://www.gentoo.org/doc/en/bluetooth-guide.xml&lt;br /&gt;
&lt;br /&gt;
{{Languages|Manually_using_Bluetooth}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Bluetooth| ]]&lt;br /&gt;
[[Category:Networking]]&lt;br /&gt;
[[Category:Application Developer]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Manually_using_Bluetooth</id>
		<title>Manually using Bluetooth</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Manually_using_Bluetooth"/>
				<updated>2008-12-02T08:20:36Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* OBEX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{InProgress}}&lt;br /&gt;
Bluetooth is one of the core functions of the Neo1973, however it is basically unimplemented on the software side at the moment.&lt;br /&gt;
Hardware problems in the P1 phone mean that the CPU has to be active in order to wake on external bluetooth events, which will reduce the battery life to some 2 days at best in standby.&lt;br /&gt;
&lt;br /&gt;
This page details how to use bluetooth from the command line.&lt;br /&gt;
We have quite a lot of plans about what exactly Bluetooth should be used for.&lt;br /&gt;
&lt;br /&gt;
== Power it up ==&lt;br /&gt;
&lt;br /&gt;
Power up the adapter by clicking on the bluetooth icon in the top bar and selecting power on.&lt;br /&gt;
&lt;br /&gt;
The old way to do it is a shell command (for kernels before 2.6.24):&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
For kernel 2.6.24 (or later) use&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02:~# echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
and on the GTA02 *only* (i.e. not on the GTA01) also use&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02:~# echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
But nowadays[http://permalink.gmane.org/gmane.comp.hardware.smartphones.userland/165], one should use [[Dbus device API]]s!&lt;br /&gt;
&lt;br /&gt;
At the shell, &amp;quot;hciconfig&amp;quot; should print information about the adapter if it powered up properly:&lt;br /&gt;
&lt;br /&gt;
 hciconfig&lt;br /&gt;
&lt;br /&gt;
The devices should show as UP. If not you can use&lt;br /&gt;
&lt;br /&gt;
 hciconfig &amp;lt;device&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Functions ==&lt;br /&gt;
&lt;br /&gt;
===Configuring Bluetooth on Openmoko 2007.2 (August 27 snapshot with kernel 2.6.21.6-moko11) ===&lt;br /&gt;
&lt;br /&gt;
In file /etc/bluetooth/hcid.conf you should change the passkey from BlueZ to something numeric. For testing you may use &amp;quot;0000&amp;quot;. Also, you can set the name to &amp;quot;Neo (%d)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Scanning for bluetooth devices ===&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
This will list the addresses of any discoverable bluetooth devices in the vicinity&lt;br /&gt;
&lt;br /&gt;
=== passkey agent example ===&lt;br /&gt;
&lt;br /&gt;
There should be a passkey agent built into openmoko, but for now you can start up the example passkey agent and set the pin code there. This will allow for new pairings to be made when you attempt a connection.&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Note: the passkey-agent is not required in Openmoko 2007.2 with kernel 2.6.21.6 as of at least since August 27 (maybe earlier).&lt;br /&gt;
&lt;br /&gt;
=== HID (Human Input Device) ===&lt;br /&gt;
&lt;br /&gt;
==== Being able to use HID devices ====&lt;br /&gt;
&lt;br /&gt;
Using a bluetooth keyboard with the built-in terminal is a little funky... I can only type into the console using the bt keyboard if the onscreen keyboard is visible. Also, pressing &amp;quot;p&amp;quot; twice on the bt keyboard actually gives you a &amp;quot;q&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
We want to be able to use a bluetooth keyboard to type into the various applications of our Neo1973.&lt;br /&gt;
To use a Bluetooth Keyboard type: (11:22:33:44:55:66 is the Address of your BT-Keyboard)&lt;br /&gt;
&lt;br /&gt;
hidd --connect 11:22:33:44:55:66&lt;br /&gt;
&lt;br /&gt;
and press &amp;quot;Connect&amp;quot; on your BT-KB.  Alternately, if you know that only one BT-Keyboard is within range, you can just:&lt;br /&gt;
&lt;br /&gt;
hidd --search&lt;br /&gt;
&lt;br /&gt;
to find and connect to any BT-Keyboard. There are some bluetooth keyboard only support SPP profile can't direct using hidd comannd to connect. Please reference the discussion of this page for more information.&lt;br /&gt;
&lt;br /&gt;
Tested on:&lt;br /&gt;
* [http://www.logitech.com/index.cfm/products/details/US/EN,CRID=2166,CONTENTID=10717 Logitech Dinovo Edge]&lt;br /&gt;
* [http://www.logitech.com/index.cfm/keyboards/keyboard_mice_combos/devices/164&amp;amp;cl=us,en Logitech Dinovo Media Desktop (keyboard)]&lt;br /&gt;
* [http://www.nokia.es/A4181580 Nokia SU-8W].  Switched on the BT keyboard, scanned for BT address and ran the connect statement above.  Works fine.&lt;br /&gt;
* [http://blog.russnelson.com/chordite Chordite].  This keyboard uses the Broadcom BCM2042 BT keyboard controller along with a custom driver.&lt;br /&gt;
* [http://www.apple.com/keyboard/ Apple's Aluminum Keyboard]. You may have to add 'auth enable; encrypt enable;' to device {} in  hcid.conf. Run the passkey agent the first time. --search works to pair and every time after. (Might be obvious for those who have used BT in other spots, but you have to type in y our passkey on the keyboard as the connect is happening, otherwise pairing doesn't take place. I don't think there is a prompt on the Neo for this)&lt;br /&gt;
* [http://www.apple.com/support/keyboard/ Apple's white &amp;quot;Wireless Keyboard (original)&amp;quot;] - details may be the same as above. (tested some time ago)&lt;br /&gt;
* [http://www.frogpad.com/ FrogPad] - as above&lt;br /&gt;
* [http://freedominput.com The freedom keyboard] and its many rebranded models (they look like this: [http://rabenfrost.net/openmoko/keyboard.jpg]) need 'modprobe uinput' to circumvent the 'Can't open input device: No such file or directory (2)' error of 'hidd --search'. It works as of february 7th 2008.&lt;br /&gt;
* [http://www.nextag.com/Playstation-3-Logitech-Cordless-564345667/prices-html?nxtg=f8320a24052a-7789F8FE732FF6E3 Logitech Playstation 3 Keyboard] Works well, Mouse pad works.&lt;br /&gt;
* [http://corporate.igo.com/product_details.aspx?id=16 iGo Stowaway UltraSlim] (which was apparently discontinued early 2008, but can still be bought in some places) ([[user:ChristW]] I have 2008.8 on it, and using hidd --search to connect to the iGo works perfectly. I also used it to edit a new contact, dial a number and edit a settings text box in [[TangoGPS]]. So far, no problems...)&lt;br /&gt;
* [http://www.vkb-support.com/ I-Tech Virtual Laser Keyboard] works.  Cursor keys not recognized as such, but produce keycodes than can be mapped.&lt;br /&gt;
&lt;br /&gt;
==== Acting as HID device ====&lt;br /&gt;
&lt;br /&gt;
We want to be able to use the Neo as a HID device, being able to use it as controller for presentations. See [[ReMoko]]&lt;br /&gt;
&lt;br /&gt;
=== RFCOMM ===&lt;br /&gt;
&lt;br /&gt;
Here's how to connect to an external Bluetooth GPS and read NMEA data (Tested with a Holux GPSSlim236 and a Nokia LD-3W ).&lt;br /&gt;
&lt;br /&gt;
First, switch on the GPS and identify the BT address:&lt;br /&gt;
&lt;br /&gt;
  hcitool scan&lt;br /&gt;
&lt;br /&gt;
Then, edit /etc/bluetooth/rfcomm.conf, which by default has all settings commented out, to something like this:&lt;br /&gt;
&lt;br /&gt;
  rfcomm0 {&lt;br /&gt;
        # Automatically bind the device at startup&lt;br /&gt;
        bind no;&lt;br /&gt;
        # Bluetooth address of the device&lt;br /&gt;
        device 00:11:22:33:44:55;&lt;br /&gt;
        # RFCOMM channel for the connection (check your GPS docs for details)&lt;br /&gt;
        channel 1;&lt;br /&gt;
        # Description of the connection&lt;br /&gt;
        comment &amp;quot;Bluetooth GPS&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Restart the BT services:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ /etc/init.d/bluetooth stop&lt;br /&gt;
  root@neo:~$ /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
You should now be able to bind the GPS to /dev/rfcomm0, like this:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ rfcomm bind 0&lt;br /&gt;
&lt;br /&gt;
Confirm the connect:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ rfcomm&lt;br /&gt;
  rfcomm0: 00:11:22:33:44:55 channel 1 clean &lt;br /&gt;
&lt;br /&gt;
... and watch the NMEA strings coming from your GPS:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ cat /dev/rfcomm0 &lt;br /&gt;
  $GPGGA,111748.000,5907.6964,N,01121.1787,E,1,06,1.2,57.7,M,40.1,M,,0000*6F&lt;br /&gt;
  $GPRMC,111748.000,A,5907.6964,N,01121.1787,E,0.00,94.94,160807,,,A*50&lt;br /&gt;
  $GPVTG,94.94,T,,M,0.00,N,0.0,K,A*3D&lt;br /&gt;
&lt;br /&gt;
If you have nothing better to do, you can now pinpoint my office :-).&lt;br /&gt;
&lt;br /&gt;
=== OBEX ===&lt;br /&gt;
OBEX (abbreviation of OBject EXchange, also termed IrOBEX) is a communications protocol that facilitates the exchange of binary objects between devices. Here is the notes about how to use OBEX to send/receive files via bluetooth in NEO.&lt;br /&gt;
&lt;br /&gt;
power on bluetooth: &lt;br /&gt;
if you use FSO image&lt;br /&gt;
 root@om-gta02:~# dbus-send --system --dest=org.freesmartphone.odeviced --type=method_call --print-reply &lt;br /&gt;
 /org/freesmartphone/Device/PowerControl/Bluetooth org.freesmartphone.Device.PowerControl.SetPower int32:1&lt;br /&gt;
else: (GTA02 only)&lt;br /&gt;
 root@om-gta02:~# echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
 root@om-gta02:~# echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
[http://linux.die.net/man/5/hcid.conf hcid.conf] &lt;br /&gt;
modify /etc/bluetooth/hcid.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# HCI daemon configuration file.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# HCId options&lt;br /&gt;
options {&lt;br /&gt;
	# Automatically initialize new devices&lt;br /&gt;
	autoinit yes;&lt;br /&gt;
&lt;br /&gt;
	# Security Manager mode&lt;br /&gt;
	#   none - Security manager disabled&lt;br /&gt;
	#   auto - Use local PIN for incoming connections&lt;br /&gt;
	#   user - Always ask user for a PIN&lt;br /&gt;
	#&lt;br /&gt;
	security auto;&lt;br /&gt;
&lt;br /&gt;
	# Pairing mode&lt;br /&gt;
	#   none  - Pairing disabled&lt;br /&gt;
	#   multi - Allow pairing with already paired devices&lt;br /&gt;
	#   once  - Pair once and deny successive attempts&lt;br /&gt;
	pairing multi;&lt;br /&gt;
&lt;br /&gt;
	# Default PIN code for incoming connections&lt;br /&gt;
	passkey &amp;quot;1234&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Default settings for HCI devices&lt;br /&gt;
device {&lt;br /&gt;
	# Local device name&lt;br /&gt;
	#   %d - device id&lt;br /&gt;
	#   %h - host name&lt;br /&gt;
	name &amp;quot;%h-%d&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	# Local device class&lt;br /&gt;
	class 0x000100;&lt;br /&gt;
&lt;br /&gt;
	# Default packet type&lt;br /&gt;
	pkt_type DH1,DM1,HV1;&lt;br /&gt;
&lt;br /&gt;
	# Inquiry and Page scan&lt;br /&gt;
	iscan enable; pscan enable;&lt;br /&gt;
&lt;br /&gt;
	# Default link mode&lt;br /&gt;
	#   none   - no specific policy &lt;br /&gt;
	#   accept - always accept incoming connections&lt;br /&gt;
	#   master - become master on incoming connections,&lt;br /&gt;
	#            deny role switch on outgoing connections&lt;br /&gt;
	lm accept;&lt;br /&gt;
&lt;br /&gt;
	# Default link policy&lt;br /&gt;
	#   none    - no specific policy&lt;br /&gt;
	#   rswitch - allow role switch&lt;br /&gt;
	#   hold    - allow hold mode&lt;br /&gt;
	#   sniff   - allow sniff mode&lt;br /&gt;
	#   park    - allow park mode&lt;br /&gt;
	lp rswitch,hold,sniff,park;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://linux.die.net/man/8/hcid hcid] - Bluetooth Host Controller Interface Daemon &lt;br /&gt;
&lt;br /&gt;
All paired devices information are stored in /var/lib/bluetooth/BT HW addr folder &lt;br /&gt;
eg. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@om-gta02:/var/lib/bluetooth/00:06:6E:16:EB:C7# ls&lt;br /&gt;
classes        features       lastused       names          panu&lt;br /&gt;
config         gn             manufacturers  nap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display local devices&lt;br /&gt;
 root@om-gta02:/# hcitool dev&lt;br /&gt;
&lt;br /&gt;
Scan all nearby bluetooth devices&lt;br /&gt;
 root@om-gta02:~# hcitool scan&lt;br /&gt;
&lt;br /&gt;
Browse what kind of services in this device&lt;br /&gt;
 root@om-gta02:~# sdptool browse 00:18:C5:42:18:78&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Browsing 00:18:C5:42:18:78 ...&lt;br /&gt;
&lt;br /&gt;
Service Name: OBEX File Transfer&lt;br /&gt;
Service RecHandle: 0x1005b&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 11&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x454e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
Service Name: OBEX Object Push&lt;br /&gt;
Service RecHandle: 0x1005e&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX Object Push&amp;quot; (0x1105)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 9&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x454e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX Object Push&amp;quot; (0x1105)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 How to pair with a bluetooth device, check [http://wiki.bluez.org/wiki/bluez wiki]&lt;br /&gt;
&lt;br /&gt;
Changing to discoverable mode and setting the timeout to 60 seconds &lt;br /&gt;
 root@om-gta02:~# dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 \&lt;br /&gt;
 org.bluez.Adapter.SetMode string:discoverable&lt;br /&gt;
 &lt;br /&gt;
 root@om-gta02:~# dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 \&lt;br /&gt;
 org.bluez.Adapter.SetDiscoverableTimeout uint32:60&lt;br /&gt;
&lt;br /&gt;
Create Bonding: eg. another bluetooth device hw address is 00:18:C5:42:18:78&lt;br /&gt;
 root@om-gta02:~# dbus-send --system --type=method_call --print-reply --dest=org.bluez \&lt;br /&gt;
 /org/bluez/hci0 org.bluez.Adapter.CreateBonding    string:00:18:C5:42:18:78&lt;br /&gt;
 &lt;br /&gt;
Use obexpush and obexftp tools&lt;br /&gt;
 &lt;br /&gt;
install obexpush, obexftp packages&lt;br /&gt;
 opkg install obexpush, [http://www.go2linux.org/linux-command-line-obexftp-man-page obexftp]&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
==== Using PC's connection from Neo ====&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Linux system =====&lt;br /&gt;
&lt;br /&gt;
Bluetooth should behave just like our usbnet and provide full TCP/IP access to the phone.  BNEP has to be used.&lt;br /&gt;
&lt;br /&gt;
'''On the laptop'''&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth&lt;br /&gt;
 /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
 pand -s&lt;br /&gt;
&lt;br /&gt;
* As soon as pand is started on the phone configure your IP address&lt;br /&gt;
 ip a add 10.0.0.1/24 dev bnep0&lt;br /&gt;
 ip l set bnep0 up&lt;br /&gt;
&lt;br /&gt;
* Configure IP forwarding and masquerading to your liking (see [[USB_Networking]]). You can even set up Udev rules to do this for you once the bnep0 interface appears.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''On the Neo'''&lt;br /&gt;
&lt;br /&gt;
* There is a little script that does the steps below (and retries the pand -c command; I had issues with it not working the first time every time) at [[Bt-net-script]]  You shouldn't need the other steps below if you use the script.&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
 00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
 00:20:E0:5A:FE:C8       BlueZ (0)&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 root@fic-gta01:~$ pand -c 00:20:E0:5A:FE:C8&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address&lt;br /&gt;
 ip a add 10.0.0.2/24 dev bnep0&lt;br /&gt;
 ip r add default via 10.0.0.1&lt;br /&gt;
&lt;br /&gt;
* Sometimes you may need to bring up the bnep0 on the phone as well:&lt;br /&gt;
 ip l set bnep0 up&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*--[[User:Mantis|Mantis]] 18:37, 15 October 2008 (UTC)  Note for use on OpenSuse 11.0 - I was getting a connection failure with 'Host is down(112)' errors in /var/log/messages (on neo).&lt;br /&gt;
I found that editing  /etc/bluetooth/hcid.conf  to set  'pscan enable'  instead of 'pscan disable' and making passkey consistent with Neo Freerunner made it work.&lt;br /&gt;
&lt;br /&gt;
Should see log line like&lt;br /&gt;
 ''pand[17965]: New connection from 00:06:6E:XX:XX:XX at bnep0''&lt;br /&gt;
&lt;br /&gt;
if connection is successful in server's /var/log/messages.&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a MacOS X system =====&lt;br /&gt;
&lt;br /&gt;
Please refer to [[MacOS_X#Bluetooth_2]]&lt;br /&gt;
&lt;br /&gt;
For using the Neo as a dialup Bluetooth server and the Mac as the client, please see below at [[Manually_using_Bluetooth#PPP_Networking]]&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Windows XP system =====&lt;br /&gt;
&lt;br /&gt;
This was tested with a Windows XP SP2 on a IBM Thinkpad T41 with the Widcomm BT stack&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth on Windows XP&lt;br /&gt;
&lt;br /&gt;
* Enable &amp;quot;Network Access&amp;quot; in the Bluetooth configuration&lt;br /&gt;
&lt;br /&gt;
* Scan for the Neo and pair with the Neo (right click, select pair)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On the Neo&lt;br /&gt;
&lt;br /&gt;
* Enable PAN support on the Neo by changing Autostart from false to true in /etc/bluetooth/network.service&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         &amp;lt;laptop_bt_address&amp;gt;     Thinkpad&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 pand -c &amp;lt;laptop_bt_address&amp;gt; -r PANU -d NAP -e bnep0 -A -E -S&lt;br /&gt;
(add '-n' to see the pand status messages until you get it right)&lt;br /&gt;
&lt;br /&gt;
For some reason, I was not able to initiate PAN connections from the Neo, I got 'Permission denied (13)' even when I had explicitly allowed the Neo to connect (right click on Neo icon, set properties, on Authorization tab). But initiating 'PAN User' from Windows worked when executing on Neo:&lt;br /&gt;
 pand -l -r PANU -d NAP -e bnep0 -A -E -S&lt;br /&gt;
(add '-n' to see the pand status messages until you get it right)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address. It should work like when connecting to Linux:&lt;br /&gt;
 ip a add 10.0.0.2/24 dev bnep0&lt;br /&gt;
 ip r add default via 10.0.0.1&lt;br /&gt;
If this does not work, the IP stacks may have auto-assigned network addresses to themselves. You can look this up with 'ifconfig' on the Neo and with 'ipconfig' on Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* You should now be able to ssh/putty from Windows to your Neo. Enjoy!&lt;br /&gt;
By setting up the Windows Bluetooth connection properly, it should also be possible to share the Internet Connection of the Windows box with the Neo.&lt;br /&gt;
&lt;br /&gt;
===== PPP Networking =====&lt;br /&gt;
&lt;br /&gt;
If you are unable to use the 'BNEP' method described above, you may be able to use [[PPP]] and a DUN (dialup-networking) emulation mode. On the Neo:&lt;br /&gt;
&lt;br /&gt;
* Edit the /etc/default/bluetooth file and set the following options:&lt;br /&gt;
 RFCOMM_ENABLE=true&lt;br /&gt;
 DUND_ENABLE=true&lt;br /&gt;
 DUND_OPTIONS=&amp;quot;--listen --persist call dun&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Create an /etc/ppp/peers/dun file with options like the following:&lt;br /&gt;
 115200&lt;br /&gt;
 192.168.2.202:192.168.2.200&lt;br /&gt;
 passive&lt;br /&gt;
 local&lt;br /&gt;
 noipdefault&lt;br /&gt;
 noauth&lt;br /&gt;
 nodefaultroute&lt;br /&gt;
 &lt;br /&gt;
* Restart bluetooth (/etc/init.d/bluetooth stop ; /etc/init.d/bluetooth start)&lt;br /&gt;
&lt;br /&gt;
To connect from a MacOS 10.3 client:&lt;br /&gt;
&lt;br /&gt;
* Open &amp;quot;Applications/Utilities/Bluetooth Serial Utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Click on &amp;quot;New&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Choose a name, then click &amp;quot;Choose Device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Locate your Neo, then select the &amp;quot;LAN Access Point&amp;quot; service. If your device is not found, or if this service does not show up, then you will need to troubleshoot and fix that before continuing. Bluetooth is designed for short-range communication, so make sure that the devices are physically close to each other. &lt;br /&gt;
&lt;br /&gt;
* Select &amp;quot;Port type: RS-232&amp;quot; and &amp;quot;Show in Network Preferences&amp;quot;. Click OK.&lt;br /&gt;
&lt;br /&gt;
* Open the Network Preferences page then &amp;quot;Show: Network Port Configurations&amp;quot;. Enable the new device that you defined in the previous step and drag it to the bottom of the device list (so that it will not interfere with your other network connections)&lt;br /&gt;
&lt;br /&gt;
* Choose &amp;quot;Show: &amp;lt;your-device-name&amp;gt;&amp;quot;, then click &amp;quot;Modem&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Select &amp;quot;Null Modem 115200&amp;quot; from the list of available devices. Uncheck &amp;quot;Wait for dial tone&amp;quot; and &amp;quot;Enable error correction and compression in modem&amp;quot;. Optionally check &amp;quot;Show modem status in menu bar&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
* Click &amp;quot;Connect&amp;quot;. If everything worked, you will end up with a 'ppp0' device on your Mac with a local address of 192.168.2.200 and you will be able to access your Neo at 192.168.2.202.&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Linux system - More secure way =====&lt;br /&gt;
&lt;br /&gt;
''Check this, probably needs some corrections''&lt;br /&gt;
&lt;br /&gt;
Bluetooth should behave just like our usbnet and provide full TCP/IP access to the phone.  BNEP has to be used.&lt;br /&gt;
&lt;br /&gt;
On the laptop&lt;br /&gt;
&lt;br /&gt;
* check these options in /etc/bluetooth/hcid.conf&lt;br /&gt;
 security auto;&lt;br /&gt;
 passkey &amp;quot;your pin&amp;quot;;&lt;br /&gt;
 lm master;&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth&lt;br /&gt;
 # /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
  pand --listen --role NAP --encrypt&lt;br /&gt;
&lt;br /&gt;
* Add in /etc/network/interfaces (see [[USB_Networking]])&lt;br /&gt;
 auto bnep0&lt;br /&gt;
 iface bnep0 inet static&lt;br /&gt;
 address 192.168.1.1&lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
 network 192.168.1.0&lt;br /&gt;
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.1.0/24&lt;br /&gt;
        post-up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        post-up iptables -P FORWARD ACCEPT&lt;br /&gt;
&lt;br /&gt;
On the Neo&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:20:E0:5A:FE:C8       laptop&lt;br /&gt;
&lt;br /&gt;
* Set pin&lt;br /&gt;
 root@fic-gta01:~$ passkey-agent 'your pin' 00:20:E0:5A:FE:C8 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 root@fic-gta01:~$ pand -c 00:20:E0:5A:FE:C8&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address&lt;br /&gt;
 root@fic-gta01:~$ ifconfig bnep0 192.168.1.2&lt;br /&gt;
 root@fic-gta01:~$ route add default gateway 192.168.1.1&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
==== Using Neo's connection from PC ====&lt;br /&gt;
&lt;br /&gt;
===== Calling Neo's GPRS modem via Bluetooth =====&lt;br /&gt;
&lt;br /&gt;
In this mode, Neo would behave like any other phone which can be used from a PC to get a network connection.&lt;br /&gt;
&lt;br /&gt;
This section not written yet. Has someone set it up?&lt;br /&gt;
&lt;br /&gt;
===== Sharing existing Neo's connection =====&lt;br /&gt;
&lt;br /&gt;
In this mode, Neo already has a network connection (GPRS, WLAN, ...), and it should get shared to the PC. This guide is general on how to forward network connection from a machine running Linux to another machine. If interested, please see more information for example at http://www.gentoo.org/doc/en/bluetooth-guide.xml.&lt;br /&gt;
&lt;br /&gt;
On the PC&lt;br /&gt;
# Check with hciconfig you have working Bluetooth&lt;br /&gt;
On the Neo&lt;br /&gt;
(if on Debian etc., remember modprobe ohci_hcd hci_usb)&lt;br /&gt;
# Initialize Bluetooth as told before:&lt;br /&gt;
## echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/power_on&lt;br /&gt;
## echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
# install iptables: opkg install http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv4t/base/iptables_1.3.8-r4.1_armv4t.ipk&lt;br /&gt;
# modprobe bnep&lt;br /&gt;
# Check that hcid is running both on Neo and PC (Bluetooth 4.x: install bluez-compat)&lt;br /&gt;
# Use default passkey &amp;quot;1234&amp;quot; in /etc/bluetooth/hcid.conf&lt;br /&gt;
# pand --listen --role NAP --master --autozap # note: after this you might have to the the step 1 below (&amp;quot;On the PC&amp;quot;) or the next step of getting the interface up does not work # note2: you could automate pand listener to start automatically when Bluetooth is turned on&lt;br /&gt;
# ifconfig bnep0 10.0.5.2 up&lt;br /&gt;
# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
# iptables -t nat -A POSTROUTING -j MASQUERADE -o ppp0&lt;br /&gt;
On the PC:&lt;br /&gt;
# sudo pand --connect &amp;lt;your bluetooth mac address&amp;gt; --service NAP --autozap&lt;br /&gt;
# ifconfig bnep0 10.0.5.1 up&lt;br /&gt;
# You can test the connection with ping 10.0.5.2&lt;br /&gt;
# sudo ip route add default via 10.0.5.2 dev bnep0&lt;br /&gt;
# [not automated yet] add GPRS connection's nameservers to /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
== Advanced Audio Distribution Profile (A2DP) ==&lt;br /&gt;
&lt;br /&gt;
=== A2DP quickie ===&lt;br /&gt;
&lt;br /&gt;
* If you experience problems with choppyness, try changing your hcid.conf to include &amp;quot;lm accept,master;&amp;quot; and &amp;quot;lp hold,sniff,park;&amp;quot;  You may also have to bond (commonly known as 'pairing') your phone and your headset.  See http://wiki.bluez.org/wiki/HOWTO/Bonding for details. [[User:Mercury|Mercury]] 17:36, 5 September 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
It's now possible (if a little hackish) to stream mp3 to a bluetooth headset. It's a known problem that the playback rate changes (pitch varies). Timing issues are also likely the reason for gaps in playback.&lt;br /&gt;
&lt;br /&gt;
If the bluez packages are recent enough, you can use a shortcut. I'll document it here and leave the longer version below (the long version also demonstrates the API used by the GUI to manage headsets)&lt;br /&gt;
&lt;br /&gt;
Create /etc/asound.conf with your bluetooth headset's address filled in:&lt;br /&gt;
&lt;br /&gt;
 pcm.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;xx:xx:xx:xx:xx:xx&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
then play a song&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:- | aplay&lt;br /&gt;
&lt;br /&gt;
or for smoother results...&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:song.wav&lt;br /&gt;
 aplay song.wav&lt;br /&gt;
&lt;br /&gt;
=== A2DP ===&lt;br /&gt;
&lt;br /&gt;
If that doesn't work... all the more hackish... install required packages:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;src/gz python http://www.angstrom-distribution.org/unstable/feed/armv4t/python/&amp;quot; &amp;gt;&amp;gt; /etc/ipkg/angstrom-python.conf &lt;br /&gt;
 echo &amp;quot;src/gz base http://www.angstrom-distribution.org/unstable/feed/armv4t/base/&amp;quot; &amp;gt;&amp;gt; /etc/ipkg/angstrom-base.conf&lt;br /&gt;
 ipkg update ; ipkg install python-core python-xml python-dbus bluez-utils bluez-utils-alsa&lt;br /&gt;
&lt;br /&gt;
Create /etc/asound.conf:&lt;br /&gt;
&lt;br /&gt;
 pcm.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 ctl.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 pcm.bluetooth {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 ctl.bluetooth {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Run the passkey agent (see above in this page)&lt;br /&gt;
&lt;br /&gt;
Fill in your bluetooth headset address below and execute the python script (with your headset turned on)&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 import dbus&lt;br /&gt;
 bus = dbus.SystemBus()&lt;br /&gt;
 manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')&lt;br /&gt;
 conn = manager.ActivateService('audio')&lt;br /&gt;
 audio = dbus.Interface(bus.get_object(conn, '/org/bluez/audio'), 'org.bluez.audio.Manager')&lt;br /&gt;
 path = audio.CreateDevice('00:0D:3C:44:33:22')&lt;br /&gt;
 audio.ChangeDefaultDevice(path)&lt;br /&gt;
 sink = dbus.Interface(bus.get_object(conn, path), 'org.bluez.audio.Sink')&lt;br /&gt;
 sink.Connect()&lt;br /&gt;
&lt;br /&gt;
FINALLY: play a song&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:- | aplay&lt;br /&gt;
&lt;br /&gt;
=== Headset Audio ===&lt;br /&gt;
&lt;br /&gt;
[[Neo1973_Audio_Subsystem]] has detail about alsa settings and a proposal for audio scenario management.&lt;br /&gt;
&lt;br /&gt;
To try this out, follow the instructions in the a2dp section to install software and run the passkey agent.&lt;br /&gt;
&lt;br /&gt;
Remove or disable the stuff you put in asound.conf. When using a voice headset, the application uses the regular system audio device and it gets routed to bluetooth in the codec.&lt;br /&gt;
&lt;br /&gt;
Put the headset in pairing mode. Replace the bluetooth address below with your headset's and run the python script:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 import dbus&lt;br /&gt;
 bus = dbus.SystemBus()&lt;br /&gt;
 manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')&lt;br /&gt;
 conn = manager.ActivateService('audio')&lt;br /&gt;
 audio = dbus.Interface(bus.get_object(conn, '/org/bluez/audio'), 'org.bluez.audio.Manager')&lt;br /&gt;
 path = audio.CreateHeadset('00:0B:2E:39:33:22')&lt;br /&gt;
 audio.ChangeDefaultHeadset(path)&lt;br /&gt;
 headset = dbus.Interface (bus.get_object(conn, path), 'org.bluez.audio.Headset')&lt;br /&gt;
 headset.Connect()&lt;br /&gt;
 headset.Play()&lt;br /&gt;
&lt;br /&gt;
Now place a call and try to route it to bluetooth (after it's in progress):&lt;br /&gt;
&lt;br /&gt;
 alsactl -f /etc/gsmbluetooth.state restore&lt;br /&gt;
&lt;br /&gt;
You may also be able to listen to system audio given the right state file:&lt;br /&gt;
&lt;br /&gt;
 alsactl -f /etc/systembluetooth.state restore&lt;br /&gt;
 madplay song.mp3&lt;br /&gt;
&lt;br /&gt;
==Bluetooth Headset on Freerunner ==&lt;br /&gt;
&lt;br /&gt;
[http://lists.openmoko.org/pipermail/support/2008-September/thread.html#2627 This thread] suggests the following:&lt;br /&gt;
&lt;br /&gt;
:Turn on bluetooth. If some of the scripts below fail you may need to reboot [https://docs.openmoko.org/trac/ticket/1744 Bluetooth after suspend]&lt;br /&gt;
&lt;br /&gt;
:Pair your headset according to [http://wiki.bluez.org/ these] instructions or use the script below. The script will change your .asoundrc so make a backup before you run it.&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/BtConfigure.py&lt;br /&gt;
:Put the headset in pairing mode ( this only needs to be done once for each new headset ) and run&lt;br /&gt;
 BtConfigure.py &lt;br /&gt;
&lt;br /&gt;
:Download the the following python scripts to set up the audio service and set the headset as the default device:&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/BtHeadset.py&lt;br /&gt;
:http://handheldshell.com/passkey.py&lt;br /&gt;
:http://handheldshell.com/BtHeadsetDisconnect.py&lt;br /&gt;
:http://handheldshell.com/python-pyalsaaudio_0.3-ml0_armv4t.ipk  - can someone add python-pyalsa to the feeds ?&lt;br /&gt;
&lt;br /&gt;
:Download the the following python scripts if you prefer not to mess around with alsactl:&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/pymixer.py&lt;br /&gt;
:http://handheldshell.com/volume.desktop&lt;br /&gt;
&lt;br /&gt;
:put pymixer in /usr/bin&lt;br /&gt;
&lt;br /&gt;
 chmod u+x /usr/bin/pymixer.py&lt;br /&gt;
&lt;br /&gt;
:put volume.desktop in /usr/share/applications&lt;br /&gt;
&lt;br /&gt;
:Get the [[http://handheldshell.com/gsm_headset.txt alsa state file]] - this state file _WORKS_, mic and earphones are properly routed&lt;br /&gt;
&lt;br /&gt;
 cp gsm_headset.txt /usr/share/openmoko/scenarios/btheadset.state&lt;br /&gt;
&lt;br /&gt;
:from the home screen run Volume&lt;br /&gt;
&lt;br /&gt;
:from the terminal run&lt;br /&gt;
&lt;br /&gt;
 BtHeadset.py &lt;br /&gt;
&lt;br /&gt;
:Wait until it says waiting for call to end, you should hear static in the headset. If you don't something has gone wrong.&lt;br /&gt;
&lt;br /&gt;
:Now start the call&lt;br /&gt;
&lt;br /&gt;
:In the volume control switch to the btheadset tab. press restore&lt;br /&gt;
&lt;br /&gt;
:You should now hear the call in your headset. &lt;br /&gt;
&lt;br /&gt;
:End the call&lt;br /&gt;
&lt;br /&gt;
 BtHeadsetDisconnect.py &lt;br /&gt;
&lt;br /&gt;
:This was all done with the 2008-updates image from sept 4. &lt;br /&gt;
&lt;br /&gt;
:The new scripts rely on a specific format for the .asoundrc . A stanza like this is required :&lt;br /&gt;
&lt;br /&gt;
 pcm.headset {&lt;br /&gt;
     type bluetooth&lt;br /&gt;
     device &amp;lt;headset mac&amp;gt;&lt;br /&gt;
     profile &amp;quot;voice&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
http://www.holtmann.org/papers/bluetooth/ols2006_slides.pdf&lt;br /&gt;
http://wiki.bluez.org/wiki/Audio#org.bluez.Audio&lt;br /&gt;
http://www.gentoo.org/doc/en/bluetooth-guide.xml&lt;br /&gt;
&lt;br /&gt;
{{Languages|Manually_using_Bluetooth}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Bluetooth| ]]&lt;br /&gt;
[[Category:Networking]]&lt;br /&gt;
[[Category:Application Developer]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Manually_using_Bluetooth</id>
		<title>Manually using Bluetooth</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Manually_using_Bluetooth"/>
				<updated>2008-12-02T08:14:24Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* OBEX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{InProgress}}&lt;br /&gt;
Bluetooth is one of the core functions of the Neo1973, however it is basically unimplemented on the software side at the moment.&lt;br /&gt;
Hardware problems in the P1 phone mean that the CPU has to be active in order to wake on external bluetooth events, which will reduce the battery life to some 2 days at best in standby.&lt;br /&gt;
&lt;br /&gt;
This page details how to use bluetooth from the command line.&lt;br /&gt;
We have quite a lot of plans about what exactly Bluetooth should be used for.&lt;br /&gt;
&lt;br /&gt;
== Power it up ==&lt;br /&gt;
&lt;br /&gt;
Power up the adapter by clicking on the bluetooth icon in the top bar and selecting power on.&lt;br /&gt;
&lt;br /&gt;
The old way to do it is a shell command (for kernels before 2.6.24):&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
For kernel 2.6.24 (or later) use&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02:~# echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
and on the GTA02 *only* (i.e. not on the GTA01) also use&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02:~# echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
But nowadays[http://permalink.gmane.org/gmane.comp.hardware.smartphones.userland/165], one should use [[Dbus device API]]s!&lt;br /&gt;
&lt;br /&gt;
At the shell, &amp;quot;hciconfig&amp;quot; should print information about the adapter if it powered up properly:&lt;br /&gt;
&lt;br /&gt;
 hciconfig&lt;br /&gt;
&lt;br /&gt;
The devices should show as UP. If not you can use&lt;br /&gt;
&lt;br /&gt;
 hciconfig &amp;lt;device&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Functions ==&lt;br /&gt;
&lt;br /&gt;
===Configuring Bluetooth on Openmoko 2007.2 (August 27 snapshot with kernel 2.6.21.6-moko11) ===&lt;br /&gt;
&lt;br /&gt;
In file /etc/bluetooth/hcid.conf you should change the passkey from BlueZ to something numeric. For testing you may use &amp;quot;0000&amp;quot;. Also, you can set the name to &amp;quot;Neo (%d)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Scanning for bluetooth devices ===&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
This will list the addresses of any discoverable bluetooth devices in the vicinity&lt;br /&gt;
&lt;br /&gt;
=== passkey agent example ===&lt;br /&gt;
&lt;br /&gt;
There should be a passkey agent built into openmoko, but for now you can start up the example passkey agent and set the pin code there. This will allow for new pairings to be made when you attempt a connection.&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Note: the passkey-agent is not required in Openmoko 2007.2 with kernel 2.6.21.6 as of at least since August 27 (maybe earlier).&lt;br /&gt;
&lt;br /&gt;
=== HID (Human Input Device) ===&lt;br /&gt;
&lt;br /&gt;
==== Being able to use HID devices ====&lt;br /&gt;
&lt;br /&gt;
Using a bluetooth keyboard with the built-in terminal is a little funky... I can only type into the console using the bt keyboard if the onscreen keyboard is visible. Also, pressing &amp;quot;p&amp;quot; twice on the bt keyboard actually gives you a &amp;quot;q&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
We want to be able to use a bluetooth keyboard to type into the various applications of our Neo1973.&lt;br /&gt;
To use a Bluetooth Keyboard type: (11:22:33:44:55:66 is the Address of your BT-Keyboard)&lt;br /&gt;
&lt;br /&gt;
hidd --connect 11:22:33:44:55:66&lt;br /&gt;
&lt;br /&gt;
and press &amp;quot;Connect&amp;quot; on your BT-KB.  Alternately, if you know that only one BT-Keyboard is within range, you can just:&lt;br /&gt;
&lt;br /&gt;
hidd --search&lt;br /&gt;
&lt;br /&gt;
to find and connect to any BT-Keyboard. There are some bluetooth keyboard only support SPP profile can't direct using hidd comannd to connect. Please reference the discussion of this page for more information.&lt;br /&gt;
&lt;br /&gt;
Tested on:&lt;br /&gt;
* [http://www.logitech.com/index.cfm/products/details/US/EN,CRID=2166,CONTENTID=10717 Logitech Dinovo Edge]&lt;br /&gt;
* [http://www.logitech.com/index.cfm/keyboards/keyboard_mice_combos/devices/164&amp;amp;cl=us,en Logitech Dinovo Media Desktop (keyboard)]&lt;br /&gt;
* [http://www.nokia.es/A4181580 Nokia SU-8W].  Switched on the BT keyboard, scanned for BT address and ran the connect statement above.  Works fine.&lt;br /&gt;
* [http://blog.russnelson.com/chordite Chordite].  This keyboard uses the Broadcom BCM2042 BT keyboard controller along with a custom driver.&lt;br /&gt;
* [http://www.apple.com/keyboard/ Apple's Aluminum Keyboard]. You may have to add 'auth enable; encrypt enable;' to device {} in  hcid.conf. Run the passkey agent the first time. --search works to pair and every time after. (Might be obvious for those who have used BT in other spots, but you have to type in y our passkey on the keyboard as the connect is happening, otherwise pairing doesn't take place. I don't think there is a prompt on the Neo for this)&lt;br /&gt;
* [http://www.apple.com/support/keyboard/ Apple's white &amp;quot;Wireless Keyboard (original)&amp;quot;] - details may be the same as above. (tested some time ago)&lt;br /&gt;
* [http://www.frogpad.com/ FrogPad] - as above&lt;br /&gt;
* [http://freedominput.com The freedom keyboard] and its many rebranded models (they look like this: [http://rabenfrost.net/openmoko/keyboard.jpg]) need 'modprobe uinput' to circumvent the 'Can't open input device: No such file or directory (2)' error of 'hidd --search'. It works as of february 7th 2008.&lt;br /&gt;
* [http://www.nextag.com/Playstation-3-Logitech-Cordless-564345667/prices-html?nxtg=f8320a24052a-7789F8FE732FF6E3 Logitech Playstation 3 Keyboard] Works well, Mouse pad works.&lt;br /&gt;
* [http://corporate.igo.com/product_details.aspx?id=16 iGo Stowaway UltraSlim] (which was apparently discontinued early 2008, but can still be bought in some places) ([[user:ChristW]] I have 2008.8 on it, and using hidd --search to connect to the iGo works perfectly. I also used it to edit a new contact, dial a number and edit a settings text box in [[TangoGPS]]. So far, no problems...)&lt;br /&gt;
* [http://www.vkb-support.com/ I-Tech Virtual Laser Keyboard] works.  Cursor keys not recognized as such, but produce keycodes than can be mapped.&lt;br /&gt;
&lt;br /&gt;
==== Acting as HID device ====&lt;br /&gt;
&lt;br /&gt;
We want to be able to use the Neo as a HID device, being able to use it as controller for presentations. See [[ReMoko]]&lt;br /&gt;
&lt;br /&gt;
=== RFCOMM ===&lt;br /&gt;
&lt;br /&gt;
Here's how to connect to an external Bluetooth GPS and read NMEA data (Tested with a Holux GPSSlim236 and a Nokia LD-3W ).&lt;br /&gt;
&lt;br /&gt;
First, switch on the GPS and identify the BT address:&lt;br /&gt;
&lt;br /&gt;
  hcitool scan&lt;br /&gt;
&lt;br /&gt;
Then, edit /etc/bluetooth/rfcomm.conf, which by default has all settings commented out, to something like this:&lt;br /&gt;
&lt;br /&gt;
  rfcomm0 {&lt;br /&gt;
        # Automatically bind the device at startup&lt;br /&gt;
        bind no;&lt;br /&gt;
        # Bluetooth address of the device&lt;br /&gt;
        device 00:11:22:33:44:55;&lt;br /&gt;
        # RFCOMM channel for the connection (check your GPS docs for details)&lt;br /&gt;
        channel 1;&lt;br /&gt;
        # Description of the connection&lt;br /&gt;
        comment &amp;quot;Bluetooth GPS&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Restart the BT services:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ /etc/init.d/bluetooth stop&lt;br /&gt;
  root@neo:~$ /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
You should now be able to bind the GPS to /dev/rfcomm0, like this:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ rfcomm bind 0&lt;br /&gt;
&lt;br /&gt;
Confirm the connect:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ rfcomm&lt;br /&gt;
  rfcomm0: 00:11:22:33:44:55 channel 1 clean &lt;br /&gt;
&lt;br /&gt;
... and watch the NMEA strings coming from your GPS:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ cat /dev/rfcomm0 &lt;br /&gt;
  $GPGGA,111748.000,5907.6964,N,01121.1787,E,1,06,1.2,57.7,M,40.1,M,,0000*6F&lt;br /&gt;
  $GPRMC,111748.000,A,5907.6964,N,01121.1787,E,0.00,94.94,160807,,,A*50&lt;br /&gt;
  $GPVTG,94.94,T,,M,0.00,N,0.0,K,A*3D&lt;br /&gt;
&lt;br /&gt;
If you have nothing better to do, you can now pinpoint my office :-).&lt;br /&gt;
&lt;br /&gt;
=== OBEX ===&lt;br /&gt;
OBEX (abbreviation of OBject EXchange, also termed IrOBEX) is a communications protocol that facilitates the exchange of binary objects between devices. Here is the notes about how to use OBEX to send/receive files via bluetooth in NEO.&lt;br /&gt;
&lt;br /&gt;
power on bluetooth: &lt;br /&gt;
if you use FSO image&lt;br /&gt;
 root@om-gta02:~# dbus-send --system --dest=org.freesmartphone.odeviced --type=method_call --print-reply &lt;br /&gt;
 /org/freesmartphone/Device/PowerControl/Bluetooth org.freesmartphone.Device.PowerControl.SetPower int32:1&lt;br /&gt;
else: (GTA02 only)&lt;br /&gt;
 root@om-gta02:~# echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
 root@om-gta02:~# echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
[http://linux.die.net/man/5/hcid.conf hcid.conf] &lt;br /&gt;
modify /etc/bluetooth/hcid.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# HCI daemon configuration file.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# HCId options&lt;br /&gt;
options {&lt;br /&gt;
	# Automatically initialize new devices&lt;br /&gt;
	autoinit yes;&lt;br /&gt;
&lt;br /&gt;
	# Security Manager mode&lt;br /&gt;
	#   none - Security manager disabled&lt;br /&gt;
	#   auto - Use local PIN for incoming connections&lt;br /&gt;
	#   user - Always ask user for a PIN&lt;br /&gt;
	#&lt;br /&gt;
	security auto;&lt;br /&gt;
&lt;br /&gt;
	# Pairing mode&lt;br /&gt;
	#   none  - Pairing disabled&lt;br /&gt;
	#   multi - Allow pairing with already paired devices&lt;br /&gt;
	#   once  - Pair once and deny successive attempts&lt;br /&gt;
	pairing multi;&lt;br /&gt;
&lt;br /&gt;
	# Default PIN code for incoming connections&lt;br /&gt;
	passkey &amp;quot;1234&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Default settings for HCI devices&lt;br /&gt;
device {&lt;br /&gt;
	# Local device name&lt;br /&gt;
	#   %d - device id&lt;br /&gt;
	#   %h - host name&lt;br /&gt;
	name &amp;quot;%h-%d&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	# Local device class&lt;br /&gt;
	class 0x000100;&lt;br /&gt;
&lt;br /&gt;
	# Default packet type&lt;br /&gt;
	pkt_type DH1,DM1,HV1;&lt;br /&gt;
&lt;br /&gt;
	# Inquiry and Page scan&lt;br /&gt;
	iscan enable; pscan enable;&lt;br /&gt;
&lt;br /&gt;
	# Default link mode&lt;br /&gt;
	#   none   - no specific policy &lt;br /&gt;
	#   accept - always accept incoming connections&lt;br /&gt;
	#   master - become master on incoming connections,&lt;br /&gt;
	#            deny role switch on outgoing connections&lt;br /&gt;
	lm accept;&lt;br /&gt;
&lt;br /&gt;
	# Default link policy&lt;br /&gt;
	#   none    - no specific policy&lt;br /&gt;
	#   rswitch - allow role switch&lt;br /&gt;
	#   hold    - allow hold mode&lt;br /&gt;
	#   sniff   - allow sniff mode&lt;br /&gt;
	#   park    - allow park mode&lt;br /&gt;
	lp rswitch,hold,sniff,park;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://linux.die.net/man/8/hcid hcid] - Bluetooth Host Controller Interface Daemon &lt;br /&gt;
&lt;br /&gt;
All paired devices information are stored in /var/lib/bluetooth/BT HW addr folder &lt;br /&gt;
eg. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@om-gta02:/var/lib/bluetooth/00:06:6E:16:EB:C7# ls&lt;br /&gt;
classes        features       lastused       names          panu&lt;br /&gt;
config         gn             manufacturers  nap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display local devices&lt;br /&gt;
 root@om-gta02:/# hcitool dev&lt;br /&gt;
&lt;br /&gt;
Scan all nearby bluetooth devices&lt;br /&gt;
 root@om-gta02:~# hcitool scan&lt;br /&gt;
&lt;br /&gt;
Browse what kind of services in this device&lt;br /&gt;
 sdptool browse 00:16:20:60:7C:36&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Browsing 00:18:C5:42:18:78 ...&lt;br /&gt;
&lt;br /&gt;
Service Name: OBEX File Transfer&lt;br /&gt;
Service RecHandle: 0x1005b&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 11&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x454e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
Service Name: OBEX Object Push&lt;br /&gt;
Service RecHandle: 0x1005e&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX Object Push&amp;quot; (0x1105)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 9&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x454e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX Object Push&amp;quot; (0x1105)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 How to pair with a bluetooth device, check [http://wiki.bluez.org/wiki/bluez wiki]&lt;br /&gt;
&lt;br /&gt;
Changing to discoverable mode and setting the timeout to 60 seconds&lt;br /&gt;
 $dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discoverable&lt;br /&gt;
 $dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetDiscoverableTimeout uint32:60&lt;br /&gt;
&lt;br /&gt;
CREATE BONDING:&lt;br /&gt;
 $dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.CreateBonding     string:00:18:C5:42:18:78&lt;br /&gt;
 &lt;br /&gt;
Use obexpush and obexftp tools&lt;br /&gt;
 &lt;br /&gt;
install obexpush, obexftp packages&lt;br /&gt;
 opkg install obexpush, [http://www.go2linux.org/linux-command-line-obexftp-man-page obexftp]&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
==== Using PC's connection from Neo ====&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Linux system =====&lt;br /&gt;
&lt;br /&gt;
Bluetooth should behave just like our usbnet and provide full TCP/IP access to the phone.  BNEP has to be used.&lt;br /&gt;
&lt;br /&gt;
'''On the laptop'''&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth&lt;br /&gt;
 /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
 pand -s&lt;br /&gt;
&lt;br /&gt;
* As soon as pand is started on the phone configure your IP address&lt;br /&gt;
 ip a add 10.0.0.1/24 dev bnep0&lt;br /&gt;
 ip l set bnep0 up&lt;br /&gt;
&lt;br /&gt;
* Configure IP forwarding and masquerading to your liking (see [[USB_Networking]]). You can even set up Udev rules to do this for you once the bnep0 interface appears.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''On the Neo'''&lt;br /&gt;
&lt;br /&gt;
* There is a little script that does the steps below (and retries the pand -c command; I had issues with it not working the first time every time) at [[Bt-net-script]]  You shouldn't need the other steps below if you use the script.&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
 00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
 00:20:E0:5A:FE:C8       BlueZ (0)&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 root@fic-gta01:~$ pand -c 00:20:E0:5A:FE:C8&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address&lt;br /&gt;
 ip a add 10.0.0.2/24 dev bnep0&lt;br /&gt;
 ip r add default via 10.0.0.1&lt;br /&gt;
&lt;br /&gt;
* Sometimes you may need to bring up the bnep0 on the phone as well:&lt;br /&gt;
 ip l set bnep0 up&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*--[[User:Mantis|Mantis]] 18:37, 15 October 2008 (UTC)  Note for use on OpenSuse 11.0 - I was getting a connection failure with 'Host is down(112)' errors in /var/log/messages (on neo).&lt;br /&gt;
I found that editing  /etc/bluetooth/hcid.conf  to set  'pscan enable'  instead of 'pscan disable' and making passkey consistent with Neo Freerunner made it work.&lt;br /&gt;
&lt;br /&gt;
Should see log line like&lt;br /&gt;
 ''pand[17965]: New connection from 00:06:6E:XX:XX:XX at bnep0''&lt;br /&gt;
&lt;br /&gt;
if connection is successful in server's /var/log/messages.&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a MacOS X system =====&lt;br /&gt;
&lt;br /&gt;
Please refer to [[MacOS_X#Bluetooth_2]]&lt;br /&gt;
&lt;br /&gt;
For using the Neo as a dialup Bluetooth server and the Mac as the client, please see below at [[Manually_using_Bluetooth#PPP_Networking]]&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Windows XP system =====&lt;br /&gt;
&lt;br /&gt;
This was tested with a Windows XP SP2 on a IBM Thinkpad T41 with the Widcomm BT stack&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth on Windows XP&lt;br /&gt;
&lt;br /&gt;
* Enable &amp;quot;Network Access&amp;quot; in the Bluetooth configuration&lt;br /&gt;
&lt;br /&gt;
* Scan for the Neo and pair with the Neo (right click, select pair)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On the Neo&lt;br /&gt;
&lt;br /&gt;
* Enable PAN support on the Neo by changing Autostart from false to true in /etc/bluetooth/network.service&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         &amp;lt;laptop_bt_address&amp;gt;     Thinkpad&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 pand -c &amp;lt;laptop_bt_address&amp;gt; -r PANU -d NAP -e bnep0 -A -E -S&lt;br /&gt;
(add '-n' to see the pand status messages until you get it right)&lt;br /&gt;
&lt;br /&gt;
For some reason, I was not able to initiate PAN connections from the Neo, I got 'Permission denied (13)' even when I had explicitly allowed the Neo to connect (right click on Neo icon, set properties, on Authorization tab). But initiating 'PAN User' from Windows worked when executing on Neo:&lt;br /&gt;
 pand -l -r PANU -d NAP -e bnep0 -A -E -S&lt;br /&gt;
(add '-n' to see the pand status messages until you get it right)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address. It should work like when connecting to Linux:&lt;br /&gt;
 ip a add 10.0.0.2/24 dev bnep0&lt;br /&gt;
 ip r add default via 10.0.0.1&lt;br /&gt;
If this does not work, the IP stacks may have auto-assigned network addresses to themselves. You can look this up with 'ifconfig' on the Neo and with 'ipconfig' on Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* You should now be able to ssh/putty from Windows to your Neo. Enjoy!&lt;br /&gt;
By setting up the Windows Bluetooth connection properly, it should also be possible to share the Internet Connection of the Windows box with the Neo.&lt;br /&gt;
&lt;br /&gt;
===== PPP Networking =====&lt;br /&gt;
&lt;br /&gt;
If you are unable to use the 'BNEP' method described above, you may be able to use [[PPP]] and a DUN (dialup-networking) emulation mode. On the Neo:&lt;br /&gt;
&lt;br /&gt;
* Edit the /etc/default/bluetooth file and set the following options:&lt;br /&gt;
 RFCOMM_ENABLE=true&lt;br /&gt;
 DUND_ENABLE=true&lt;br /&gt;
 DUND_OPTIONS=&amp;quot;--listen --persist call dun&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Create an /etc/ppp/peers/dun file with options like the following:&lt;br /&gt;
 115200&lt;br /&gt;
 192.168.2.202:192.168.2.200&lt;br /&gt;
 passive&lt;br /&gt;
 local&lt;br /&gt;
 noipdefault&lt;br /&gt;
 noauth&lt;br /&gt;
 nodefaultroute&lt;br /&gt;
 &lt;br /&gt;
* Restart bluetooth (/etc/init.d/bluetooth stop ; /etc/init.d/bluetooth start)&lt;br /&gt;
&lt;br /&gt;
To connect from a MacOS 10.3 client:&lt;br /&gt;
&lt;br /&gt;
* Open &amp;quot;Applications/Utilities/Bluetooth Serial Utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Click on &amp;quot;New&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Choose a name, then click &amp;quot;Choose Device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Locate your Neo, then select the &amp;quot;LAN Access Point&amp;quot; service. If your device is not found, or if this service does not show up, then you will need to troubleshoot and fix that before continuing. Bluetooth is designed for short-range communication, so make sure that the devices are physically close to each other. &lt;br /&gt;
&lt;br /&gt;
* Select &amp;quot;Port type: RS-232&amp;quot; and &amp;quot;Show in Network Preferences&amp;quot;. Click OK.&lt;br /&gt;
&lt;br /&gt;
* Open the Network Preferences page then &amp;quot;Show: Network Port Configurations&amp;quot;. Enable the new device that you defined in the previous step and drag it to the bottom of the device list (so that it will not interfere with your other network connections)&lt;br /&gt;
&lt;br /&gt;
* Choose &amp;quot;Show: &amp;lt;your-device-name&amp;gt;&amp;quot;, then click &amp;quot;Modem&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Select &amp;quot;Null Modem 115200&amp;quot; from the list of available devices. Uncheck &amp;quot;Wait for dial tone&amp;quot; and &amp;quot;Enable error correction and compression in modem&amp;quot;. Optionally check &amp;quot;Show modem status in menu bar&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
* Click &amp;quot;Connect&amp;quot;. If everything worked, you will end up with a 'ppp0' device on your Mac with a local address of 192.168.2.200 and you will be able to access your Neo at 192.168.2.202.&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Linux system - More secure way =====&lt;br /&gt;
&lt;br /&gt;
''Check this, probably needs some corrections''&lt;br /&gt;
&lt;br /&gt;
Bluetooth should behave just like our usbnet and provide full TCP/IP access to the phone.  BNEP has to be used.&lt;br /&gt;
&lt;br /&gt;
On the laptop&lt;br /&gt;
&lt;br /&gt;
* check these options in /etc/bluetooth/hcid.conf&lt;br /&gt;
 security auto;&lt;br /&gt;
 passkey &amp;quot;your pin&amp;quot;;&lt;br /&gt;
 lm master;&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth&lt;br /&gt;
 # /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
  pand --listen --role NAP --encrypt&lt;br /&gt;
&lt;br /&gt;
* Add in /etc/network/interfaces (see [[USB_Networking]])&lt;br /&gt;
 auto bnep0&lt;br /&gt;
 iface bnep0 inet static&lt;br /&gt;
 address 192.168.1.1&lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
 network 192.168.1.0&lt;br /&gt;
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.1.0/24&lt;br /&gt;
        post-up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        post-up iptables -P FORWARD ACCEPT&lt;br /&gt;
&lt;br /&gt;
On the Neo&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:20:E0:5A:FE:C8       laptop&lt;br /&gt;
&lt;br /&gt;
* Set pin&lt;br /&gt;
 root@fic-gta01:~$ passkey-agent 'your pin' 00:20:E0:5A:FE:C8 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 root@fic-gta01:~$ pand -c 00:20:E0:5A:FE:C8&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address&lt;br /&gt;
 root@fic-gta01:~$ ifconfig bnep0 192.168.1.2&lt;br /&gt;
 root@fic-gta01:~$ route add default gateway 192.168.1.1&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
==== Using Neo's connection from PC ====&lt;br /&gt;
&lt;br /&gt;
===== Calling Neo's GPRS modem via Bluetooth =====&lt;br /&gt;
&lt;br /&gt;
In this mode, Neo would behave like any other phone which can be used from a PC to get a network connection.&lt;br /&gt;
&lt;br /&gt;
This section not written yet. Has someone set it up?&lt;br /&gt;
&lt;br /&gt;
===== Sharing existing Neo's connection =====&lt;br /&gt;
&lt;br /&gt;
In this mode, Neo already has a network connection (GPRS, WLAN, ...), and it should get shared to the PC. This guide is general on how to forward network connection from a machine running Linux to another machine. If interested, please see more information for example at http://www.gentoo.org/doc/en/bluetooth-guide.xml.&lt;br /&gt;
&lt;br /&gt;
On the PC&lt;br /&gt;
# Check with hciconfig you have working Bluetooth&lt;br /&gt;
On the Neo&lt;br /&gt;
(if on Debian etc., remember modprobe ohci_hcd hci_usb)&lt;br /&gt;
# Initialize Bluetooth as told before:&lt;br /&gt;
## echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/power_on&lt;br /&gt;
## echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
# install iptables: opkg install http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv4t/base/iptables_1.3.8-r4.1_armv4t.ipk&lt;br /&gt;
# modprobe bnep&lt;br /&gt;
# Check that hcid is running both on Neo and PC (Bluetooth 4.x: install bluez-compat)&lt;br /&gt;
# Use default passkey &amp;quot;1234&amp;quot; in /etc/bluetooth/hcid.conf&lt;br /&gt;
# pand --listen --role NAP --master --autozap # note: after this you might have to the the step 1 below (&amp;quot;On the PC&amp;quot;) or the next step of getting the interface up does not work # note2: you could automate pand listener to start automatically when Bluetooth is turned on&lt;br /&gt;
# ifconfig bnep0 10.0.5.2 up&lt;br /&gt;
# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
# iptables -t nat -A POSTROUTING -j MASQUERADE -o ppp0&lt;br /&gt;
On the PC:&lt;br /&gt;
# sudo pand --connect &amp;lt;your bluetooth mac address&amp;gt; --service NAP --autozap&lt;br /&gt;
# ifconfig bnep0 10.0.5.1 up&lt;br /&gt;
# You can test the connection with ping 10.0.5.2&lt;br /&gt;
# sudo ip route add default via 10.0.5.2 dev bnep0&lt;br /&gt;
# [not automated yet] add GPRS connection's nameservers to /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
== Advanced Audio Distribution Profile (A2DP) ==&lt;br /&gt;
&lt;br /&gt;
=== A2DP quickie ===&lt;br /&gt;
&lt;br /&gt;
* If you experience problems with choppyness, try changing your hcid.conf to include &amp;quot;lm accept,master;&amp;quot; and &amp;quot;lp hold,sniff,park;&amp;quot;  You may also have to bond (commonly known as 'pairing') your phone and your headset.  See http://wiki.bluez.org/wiki/HOWTO/Bonding for details. [[User:Mercury|Mercury]] 17:36, 5 September 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
It's now possible (if a little hackish) to stream mp3 to a bluetooth headset. It's a known problem that the playback rate changes (pitch varies). Timing issues are also likely the reason for gaps in playback.&lt;br /&gt;
&lt;br /&gt;
If the bluez packages are recent enough, you can use a shortcut. I'll document it here and leave the longer version below (the long version also demonstrates the API used by the GUI to manage headsets)&lt;br /&gt;
&lt;br /&gt;
Create /etc/asound.conf with your bluetooth headset's address filled in:&lt;br /&gt;
&lt;br /&gt;
 pcm.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;xx:xx:xx:xx:xx:xx&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
then play a song&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:- | aplay&lt;br /&gt;
&lt;br /&gt;
or for smoother results...&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:song.wav&lt;br /&gt;
 aplay song.wav&lt;br /&gt;
&lt;br /&gt;
=== A2DP ===&lt;br /&gt;
&lt;br /&gt;
If that doesn't work... all the more hackish... install required packages:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;src/gz python http://www.angstrom-distribution.org/unstable/feed/armv4t/python/&amp;quot; &amp;gt;&amp;gt; /etc/ipkg/angstrom-python.conf &lt;br /&gt;
 echo &amp;quot;src/gz base http://www.angstrom-distribution.org/unstable/feed/armv4t/base/&amp;quot; &amp;gt;&amp;gt; /etc/ipkg/angstrom-base.conf&lt;br /&gt;
 ipkg update ; ipkg install python-core python-xml python-dbus bluez-utils bluez-utils-alsa&lt;br /&gt;
&lt;br /&gt;
Create /etc/asound.conf:&lt;br /&gt;
&lt;br /&gt;
 pcm.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 ctl.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 pcm.bluetooth {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 ctl.bluetooth {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Run the passkey agent (see above in this page)&lt;br /&gt;
&lt;br /&gt;
Fill in your bluetooth headset address below and execute the python script (with your headset turned on)&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 import dbus&lt;br /&gt;
 bus = dbus.SystemBus()&lt;br /&gt;
 manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')&lt;br /&gt;
 conn = manager.ActivateService('audio')&lt;br /&gt;
 audio = dbus.Interface(bus.get_object(conn, '/org/bluez/audio'), 'org.bluez.audio.Manager')&lt;br /&gt;
 path = audio.CreateDevice('00:0D:3C:44:33:22')&lt;br /&gt;
 audio.ChangeDefaultDevice(path)&lt;br /&gt;
 sink = dbus.Interface(bus.get_object(conn, path), 'org.bluez.audio.Sink')&lt;br /&gt;
 sink.Connect()&lt;br /&gt;
&lt;br /&gt;
FINALLY: play a song&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:- | aplay&lt;br /&gt;
&lt;br /&gt;
=== Headset Audio ===&lt;br /&gt;
&lt;br /&gt;
[[Neo1973_Audio_Subsystem]] has detail about alsa settings and a proposal for audio scenario management.&lt;br /&gt;
&lt;br /&gt;
To try this out, follow the instructions in the a2dp section to install software and run the passkey agent.&lt;br /&gt;
&lt;br /&gt;
Remove or disable the stuff you put in asound.conf. When using a voice headset, the application uses the regular system audio device and it gets routed to bluetooth in the codec.&lt;br /&gt;
&lt;br /&gt;
Put the headset in pairing mode. Replace the bluetooth address below with your headset's and run the python script:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 import dbus&lt;br /&gt;
 bus = dbus.SystemBus()&lt;br /&gt;
 manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')&lt;br /&gt;
 conn = manager.ActivateService('audio')&lt;br /&gt;
 audio = dbus.Interface(bus.get_object(conn, '/org/bluez/audio'), 'org.bluez.audio.Manager')&lt;br /&gt;
 path = audio.CreateHeadset('00:0B:2E:39:33:22')&lt;br /&gt;
 audio.ChangeDefaultHeadset(path)&lt;br /&gt;
 headset = dbus.Interface (bus.get_object(conn, path), 'org.bluez.audio.Headset')&lt;br /&gt;
 headset.Connect()&lt;br /&gt;
 headset.Play()&lt;br /&gt;
&lt;br /&gt;
Now place a call and try to route it to bluetooth (after it's in progress):&lt;br /&gt;
&lt;br /&gt;
 alsactl -f /etc/gsmbluetooth.state restore&lt;br /&gt;
&lt;br /&gt;
You may also be able to listen to system audio given the right state file:&lt;br /&gt;
&lt;br /&gt;
 alsactl -f /etc/systembluetooth.state restore&lt;br /&gt;
 madplay song.mp3&lt;br /&gt;
&lt;br /&gt;
==Bluetooth Headset on Freerunner ==&lt;br /&gt;
&lt;br /&gt;
[http://lists.openmoko.org/pipermail/support/2008-September/thread.html#2627 This thread] suggests the following:&lt;br /&gt;
&lt;br /&gt;
:Turn on bluetooth. If some of the scripts below fail you may need to reboot [https://docs.openmoko.org/trac/ticket/1744 Bluetooth after suspend]&lt;br /&gt;
&lt;br /&gt;
:Pair your headset according to [http://wiki.bluez.org/ these] instructions or use the script below. The script will change your .asoundrc so make a backup before you run it.&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/BtConfigure.py&lt;br /&gt;
:Put the headset in pairing mode ( this only needs to be done once for each new headset ) and run&lt;br /&gt;
 BtConfigure.py &lt;br /&gt;
&lt;br /&gt;
:Download the the following python scripts to set up the audio service and set the headset as the default device:&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/BtHeadset.py&lt;br /&gt;
:http://handheldshell.com/passkey.py&lt;br /&gt;
:http://handheldshell.com/BtHeadsetDisconnect.py&lt;br /&gt;
:http://handheldshell.com/python-pyalsaaudio_0.3-ml0_armv4t.ipk  - can someone add python-pyalsa to the feeds ?&lt;br /&gt;
&lt;br /&gt;
:Download the the following python scripts if you prefer not to mess around with alsactl:&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/pymixer.py&lt;br /&gt;
:http://handheldshell.com/volume.desktop&lt;br /&gt;
&lt;br /&gt;
:put pymixer in /usr/bin&lt;br /&gt;
&lt;br /&gt;
 chmod u+x /usr/bin/pymixer.py&lt;br /&gt;
&lt;br /&gt;
:put volume.desktop in /usr/share/applications&lt;br /&gt;
&lt;br /&gt;
:Get the [[http://handheldshell.com/gsm_headset.txt alsa state file]] - this state file _WORKS_, mic and earphones are properly routed&lt;br /&gt;
&lt;br /&gt;
 cp gsm_headset.txt /usr/share/openmoko/scenarios/btheadset.state&lt;br /&gt;
&lt;br /&gt;
:from the home screen run Volume&lt;br /&gt;
&lt;br /&gt;
:from the terminal run&lt;br /&gt;
&lt;br /&gt;
 BtHeadset.py &lt;br /&gt;
&lt;br /&gt;
:Wait until it says waiting for call to end, you should hear static in the headset. If you don't something has gone wrong.&lt;br /&gt;
&lt;br /&gt;
:Now start the call&lt;br /&gt;
&lt;br /&gt;
:In the volume control switch to the btheadset tab. press restore&lt;br /&gt;
&lt;br /&gt;
:You should now hear the call in your headset. &lt;br /&gt;
&lt;br /&gt;
:End the call&lt;br /&gt;
&lt;br /&gt;
 BtHeadsetDisconnect.py &lt;br /&gt;
&lt;br /&gt;
:This was all done with the 2008-updates image from sept 4. &lt;br /&gt;
&lt;br /&gt;
:The new scripts rely on a specific format for the .asoundrc . A stanza like this is required :&lt;br /&gt;
&lt;br /&gt;
 pcm.headset {&lt;br /&gt;
     type bluetooth&lt;br /&gt;
     device &amp;lt;headset mac&amp;gt;&lt;br /&gt;
     profile &amp;quot;voice&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
http://www.holtmann.org/papers/bluetooth/ols2006_slides.pdf&lt;br /&gt;
http://wiki.bluez.org/wiki/Audio#org.bluez.Audio&lt;br /&gt;
http://www.gentoo.org/doc/en/bluetooth-guide.xml&lt;br /&gt;
&lt;br /&gt;
{{Languages|Manually_using_Bluetooth}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Bluetooth| ]]&lt;br /&gt;
[[Category:Networking]]&lt;br /&gt;
[[Category:Application Developer]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Manually_using_Bluetooth</id>
		<title>Manually using Bluetooth</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Manually_using_Bluetooth"/>
				<updated>2008-12-02T08:00:01Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* OBEX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{InProgress}}&lt;br /&gt;
Bluetooth is one of the core functions of the Neo1973, however it is basically unimplemented on the software side at the moment.&lt;br /&gt;
Hardware problems in the P1 phone mean that the CPU has to be active in order to wake on external bluetooth events, which will reduce the battery life to some 2 days at best in standby.&lt;br /&gt;
&lt;br /&gt;
This page details how to use bluetooth from the command line.&lt;br /&gt;
We have quite a lot of plans about what exactly Bluetooth should be used for.&lt;br /&gt;
&lt;br /&gt;
== Power it up ==&lt;br /&gt;
&lt;br /&gt;
Power up the adapter by clicking on the bluetooth icon in the top bar and selecting power on.&lt;br /&gt;
&lt;br /&gt;
The old way to do it is a shell command (for kernels before 2.6.24):&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
For kernel 2.6.24 (or later) use&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02:~# echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
and on the GTA02 *only* (i.e. not on the GTA01) also use&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02:~# echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
But nowadays[http://permalink.gmane.org/gmane.comp.hardware.smartphones.userland/165], one should use [[Dbus device API]]s!&lt;br /&gt;
&lt;br /&gt;
At the shell, &amp;quot;hciconfig&amp;quot; should print information about the adapter if it powered up properly:&lt;br /&gt;
&lt;br /&gt;
 hciconfig&lt;br /&gt;
&lt;br /&gt;
The devices should show as UP. If not you can use&lt;br /&gt;
&lt;br /&gt;
 hciconfig &amp;lt;device&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Functions ==&lt;br /&gt;
&lt;br /&gt;
===Configuring Bluetooth on Openmoko 2007.2 (August 27 snapshot with kernel 2.6.21.6-moko11) ===&lt;br /&gt;
&lt;br /&gt;
In file /etc/bluetooth/hcid.conf you should change the passkey from BlueZ to something numeric. For testing you may use &amp;quot;0000&amp;quot;. Also, you can set the name to &amp;quot;Neo (%d)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Scanning for bluetooth devices ===&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
This will list the addresses of any discoverable bluetooth devices in the vicinity&lt;br /&gt;
&lt;br /&gt;
=== passkey agent example ===&lt;br /&gt;
&lt;br /&gt;
There should be a passkey agent built into openmoko, but for now you can start up the example passkey agent and set the pin code there. This will allow for new pairings to be made when you attempt a connection.&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Note: the passkey-agent is not required in Openmoko 2007.2 with kernel 2.6.21.6 as of at least since August 27 (maybe earlier).&lt;br /&gt;
&lt;br /&gt;
=== HID (Human Input Device) ===&lt;br /&gt;
&lt;br /&gt;
==== Being able to use HID devices ====&lt;br /&gt;
&lt;br /&gt;
Using a bluetooth keyboard with the built-in terminal is a little funky... I can only type into the console using the bt keyboard if the onscreen keyboard is visible. Also, pressing &amp;quot;p&amp;quot; twice on the bt keyboard actually gives you a &amp;quot;q&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
We want to be able to use a bluetooth keyboard to type into the various applications of our Neo1973.&lt;br /&gt;
To use a Bluetooth Keyboard type: (11:22:33:44:55:66 is the Address of your BT-Keyboard)&lt;br /&gt;
&lt;br /&gt;
hidd --connect 11:22:33:44:55:66&lt;br /&gt;
&lt;br /&gt;
and press &amp;quot;Connect&amp;quot; on your BT-KB.  Alternately, if you know that only one BT-Keyboard is within range, you can just:&lt;br /&gt;
&lt;br /&gt;
hidd --search&lt;br /&gt;
&lt;br /&gt;
to find and connect to any BT-Keyboard. There are some bluetooth keyboard only support SPP profile can't direct using hidd comannd to connect. Please reference the discussion of this page for more information.&lt;br /&gt;
&lt;br /&gt;
Tested on:&lt;br /&gt;
* [http://www.logitech.com/index.cfm/products/details/US/EN,CRID=2166,CONTENTID=10717 Logitech Dinovo Edge]&lt;br /&gt;
* [http://www.logitech.com/index.cfm/keyboards/keyboard_mice_combos/devices/164&amp;amp;cl=us,en Logitech Dinovo Media Desktop (keyboard)]&lt;br /&gt;
* [http://www.nokia.es/A4181580 Nokia SU-8W].  Switched on the BT keyboard, scanned for BT address and ran the connect statement above.  Works fine.&lt;br /&gt;
* [http://blog.russnelson.com/chordite Chordite].  This keyboard uses the Broadcom BCM2042 BT keyboard controller along with a custom driver.&lt;br /&gt;
* [http://www.apple.com/keyboard/ Apple's Aluminum Keyboard]. You may have to add 'auth enable; encrypt enable;' to device {} in  hcid.conf. Run the passkey agent the first time. --search works to pair and every time after. (Might be obvious for those who have used BT in other spots, but you have to type in y our passkey on the keyboard as the connect is happening, otherwise pairing doesn't take place. I don't think there is a prompt on the Neo for this)&lt;br /&gt;
* [http://www.apple.com/support/keyboard/ Apple's white &amp;quot;Wireless Keyboard (original)&amp;quot;] - details may be the same as above. (tested some time ago)&lt;br /&gt;
* [http://www.frogpad.com/ FrogPad] - as above&lt;br /&gt;
* [http://freedominput.com The freedom keyboard] and its many rebranded models (they look like this: [http://rabenfrost.net/openmoko/keyboard.jpg]) need 'modprobe uinput' to circumvent the 'Can't open input device: No such file or directory (2)' error of 'hidd --search'. It works as of february 7th 2008.&lt;br /&gt;
* [http://www.nextag.com/Playstation-3-Logitech-Cordless-564345667/prices-html?nxtg=f8320a24052a-7789F8FE732FF6E3 Logitech Playstation 3 Keyboard] Works well, Mouse pad works.&lt;br /&gt;
* [http://corporate.igo.com/product_details.aspx?id=16 iGo Stowaway UltraSlim] (which was apparently discontinued early 2008, but can still be bought in some places) ([[user:ChristW]] I have 2008.8 on it, and using hidd --search to connect to the iGo works perfectly. I also used it to edit a new contact, dial a number and edit a settings text box in [[TangoGPS]]. So far, no problems...)&lt;br /&gt;
* [http://www.vkb-support.com/ I-Tech Virtual Laser Keyboard] works.  Cursor keys not recognized as such, but produce keycodes than can be mapped.&lt;br /&gt;
&lt;br /&gt;
==== Acting as HID device ====&lt;br /&gt;
&lt;br /&gt;
We want to be able to use the Neo as a HID device, being able to use it as controller for presentations. See [[ReMoko]]&lt;br /&gt;
&lt;br /&gt;
=== RFCOMM ===&lt;br /&gt;
&lt;br /&gt;
Here's how to connect to an external Bluetooth GPS and read NMEA data (Tested with a Holux GPSSlim236 and a Nokia LD-3W ).&lt;br /&gt;
&lt;br /&gt;
First, switch on the GPS and identify the BT address:&lt;br /&gt;
&lt;br /&gt;
  hcitool scan&lt;br /&gt;
&lt;br /&gt;
Then, edit /etc/bluetooth/rfcomm.conf, which by default has all settings commented out, to something like this:&lt;br /&gt;
&lt;br /&gt;
  rfcomm0 {&lt;br /&gt;
        # Automatically bind the device at startup&lt;br /&gt;
        bind no;&lt;br /&gt;
        # Bluetooth address of the device&lt;br /&gt;
        device 00:11:22:33:44:55;&lt;br /&gt;
        # RFCOMM channel for the connection (check your GPS docs for details)&lt;br /&gt;
        channel 1;&lt;br /&gt;
        # Description of the connection&lt;br /&gt;
        comment &amp;quot;Bluetooth GPS&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Restart the BT services:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ /etc/init.d/bluetooth stop&lt;br /&gt;
  root@neo:~$ /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
You should now be able to bind the GPS to /dev/rfcomm0, like this:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ rfcomm bind 0&lt;br /&gt;
&lt;br /&gt;
Confirm the connect:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ rfcomm&lt;br /&gt;
  rfcomm0: 00:11:22:33:44:55 channel 1 clean &lt;br /&gt;
&lt;br /&gt;
... and watch the NMEA strings coming from your GPS:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ cat /dev/rfcomm0 &lt;br /&gt;
  $GPGGA,111748.000,5907.6964,N,01121.1787,E,1,06,1.2,57.7,M,40.1,M,,0000*6F&lt;br /&gt;
  $GPRMC,111748.000,A,5907.6964,N,01121.1787,E,0.00,94.94,160807,,,A*50&lt;br /&gt;
  $GPVTG,94.94,T,,M,0.00,N,0.0,K,A*3D&lt;br /&gt;
&lt;br /&gt;
If you have nothing better to do, you can now pinpoint my office :-).&lt;br /&gt;
&lt;br /&gt;
=== OBEX ===&lt;br /&gt;
OBEX (abbreviation of OBject EXchange, also termed IrOBEX) is a communications protocol that facilitates the exchange of binary objects between devices. Here is the notes about how to use OBEX to send/receive files via bluetooth in NEO.&lt;br /&gt;
&lt;br /&gt;
power on bluetooth: &lt;br /&gt;
if you use FSO image&lt;br /&gt;
 root@om-gta02:~# dbus-send --system --dest=org.freesmartphone.odeviced --type=method_call --print-reply /org/freesmartphone/Device/PowerControl/Bluetooth org.freesmartphone.Device.PowerControl.SetPower int32:1&lt;br /&gt;
else: (GTA02 only)&lt;br /&gt;
 root@om-gta02:~# echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
 root@om-gta02:~# echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
[http://linux.die.net/man/5/hcid.conf hcid.conf] &lt;br /&gt;
modify /etc/bluetooth/hcid.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# HCI daemon configuration file.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# HCId options&lt;br /&gt;
options {&lt;br /&gt;
	# Automatically initialize new devices&lt;br /&gt;
	autoinit yes;&lt;br /&gt;
&lt;br /&gt;
	# Security Manager mode&lt;br /&gt;
	#   none - Security manager disabled&lt;br /&gt;
	#   auto - Use local PIN for incoming connections&lt;br /&gt;
	#   user - Always ask user for a PIN&lt;br /&gt;
	#&lt;br /&gt;
	security auto;&lt;br /&gt;
&lt;br /&gt;
	# Pairing mode&lt;br /&gt;
	#   none  - Pairing disabled&lt;br /&gt;
	#   multi - Allow pairing with already paired devices&lt;br /&gt;
	#   once  - Pair once and deny successive attempts&lt;br /&gt;
	pairing multi;&lt;br /&gt;
&lt;br /&gt;
	# Default PIN code for incoming connections&lt;br /&gt;
	passkey &amp;quot;1234&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Default settings for HCI devices&lt;br /&gt;
device {&lt;br /&gt;
	# Local device name&lt;br /&gt;
	#   %d - device id&lt;br /&gt;
	#   %h - host name&lt;br /&gt;
	name &amp;quot;%h-%d&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	# Local device class&lt;br /&gt;
	class 0x000100;&lt;br /&gt;
&lt;br /&gt;
	# Default packet type&lt;br /&gt;
	pkt_type DH1,DM1,HV1;&lt;br /&gt;
&lt;br /&gt;
	# Inquiry and Page scan&lt;br /&gt;
	iscan enable; pscan enable;&lt;br /&gt;
&lt;br /&gt;
	# Default link mode&lt;br /&gt;
	#   none   - no specific policy &lt;br /&gt;
	#   accept - always accept incoming connections&lt;br /&gt;
	#   master - become master on incoming connections,&lt;br /&gt;
	#            deny role switch on outgoing connections&lt;br /&gt;
	lm accept;&lt;br /&gt;
&lt;br /&gt;
	# Default link policy&lt;br /&gt;
	#   none    - no specific policy&lt;br /&gt;
	#   rswitch - allow role switch&lt;br /&gt;
	#   hold    - allow hold mode&lt;br /&gt;
	#   sniff   - allow sniff mode&lt;br /&gt;
	#   park    - allow park mode&lt;br /&gt;
	lp rswitch,hold,sniff,park;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. all paired devices info are stored in this folder http://linux.die.net/man/8/hcid&lt;br /&gt;
root@om-gta02:/var/lib/bluetooth/00:06:6E:16:EB:C7# ls&lt;br /&gt;
classes        features       lastused       names          panu&lt;br /&gt;
config         gn             manufacturers  nap&lt;br /&gt;
&lt;br /&gt;
4. Display local devices&lt;br /&gt;
root@om-gta02:/# hcitool dev&lt;br /&gt;
Devices:&lt;br /&gt;
	hci0	00:06:6E:16:EB:C7&lt;br /&gt;
&lt;br /&gt;
5. Scan all nearby bluetooth devices&lt;br /&gt;
root@om-gta02:~# hcitool scan&lt;br /&gt;
Scanning ...&lt;br /&gt;
	00:11:67:C8:F3:23	daydreamer-0&lt;br /&gt;
	00:18:C5:42:18:78	Erin Nokia N73&lt;br /&gt;
	00:1A:92:7A:1E:C2	CHELSEA-PC&lt;br /&gt;
	00:1D:FD:04:E6:24	Dkay&lt;br /&gt;
	00:17:83:48:B3:66	HTC_TyTN_II&lt;br /&gt;
&lt;br /&gt;
6. Browse what kind of services in this device&lt;br /&gt;
sdptool browse 00:16:20:60:7C:36&lt;br /&gt;
&lt;br /&gt;
root@om-gta02:~# sdptool browse 00:18:C5:42:18:78&lt;br /&gt;
Browsing 00:18:C5:42:18:78 ...&lt;br /&gt;
&lt;br /&gt;
Service Name: OBEX File Transfer&lt;br /&gt;
Service RecHandle: 0x1005b&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 11&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x454e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
Service Name: OBEX Object Push&lt;br /&gt;
Service RecHandle: 0x1005e&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX Object Push&amp;quot; (0x1105)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 9&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x454e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX Object Push&amp;quot; (0x1105)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
7. pair with device, default pin is 1234&lt;br /&gt;
http://wiki.bluez.org/wiki/PasskeyAgent&lt;br /&gt;
&lt;br /&gt;
* Changing to discoverable mode and setting the timeout to 60 seconds&lt;br /&gt;
$dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discoverable&lt;br /&gt;
$dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetDiscoverableTimeout uint32:60&lt;br /&gt;
&lt;br /&gt;
CREATE BONDING:&lt;br /&gt;
$dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.CreateBonding string:00:18:C5:42:18:78&lt;br /&gt;
$dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.RemoveBonding string:00:18:C5:42:18:78&lt;br /&gt;
$dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.ListBondings&lt;br /&gt;
&lt;br /&gt;
8. install obexpush, obexftp packages&lt;br /&gt;
opkg install obexpush, obexftp&lt;br /&gt;
&lt;br /&gt;
http://www.go2linux.org/linux-command-line-obexftp-man-page&lt;br /&gt;
&lt;br /&gt;
obexpush: it would lauanch opd, use OBEX, channel 10, store received files in /home/root/ folder&lt;br /&gt;
obexftp: list folders, download files, upload files&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
==== Using PC's connection from Neo ====&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Linux system =====&lt;br /&gt;
&lt;br /&gt;
Bluetooth should behave just like our usbnet and provide full TCP/IP access to the phone.  BNEP has to be used.&lt;br /&gt;
&lt;br /&gt;
'''On the laptop'''&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth&lt;br /&gt;
 /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
 pand -s&lt;br /&gt;
&lt;br /&gt;
* As soon as pand is started on the phone configure your IP address&lt;br /&gt;
 ip a add 10.0.0.1/24 dev bnep0&lt;br /&gt;
 ip l set bnep0 up&lt;br /&gt;
&lt;br /&gt;
* Configure IP forwarding and masquerading to your liking (see [[USB_Networking]]). You can even set up Udev rules to do this for you once the bnep0 interface appears.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''On the Neo'''&lt;br /&gt;
&lt;br /&gt;
* There is a little script that does the steps below (and retries the pand -c command; I had issues with it not working the first time every time) at [[Bt-net-script]]  You shouldn't need the other steps below if you use the script.&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
 00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
 00:20:E0:5A:FE:C8       BlueZ (0)&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 root@fic-gta01:~$ pand -c 00:20:E0:5A:FE:C8&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address&lt;br /&gt;
 ip a add 10.0.0.2/24 dev bnep0&lt;br /&gt;
 ip r add default via 10.0.0.1&lt;br /&gt;
&lt;br /&gt;
* Sometimes you may need to bring up the bnep0 on the phone as well:&lt;br /&gt;
 ip l set bnep0 up&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*--[[User:Mantis|Mantis]] 18:37, 15 October 2008 (UTC)  Note for use on OpenSuse 11.0 - I was getting a connection failure with 'Host is down(112)' errors in /var/log/messages (on neo).&lt;br /&gt;
I found that editing  /etc/bluetooth/hcid.conf  to set  'pscan enable'  instead of 'pscan disable' and making passkey consistent with Neo Freerunner made it work.&lt;br /&gt;
&lt;br /&gt;
Should see log line like&lt;br /&gt;
 ''pand[17965]: New connection from 00:06:6E:XX:XX:XX at bnep0''&lt;br /&gt;
&lt;br /&gt;
if connection is successful in server's /var/log/messages.&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a MacOS X system =====&lt;br /&gt;
&lt;br /&gt;
Please refer to [[MacOS_X#Bluetooth_2]]&lt;br /&gt;
&lt;br /&gt;
For using the Neo as a dialup Bluetooth server and the Mac as the client, please see below at [[Manually_using_Bluetooth#PPP_Networking]]&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Windows XP system =====&lt;br /&gt;
&lt;br /&gt;
This was tested with a Windows XP SP2 on a IBM Thinkpad T41 with the Widcomm BT stack&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth on Windows XP&lt;br /&gt;
&lt;br /&gt;
* Enable &amp;quot;Network Access&amp;quot; in the Bluetooth configuration&lt;br /&gt;
&lt;br /&gt;
* Scan for the Neo and pair with the Neo (right click, select pair)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On the Neo&lt;br /&gt;
&lt;br /&gt;
* Enable PAN support on the Neo by changing Autostart from false to true in /etc/bluetooth/network.service&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         &amp;lt;laptop_bt_address&amp;gt;     Thinkpad&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 pand -c &amp;lt;laptop_bt_address&amp;gt; -r PANU -d NAP -e bnep0 -A -E -S&lt;br /&gt;
(add '-n' to see the pand status messages until you get it right)&lt;br /&gt;
&lt;br /&gt;
For some reason, I was not able to initiate PAN connections from the Neo, I got 'Permission denied (13)' even when I had explicitly allowed the Neo to connect (right click on Neo icon, set properties, on Authorization tab). But initiating 'PAN User' from Windows worked when executing on Neo:&lt;br /&gt;
 pand -l -r PANU -d NAP -e bnep0 -A -E -S&lt;br /&gt;
(add '-n' to see the pand status messages until you get it right)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address. It should work like when connecting to Linux:&lt;br /&gt;
 ip a add 10.0.0.2/24 dev bnep0&lt;br /&gt;
 ip r add default via 10.0.0.1&lt;br /&gt;
If this does not work, the IP stacks may have auto-assigned network addresses to themselves. You can look this up with 'ifconfig' on the Neo and with 'ipconfig' on Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* You should now be able to ssh/putty from Windows to your Neo. Enjoy!&lt;br /&gt;
By setting up the Windows Bluetooth connection properly, it should also be possible to share the Internet Connection of the Windows box with the Neo.&lt;br /&gt;
&lt;br /&gt;
===== PPP Networking =====&lt;br /&gt;
&lt;br /&gt;
If you are unable to use the 'BNEP' method described above, you may be able to use [[PPP]] and a DUN (dialup-networking) emulation mode. On the Neo:&lt;br /&gt;
&lt;br /&gt;
* Edit the /etc/default/bluetooth file and set the following options:&lt;br /&gt;
 RFCOMM_ENABLE=true&lt;br /&gt;
 DUND_ENABLE=true&lt;br /&gt;
 DUND_OPTIONS=&amp;quot;--listen --persist call dun&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Create an /etc/ppp/peers/dun file with options like the following:&lt;br /&gt;
 115200&lt;br /&gt;
 192.168.2.202:192.168.2.200&lt;br /&gt;
 passive&lt;br /&gt;
 local&lt;br /&gt;
 noipdefault&lt;br /&gt;
 noauth&lt;br /&gt;
 nodefaultroute&lt;br /&gt;
 &lt;br /&gt;
* Restart bluetooth (/etc/init.d/bluetooth stop ; /etc/init.d/bluetooth start)&lt;br /&gt;
&lt;br /&gt;
To connect from a MacOS 10.3 client:&lt;br /&gt;
&lt;br /&gt;
* Open &amp;quot;Applications/Utilities/Bluetooth Serial Utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Click on &amp;quot;New&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Choose a name, then click &amp;quot;Choose Device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Locate your Neo, then select the &amp;quot;LAN Access Point&amp;quot; service. If your device is not found, or if this service does not show up, then you will need to troubleshoot and fix that before continuing. Bluetooth is designed for short-range communication, so make sure that the devices are physically close to each other. &lt;br /&gt;
&lt;br /&gt;
* Select &amp;quot;Port type: RS-232&amp;quot; and &amp;quot;Show in Network Preferences&amp;quot;. Click OK.&lt;br /&gt;
&lt;br /&gt;
* Open the Network Preferences page then &amp;quot;Show: Network Port Configurations&amp;quot;. Enable the new device that you defined in the previous step and drag it to the bottom of the device list (so that it will not interfere with your other network connections)&lt;br /&gt;
&lt;br /&gt;
* Choose &amp;quot;Show: &amp;lt;your-device-name&amp;gt;&amp;quot;, then click &amp;quot;Modem&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Select &amp;quot;Null Modem 115200&amp;quot; from the list of available devices. Uncheck &amp;quot;Wait for dial tone&amp;quot; and &amp;quot;Enable error correction and compression in modem&amp;quot;. Optionally check &amp;quot;Show modem status in menu bar&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
* Click &amp;quot;Connect&amp;quot;. If everything worked, you will end up with a 'ppp0' device on your Mac with a local address of 192.168.2.200 and you will be able to access your Neo at 192.168.2.202.&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Linux system - More secure way =====&lt;br /&gt;
&lt;br /&gt;
''Check this, probably needs some corrections''&lt;br /&gt;
&lt;br /&gt;
Bluetooth should behave just like our usbnet and provide full TCP/IP access to the phone.  BNEP has to be used.&lt;br /&gt;
&lt;br /&gt;
On the laptop&lt;br /&gt;
&lt;br /&gt;
* check these options in /etc/bluetooth/hcid.conf&lt;br /&gt;
 security auto;&lt;br /&gt;
 passkey &amp;quot;your pin&amp;quot;;&lt;br /&gt;
 lm master;&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth&lt;br /&gt;
 # /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
  pand --listen --role NAP --encrypt&lt;br /&gt;
&lt;br /&gt;
* Add in /etc/network/interfaces (see [[USB_Networking]])&lt;br /&gt;
 auto bnep0&lt;br /&gt;
 iface bnep0 inet static&lt;br /&gt;
 address 192.168.1.1&lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
 network 192.168.1.0&lt;br /&gt;
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.1.0/24&lt;br /&gt;
        post-up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        post-up iptables -P FORWARD ACCEPT&lt;br /&gt;
&lt;br /&gt;
On the Neo&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:20:E0:5A:FE:C8       laptop&lt;br /&gt;
&lt;br /&gt;
* Set pin&lt;br /&gt;
 root@fic-gta01:~$ passkey-agent 'your pin' 00:20:E0:5A:FE:C8 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 root@fic-gta01:~$ pand -c 00:20:E0:5A:FE:C8&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address&lt;br /&gt;
 root@fic-gta01:~$ ifconfig bnep0 192.168.1.2&lt;br /&gt;
 root@fic-gta01:~$ route add default gateway 192.168.1.1&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
==== Using Neo's connection from PC ====&lt;br /&gt;
&lt;br /&gt;
===== Calling Neo's GPRS modem via Bluetooth =====&lt;br /&gt;
&lt;br /&gt;
In this mode, Neo would behave like any other phone which can be used from a PC to get a network connection.&lt;br /&gt;
&lt;br /&gt;
This section not written yet. Has someone set it up?&lt;br /&gt;
&lt;br /&gt;
===== Sharing existing Neo's connection =====&lt;br /&gt;
&lt;br /&gt;
In this mode, Neo already has a network connection (GPRS, WLAN, ...), and it should get shared to the PC. This guide is general on how to forward network connection from a machine running Linux to another machine. If interested, please see more information for example at http://www.gentoo.org/doc/en/bluetooth-guide.xml.&lt;br /&gt;
&lt;br /&gt;
On the PC&lt;br /&gt;
# Check with hciconfig you have working Bluetooth&lt;br /&gt;
On the Neo&lt;br /&gt;
(if on Debian etc., remember modprobe ohci_hcd hci_usb)&lt;br /&gt;
# Initialize Bluetooth as told before:&lt;br /&gt;
## echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/power_on&lt;br /&gt;
## echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
# install iptables: opkg install http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv4t/base/iptables_1.3.8-r4.1_armv4t.ipk&lt;br /&gt;
# modprobe bnep&lt;br /&gt;
# Check that hcid is running both on Neo and PC (Bluetooth 4.x: install bluez-compat)&lt;br /&gt;
# Use default passkey &amp;quot;1234&amp;quot; in /etc/bluetooth/hcid.conf&lt;br /&gt;
# pand --listen --role NAP --master --autozap # note: after this you might have to the the step 1 below (&amp;quot;On the PC&amp;quot;) or the next step of getting the interface up does not work # note2: you could automate pand listener to start automatically when Bluetooth is turned on&lt;br /&gt;
# ifconfig bnep0 10.0.5.2 up&lt;br /&gt;
# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
# iptables -t nat -A POSTROUTING -j MASQUERADE -o ppp0&lt;br /&gt;
On the PC:&lt;br /&gt;
# sudo pand --connect &amp;lt;your bluetooth mac address&amp;gt; --service NAP --autozap&lt;br /&gt;
# ifconfig bnep0 10.0.5.1 up&lt;br /&gt;
# You can test the connection with ping 10.0.5.2&lt;br /&gt;
# sudo ip route add default via 10.0.5.2 dev bnep0&lt;br /&gt;
# [not automated yet] add GPRS connection's nameservers to /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
== Advanced Audio Distribution Profile (A2DP) ==&lt;br /&gt;
&lt;br /&gt;
=== A2DP quickie ===&lt;br /&gt;
&lt;br /&gt;
* If you experience problems with choppyness, try changing your hcid.conf to include &amp;quot;lm accept,master;&amp;quot; and &amp;quot;lp hold,sniff,park;&amp;quot;  You may also have to bond (commonly known as 'pairing') your phone and your headset.  See http://wiki.bluez.org/wiki/HOWTO/Bonding for details. [[User:Mercury|Mercury]] 17:36, 5 September 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
It's now possible (if a little hackish) to stream mp3 to a bluetooth headset. It's a known problem that the playback rate changes (pitch varies). Timing issues are also likely the reason for gaps in playback.&lt;br /&gt;
&lt;br /&gt;
If the bluez packages are recent enough, you can use a shortcut. I'll document it here and leave the longer version below (the long version also demonstrates the API used by the GUI to manage headsets)&lt;br /&gt;
&lt;br /&gt;
Create /etc/asound.conf with your bluetooth headset's address filled in:&lt;br /&gt;
&lt;br /&gt;
 pcm.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;xx:xx:xx:xx:xx:xx&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
then play a song&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:- | aplay&lt;br /&gt;
&lt;br /&gt;
or for smoother results...&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:song.wav&lt;br /&gt;
 aplay song.wav&lt;br /&gt;
&lt;br /&gt;
=== A2DP ===&lt;br /&gt;
&lt;br /&gt;
If that doesn't work... all the more hackish... install required packages:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;src/gz python http://www.angstrom-distribution.org/unstable/feed/armv4t/python/&amp;quot; &amp;gt;&amp;gt; /etc/ipkg/angstrom-python.conf &lt;br /&gt;
 echo &amp;quot;src/gz base http://www.angstrom-distribution.org/unstable/feed/armv4t/base/&amp;quot; &amp;gt;&amp;gt; /etc/ipkg/angstrom-base.conf&lt;br /&gt;
 ipkg update ; ipkg install python-core python-xml python-dbus bluez-utils bluez-utils-alsa&lt;br /&gt;
&lt;br /&gt;
Create /etc/asound.conf:&lt;br /&gt;
&lt;br /&gt;
 pcm.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 ctl.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 pcm.bluetooth {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 ctl.bluetooth {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Run the passkey agent (see above in this page)&lt;br /&gt;
&lt;br /&gt;
Fill in your bluetooth headset address below and execute the python script (with your headset turned on)&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 import dbus&lt;br /&gt;
 bus = dbus.SystemBus()&lt;br /&gt;
 manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')&lt;br /&gt;
 conn = manager.ActivateService('audio')&lt;br /&gt;
 audio = dbus.Interface(bus.get_object(conn, '/org/bluez/audio'), 'org.bluez.audio.Manager')&lt;br /&gt;
 path = audio.CreateDevice('00:0D:3C:44:33:22')&lt;br /&gt;
 audio.ChangeDefaultDevice(path)&lt;br /&gt;
 sink = dbus.Interface(bus.get_object(conn, path), 'org.bluez.audio.Sink')&lt;br /&gt;
 sink.Connect()&lt;br /&gt;
&lt;br /&gt;
FINALLY: play a song&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:- | aplay&lt;br /&gt;
&lt;br /&gt;
=== Headset Audio ===&lt;br /&gt;
&lt;br /&gt;
[[Neo1973_Audio_Subsystem]] has detail about alsa settings and a proposal for audio scenario management.&lt;br /&gt;
&lt;br /&gt;
To try this out, follow the instructions in the a2dp section to install software and run the passkey agent.&lt;br /&gt;
&lt;br /&gt;
Remove or disable the stuff you put in asound.conf. When using a voice headset, the application uses the regular system audio device and it gets routed to bluetooth in the codec.&lt;br /&gt;
&lt;br /&gt;
Put the headset in pairing mode. Replace the bluetooth address below with your headset's and run the python script:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 import dbus&lt;br /&gt;
 bus = dbus.SystemBus()&lt;br /&gt;
 manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')&lt;br /&gt;
 conn = manager.ActivateService('audio')&lt;br /&gt;
 audio = dbus.Interface(bus.get_object(conn, '/org/bluez/audio'), 'org.bluez.audio.Manager')&lt;br /&gt;
 path = audio.CreateHeadset('00:0B:2E:39:33:22')&lt;br /&gt;
 audio.ChangeDefaultHeadset(path)&lt;br /&gt;
 headset = dbus.Interface (bus.get_object(conn, path), 'org.bluez.audio.Headset')&lt;br /&gt;
 headset.Connect()&lt;br /&gt;
 headset.Play()&lt;br /&gt;
&lt;br /&gt;
Now place a call and try to route it to bluetooth (after it's in progress):&lt;br /&gt;
&lt;br /&gt;
 alsactl -f /etc/gsmbluetooth.state restore&lt;br /&gt;
&lt;br /&gt;
You may also be able to listen to system audio given the right state file:&lt;br /&gt;
&lt;br /&gt;
 alsactl -f /etc/systembluetooth.state restore&lt;br /&gt;
 madplay song.mp3&lt;br /&gt;
&lt;br /&gt;
==Bluetooth Headset on Freerunner ==&lt;br /&gt;
&lt;br /&gt;
[http://lists.openmoko.org/pipermail/support/2008-September/thread.html#2627 This thread] suggests the following:&lt;br /&gt;
&lt;br /&gt;
:Turn on bluetooth. If some of the scripts below fail you may need to reboot [https://docs.openmoko.org/trac/ticket/1744 Bluetooth after suspend]&lt;br /&gt;
&lt;br /&gt;
:Pair your headset according to [http://wiki.bluez.org/ these] instructions or use the script below. The script will change your .asoundrc so make a backup before you run it.&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/BtConfigure.py&lt;br /&gt;
:Put the headset in pairing mode ( this only needs to be done once for each new headset ) and run&lt;br /&gt;
 BtConfigure.py &lt;br /&gt;
&lt;br /&gt;
:Download the the following python scripts to set up the audio service and set the headset as the default device:&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/BtHeadset.py&lt;br /&gt;
:http://handheldshell.com/passkey.py&lt;br /&gt;
:http://handheldshell.com/BtHeadsetDisconnect.py&lt;br /&gt;
:http://handheldshell.com/python-pyalsaaudio_0.3-ml0_armv4t.ipk  - can someone add python-pyalsa to the feeds ?&lt;br /&gt;
&lt;br /&gt;
:Download the the following python scripts if you prefer not to mess around with alsactl:&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/pymixer.py&lt;br /&gt;
:http://handheldshell.com/volume.desktop&lt;br /&gt;
&lt;br /&gt;
:put pymixer in /usr/bin&lt;br /&gt;
&lt;br /&gt;
 chmod u+x /usr/bin/pymixer.py&lt;br /&gt;
&lt;br /&gt;
:put volume.desktop in /usr/share/applications&lt;br /&gt;
&lt;br /&gt;
:Get the [[http://handheldshell.com/gsm_headset.txt alsa state file]] - this state file _WORKS_, mic and earphones are properly routed&lt;br /&gt;
&lt;br /&gt;
 cp gsm_headset.txt /usr/share/openmoko/scenarios/btheadset.state&lt;br /&gt;
&lt;br /&gt;
:from the home screen run Volume&lt;br /&gt;
&lt;br /&gt;
:from the terminal run&lt;br /&gt;
&lt;br /&gt;
 BtHeadset.py &lt;br /&gt;
&lt;br /&gt;
:Wait until it says waiting for call to end, you should hear static in the headset. If you don't something has gone wrong.&lt;br /&gt;
&lt;br /&gt;
:Now start the call&lt;br /&gt;
&lt;br /&gt;
:In the volume control switch to the btheadset tab. press restore&lt;br /&gt;
&lt;br /&gt;
:You should now hear the call in your headset. &lt;br /&gt;
&lt;br /&gt;
:End the call&lt;br /&gt;
&lt;br /&gt;
 BtHeadsetDisconnect.py &lt;br /&gt;
&lt;br /&gt;
:This was all done with the 2008-updates image from sept 4. &lt;br /&gt;
&lt;br /&gt;
:The new scripts rely on a specific format for the .asoundrc . A stanza like this is required :&lt;br /&gt;
&lt;br /&gt;
 pcm.headset {&lt;br /&gt;
     type bluetooth&lt;br /&gt;
     device &amp;lt;headset mac&amp;gt;&lt;br /&gt;
     profile &amp;quot;voice&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
http://www.holtmann.org/papers/bluetooth/ols2006_slides.pdf&lt;br /&gt;
http://wiki.bluez.org/wiki/Audio#org.bluez.Audio&lt;br /&gt;
http://www.gentoo.org/doc/en/bluetooth-guide.xml&lt;br /&gt;
&lt;br /&gt;
{{Languages|Manually_using_Bluetooth}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Bluetooth| ]]&lt;br /&gt;
[[Category:Networking]]&lt;br /&gt;
[[Category:Application Developer]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Manually_using_Bluetooth</id>
		<title>Manually using Bluetooth</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Manually_using_Bluetooth"/>
				<updated>2008-12-02T07:49:38Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* OBEX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{InProgress}}&lt;br /&gt;
Bluetooth is one of the core functions of the Neo1973, however it is basically unimplemented on the software side at the moment.&lt;br /&gt;
Hardware problems in the P1 phone mean that the CPU has to be active in order to wake on external bluetooth events, which will reduce the battery life to some 2 days at best in standby.&lt;br /&gt;
&lt;br /&gt;
This page details how to use bluetooth from the command line.&lt;br /&gt;
We have quite a lot of plans about what exactly Bluetooth should be used for.&lt;br /&gt;
&lt;br /&gt;
== Power it up ==&lt;br /&gt;
&lt;br /&gt;
Power up the adapter by clicking on the bluetooth icon in the top bar and selecting power on.&lt;br /&gt;
&lt;br /&gt;
The old way to do it is a shell command (for kernels before 2.6.24):&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
For kernel 2.6.24 (or later) use&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02:~# echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
and on the GTA02 *only* (i.e. not on the GTA01) also use&lt;br /&gt;
&lt;br /&gt;
 root@om-gta02:~# echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
But nowadays[http://permalink.gmane.org/gmane.comp.hardware.smartphones.userland/165], one should use [[Dbus device API]]s!&lt;br /&gt;
&lt;br /&gt;
At the shell, &amp;quot;hciconfig&amp;quot; should print information about the adapter if it powered up properly:&lt;br /&gt;
&lt;br /&gt;
 hciconfig&lt;br /&gt;
&lt;br /&gt;
The devices should show as UP. If not you can use&lt;br /&gt;
&lt;br /&gt;
 hciconfig &amp;lt;device&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Functions ==&lt;br /&gt;
&lt;br /&gt;
===Configuring Bluetooth on Openmoko 2007.2 (August 27 snapshot with kernel 2.6.21.6-moko11) ===&lt;br /&gt;
&lt;br /&gt;
In file /etc/bluetooth/hcid.conf you should change the passkey from BlueZ to something numeric. For testing you may use &amp;quot;0000&amp;quot;. Also, you can set the name to &amp;quot;Neo (%d)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Scanning for bluetooth devices ===&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
This will list the addresses of any discoverable bluetooth devices in the vicinity&lt;br /&gt;
&lt;br /&gt;
=== passkey agent example ===&lt;br /&gt;
&lt;br /&gt;
There should be a passkey agent built into openmoko, but for now you can start up the example passkey agent and set the pin code there. This will allow for new pairings to be made when you attempt a connection.&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Note: the passkey-agent is not required in Openmoko 2007.2 with kernel 2.6.21.6 as of at least since August 27 (maybe earlier).&lt;br /&gt;
&lt;br /&gt;
=== HID (Human Input Device) ===&lt;br /&gt;
&lt;br /&gt;
==== Being able to use HID devices ====&lt;br /&gt;
&lt;br /&gt;
Using a bluetooth keyboard with the built-in terminal is a little funky... I can only type into the console using the bt keyboard if the onscreen keyboard is visible. Also, pressing &amp;quot;p&amp;quot; twice on the bt keyboard actually gives you a &amp;quot;q&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
We want to be able to use a bluetooth keyboard to type into the various applications of our Neo1973.&lt;br /&gt;
To use a Bluetooth Keyboard type: (11:22:33:44:55:66 is the Address of your BT-Keyboard)&lt;br /&gt;
&lt;br /&gt;
hidd --connect 11:22:33:44:55:66&lt;br /&gt;
&lt;br /&gt;
and press &amp;quot;Connect&amp;quot; on your BT-KB.  Alternately, if you know that only one BT-Keyboard is within range, you can just:&lt;br /&gt;
&lt;br /&gt;
hidd --search&lt;br /&gt;
&lt;br /&gt;
to find and connect to any BT-Keyboard. There are some bluetooth keyboard only support SPP profile can't direct using hidd comannd to connect. Please reference the discussion of this page for more information.&lt;br /&gt;
&lt;br /&gt;
Tested on:&lt;br /&gt;
* [http://www.logitech.com/index.cfm/products/details/US/EN,CRID=2166,CONTENTID=10717 Logitech Dinovo Edge]&lt;br /&gt;
* [http://www.logitech.com/index.cfm/keyboards/keyboard_mice_combos/devices/164&amp;amp;cl=us,en Logitech Dinovo Media Desktop (keyboard)]&lt;br /&gt;
* [http://www.nokia.es/A4181580 Nokia SU-8W].  Switched on the BT keyboard, scanned for BT address and ran the connect statement above.  Works fine.&lt;br /&gt;
* [http://blog.russnelson.com/chordite Chordite].  This keyboard uses the Broadcom BCM2042 BT keyboard controller along with a custom driver.&lt;br /&gt;
* [http://www.apple.com/keyboard/ Apple's Aluminum Keyboard]. You may have to add 'auth enable; encrypt enable;' to device {} in  hcid.conf. Run the passkey agent the first time. --search works to pair and every time after. (Might be obvious for those who have used BT in other spots, but you have to type in y our passkey on the keyboard as the connect is happening, otherwise pairing doesn't take place. I don't think there is a prompt on the Neo for this)&lt;br /&gt;
* [http://www.apple.com/support/keyboard/ Apple's white &amp;quot;Wireless Keyboard (original)&amp;quot;] - details may be the same as above. (tested some time ago)&lt;br /&gt;
* [http://www.frogpad.com/ FrogPad] - as above&lt;br /&gt;
* [http://freedominput.com The freedom keyboard] and its many rebranded models (they look like this: [http://rabenfrost.net/openmoko/keyboard.jpg]) need 'modprobe uinput' to circumvent the 'Can't open input device: No such file or directory (2)' error of 'hidd --search'. It works as of february 7th 2008.&lt;br /&gt;
* [http://www.nextag.com/Playstation-3-Logitech-Cordless-564345667/prices-html?nxtg=f8320a24052a-7789F8FE732FF6E3 Logitech Playstation 3 Keyboard] Works well, Mouse pad works.&lt;br /&gt;
* [http://corporate.igo.com/product_details.aspx?id=16 iGo Stowaway UltraSlim] (which was apparently discontinued early 2008, but can still be bought in some places) ([[user:ChristW]] I have 2008.8 on it, and using hidd --search to connect to the iGo works perfectly. I also used it to edit a new contact, dial a number and edit a settings text box in [[TangoGPS]]. So far, no problems...)&lt;br /&gt;
* [http://www.vkb-support.com/ I-Tech Virtual Laser Keyboard] works.  Cursor keys not recognized as such, but produce keycodes than can be mapped.&lt;br /&gt;
&lt;br /&gt;
==== Acting as HID device ====&lt;br /&gt;
&lt;br /&gt;
We want to be able to use the Neo as a HID device, being able to use it as controller for presentations. See [[ReMoko]]&lt;br /&gt;
&lt;br /&gt;
=== RFCOMM ===&lt;br /&gt;
&lt;br /&gt;
Here's how to connect to an external Bluetooth GPS and read NMEA data (Tested with a Holux GPSSlim236 and a Nokia LD-3W ).&lt;br /&gt;
&lt;br /&gt;
First, switch on the GPS and identify the BT address:&lt;br /&gt;
&lt;br /&gt;
  hcitool scan&lt;br /&gt;
&lt;br /&gt;
Then, edit /etc/bluetooth/rfcomm.conf, which by default has all settings commented out, to something like this:&lt;br /&gt;
&lt;br /&gt;
  rfcomm0 {&lt;br /&gt;
        # Automatically bind the device at startup&lt;br /&gt;
        bind no;&lt;br /&gt;
        # Bluetooth address of the device&lt;br /&gt;
        device 00:11:22:33:44:55;&lt;br /&gt;
        # RFCOMM channel for the connection (check your GPS docs for details)&lt;br /&gt;
        channel 1;&lt;br /&gt;
        # Description of the connection&lt;br /&gt;
        comment &amp;quot;Bluetooth GPS&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Restart the BT services:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ /etc/init.d/bluetooth stop&lt;br /&gt;
  root@neo:~$ /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
You should now be able to bind the GPS to /dev/rfcomm0, like this:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ rfcomm bind 0&lt;br /&gt;
&lt;br /&gt;
Confirm the connect:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ rfcomm&lt;br /&gt;
  rfcomm0: 00:11:22:33:44:55 channel 1 clean &lt;br /&gt;
&lt;br /&gt;
... and watch the NMEA strings coming from your GPS:&lt;br /&gt;
&lt;br /&gt;
  root@neo:~$ cat /dev/rfcomm0 &lt;br /&gt;
  $GPGGA,111748.000,5907.6964,N,01121.1787,E,1,06,1.2,57.7,M,40.1,M,,0000*6F&lt;br /&gt;
  $GPRMC,111748.000,A,5907.6964,N,01121.1787,E,0.00,94.94,160807,,,A*50&lt;br /&gt;
  $GPVTG,94.94,T,,M,0.00,N,0.0,K,A*3D&lt;br /&gt;
&lt;br /&gt;
If you have nothing better to do, you can now pinpoint my office :-).&lt;br /&gt;
&lt;br /&gt;
=== OBEX ===&lt;br /&gt;
OBEX (abbreviation of OBject EXchange, also termed IrOBEX) is a communications protocol that facilitates the exchange of binary objects between devices.&lt;br /&gt;
&lt;br /&gt;
1. power on bluetooth:&lt;br /&gt;
&lt;br /&gt;
root@om-gta02:~# dbus-send --system --dest=org.freesmartphone.odeviced --type=method_call --print-reply /org/freesmartphone/Device/PowerControl/Bluetooth org.freesmartphone.Device.PowerControl.SetPower int32:1&lt;br /&gt;
&lt;br /&gt;
2. make sure hcid.conf http://linux.die.net/man/5/hcid.conf&lt;br /&gt;
/etc/bluetooth/hcid.conf&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# HCI daemon configuration file.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# HCId options&lt;br /&gt;
options {&lt;br /&gt;
	# Automatically initialize new devices&lt;br /&gt;
	autoinit yes;&lt;br /&gt;
&lt;br /&gt;
	# Security Manager mode&lt;br /&gt;
	#   none - Security manager disabled&lt;br /&gt;
	#   auto - Use local PIN for incoming connections&lt;br /&gt;
	#   user - Always ask user for a PIN&lt;br /&gt;
	#&lt;br /&gt;
	security user;&lt;br /&gt;
&lt;br /&gt;
	# Pairing mode&lt;br /&gt;
	#   none  - Pairing disabled&lt;br /&gt;
	#   multi - Allow pairing with already paired devices&lt;br /&gt;
	#   once  - Pair once and deny successive attempts&lt;br /&gt;
	pairing multi;&lt;br /&gt;
&lt;br /&gt;
	# Default PIN code for incoming connections&lt;br /&gt;
	passkey &amp;quot;1234&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Default settings for HCI devices&lt;br /&gt;
device {&lt;br /&gt;
	# Local device name&lt;br /&gt;
	#   %d - device id&lt;br /&gt;
	#   %h - host name&lt;br /&gt;
	name &amp;quot;%h-%d&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	# Local device class&lt;br /&gt;
	class 0x000100;&lt;br /&gt;
&lt;br /&gt;
	# Default packet type&lt;br /&gt;
	pkt_type DH1,DM1,HV1;&lt;br /&gt;
&lt;br /&gt;
	# Inquiry and Page scan&lt;br /&gt;
	iscan enable; pscan enable;&lt;br /&gt;
&lt;br /&gt;
	# Default link mode&lt;br /&gt;
	#   none   - no specific policy &lt;br /&gt;
	#   accept - always accept incoming connections&lt;br /&gt;
	#   master - become master on incoming connections,&lt;br /&gt;
	#            deny role switch on outgoing connections&lt;br /&gt;
	lm accept;&lt;br /&gt;
&lt;br /&gt;
	# Default link policy&lt;br /&gt;
	#   none    - no specific policy&lt;br /&gt;
	#   rswitch - allow role switch&lt;br /&gt;
	#   hold    - allow hold mode&lt;br /&gt;
	#   sniff   - allow sniff mode&lt;br /&gt;
	#   park    - allow park mode&lt;br /&gt;
	lp rswitch,hold,sniff,park;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
3. all paired devices info are stored in this folder http://linux.die.net/man/8/hcid&lt;br /&gt;
root@om-gta02:/var/lib/bluetooth/00:06:6E:16:EB:C7# ls&lt;br /&gt;
classes        features       lastused       names          panu&lt;br /&gt;
config         gn             manufacturers  nap&lt;br /&gt;
&lt;br /&gt;
4. Display local devices&lt;br /&gt;
root@om-gta02:/# hcitool dev&lt;br /&gt;
Devices:&lt;br /&gt;
	hci0	00:06:6E:16:EB:C7&lt;br /&gt;
&lt;br /&gt;
5. Scan all nearby bluetooth devices&lt;br /&gt;
root@om-gta02:~# hcitool scan&lt;br /&gt;
Scanning ...&lt;br /&gt;
	00:11:67:C8:F3:23	daydreamer-0&lt;br /&gt;
	00:18:C5:42:18:78	Erin Nokia N73&lt;br /&gt;
	00:1A:92:7A:1E:C2	CHELSEA-PC&lt;br /&gt;
	00:1D:FD:04:E6:24	Dkay&lt;br /&gt;
	00:17:83:48:B3:66	HTC_TyTN_II&lt;br /&gt;
&lt;br /&gt;
6. Browse what kind of services in this device&lt;br /&gt;
sdptool browse 00:16:20:60:7C:36&lt;br /&gt;
&lt;br /&gt;
root@om-gta02:~# sdptool browse 00:18:C5:42:18:78&lt;br /&gt;
Browsing 00:18:C5:42:18:78 ...&lt;br /&gt;
&lt;br /&gt;
Service Name: OBEX File Transfer&lt;br /&gt;
Service RecHandle: 0x1005b&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 11&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x454e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
Service Name: OBEX Object Push&lt;br /&gt;
Service RecHandle: 0x1005e&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX Object Push&amp;quot; (0x1105)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 9&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x454e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX Object Push&amp;quot; (0x1105)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
7. pair with device, default pin is 1234&lt;br /&gt;
http://wiki.bluez.org/wiki/PasskeyAgent&lt;br /&gt;
&lt;br /&gt;
* Changing to discoverable mode and setting the timeout to 60 seconds&lt;br /&gt;
$dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discoverable&lt;br /&gt;
$dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetDiscoverableTimeout uint32:60&lt;br /&gt;
&lt;br /&gt;
CREATE BONDING:&lt;br /&gt;
$dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.CreateBonding string:00:18:C5:42:18:78&lt;br /&gt;
$dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.RemoveBonding string:00:18:C5:42:18:78&lt;br /&gt;
$dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.ListBondings&lt;br /&gt;
&lt;br /&gt;
8. install obexpush, obexftp packages&lt;br /&gt;
opkg install obexpush, obexftp&lt;br /&gt;
&lt;br /&gt;
http://www.go2linux.org/linux-command-line-obexftp-man-page&lt;br /&gt;
&lt;br /&gt;
obexpush: it would lauanch opd, use OBEX, channel 10, store received files in /home/root/ folder&lt;br /&gt;
obexftp: list folders, download files, upload files&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
==== Using PC's connection from Neo ====&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Linux system =====&lt;br /&gt;
&lt;br /&gt;
Bluetooth should behave just like our usbnet and provide full TCP/IP access to the phone.  BNEP has to be used.&lt;br /&gt;
&lt;br /&gt;
'''On the laptop'''&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth&lt;br /&gt;
 /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
 pand -s&lt;br /&gt;
&lt;br /&gt;
* As soon as pand is started on the phone configure your IP address&lt;br /&gt;
 ip a add 10.0.0.1/24 dev bnep0&lt;br /&gt;
 ip l set bnep0 up&lt;br /&gt;
&lt;br /&gt;
* Configure IP forwarding and masquerading to your liking (see [[USB_Networking]]). You can even set up Udev rules to do this for you once the bnep0 interface appears.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''On the Neo'''&lt;br /&gt;
&lt;br /&gt;
* There is a little script that does the steps below (and retries the pand -c command; I had issues with it not working the first time every time) at [[Bt-net-script]]  You shouldn't need the other steps below if you use the script.&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
 00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
 00:20:E0:5A:FE:C8       BlueZ (0)&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 root@fic-gta01:~$ pand -c 00:20:E0:5A:FE:C8&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address&lt;br /&gt;
 ip a add 10.0.0.2/24 dev bnep0&lt;br /&gt;
 ip r add default via 10.0.0.1&lt;br /&gt;
&lt;br /&gt;
* Sometimes you may need to bring up the bnep0 on the phone as well:&lt;br /&gt;
 ip l set bnep0 up&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*--[[User:Mantis|Mantis]] 18:37, 15 October 2008 (UTC)  Note for use on OpenSuse 11.0 - I was getting a connection failure with 'Host is down(112)' errors in /var/log/messages (on neo).&lt;br /&gt;
I found that editing  /etc/bluetooth/hcid.conf  to set  'pscan enable'  instead of 'pscan disable' and making passkey consistent with Neo Freerunner made it work.&lt;br /&gt;
&lt;br /&gt;
Should see log line like&lt;br /&gt;
 ''pand[17965]: New connection from 00:06:6E:XX:XX:XX at bnep0''&lt;br /&gt;
&lt;br /&gt;
if connection is successful in server's /var/log/messages.&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a MacOS X system =====&lt;br /&gt;
&lt;br /&gt;
Please refer to [[MacOS_X#Bluetooth_2]]&lt;br /&gt;
&lt;br /&gt;
For using the Neo as a dialup Bluetooth server and the Mac as the client, please see below at [[Manually_using_Bluetooth#PPP_Networking]]&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Windows XP system =====&lt;br /&gt;
&lt;br /&gt;
This was tested with a Windows XP SP2 on a IBM Thinkpad T41 with the Widcomm BT stack&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth on Windows XP&lt;br /&gt;
&lt;br /&gt;
* Enable &amp;quot;Network Access&amp;quot; in the Bluetooth configuration&lt;br /&gt;
&lt;br /&gt;
* Scan for the Neo and pair with the Neo (right click, select pair)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On the Neo&lt;br /&gt;
&lt;br /&gt;
* Enable PAN support on the Neo by changing Autostart from false to true in /etc/bluetooth/network.service&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         &amp;lt;laptop_bt_address&amp;gt;     Thinkpad&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 pand -c &amp;lt;laptop_bt_address&amp;gt; -r PANU -d NAP -e bnep0 -A -E -S&lt;br /&gt;
(add '-n' to see the pand status messages until you get it right)&lt;br /&gt;
&lt;br /&gt;
For some reason, I was not able to initiate PAN connections from the Neo, I got 'Permission denied (13)' even when I had explicitly allowed the Neo to connect (right click on Neo icon, set properties, on Authorization tab). But initiating 'PAN User' from Windows worked when executing on Neo:&lt;br /&gt;
 pand -l -r PANU -d NAP -e bnep0 -A -E -S&lt;br /&gt;
(add '-n' to see the pand status messages until you get it right)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address. It should work like when connecting to Linux:&lt;br /&gt;
 ip a add 10.0.0.2/24 dev bnep0&lt;br /&gt;
 ip r add default via 10.0.0.1&lt;br /&gt;
If this does not work, the IP stacks may have auto-assigned network addresses to themselves. You can look this up with 'ifconfig' on the Neo and with 'ipconfig' on Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* You should now be able to ssh/putty from Windows to your Neo. Enjoy!&lt;br /&gt;
By setting up the Windows Bluetooth connection properly, it should also be possible to share the Internet Connection of the Windows box with the Neo.&lt;br /&gt;
&lt;br /&gt;
===== PPP Networking =====&lt;br /&gt;
&lt;br /&gt;
If you are unable to use the 'BNEP' method described above, you may be able to use [[PPP]] and a DUN (dialup-networking) emulation mode. On the Neo:&lt;br /&gt;
&lt;br /&gt;
* Edit the /etc/default/bluetooth file and set the following options:&lt;br /&gt;
 RFCOMM_ENABLE=true&lt;br /&gt;
 DUND_ENABLE=true&lt;br /&gt;
 DUND_OPTIONS=&amp;quot;--listen --persist call dun&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Create an /etc/ppp/peers/dun file with options like the following:&lt;br /&gt;
 115200&lt;br /&gt;
 192.168.2.202:192.168.2.200&lt;br /&gt;
 passive&lt;br /&gt;
 local&lt;br /&gt;
 noipdefault&lt;br /&gt;
 noauth&lt;br /&gt;
 nodefaultroute&lt;br /&gt;
 &lt;br /&gt;
* Restart bluetooth (/etc/init.d/bluetooth stop ; /etc/init.d/bluetooth start)&lt;br /&gt;
&lt;br /&gt;
To connect from a MacOS 10.3 client:&lt;br /&gt;
&lt;br /&gt;
* Open &amp;quot;Applications/Utilities/Bluetooth Serial Utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Click on &amp;quot;New&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Choose a name, then click &amp;quot;Choose Device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Locate your Neo, then select the &amp;quot;LAN Access Point&amp;quot; service. If your device is not found, or if this service does not show up, then you will need to troubleshoot and fix that before continuing. Bluetooth is designed for short-range communication, so make sure that the devices are physically close to each other. &lt;br /&gt;
&lt;br /&gt;
* Select &amp;quot;Port type: RS-232&amp;quot; and &amp;quot;Show in Network Preferences&amp;quot;. Click OK.&lt;br /&gt;
&lt;br /&gt;
* Open the Network Preferences page then &amp;quot;Show: Network Port Configurations&amp;quot;. Enable the new device that you defined in the previous step and drag it to the bottom of the device list (so that it will not interfere with your other network connections)&lt;br /&gt;
&lt;br /&gt;
* Choose &amp;quot;Show: &amp;lt;your-device-name&amp;gt;&amp;quot;, then click &amp;quot;Modem&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Select &amp;quot;Null Modem 115200&amp;quot; from the list of available devices. Uncheck &amp;quot;Wait for dial tone&amp;quot; and &amp;quot;Enable error correction and compression in modem&amp;quot;. Optionally check &amp;quot;Show modem status in menu bar&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
* Click &amp;quot;Connect&amp;quot;. If everything worked, you will end up with a 'ppp0' device on your Mac with a local address of 192.168.2.200 and you will be able to access your Neo at 192.168.2.202.&lt;br /&gt;
&lt;br /&gt;
===== Bluetooth networking with a Linux system - More secure way =====&lt;br /&gt;
&lt;br /&gt;
''Check this, probably needs some corrections''&lt;br /&gt;
&lt;br /&gt;
Bluetooth should behave just like our usbnet and provide full TCP/IP access to the phone.  BNEP has to be used.&lt;br /&gt;
&lt;br /&gt;
On the laptop&lt;br /&gt;
&lt;br /&gt;
* check these options in /etc/bluetooth/hcid.conf&lt;br /&gt;
 security auto;&lt;br /&gt;
 passkey &amp;quot;your pin&amp;quot;;&lt;br /&gt;
 lm master;&lt;br /&gt;
&lt;br /&gt;
* Start bluetooth&lt;br /&gt;
 # /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
  pand --listen --role NAP --encrypt&lt;br /&gt;
&lt;br /&gt;
* Add in /etc/network/interfaces (see [[USB_Networking]])&lt;br /&gt;
 auto bnep0&lt;br /&gt;
 iface bnep0 inet static&lt;br /&gt;
 address 192.168.1.1&lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
 network 192.168.1.0&lt;br /&gt;
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.1.0/24&lt;br /&gt;
        post-up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        post-up iptables -P FORWARD ACCEPT&lt;br /&gt;
&lt;br /&gt;
On the Neo&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth (see above)&lt;br /&gt;
&lt;br /&gt;
* Scan for the laptop&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:20:E0:5A:FE:C8       laptop&lt;br /&gt;
&lt;br /&gt;
* Set pin&lt;br /&gt;
 root@fic-gta01:~$ passkey-agent 'your pin' 00:20:E0:5A:FE:C8 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
* Connect to the laptop pand&lt;br /&gt;
 root@fic-gta01:~$ pand -c 00:20:E0:5A:FE:C8&lt;br /&gt;
&lt;br /&gt;
* Configure your IP address&lt;br /&gt;
 root@fic-gta01:~$ ifconfig bnep0 192.168.1.2&lt;br /&gt;
 root@fic-gta01:~$ route add default gateway 192.168.1.1&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
==== Using Neo's connection from PC ====&lt;br /&gt;
&lt;br /&gt;
===== Calling Neo's GPRS modem via Bluetooth =====&lt;br /&gt;
&lt;br /&gt;
In this mode, Neo would behave like any other phone which can be used from a PC to get a network connection.&lt;br /&gt;
&lt;br /&gt;
This section not written yet. Has someone set it up?&lt;br /&gt;
&lt;br /&gt;
===== Sharing existing Neo's connection =====&lt;br /&gt;
&lt;br /&gt;
In this mode, Neo already has a network connection (GPRS, WLAN, ...), and it should get shared to the PC. This guide is general on how to forward network connection from a machine running Linux to another machine. If interested, please see more information for example at http://www.gentoo.org/doc/en/bluetooth-guide.xml.&lt;br /&gt;
&lt;br /&gt;
On the PC&lt;br /&gt;
# Check with hciconfig you have working Bluetooth&lt;br /&gt;
On the Neo&lt;br /&gt;
(if on Debian etc., remember modprobe ohci_hcd hci_usb)&lt;br /&gt;
# Initialize Bluetooth as told before:&lt;br /&gt;
## echo 1 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/power_on&lt;br /&gt;
## echo 0 &amp;gt; /sys/bus/platform/devices/neo1973-pm-bt.0/reset&lt;br /&gt;
# install iptables: opkg install http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv4t/base/iptables_1.3.8-r4.1_armv4t.ipk&lt;br /&gt;
# modprobe bnep&lt;br /&gt;
# Check that hcid is running both on Neo and PC (Bluetooth 4.x: install bluez-compat)&lt;br /&gt;
# Use default passkey &amp;quot;1234&amp;quot; in /etc/bluetooth/hcid.conf&lt;br /&gt;
# pand --listen --role NAP --master --autozap # note: after this you might have to the the step 1 below (&amp;quot;On the PC&amp;quot;) or the next step of getting the interface up does not work # note2: you could automate pand listener to start automatically when Bluetooth is turned on&lt;br /&gt;
# ifconfig bnep0 10.0.5.2 up&lt;br /&gt;
# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
# iptables -t nat -A POSTROUTING -j MASQUERADE -o ppp0&lt;br /&gt;
On the PC:&lt;br /&gt;
# sudo pand --connect &amp;lt;your bluetooth mac address&amp;gt; --service NAP --autozap&lt;br /&gt;
# ifconfig bnep0 10.0.5.1 up&lt;br /&gt;
# You can test the connection with ping 10.0.5.2&lt;br /&gt;
# sudo ip route add default via 10.0.5.2 dev bnep0&lt;br /&gt;
# [not automated yet] add GPRS connection's nameservers to /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
== Advanced Audio Distribution Profile (A2DP) ==&lt;br /&gt;
&lt;br /&gt;
=== A2DP quickie ===&lt;br /&gt;
&lt;br /&gt;
* If you experience problems with choppyness, try changing your hcid.conf to include &amp;quot;lm accept,master;&amp;quot; and &amp;quot;lp hold,sniff,park;&amp;quot;  You may also have to bond (commonly known as 'pairing') your phone and your headset.  See http://wiki.bluez.org/wiki/HOWTO/Bonding for details. [[User:Mercury|Mercury]] 17:36, 5 September 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
It's now possible (if a little hackish) to stream mp3 to a bluetooth headset. It's a known problem that the playback rate changes (pitch varies). Timing issues are also likely the reason for gaps in playback.&lt;br /&gt;
&lt;br /&gt;
If the bluez packages are recent enough, you can use a shortcut. I'll document it here and leave the longer version below (the long version also demonstrates the API used by the GUI to manage headsets)&lt;br /&gt;
&lt;br /&gt;
Create /etc/asound.conf with your bluetooth headset's address filled in:&lt;br /&gt;
&lt;br /&gt;
 pcm.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;xx:xx:xx:xx:xx:xx&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
then play a song&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:- | aplay&lt;br /&gt;
&lt;br /&gt;
or for smoother results...&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:song.wav&lt;br /&gt;
 aplay song.wav&lt;br /&gt;
&lt;br /&gt;
=== A2DP ===&lt;br /&gt;
&lt;br /&gt;
If that doesn't work... all the more hackish... install required packages:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;src/gz python http://www.angstrom-distribution.org/unstable/feed/armv4t/python/&amp;quot; &amp;gt;&amp;gt; /etc/ipkg/angstrom-python.conf &lt;br /&gt;
 echo &amp;quot;src/gz base http://www.angstrom-distribution.org/unstable/feed/armv4t/base/&amp;quot; &amp;gt;&amp;gt; /etc/ipkg/angstrom-base.conf&lt;br /&gt;
 ipkg update ; ipkg install python-core python-xml python-dbus bluez-utils bluez-utils-alsa&lt;br /&gt;
&lt;br /&gt;
Create /etc/asound.conf:&lt;br /&gt;
&lt;br /&gt;
 pcm.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 ctl.!default {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 pcm.bluetooth {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
 ctl.bluetooth {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Run the passkey agent (see above in this page)&lt;br /&gt;
&lt;br /&gt;
Fill in your bluetooth headset address below and execute the python script (with your headset turned on)&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 import dbus&lt;br /&gt;
 bus = dbus.SystemBus()&lt;br /&gt;
 manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')&lt;br /&gt;
 conn = manager.ActivateService('audio')&lt;br /&gt;
 audio = dbus.Interface(bus.get_object(conn, '/org/bluez/audio'), 'org.bluez.audio.Manager')&lt;br /&gt;
 path = audio.CreateDevice('00:0D:3C:44:33:22')&lt;br /&gt;
 audio.ChangeDefaultDevice(path)&lt;br /&gt;
 sink = dbus.Interface(bus.get_object(conn, path), 'org.bluez.audio.Sink')&lt;br /&gt;
 sink.Connect()&lt;br /&gt;
&lt;br /&gt;
FINALLY: play a song&lt;br /&gt;
&lt;br /&gt;
 madplay /media/card/song.mp3 --sample-rate=44100 --output=wave:- | aplay&lt;br /&gt;
&lt;br /&gt;
=== Headset Audio ===&lt;br /&gt;
&lt;br /&gt;
[[Neo1973_Audio_Subsystem]] has detail about alsa settings and a proposal for audio scenario management.&lt;br /&gt;
&lt;br /&gt;
To try this out, follow the instructions in the a2dp section to install software and run the passkey agent.&lt;br /&gt;
&lt;br /&gt;
Remove or disable the stuff you put in asound.conf. When using a voice headset, the application uses the regular system audio device and it gets routed to bluetooth in the codec.&lt;br /&gt;
&lt;br /&gt;
Put the headset in pairing mode. Replace the bluetooth address below with your headset's and run the python script:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 import dbus&lt;br /&gt;
 bus = dbus.SystemBus()&lt;br /&gt;
 manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')&lt;br /&gt;
 conn = manager.ActivateService('audio')&lt;br /&gt;
 audio = dbus.Interface(bus.get_object(conn, '/org/bluez/audio'), 'org.bluez.audio.Manager')&lt;br /&gt;
 path = audio.CreateHeadset('00:0B:2E:39:33:22')&lt;br /&gt;
 audio.ChangeDefaultHeadset(path)&lt;br /&gt;
 headset = dbus.Interface (bus.get_object(conn, path), 'org.bluez.audio.Headset')&lt;br /&gt;
 headset.Connect()&lt;br /&gt;
 headset.Play()&lt;br /&gt;
&lt;br /&gt;
Now place a call and try to route it to bluetooth (after it's in progress):&lt;br /&gt;
&lt;br /&gt;
 alsactl -f /etc/gsmbluetooth.state restore&lt;br /&gt;
&lt;br /&gt;
You may also be able to listen to system audio given the right state file:&lt;br /&gt;
&lt;br /&gt;
 alsactl -f /etc/systembluetooth.state restore&lt;br /&gt;
 madplay song.mp3&lt;br /&gt;
&lt;br /&gt;
==Bluetooth Headset on Freerunner ==&lt;br /&gt;
&lt;br /&gt;
[http://lists.openmoko.org/pipermail/support/2008-September/thread.html#2627 This thread] suggests the following:&lt;br /&gt;
&lt;br /&gt;
:Turn on bluetooth. If some of the scripts below fail you may need to reboot [https://docs.openmoko.org/trac/ticket/1744 Bluetooth after suspend]&lt;br /&gt;
&lt;br /&gt;
:Pair your headset according to [http://wiki.bluez.org/ these] instructions or use the script below. The script will change your .asoundrc so make a backup before you run it.&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/BtConfigure.py&lt;br /&gt;
:Put the headset in pairing mode ( this only needs to be done once for each new headset ) and run&lt;br /&gt;
 BtConfigure.py &lt;br /&gt;
&lt;br /&gt;
:Download the the following python scripts to set up the audio service and set the headset as the default device:&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/BtHeadset.py&lt;br /&gt;
:http://handheldshell.com/passkey.py&lt;br /&gt;
:http://handheldshell.com/BtHeadsetDisconnect.py&lt;br /&gt;
:http://handheldshell.com/python-pyalsaaudio_0.3-ml0_armv4t.ipk  - can someone add python-pyalsa to the feeds ?&lt;br /&gt;
&lt;br /&gt;
:Download the the following python scripts if you prefer not to mess around with alsactl:&lt;br /&gt;
&lt;br /&gt;
:http://handheldshell.com/pymixer.py&lt;br /&gt;
:http://handheldshell.com/volume.desktop&lt;br /&gt;
&lt;br /&gt;
:put pymixer in /usr/bin&lt;br /&gt;
&lt;br /&gt;
 chmod u+x /usr/bin/pymixer.py&lt;br /&gt;
&lt;br /&gt;
:put volume.desktop in /usr/share/applications&lt;br /&gt;
&lt;br /&gt;
:Get the [[http://handheldshell.com/gsm_headset.txt alsa state file]] - this state file _WORKS_, mic and earphones are properly routed&lt;br /&gt;
&lt;br /&gt;
 cp gsm_headset.txt /usr/share/openmoko/scenarios/btheadset.state&lt;br /&gt;
&lt;br /&gt;
:from the home screen run Volume&lt;br /&gt;
&lt;br /&gt;
:from the terminal run&lt;br /&gt;
&lt;br /&gt;
 BtHeadset.py &lt;br /&gt;
&lt;br /&gt;
:Wait until it says waiting for call to end, you should hear static in the headset. If you don't something has gone wrong.&lt;br /&gt;
&lt;br /&gt;
:Now start the call&lt;br /&gt;
&lt;br /&gt;
:In the volume control switch to the btheadset tab. press restore&lt;br /&gt;
&lt;br /&gt;
:You should now hear the call in your headset. &lt;br /&gt;
&lt;br /&gt;
:End the call&lt;br /&gt;
&lt;br /&gt;
 BtHeadsetDisconnect.py &lt;br /&gt;
&lt;br /&gt;
:This was all done with the 2008-updates image from sept 4. &lt;br /&gt;
&lt;br /&gt;
:The new scripts rely on a specific format for the .asoundrc . A stanza like this is required :&lt;br /&gt;
&lt;br /&gt;
 pcm.headset {&lt;br /&gt;
     type bluetooth&lt;br /&gt;
     device &amp;lt;headset mac&amp;gt;&lt;br /&gt;
     profile &amp;quot;voice&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
http://www.holtmann.org/papers/bluetooth/ols2006_slides.pdf&lt;br /&gt;
http://wiki.bluez.org/wiki/Audio#org.bluez.Audio&lt;br /&gt;
http://www.gentoo.org/doc/en/bluetooth-guide.xml&lt;br /&gt;
&lt;br /&gt;
{{Languages|Manually_using_Bluetooth}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Bluetooth| ]]&lt;br /&gt;
[[Category:Networking]]&lt;br /&gt;
[[Category:Application Developer]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Community_Updates/2008-11-16</id>
		<title>Community Updates/2008-11-16</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Community_Updates/2008-11-16"/>
				<updated>2008-11-19T03:11:36Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* Infrastructure: X and OE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello everybody, and welcome to the Openmoko Community Newsletter, for the &lt;br /&gt;
November 3th to November 16th timespan. During these two weeks, we had [[FSO]] milestone IV and a testing [[SHR]] image released. Openmoko pulled the download server offline due to an mp3 copyright issue, they are rebuilding everything without any questionable codecs. Werner announced a firmware update for the GSM chip that will allow 3G chips compatibility. And there is movement again towards a better driver for the glamo graphic chip.&lt;br /&gt;
&lt;br /&gt;
== Distributions ==&lt;br /&gt;
&lt;br /&gt;
FSO team released Milestone IV 'Homework', see the [[OpenmokoFramework/Status Update 5]]. To accomodate the forthcoming release of other FSO API consumers like paroli or the SHR phone stack, from now on three FSO-compliant images are build:&lt;br /&gt;
# fso-console-image: minimal system with frameworkd, no user interface manager.&lt;br /&gt;
# fso-illume-image: everything in console-image plus X-Window, plus Enlightenment plus Illume window manager.&lt;br /&gt;
# fso-image: everything in illume-image plus Zhone. Can be used for phone calls. Like previous milestones. But Zhone is going to be faded out.&lt;br /&gt;
&lt;br /&gt;
[[Debian]]: Joachim announced that the preferred installer script is now [http://git.debian.org/?p=pkg-fso/files.git;a=blob_plain;f=install.sh the one in the git]. The [http://pkg-fso.alioth.debian.org/freerunner/install.sh old URL] does redirect to it. Thanks mostly to Luca “Gismo” Capello’s great work, recent improvements include:&lt;br /&gt;
# The use of the general auto-login script “nodm” instead of zhone-session. Session configuration can now be done by modifying /root/.xsession.&lt;br /&gt;
# Device independent frameworkd and accompanying configuration packages. If apt-get upgrade breaks your FreeRunner, try to run ''apt-get install fso-config-gta02''.&lt;br /&gt;
# openmoko-panel-plugin installed by default (running in trayer), to provide keyboard toggle and device control.&lt;br /&gt;
# The use of the packaged kernel instead of wget/tar. To get this going, ''run apt-get install linux-image-2.6.24-openmoko-gta02''&lt;br /&gt;
&lt;br /&gt;
[[SHR]] is getting closer to a first milestone release. According to BillK and others who kindly tested the latest version, the ergonomy feels generally better than other distros. But its early days yet, if you need a phone use 2008.9. Julien Cassignol [http://lists.openmoko.org/nabble.html#nabble-f832940 invites the braves out here] to install a preview [http://shr.bearstech.com/shr-testing/images/neo1973/ SHR-testing] ([http://shr.bearstech.com/trac/wiki/Get_Started wiki help]) and join the Internet Relay Chat on #openmoko-cdevel on FreeNode.&lt;br /&gt;
&lt;br /&gt;
[[FDOM]] is considering wether to [http://lists.projects.openmoko.org/pipermail/fdom-development/2008-November/000178.html move to OpenEmbeded], as this would solve the source redistribution issue nicely.&lt;br /&gt;
&lt;br /&gt;
On November 12th, http://downloads.openmoko.org/releases/ were taken offline due to the discovery of an [http://lists.openmoko.org/pipermail/community/2008-November/035635.html MP3 licensing issue]. Openmoko collaborates with the Software Freedom Law Center in New York on this kind of issues.&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cs.helsinki.fi/u/rantalai/freerunner/numptyphysics/ Aapo] compiled a newer version of [[Numptyphysics]] package on Debian, which can be played landscaped, without keyboard and it uses same datafiles than any other numptyphysics-port is at: http://www.opkg.org/package_3.html.&lt;br /&gt;
&lt;br /&gt;
Signal Applications To Any (Audio) Network, or, ehm,  {{opkg.org|34|SATAN}}, was born... This is a tracker to create simple music, or just jam on the train, bus or café.&lt;br /&gt;
&lt;br /&gt;
Debian users rejoice: [http://lists.openmoko.org/pipermail/community/2008-November/035251.html openmoko-panel-plugin reaches 0.5]. Show and modify you the state of the hardware in you FreeRunner(i.e. gsm, gps ...) with any gtk based windowmanager (i.e. xfce). ([http://lists.openmoko.org/pipermail/community/2008-November/035251.html thread], [http://pkg-fso.alioth.debian.org/debian/pool/main/o/openmoko-panel-plugin/ download]).&lt;br /&gt;
&lt;br /&gt;
[http://www.centerim.org/ Centerim], a terminal-based instant messager, ported on the freerunner ([http://www.opkg.org/package_32.html package], [http://www.cs.helsinki.fi/u/rantalai/freerunner/centerim/ port page])&lt;br /&gt;
&lt;br /&gt;
In the wiki, the [[Applications]] and [[Distributions]] pages were revised. We are having trouble with an engine extention that eats up whitespace, the workaround is to wrap pre formatted text in&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/nowiki&amp;gt; tags. The thematic ''List of X applications'' pages are going away, we want to keep just one big directory style application linkfarm. The idea is that presenting applications in organized ways is better done by http://opkg.org . This directory already has 45 entries, please register and go populate it.&lt;br /&gt;
&lt;br /&gt;
== Infrastructure: X and OE ==&lt;br /&gt;
&lt;br /&gt;
Reports from the [http://n2.nabble.com/Optimization-team-update-%2811-02-%7E-11-08%29-tp1472782p1472782.html optimization team] have been landing weekly. They include patches to fix {{Ticket|1884}} ([suspend/resume] if press power batton right after suspend, the device won't wake up) and patches to [http://git.openmoko.org/?p=qtopia.git;a=commit;h=beb921e93e33c18f451247636a3b460a7c1da361 improve the network registering time]. The openmoko-mediaplayer2: dependency on pulseaudio was removed to use alsa instead. And various utilities should appear shortly in the distributions, including telnet, wget, tcptraceroute, wmiconfig, a bunch of X system fonts and more.&lt;br /&gt;
&lt;br /&gt;
The lack of [http://lists.openmoko.org/pipermail/community/2008-November/035748.html GLamo OpenGL] is still a major dark hole on the FreeRunner's phone liberation front. Hacker culture factoid: did you know that as a software project X is older and about as large as the kernel with a penguin on it, but has an order of magnitude less contributors to it ?&lt;br /&gt;
&lt;br /&gt;
Openmoko will share the glamo documentation with any serious programmer out there who wants to improve the glamo driver. Wolfgang [http://lists.openmoko.org/pipermail/community/2008-November/035768.html wrote:]&lt;br /&gt;
''If someone wants to seriously develop for the glamo, please get in touch with me and we will find a legally correct way to extend the smedia documentation to you. In fact we have done that in a few cases before already, but I'm not&lt;br /&gt;
sure how much actual codes have come out of that. I think very little ;-) So we need some really serious coders that don't mind a tough challenge.''&lt;br /&gt;
&lt;br /&gt;
Following that call, several community members expressed interest, and Andy made a few [http://lists.openmoko.org/pipermail/community/2008-November/035903.html suggestions]. Work on 2D/3D acceleration should be coordinated with Graeme (XorA), who [http://lists.openmoko.org/pipermail/community/2008-November/035551.html is updating the X.org] version in OpenEmbeded to 7.4 (it now completely autodetects hardware on GTA02 with the Framebuffer driver). Over the next few weeks he will be working on Xglamo to bring it into the Xorg family of drivers (''kdrive'' is an evolutionary deadend).&lt;br /&gt;
&lt;br /&gt;
== Kernel ==&lt;br /&gt;
&lt;br /&gt;
The kernel guys are working to switch from the ''stable'' to the ''stable-tracking'' branch. The rationale is that a newer 2.6.28 kernel should improve resume/suspend. And staying closer to upstream allows to spot problems early and one at a time, while branching every X months implies a great effort to jump the gap.&lt;br /&gt;
* NAND/ECC kernel issues are supposedly solved by [http://lists.openmoko.org/pipermail/openmoko-kernel/2008-November/006279.html this patch].&lt;br /&gt;
* Warnings from WLAN driver about &amp;quot;warn_on_slowpath&amp;quot; are gone.&lt;br /&gt;
* Page flipping support added to glamo (seem to be a framebuffer feature, necessary for Android).&lt;br /&gt;
* Accelerometers are working but the driver is still under discussion.&lt;br /&gt;
* Glamo GPIO is still not working on resume, leading to WSOD.&lt;br /&gt;
At the same time, openmoko's kernels and bootloaders are gearing up to support more devices beyond GTA01 and GTA02: GTA03 and another non-Openmoko ARM-based freephone, the E-TEN glofiish M800.&lt;br /&gt;
&lt;br /&gt;
What is coming in the future:&lt;br /&gt;
* Improve WLAN latency: On the same wireless network on which the Neo has an average ping of 70+ms, with large excursions, where a laptop gets an average of 1.7ms and a maximum of about 5-6ms.&lt;br /&gt;
* The [http://lists.openmoko.org/pipermail/openmoko-kernel/2008-November/006256.html replacement of the Atheros SDIO stack underneath the WLAN driver with the Linux SDIO stack] is planned but not scheduled.&lt;br /&gt;
* Jonas Bonn is working on [http://kerneltrap.org/mailarchive/openmoko-kernel/2008/11/5/3922964 Variable Clock Frequency and Power Saving].&lt;br /&gt;
* A /sys interface to disable the touchscreen&lt;br /&gt;
* Userspace breakage, especially in /sys, when the kernel jumps from 2.6.26 to 2.6.28.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
And I thought that we were waiting on Sean et al. to give mechanical legs to the Neo. I was so [http://tw.youtube.com/watch?v=SG3fAHFNs2c literally wrong] ! ([http://lists.openmoko.org/pipermail/community/2008-November/035522.html thread]).&lt;br /&gt;
&lt;br /&gt;
Werner [http://lists.openmoko.org/pipermail/devel/2008-November/003150.html announced] a coming upgrade to the Calypso GSM chip firmware (meanwhile, [[GSM/Flashing|the wiki]] is your friend). The goal with the ''moko9'' firmware is to fix {{Ticket|666}} and introduce a new command AT+CSIM. Than means 3G SIM cards should work. There will be a self-contained update image that can be copied to a uSD card, then booted from there leading to a simple GUI to kick off the upgrade. Release date given: 'soon'. Fixing registration bouncing is not scheduled for this update.&lt;br /&gt;
&lt;br /&gt;
The [http://lists.openmoko.org/pipermail/hardware/2008-October/000768.html GSM-noise buzz issue] is a serious defect that make some phones practically unusable. Electrical engineering is black magick to me, but I get that Joerg and other OM hardware engineers have traced which circuit were interfering, and are experimenting [http://lists.openmoko.org/pipermail/hardware/2008-October/000753.html hardware fixes]. It is unclear how this applies to the A7 hardware revision which seems due soon. Problems with the poor low-frequency audio response with low-impedance headphones are [http://lists.openmoko.org/nabble.html#nabble-td1502610 still with us].&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Improving_user_experience</id>
		<title>Improving user experience</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Improving_user_experience"/>
				<updated>2008-10-21T03:13:36Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* ToDO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''[http://lists.openmoko.org/nabble.html#nabble-td1336450 Please check the discussion page]'''&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
&lt;br /&gt;
Like Wolfgang said in http://n2.nabble.com/Weekly-Engineering-News-41-2008-td1336450.html , Openmoko assembled a team to focus on improving the user experience.  The focus and coverage of this group is:&lt;br /&gt;
&lt;br /&gt;
* We improve the current stack instead of creating new features.&lt;br /&gt;
* Prefer stuffs which could be brought over to gta03 instead of gta02/om2008 specific.&lt;br /&gt;
* Won't work on om2007 stack.  Won't do hardware.&lt;br /&gt;
* May cooperate with Paroli, FSO or system team but we're not them.&lt;br /&gt;
* Will work on Qtopia but with lower priority.&lt;br /&gt;
&lt;br /&gt;
=ToDO=&lt;br /&gt;
&lt;br /&gt;
Here is the current ''draft'' and it will be updated frequently.&lt;br /&gt;
&lt;br /&gt;
* call quality +1&lt;br /&gt;
** echo (in testing [http://docs.openmoko.org/trac/ticket/1267 #1267])&lt;br /&gt;
** volume (alsa-state?)&lt;br /&gt;
* Reduce boot time ([http://docs.openmoko.org/trac/ticket/69 #69],[http://docs.openmoko.org/trac/ticket/1722 #1722])&lt;br /&gt;
* Optimize the touch screen driver on freerunner for finger usage.(in testing [http://docs.openmoko.org/trac/ticket/2031 #2031])&lt;br /&gt;
* A generic python loader to enhance the start up time of python scripts.&lt;br /&gt;
* qtopia&lt;br /&gt;
** bugfix&lt;br /&gt;
** program startup speed&lt;br /&gt;
** response time&lt;br /&gt;
* network&lt;br /&gt;
** scripts: resolv.conf, etc.&lt;br /&gt;
&lt;br /&gt;
==Evaluating==&lt;br /&gt;
&lt;br /&gt;
* Reliably make and receive phone calls and SMS messages&lt;br /&gt;
* suspend/resume&lt;br /&gt;
** resume reliably ([http://docs.openmoko.org/trac/ticket/1884 #1884],[http://docs.openmoko.org/trac/ticket/1991 #1991])&lt;br /&gt;
** take a screenshot before suspend.  display it on screen first thing on resume.&lt;br /&gt;
** do not suspend when usb connected, qtopia indexing, etc.&lt;br /&gt;
* qtopia&lt;br /&gt;
** change the button order of &amp;quot;end call&amp;quot; or &amp;quot;ans call&amp;quot;&lt;br /&gt;
** put speaker button on the dialer app&lt;br /&gt;
* peripherals&lt;br /&gt;
** LED &amp;amp; button behavior [[FreeRunner/Buttons and LEDs]], [[FreeRunner LED signals]]&lt;br /&gt;
***illume: disable suspend by power button when screen blanked&lt;br /&gt;
* devices (command line improvement first)&lt;br /&gt;
** GPRS&lt;br /&gt;
** bluetooth&lt;br /&gt;
** wifi userspace&lt;br /&gt;
* misc&lt;br /&gt;
** opkg: faster algorithm&lt;br /&gt;
&lt;br /&gt;
== Other Wish list==&lt;br /&gt;
&lt;br /&gt;
See [[Wish list from community]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Who_is_Who</id>
		<title>Who is Who</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Who_is_Who"/>
				<updated>2008-10-17T07:03:22Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* Officials members of the Openmoko Team */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you subscribe to a mailing list, you will see people speaking, answering some questions, but you may ask:&lt;br /&gt;
* Who is who?&lt;br /&gt;
* Who can I trust when they say something?&lt;br /&gt;
&lt;br /&gt;
So I propose to fill out this list to help people get to know each other.&lt;br /&gt;
&lt;br /&gt;
== Officials members of the Openmoko Team ==&lt;br /&gt;
&lt;br /&gt;
The Openmoko team (alphabetical by last name):&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;margin: 0em &amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Name !! email !! Wiki username !! IRC nickname !! Position&lt;br /&gt;
|-&lt;br /&gt;
| Allen Chang || || {{user|allen_chang}} || || GTA Hardware Engineer&lt;br /&gt;
|-&lt;br /&gt;
| Andy Green || ''andy'' at openmoko dot ''com'' || {{user|warmcat}} || agreen || Software Developer&lt;br /&gt;
|-&lt;br /&gt;
| Anthony Chang || || || || Software Developer&lt;br /&gt;
|-&lt;br /&gt;
| Candy Chou || || {{user|candy_chou}} || || GTA/HXD Hardware Engineer&lt;br /&gt;
|-&lt;br /&gt;
| Dkay Chen || || {{user|dkay_chen}} || || GTA/HXD Hardware Engineer&lt;br /&gt;
|-&lt;br /&gt;
| Jeremy Chang || || || || Software Developer&lt;br /&gt;
|-&lt;br /&gt;
| Jollen Chen || || || ||  Marketing&lt;br /&gt;
|-&lt;br /&gt;
| Tick Chen || || || || Software Developer&lt;br /&gt;
|-&lt;br /&gt;
| Guillaume 'Charlie' Chereau || ''charlie'' at openmoko dot ''org'' || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Julian Chu || ''julian_chu'' at openmoko dot ''com'' || || || Software Developer&lt;br /&gt;
|-&lt;br /&gt;
| Holger 'Zecke' Freyther || ''zecke'' at openmoko dot ''org'' || || || Software Developer&lt;br /&gt;
|-&lt;br /&gt;
| Graeme Gregory || ''graeme'' at openmoko dot ''org'' || || XorA ||&lt;br /&gt;
|-&lt;br /&gt;
| Carsten Haitzler || ''raster'' at openmoko dot ''org'' || || raster || (Left Openmoko. Here for archives.)&lt;br /&gt;
|-&lt;br /&gt;
| Matt Hsu || || {{user|Matt}} || || Software Developer&lt;br /&gt;
|-&lt;br /&gt;
| Wendy Hung || || || || Testing&lt;br /&gt;
|-&lt;br /&gt;
| Regina Kim || || || || Testing&lt;br /&gt;
|-&lt;br /&gt;
| William Lai || ''will'' at openmoko dot ''com'' || || || Design Team Project Manager&lt;br /&gt;
|-&lt;br /&gt;
| Michael 'Mickey' Lauer || || {{user|Mickey}} || || Software Developer&lt;br /&gt;
|-&lt;br /&gt;
| John Lee || || || || Software Developer&lt;br /&gt;
|-&lt;br /&gt;
| Tim Lee || || {{user|Tim}} || || Hardware Manager&lt;br /&gt;
|-&lt;br /&gt;
| Marek Lindner || ''marek'' at openmoko dot ''com'' || || || Software Developer&lt;br /&gt;
|-&lt;br /&gt;
| Xiangfu Liu || ''xiangfu'' at openmoko dot ''org'' || || || Software Developer&lt;br /&gt;
|-&lt;br /&gt;
| Jan 'Shoragan' Luebbe || || || || Openmoko student (part-time)&lt;br /&gt;
|-&lt;br /&gt;
| Steven Mosher || || {{user|steve}} || || Vice President of Marketing&lt;br /&gt;
|-&lt;br /&gt;
| Sean Moss-Pultz || || {{user|Sean}} || || CEO&lt;br /&gt;
|-&lt;br /&gt;
| Shawn Lin || || {{user|shawn_lin}} || || RF Engineer&lt;br /&gt;
|-&lt;br /&gt;
| Joerg Reisenweber || || {{user|jOERG}} || || Hardware Engineer&lt;br /&gt;
|-&lt;br /&gt;
| Michael Shiloh || ''michael'' at openmoko dot ''org'' || {{user|Michaelshiloh}} || || Head of Developer Relations&lt;br /&gt;
|-&lt;br /&gt;
| Wolfgang Spraul || ''wolfgang'' at openmoko dot ''com'' || || || Vice President of Engineering&lt;br /&gt;
|-&lt;br /&gt;
| Joachim Steiger || ''roh'' at openmoko dot ''org'' || {{user|Roh}} || roh || Central Services&lt;br /&gt;
|-&lt;br /&gt;
| Harry Tsai || ''harry'' at openmoko dot ''com'' || || || Vice President of Sales&lt;br /&gt;
|-&lt;br /&gt;
| Neng-Yu 'Tony' Tu || || {{user|Tony Tu}} || || Software Developer&lt;br /&gt;
|-&lt;br /&gt;
| Brenda Wang || ''brenda_wang'' at openmoko dot ''com'' || {{user|Coolcat}} || || Wiki editor&lt;br /&gt;
|-&lt;br /&gt;
| Harald Welte || ''laforge'' at openmoko dot ''org'' || {{user|HaraldWelte}} || LaF0rge || (Left Openmoko. Here for archives.)&lt;br /&gt;
|-&lt;br /&gt;
| Daniel 'Alphaone' Willmann || || {{user|DanielWillmann}} || || Software Developer&lt;br /&gt;
|-&lt;br /&gt;
| Thomas Wood || || {{user|ThomasWood}} || ||&lt;br /&gt;
|-&lt;br /&gt;
| OLV Wu || ''olv'' at openmoko dot ''org'' || || || Software Developer&lt;br /&gt;
|-&lt;br /&gt;
| Erin Yeh || ''erin_yueh'' at openmoko dot ''org''||{{user|erin}} || || Software Developer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Proeminent community members ==&lt;br /&gt;
&lt;br /&gt;
Only add people who made a significant contribution to the Openmoko community.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;margin: 0em &amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Name !! email !! Wiki username !! IRC nickname !! Position&lt;br /&gt;
|-&lt;br /&gt;
| Lorn Potter || ''lpotter'' at ''trolltech'' dot ''com'' || || lpotter || Qtopia developer&lt;br /&gt;
|-&lt;br /&gt;
| Rod Whitby || || {{user|RodWhitby}} || rwhitby || [[MokoMakefile]] author&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Openmoko Inc]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Om_2008_Locations</id>
		<title>Om 2008 Locations</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Om_2008_Locations"/>
				<updated>2008-09-10T07:35:26Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* Development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Om 2008.8 Locations}}&lt;br /&gt;
{{Om 2008.8}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
'''Locations''' (codenamed ''Splinter'') is a location sharing application based on GPS and SMS.  It&lt;br /&gt;
uses [http://www.openstreetmap.org OpenStreetMap] as its map source and allows users to manage and share saved locations.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; width:100%;floating=&amp;quot;center&amp;quot;; &amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |  &lt;br /&gt;
[[Image:Main.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Edit1.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Om locations4.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:List.png|200px|center]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
In addition to downloading map images from the OSM server, '''Locations''' also supports local maps, which can be downloaded through the [[Installer]].  You can also create your own maps if your city is not available.  For more information, refer to the [[#Create Your Own Maps]] section below. &lt;br /&gt;
&lt;br /&gt;
=== Map === &lt;br /&gt;
Use the '''MAP''' view to manage ''Tags'' with options to ''save'', ''edit'' or ''send''.  '''MAP''' view also allows users to browse maps with zoom in and zoom out for accurate locating.  If you get lost while browsing, simply tap the '''REFRESH''' button to return to your current position.  It's that easy.&lt;br /&gt;
&lt;br /&gt;
=== List  ===&lt;br /&gt;
'''LIST''' view is a a centralized place to view all of your ''Tags''.  The '''LIST''' view is a combination of your own saved ''Tags'' and ''Tags'' received by friends.  &lt;br /&gt;
Selecting a ''Tag'' takes you to the exact position of the Tag in the '''MAP''' view.&lt;br /&gt;
&lt;br /&gt;
=== Save &amp;amp; Send Tags ===&lt;br /&gt;
Once you are connected to GPS, saving and sending tags to friends is fun and simple.&lt;br /&gt;
&lt;br /&gt;
* '''Save''' a Tag&lt;br /&gt;
# Press the '''touch me''' bubble that hovers above your current position.&lt;br /&gt;
# After the message box appears, tap directly into the text boxes under ''Edit Title'' and ''Edit Messages'' to add your ''Tag'' title or message.&lt;br /&gt;
# After entering your title or message, press '''SAVE''', at which point your newly created ''Tag'' will appear in both '''MAP''' and '''LIST''' views.&lt;br /&gt;
# In the '''MAP''' view, tapping on the text of your ''Tag'' provides further options to ''edit'' or ''send'' your your ''Tag'' to a friend.&lt;br /&gt;
&lt;br /&gt;
* '''Send''' a Tag&lt;br /&gt;
# In the '''MAP''' view, tap on the text of your ''Tag'', launching the '''edit * send''' bubble.&lt;br /&gt;
# Pressing on ''send'' will launch the ''Send a Tag'' message box&lt;br /&gt;
# Tap directly within the text boxes to edit your ''Tag'' before sending, or press ''Send'' and your ''Tag'' will be on its way.&lt;br /&gt;
&lt;br /&gt;
== Maps ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Maps can be installed from [http://wiki.openmoko.org/wiki/Om2008.8_Installer Installer].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating=&amp;quot;center&amp;quot;;width:100%; &amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% &amp;quot; |  &lt;br /&gt;
[[Image:Install.png|200px|thumb|catogory]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Install_maps2.png|200px|thumb|choose map]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Install_maps3.png|200px|thumb|install map]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Create Your Own Maps ===&lt;br /&gt;
&lt;br /&gt;
{{Note | Map packing eats lots of memory and fails easily on NEO.}} &lt;br /&gt;
&lt;br /&gt;
'''Locations''' comes with a tool called '''om-locations-map-pack'''. It can be used to pack tile images downloaded from the OSM server into a map package:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
om-locations-map-pack /tmp/diversity-maps my_map.eet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Place '''my_map.eet''' in either of the directories&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/share/om-locations/maps&lt;br /&gt;
/media/card/om-maps&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and '''Locations''' will find it automatically.&lt;br /&gt;
&lt;br /&gt;
=== Share Maps ===&lt;br /&gt;
To share maps for other Neo users to install, see directions on how to * [[CommunityRepository#How_to_release_packages | Add a package to Openmoko Repository]]&lt;br /&gt;
&lt;br /&gt;
=== Use SD Card for Tile Storage (git only) ===&lt;br /&gt;
By default, tiles downloaded from the OSM server are stored in '''/tmp/diversity-maps'''.  They disappear after rebooting.  This default path can be changed to, for example, use SD card by adding/editing one line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tile_path = /media/card&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to '''~/.om-locations/config/om-locations.cfg'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config file may reside in ~/diversity-nav/config/diversity-nav.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Download Tiles of a Region (git only) ===&lt;br /&gt;
You can download tiles of a region by specifying '''-d''' option in '''om-locations-map-pack'''.  The usage is&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
om-locations-map-pack -d version,source,min_level,max_level,lon,lat,width,height &amp;lt;tile-path&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''version''' can be any integer and '''source''' should be &amp;quot;osm&amp;quot;.  For example, to download tiles of Taipei and store them on the SD card, one can&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
om-locations-map-pack -d `date &amp;quot;+%Y%m%d&amp;quot;`,osm,5,16,121.5,25.0,0.1,0.1 /media/card&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example, a region of longitude between '''121.5''' to '''121.6''' and of latitude bwtween '''25.0''' to '''25.1''' is specified.  Tiles in this region and of levels from '''5''' to '''16''' are downloaded to '''/media/card'''.  By instructing '''Locations''' to use '''/media/card''' as its tile path, one could pre-download tiles of any region and have '''Locations''' use them.&lt;br /&gt;
&lt;br /&gt;
== Turn on GPS Logging ==&lt;br /&gt;
For now, nmea logging is off by default. To get nmea log for being used, we can send dbus message after om-locations launched as below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus-send --session --dest=org.openmoko.Diversity --type=method_call --print-reply /org/openmoko/Diversity/objects/0/equipments/nmea org.openmoko.Diversity.Equipment.SetConfig string:log variant:string:/home/root/nmealog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then the log will be saved to /home/root/nmealog in this example. &lt;br /&gt;
&lt;br /&gt;
After om-locations terminated, logging will stop.&lt;br /&gt;
&lt;br /&gt;
The size of log file will increase soon. For now be warned, if the dbus message was sent again, then the log will be overrridden. So backup or do some hacking first before doing that.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
'''Locations''' is written in C and [http://enlightenment.org/p.php?p=about/efl EFL].  It talks to '''diversity-daemon''' through [http://www.freedesktop.org/wiki/Software/dbus D-Bus] to, for example, send tags and download tiles.&lt;br /&gt;
&lt;br /&gt;
To compile diversity-daemon,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ svn checkout svn://svn.projects.openmoko.org/svnroot/diversity/trunk/diversity-daemon&lt;br /&gt;
$ cd diversity-daemon&lt;br /&gt;
$ ./configure --enable-session-bus&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please ensure that at least Control and OpenStreetMap backends are enabled.  If not, check that you have libdbus-glib-1-dev and libcurl4-gnutls-dev (on debian) or similar packages installed.&lt;br /&gt;
&lt;br /&gt;
To compile Locations,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://git.openmoko.org/git/om-locations.git&lt;br /&gt;
$ cd om-locations&lt;br /&gt;
$ ./autogen.sh&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Locations depends directly on recent versions of eet, evas, ecore, edje, and etk from EFL.  Please consult its website for instructions to build them.&lt;br /&gt;
&lt;br /&gt;
== Feedbacks ==&lt;br /&gt;
'''Locations''' uses [https://docs.openmoko.org/trac/ Trac] for bug tracking.  When report bugs, please choose category Locations so that they go to the developers directly.  There is no mailing list specific for '''Locations'''.  Please use http://lists.openmoko.org/mailman/listinfo/ for discussion.&lt;br /&gt;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
'''Locations''' will be I18N-aware (support multi-languages) in the next release.  To have your language(s) in the supported list, one can take this [http://people.openmoko.org/olv/tmp/om-locations_0.2.pot POT file] and upload your translation to [https://docs.openmoko.org/trac/ Trac] by creating a new ticket.&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
[1] git repository of Locations - http://git.openmoko.org/?p=om-locations.git;a=summary&lt;br /&gt;
&lt;br /&gt;
[2] Diversity project - http://diversity.projects.openmoko.org/&lt;br /&gt;
&lt;br /&gt;
[3] Assassin project - http://code.google.com/p/om-assassin/&lt;br /&gt;
&lt;br /&gt;
[4] OpenStreetMap - http://www.openstreetmap.org/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Applications]]&lt;br /&gt;
[[Category:Om 2008.8]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Om_2008_Locations</id>
		<title>Om 2008 Locations</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Om_2008_Locations"/>
				<updated>2008-08-11T09:46:02Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* Install Maps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Om 2008.8}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
'''Locations''' (codenamed ''Splinter'') is a UI application within the [http://diversity.projects.openmoko.org/ Diversity project]. &lt;br /&gt;
'''Locations''' uses [http://www.openstreetmap.org OpenStreetMap] allowing users to browse maps and manage saved locations called ''Tags''.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; width:100%;floating=&amp;quot;center&amp;quot;; &amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |  &lt;br /&gt;
[[Image:Main.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Edit1.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Om locations4.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:List.png|200px|center]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
In addition to downloading map images from the OSM server, '''Locations''' also supports local maps, which can be downloaded through the [[Installer]].  You can also create your own maps if your city is not available.  For more information, refer to the [http://wiki.openmoko.org/wiki/Om2008.8_Locations#Create_Offline_Maps Create Offline Maps] section below. &lt;br /&gt;
&lt;br /&gt;
=== Map === &lt;br /&gt;
Use the '''MAP''' view to manage ''Tags'' with options to ''save'', ''edit'' or ''send''.  '''MAP''' view also allows users to browse maps with zoom in and zoom out for accurate locating.  If you get lost while browsing, simply tap the '''REFRESH''' button to return to your current position.  It's that easy.&lt;br /&gt;
&lt;br /&gt;
=== List  ===&lt;br /&gt;
'''LIST''' view is a a centralized place to view all of your ''Tags''.  The '''LIST''' view is a combination of your own saved ''Tags'' and ''Tags'' received by friends.  &lt;br /&gt;
Selecting a ''Tag'' takes you to the exact position of the Tag in the '''MAP''' view.&lt;br /&gt;
&lt;br /&gt;
=== Save &amp;amp; Send Tags ===&lt;br /&gt;
Once you are connected to GPS, saving and sending tags to friends is fun and simple.&lt;br /&gt;
&lt;br /&gt;
* '''Save''' a Tag&lt;br /&gt;
# Press the '''touch me''' bubble that hovers above your current position.&lt;br /&gt;
# After the message box appears, tap directly into the text boxes under ''Edit Title'' and ''Edit Messages'' to add your ''Tag'' title or message.&lt;br /&gt;
# After entering your title or message, press '''SAVE''', at which point your newly created ''Tag'' will appear in bot '''MAP''' and '''LIST''' views.&lt;br /&gt;
# In the '''MAP''' view, tapping on the text of your ''Tag'' provides further options to ''edit'' or ''send'' your your ''Tag'' to a friend.&lt;br /&gt;
&lt;br /&gt;
* '''Send''' a Tag&lt;br /&gt;
# In the '''MAP''' view, tap on the text of your ''Tag'', launching the '''edit * send''' bubble.&lt;br /&gt;
# Pressing on ''send'' will launch the ''Send a Tag'' message box&lt;br /&gt;
# Tap directly within the text boxes to edit your ''Tag'' before sending, or press ''Send'' and your ''Tag'' will be on its way.&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
'''Locations''' is a UI application, communicating with the diversity-daemon dbus interface to get all the data it needs.&lt;br /&gt;
What '''Locations''' does and shows is based on and through diversity-daemon, like tag management, sharing, map downloading and GPS status.&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
'''Locations''' uses the [http://enlightenment.org/p.php?p=about&amp;amp;l=en EFL library] to implement UI.&lt;br /&gt;
Synced with diversity-daemon, '''Locations''' has objects, world and viewport concepts. There is a dbus wrapper layer for the diversity-daemon. &lt;br /&gt;
In the UI, we have widgets like dialogs, menus, different objects like tags, map tilesets, etc.&lt;br /&gt;
 &lt;br /&gt;
In control part, we have a nav object for controlling the navigation, showing the tileset.&lt;br /&gt;
&lt;br /&gt;
== Create Offline Maps ==&lt;br /&gt;
'''Locations''' comes with a tool called '''om-locations-map-pack'''. It can be used to pack tile images downloaded from OSM server into a map package:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
om-locations-map-pack /tmp/diversity-maps my_map.eet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Place '''my_map.eet''' in either of the directories&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/share/om-locations/maps&lt;br /&gt;
/media/card/om-maps&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and '''Locations''' will find it automatically.&lt;br /&gt;
&lt;br /&gt;
=== Share Maps ===&lt;br /&gt;
To share maps for other Neo users to install, see directions on how to * [[CommunityRepository#How_to_release_packages | Add a package to Openmoko Repository]]&lt;br /&gt;
&lt;br /&gt;
== Install Maps ==&lt;br /&gt;
To install maps from [http://wiki.openmoko.org/wiki/Om2008.8_Installer Installer].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating=&amp;quot;center&amp;quot;;width:100%; &amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% &amp;quot; |  &lt;br /&gt;
[[Image:Install.png|200px|thumb|catogory]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Install_maps2.png|200px|thumb|choose map]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Install_maps3.png|200px|thumb|install map]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
[1] Diversity project - http://diversity.projects.openmoko.org/&lt;br /&gt;
&lt;br /&gt;
[2] Assassin project - http://code.google.com/p/om-assassin/&lt;br /&gt;
&lt;br /&gt;
[3] OpenStreetMap - http://www.openstreetmap.org/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Applications]]&lt;br /&gt;
[[Category:Openmoko2008.8]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Om_2008_Locations</id>
		<title>Om 2008 Locations</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Om_2008_Locations"/>
				<updated>2008-08-11T09:44:00Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* install maps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Om 2008.8}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
'''Locations''' (codenamed ''Splinter'') is a UI application within the [http://diversity.projects.openmoko.org/ Diversity project]. &lt;br /&gt;
'''Locations''' uses [http://www.openstreetmap.org OpenStreetMap] allowing users to browse maps and manage saved locations called ''Tags''.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; width:100%;floating=&amp;quot;center&amp;quot;; &amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |  &lt;br /&gt;
[[Image:Main.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Edit1.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Om locations4.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:List.png|200px|center]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
In addition to downloading map images from the OSM server, '''Locations''' also supports local maps, which can be downloaded through the [[Installer]].  You can also create your own maps if your city is not available.  For more information, refer to the [http://wiki.openmoko.org/wiki/Om2008.8_Locations#Create_Offline_Maps Create Offline Maps] section below. &lt;br /&gt;
&lt;br /&gt;
=== Map === &lt;br /&gt;
Use the '''MAP''' view to manage ''Tags'' with options to ''save'', ''edit'' or ''send''.  '''MAP''' view also allows users to browse maps with zoom in and zoom out for accurate locating.  If you get lost while browsing, simply tap the '''REFRESH''' button to return to your current position.  It's that easy.&lt;br /&gt;
&lt;br /&gt;
=== List  ===&lt;br /&gt;
'''LIST''' view is a a centralized place to view all of your ''Tags''.  The '''LIST''' view is a combination of your own saved ''Tags'' and ''Tags'' received by friends.  &lt;br /&gt;
Selecting a ''Tag'' takes you to the exact position of the Tag in the '''MAP''' view.&lt;br /&gt;
&lt;br /&gt;
=== Save &amp;amp; Send Tags ===&lt;br /&gt;
Once you are connected to GPS, saving and sending tags to friends is fun and simple.&lt;br /&gt;
&lt;br /&gt;
* '''Save''' a Tag&lt;br /&gt;
# Press the '''touch me''' bubble that hovers above your current position.&lt;br /&gt;
# After the message box appears, tap directly into the text boxes under ''Edit Title'' and ''Edit Messages'' to add your ''Tag'' title or message.&lt;br /&gt;
# After entering your title or message, press '''SAVE''', at which point your newly created ''Tag'' will appear in bot '''MAP''' and '''LIST''' views.&lt;br /&gt;
# In the '''MAP''' view, tapping on the text of your ''Tag'' provides further options to ''edit'' or ''send'' your your ''Tag'' to a friend.&lt;br /&gt;
&lt;br /&gt;
* '''Send''' a Tag&lt;br /&gt;
# In the '''MAP''' view, tap on the text of your ''Tag'', launching the '''edit * send''' bubble.&lt;br /&gt;
# Pressing on ''send'' will launch the ''Send a Tag'' message box&lt;br /&gt;
# Tap directly within the text boxes to edit your ''Tag'' before sending, or press ''Send'' and your ''Tag'' will be on its way.&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
'''Locations''' is a UI application, communicating with the diversity-daemon dbus interface to get all the data it needs.&lt;br /&gt;
What '''Locations''' does and shows is based on and through diversity-daemon, like tag management, sharing, map downloading and GPS status.&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
'''Locations''' uses the [http://enlightenment.org/p.php?p=about&amp;amp;l=en EFL library] to implement UI.&lt;br /&gt;
Synced with diversity-daemon, '''Locations''' has objects, world and viewport concepts. There is a dbus wrapper layer for the diversity-daemon. &lt;br /&gt;
In the UI, we have widgets like dialogs, menus, different objects like tags, map tilesets, etc.&lt;br /&gt;
 &lt;br /&gt;
In control part, we have a nav object for controlling the navigation, showing the tileset.&lt;br /&gt;
&lt;br /&gt;
== Create Offline Maps ==&lt;br /&gt;
'''Locations''' comes with a tool called '''om-locations-map-pack'''. It can be used to pack tile images downloaded from OSM server into a map package:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
om-locations-map-pack /tmp/diversity-maps my_map.eet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Place '''my_map.eet''' in either of the directories&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/share/om-locations/maps&lt;br /&gt;
/media/card/om-maps&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and '''Locations''' will find it automatically.&lt;br /&gt;
&lt;br /&gt;
=== Share Maps ===&lt;br /&gt;
To share maps for other Neo users to install, see directions on how to * [[CommunityRepository#How_to_release_packages | Add a package to Openmoko Repository]]&lt;br /&gt;
&lt;br /&gt;
== Install Maps ==&lt;br /&gt;
To install maps from [http://wiki.openmoko.org/wiki/Om2008.8_Installer Installer].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
[1] Diversity project - http://diversity.projects.openmoko.org/&lt;br /&gt;
&lt;br /&gt;
[2] Assassin project - http://code.google.com/p/om-assassin/&lt;br /&gt;
&lt;br /&gt;
[3] OpenStreetMap - http://www.openstreetmap.org/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Applications]]&lt;br /&gt;
[[Category:Openmoko2008.8]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Install_maps3.png</id>
		<title>File:Install maps3.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Install_maps3.png"/>
				<updated>2008-08-11T09:43:35Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Install_maps2.png</id>
		<title>File:Install maps2.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Install_maps2.png"/>
				<updated>2008-08-11T09:43:01Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Om_2008_Sudoku</id>
		<title>Om 2008 Sudoku</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Om_2008_Sudoku"/>
				<updated>2008-08-07T06:57:54Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Om 2008.8}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
'''Sudoku''' is a UI application and it plays like normal sudoku puzzle games. It is a logic-based number-placement puzzle. The objective is to fill a 9×9 grid so that each column, each row, and each of the nine 3×3 boxes (also called blocks or regions) contains the digits from 1 to 9 only one time each. The puzzle setter provides a partially completed grid. For more information, refer to the [http://en.wikipedia.org/wiki/Sudoku  Sudoku rules].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; width:100%;floating=&amp;quot;center&amp;quot;; &amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |  &lt;br /&gt;
[[Image:Sudoku-1.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Sudoku-2.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Sudoku-3.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Sudoku-4.png|200px|center]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
There are 5 icons and a number keyboard at the bottom. Choose one empty grid and pick up one suitable number to fill in! If the number is wrong/illegal, then number color becomes red. &lt;br /&gt;
&lt;br /&gt;
* icons (from left to right)&lt;br /&gt;
# Create New puzzle&lt;br /&gt;
# Undo a step &lt;br /&gt;
# Redo a step&lt;br /&gt;
# Clear all filled-in numbers&lt;br /&gt;
# Check solved or not solved&lt;br /&gt;
&lt;br /&gt;
* 1-9 number keyboard &lt;br /&gt;
&lt;br /&gt;
== Source code ==&lt;br /&gt;
This UI application is written by python. Download the source code, it comes with a generator and solver. You can generate different level of puzzles. Code is from [https://svn.projects.openmoko.org/svnroot/pyefl-sudoku here]. Check the [http://projects.openmoko.org/plugins/scmsvn/viewcvs.php/README?rev=16&amp;amp;root=pyefl-sudoku&amp;amp;view=markup README] document!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
[1] Sudoku project - http://projects.openmoko.org/projects/pyefl-sudoku/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Applications]]&lt;br /&gt;
[[Category:Openmoko2008.8]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Sudoku-4.png</id>
		<title>File:Sudoku-4.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Sudoku-4.png"/>
				<updated>2008-08-07T06:32:20Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: om-soduok 004 screenshot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;om-soduok 004 screenshot&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Sudoku-3.png</id>
		<title>File:Sudoku-3.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Sudoku-3.png"/>
				<updated>2008-08-07T06:32:01Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: om-soduok 003 screenshot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;om-soduok 003 screenshot&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Sudoku-2.png</id>
		<title>File:Sudoku-2.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Sudoku-2.png"/>
				<updated>2008-08-07T06:31:35Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: om-soduok 002 screenshot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;om-soduok 002 screenshot&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Sudoku-1.png</id>
		<title>File:Sudoku-1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Sudoku-1.png"/>
				<updated>2008-08-07T06:31:09Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: om-soduok 001 screenshot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;om-soduok 001 screenshot&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Om_2008_Installer</id>
		<title>Om 2008 Installer</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Om_2008_Installer"/>
				<updated>2008-08-07T03:22:33Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Om 2008.8}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
'''Installer''' is a tool for ''installing'', ''updating'' and ''uninstalling'' programs on your Neo.  &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating=&amp;quot;center&amp;quot;;width:100%; &amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% &amp;quot; |  &lt;br /&gt;
[[Image:Install.png|200px|thumb|catogory]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Install1.png|200px|thumb|choose program]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Installer4.png|200px|thumb|install application]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Om2008 installer2.png|200px|thumb|install application]]&lt;br /&gt;
|}&lt;br /&gt;
==Install an Application ==&lt;br /&gt;
'''Installer''' uses a WiFi or [http://svn.openmoko.org/developers/tick/Test_env_script_GTA02A5/setneo USB] network connection to connect to repositories.&lt;br /&gt;
&lt;br /&gt;
===Instructions===&lt;br /&gt;
&lt;br /&gt;
'''[1]'''   Connect to a WiFi network in the '''Settings''' application, or manually connect to a [http://svn.openmoko.org/developers/tick/Test_env_script_GTA02A5/setneo USB] network connection before proceeding to '''Installer'''.&lt;br /&gt;
&lt;br /&gt;
'''[2]'''   In '''Installer''', press the '''INSTALL''' button from the bottom bar to view a list of Categories.  This is also the default page of the Installer application.&lt;br /&gt;
&lt;br /&gt;
'''[3]'''   Select a Category from the category list, then select a package to install.&lt;br /&gt;
&lt;br /&gt;
'''[4]'''   In the package information page, press the image box and confirm to begin.&lt;br /&gt;
&lt;br /&gt;
'''[5]'''   Once the progress bar shows '''Done''', you will return to the Installer default page.  Installation is then complete.&lt;br /&gt;
&lt;br /&gt;
* To ''update'' or ''uninstall'' packages, simply replace step '''[2]''' with the desired function '''UPDATE''' or '''UNINSTALL''' and repeat steps '''[3]''' through '''[5]'''.&lt;br /&gt;
&lt;br /&gt;
==Sharing Applications==&lt;br /&gt;
Sharing applications amongst users and developers is easy using the [[CommunityRepository | Multiverse]].  Anyone can upload applications or even their own repository to share with fellow Neo owners.&lt;br /&gt;
&lt;br /&gt;
===How to add a package to Openmoko Repository===&lt;br /&gt;
&lt;br /&gt;
You can release your package with ipk file. &lt;br /&gt;
&lt;br /&gt;
* [[Create package on projects.openmoko.org and upload]]&lt;br /&gt;
* '''Create ipk files'''&lt;br /&gt;
** Using OE&lt;br /&gt;
** [[Toolchain|Meta-toolchain]]&lt;br /&gt;
&lt;br /&gt;
==== Package Tags ====&lt;br /&gt;
Packages in '''Installer''' are displayed according to '''Package Tags'''.&lt;br /&gt;
To display a package through [[Om2008.8_Installer |Installer]], add the appropriate tag message. &lt;br /&gt;
{|&lt;br /&gt;
! Category !! Tag &lt;br /&gt;
|- &lt;br /&gt;
| Communication || group::communication &lt;br /&gt;
|-&lt;br /&gt;
| Development   || group::programming&lt;br /&gt;
|-&lt;br /&gt;
| Games         || group::games&lt;br /&gt;
|-&lt;br /&gt;
| Maps          || group::maps&lt;br /&gt;
|-&lt;br /&gt;
| Miscellaneous || group::unknown&lt;br /&gt;
|-&lt;br /&gt;
| Network       || group::network&lt;br /&gt;
|-&lt;br /&gt;
|Repos          || group::repos&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* For OpenEmbedded users, add a Tag by adding one line in your bb file&lt;br /&gt;
:For [http://code.google.com/p/comic-reader/source/browse/trunk/data/comic-reader_svn.bb example]:&lt;br /&gt;
 PKG_TAGS_${PN} = &amp;quot;group::games&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Add a Repository ==== &lt;br /&gt;
===== Add repositories by installing repository packages =====&lt;br /&gt;
* The community-repository is installed by default in [[Om2008.8 | Om 2008.8]].&lt;br /&gt;
&lt;br /&gt;
===== Add repository manually =====&lt;br /&gt;
* Create a file, here we call it community-repos.conf&lt;br /&gt;
 &amp;gt; echo &amp;quot;arch community-repos 50&amp;quot; &amp;gt; community-repos.conf&lt;br /&gt;
 &amp;gt; echo &amp;quot;src community-repos http://downloads.openmoko.org/repository/Multiverse/&amp;quot; &amp;gt;&amp;gt; community-repos.conf&lt;br /&gt;
* Connect to your Neo with USB&lt;br /&gt;
 &amp;gt; sudo ifconfig usb0 192.168.0.200&lt;br /&gt;
 &amp;gt; scp community-repos.conf root@192.168.0.202:/etc/opkg/&lt;br /&gt;
* Let your Neo connect to the Internet&lt;br /&gt;
** For USB users:&lt;br /&gt;
 &amp;gt; echo 1 | sudo tee  /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
 &amp;gt; sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE&lt;br /&gt;
 &amp;gt; scp /etc/resolv.conf root@192.168.0.202:/etc/&lt;br /&gt;
** For geek users:&lt;br /&gt;
 &amp;gt; ssh root@192.168.0.202&lt;br /&gt;
 &amp;gt; iwlist eth0 scan&lt;br /&gt;
 Find a usable AP lets say OpenMind (Support it's an open AP)&lt;br /&gt;
 &amp;gt; iwconfig eth0 essid OpenMind&lt;br /&gt;
 &amp;gt; udhcpc eth0&lt;br /&gt;
 Then pray, if successfull, remove default gw *twice*.&lt;br /&gt;
 &amp;gt; route -n  # to see your gateway of eth0 say 192.168.1.1&lt;br /&gt;
 &amp;gt; route del default&lt;br /&gt;
 &amp;gt; route del default&lt;br /&gt;
 &amp;gt; route add default gw 192.168.1.1 eth0&lt;br /&gt;
 Then you can ping wiki.openmoko.org for testing :)&lt;br /&gt;
** For GUI WiFi user:&lt;br /&gt;
 Click Settings&lt;br /&gt;
 Click WiFi&lt;br /&gt;
 Select an AP&lt;br /&gt;
 Input password if needed&lt;br /&gt;
 &lt;br /&gt;
* Refresh the opkg metadata database&lt;br /&gt;
 after connecting to Neo&lt;br /&gt;
 &amp;gt; opkg update&lt;br /&gt;
&lt;br /&gt;
== Technical Features ==&lt;br /&gt;
* '''Installer''' is a specialized GUI front-end of [http://packagekit.org/ Packagekit] over DBus interface.&lt;br /&gt;
&lt;br /&gt;
* Please run '''Installer''' under stable network conditions and enough power supply.  Once '''Installer''' is launched, it will actually try to detect repositories you installed. This will take some time if your network condition is not stable.&lt;br /&gt;
** If you do not have access to WiFi, a [http://svn.openmoko.org/developers/tick/Test_env_script_GTA02A5/setneo USB] connection is recommended.&lt;br /&gt;
* The default Packagekit backend on Neo is [[opkg]], but is not restricted to opkg. &lt;br /&gt;
&lt;br /&gt;
* '''Installer''' refreshes the package meta-data every 2 days.&lt;br /&gt;
&lt;br /&gt;
* While running '''Installer''', it will also launch packagekitd automatically, in which it will lock the libopkg for synchronization issues.  If you want to use opkg, you may terminate '''Installer''' and killall packagekitd.&lt;br /&gt;
&lt;br /&gt;
* You can also talk with Packagekit through DBus.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to the reference section below.&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
[1] Installer project - http://code.google.com/p/om-assassin/&lt;br /&gt;
&lt;br /&gt;
[2] Packagekit project - http://packagekit.org/&lt;br /&gt;
&lt;br /&gt;
[3] Opkg package management - http://wiki.openmoko.org/wiki/Opkg&lt;br /&gt;
&lt;br /&gt;
[[Category:Applications]]&lt;br /&gt;
[[Category:Openmoko2008.8]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Om2008.8</id>
		<title>Om2008.8</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Om2008.8"/>
				<updated>2008-08-07T03:18:34Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* Share */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Openmoko2008.8}}&lt;br /&gt;
{{Om 2008.8}}&lt;br /&gt;
&lt;br /&gt;
{{Distributions|Openmoko2008.8}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
'''Om 2008.8''' is the successor to [[OM2007.2|Om 2007.2]] and had '''ASU''' as a codename. It will be launched on August 08, 2008. Om2008.8 uses EFL for the launcher, custom UI applications and [[QtopiaOnX11|Qtopia on X11]] for telephony.&lt;br /&gt;
It is the first step from [[GTK+]] on x11 to using multiple toolkits in combination. Om2008.8 now supports [http://www.enlightenment.org/ EFL], [http://trolltech.com/products/qtopia Qtopia] and [[GTK+]] applications.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; width:100%;floating=&amp;quot;center&amp;quot;; &amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |  &lt;br /&gt;
[[Image:Om2008 uboot.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Om2008 home.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Installer4.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Om2008 installer1.png|200px|center]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |  &lt;br /&gt;
[[Image:Main.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Edit1.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Om locations4.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:List.png|200px|center]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What's New ==&lt;br /&gt;
'''Om 2008.8''' was designed to be as empty as possible, for the very purpose of showcasing your ideas.&lt;br /&gt;
&lt;br /&gt;
Think of our products as museums. We're building the environment. Each one different from the next. You'll get all the free art supplies you could imagine because we want you to add your own meaning. You choose: consume, create, or both.&lt;br /&gt;
&lt;br /&gt;
Either way you create your own meaning. It's about you. &lt;br /&gt;
&lt;br /&gt;
=== Customize ===&lt;br /&gt;
'''Om 2008.8''' allows you to customize your Neo in many aspects.&lt;br /&gt;
&lt;br /&gt;
*  '''Use the Installer''' to find apps and modifications for your Neo.&lt;br /&gt;
*  '''Re-design themes''' by customizing your own [[Edje]] files.&lt;br /&gt;
*  '''Source Codes''' are publicly available, allowing for customization all the way down to low level sytems.&lt;br /&gt;
&lt;br /&gt;
=== Share ===&lt;br /&gt;
* share your locations  ([[Om2008.8_Locations|Locations]])&lt;br /&gt;
:you can use splinter to save your location and even send it to friends via sms.  How cool is that?!&lt;br /&gt;
* share your applications ([[Om2008.8_Installer|Installer]])&lt;br /&gt;
:share your ideas with the world by adding packages to the [http://wiki.openmoko.org/wiki/CommunityRepository Community Repository].  It is a great database for all things openmoko and can easily be accessed by any user through the [[Om2008.8 Installer|Installer]].&lt;br /&gt;
&lt;br /&gt;
== Feature Plan ==&lt;br /&gt;
&lt;br /&gt;
You can see a list of available and planned features at [[Om2008.8 Feature Plan|Om 2008.8 Feature Plan]].&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
[http://buildhost.openmoko.org/daily/freerunner/200808/ Download images]&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
For instructions on how to flash your device, please refer to [[Flashing the Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Distributions]]&lt;br /&gt;
[[Category:Openmoko2008.8]]&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
''Last updated on'' '''August 7th, 2008'''&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Om2008.8</id>
		<title>Om2008.8</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Om2008.8"/>
				<updated>2008-08-07T03:16:14Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* Share */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Openmoko2008.8}}&lt;br /&gt;
{{Om 2008.8}}&lt;br /&gt;
&lt;br /&gt;
{{Distributions|Openmoko2008.8}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
'''Om 2008.8''' is the successor to [[OM2007.2|Om 2007.2]] and had '''ASU''' as a codename. It will be launched on August 08, 2008. Om2008.8 uses EFL for the launcher, custom UI applications and [[QtopiaOnX11|Qtopia on X11]] for telephony.&lt;br /&gt;
It is the first step from [[GTK+]] on x11 to using multiple toolkits in combination. Om2008.8 now supports [http://www.enlightenment.org/ EFL], [http://trolltech.com/products/qtopia Qtopia] and [[GTK+]] applications.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; width:100%;floating=&amp;quot;center&amp;quot;; &amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |  &lt;br /&gt;
[[Image:Om2008 uboot.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Om2008 home.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Installer4.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Om2008 installer1.png|200px|center]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |  &lt;br /&gt;
[[Image:Main.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Edit1.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Om locations4.png|200px|center]]&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% &amp;quot; |&lt;br /&gt;
[[Image:List.png|200px|center]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What's New ==&lt;br /&gt;
'''Om 2008.8''' was designed to be as empty as possible, for the very purpose of showcasing your ideas.&lt;br /&gt;
&lt;br /&gt;
Think of our products as museums. We're building the environment. Each one different from the next. You'll get all the free art supplies you could imagine because we want you to add your own meaning. You choose: consume, create, or both.&lt;br /&gt;
&lt;br /&gt;
Either way you create your own meaning. It's about you. &lt;br /&gt;
&lt;br /&gt;
=== Customize ===&lt;br /&gt;
'''Om 2008.8''' allows you to customize your Neo in many aspects.&lt;br /&gt;
&lt;br /&gt;
*  '''Use the Installer''' to find apps and modifications for your Neo.&lt;br /&gt;
*  '''Re-design themes''' by customizing your own [[Edje]] files.&lt;br /&gt;
*  '''Source Codes''' are publicly available, allowing for customization all the way down to low level sytems.&lt;br /&gt;
&lt;br /&gt;
=== Share ===&lt;br /&gt;
* share your locations  ([[Om2008.8_Locations|Locations]])&lt;br /&gt;
:you can use splinter to save your location and even send it to friends via sms.  How cool is that?!&lt;br /&gt;
* share your applications ([[Om2008.8_Installer|Installer]])&lt;br /&gt;
:share your ideas with the world by adding packages to the [http://downloads.openmoko.org/communityrepository/ Openmoko Repository].  It is a great database for all things openmoko and can easily be accessed by any user through the [[Om2008.8 Installer|Installer]].&lt;br /&gt;
&lt;br /&gt;
== Feature Plan ==&lt;br /&gt;
&lt;br /&gt;
You can see a list of available and planned features at [[Om2008.8 Feature Plan|Om 2008.8 Feature Plan]].&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
[http://buildhost.openmoko.org/daily/freerunner/200808/ Download images]&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
For instructions on how to flash your device, please refer to [[Flashing the Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Distributions]]&lt;br /&gt;
[[Category:Openmoko2008.8]]&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
''Last updated on'' '''August 7th, 2008'''&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Main_Page"/>
				<updated>2008-08-04T07:17:27Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
&lt;br /&gt;
[[Image:Freerunner02.gif|thumb|200px|right|Neo Freerunners]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 2ex; text-align: center; font: bold x-large sans&amp;quot;&amp;gt;[[Openmoko]]™ - Open. Mobile. Free.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Openmoko™ born as an Open Source project under GPL and LGPL license and dedicated to delivering an open software stack on mobile platforms, shipped its first product, the Neo 1973, on July 9 2007; and then, turned the project into a start-up company with one aim: create great mobile products using the Openmoko stack: Open. Mobile. Free. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;4&amp;quot; cellpadding=&amp;quot;6&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;color:white&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background:#ff6600; text-align:center; font-weight:bold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot;&amp;gt;News and events&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot;&amp;gt;New to Openmoko?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot; style=&amp;quot;background:#333333&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
* 4-5/8: Openmoko is at Linuxworld, San Francisco&lt;br /&gt;
* 30/7: The FSO distribution releases [http://downloads.openmoko.org/framework/milestone2/ milestone 2] &lt;br /&gt;
* 25/7: Community helps, [[GPS Problems]] fixed&lt;br /&gt;
* 20/7: [http://wiki.openmoko.org/wiki/Debian Debian] added to the Distributions page&lt;br /&gt;
* 27/6: GTA 02 shipping in the  [http://lists.openmoko.org/pipermail/community/2008-June/019943.html material world]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
===&amp;lt;font color=white&amp;gt;About Openmoko&amp;lt;/font&amp;gt;===&lt;br /&gt;
* [[Introduction]]&lt;br /&gt;
* [[Neo FreeRunner|Neo FreeRunner phone]]&lt;br /&gt;
* [[Supported Hardware]]&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;font color=white&amp;gt;Getting Openmoko&amp;lt;/font&amp;gt;===&lt;br /&gt;
* [[Getting Openmoko]]&lt;br /&gt;
* [http://www.openmoko.com Openmoko Inc.]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background:#ff6600; text-align:center; font-weight:bold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot;&amp;gt;for Users&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot;&amp;gt;for Developers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot; style=&amp;quot;background:#333333&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
===&amp;lt;font color=white&amp;gt;Getting started&amp;lt;/font&amp;gt;===&lt;br /&gt;
* [[Getting Started with your Neo FreeRunner | Neo FreeRunner getting started guide]]&lt;br /&gt;
* [[Getting Started FAQ]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;font color=white&amp;gt;Software&amp;lt;/font&amp;gt;===&lt;br /&gt;
* [[Distributions|Openmoko software distributions]]&lt;br /&gt;
* [[OpenmokoFramework|FSO distribution]]&lt;br /&gt;
* [[Openmoko2007.2|2007.2 distribution]]&lt;br /&gt;
* [[ASU|ASU distribution]]&lt;br /&gt;
* [[Qtopia_on_FreeRunner|Qtopia Distribution]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;font color=white&amp;gt;Openmoko community&amp;lt;/font&amp;gt;===&lt;br /&gt;
* [[Discussion_Forums| Discussion Forums]]&lt;br /&gt;
* [[CommunityRepository|Community repository]]&lt;br /&gt;
* [[Development resources | Development resources]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
===&amp;lt;font color=white&amp;gt;Applications development&amp;lt;/font&amp;gt;===&lt;br /&gt;
* [[Toolchain|The toolchain]]&lt;br /&gt;
&amp;lt;!-- * &amp;lt;font color=white&amp;gt;VMware&amp;lt;/font&amp;gt; --&amp;gt;&lt;br /&gt;
* [[Python|Introduction to Python]]&lt;br /&gt;
* [http://projects.openmoko.org/ Projects hosted in our GForge]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;font color=white&amp;gt;Integration and distributions&amp;lt;/font&amp;gt;===&lt;br /&gt;
* [[OpenEmbedded|The OpenEmbedded distribution building framework]]&lt;br /&gt;
* [[MokoMakefile|Building Openmoko using the MokoMakefile ]]&lt;br /&gt;
* [[Opkg|Opkg the package manager]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;font color=white&amp;gt;Emulation&amp;lt;/font&amp;gt;===&lt;br /&gt;
* [[Openmoko under QEMU]] &lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 2ex; margin-top: 1ex; text-align: center; font: bold x-large sans&amp;quot;&amp;gt;What do we mean by Open. Mobile. Free. ?&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Openmoko stack, which includes a full X server, allows users and developers to transform mobile hardware platforms into a unique products. Our licence gives developers and users freedom from the &amp;quot;iron to the eyeballs,&amp;quot; freedom to cosmetically customize their device or radically remix it; change the wallpaper or rebuild the entire house! It grants them the freedom, for example, to transform a phone into a medical device or point of sale device or the freedom to simply install their own favorite software. Beyond freeing the software on our devices we have also released our CAD files under Creative Commons. By freeing the software under GPL, we enable the community of FOSS developers to &amp;quot;make it new.&amp;quot; By freeing the CAD files we give industrial designers and engineers this same opportunity. And at Linux world 2008, we will announce the release of the Schematics for our products. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Languages|Main Page}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Information| ]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Diversity-radar_intro.pdf</id>
		<title>File:Diversity-radar intro.pdf</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Diversity-radar_intro.pdf"/>
				<updated>2008-06-09T03:46:06Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: diversity radar introduction slide for regular training&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;diversity radar introduction slide for regular training&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Regular_Training_Programs</id>
		<title>Regular Training Programs</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Regular_Training_Programs"/>
				<updated>2008-06-09T03:45:07Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* Programs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
To practice and improve the skills for team work, every software engineer at openmoko Taipei office would attend weekly training / experience sharing events. and be one of the speakers of the regular events by turns.&lt;br /&gt;
&lt;br /&gt;
== Orientations ==&lt;br /&gt;
The orientations and topics are dedicated to the purpose as following:&lt;br /&gt;
# [[OpenMoko_FOSS_Tools_Introduction]]&lt;br /&gt;
# Manufacturing process and Factory testing procedure&lt;br /&gt;
# Case study for OpenMoko software architecture and designs&lt;br /&gt;
# Phone functionality and inter-connectivity&lt;br /&gt;
# Recent development progress of [[OpenLab]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
Rough schedule for each of the events/programs done and planned by openmoko software team as following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Topic !! Speaker !! Date !! Summary / Notes !! Slides / Reference Materials&lt;br /&gt;
|- style=&amp;quot;background-color:#eeeedd;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot;|Regular Training Program&lt;br /&gt;
|-&lt;br /&gt;
|Introduction to Autotools || [[User:jserv|Jim Huang]] || Jul 8, 2007 || Brief introduction to GNU Autotools (automake, autoconf, and libtool), which are useful for cross development and diverse environments. || [[Media:moko-autotools.pdf|moko-autotools.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|Text Layout in GTK+ World || olv || Jul 20, 2007 || An introduction to pango and text layout. || [[Media:Text_layout_in_gtk.pdf|Text_layout_in_gtk.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|Introduction to GSM Multiplexer || Sweden Hsu ||Jul 27, 2007 || Overview to GSM Multiplexer (GSM 07.10) and analyze current implementation of OpenMoko and Linux kernel support.&lt;br /&gt;
|-&lt;br /&gt;
|OpenMoko GSM/GPRS Overview || [[User:Jserv|Jim Huang]] || Aug 3, 2007 || Overview to OpenMoko gsmd/libgsmd/gsmmux for GSM/GPRS functions in the aspect of system-level architecture and designs. || [[Media:openmokogsm.pdf|openmokogsm.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|Factory and Production Test|| Nod Huang || Aug 24, 2007 || Experience for GTA01 production in Suzhou.  The presentation will cover testing procedure, related software, and possible issues.  Also, he will share his thoughts about GTA01/HXD8/GTA02 production considerations. ||[[Media:Dash_Production_Flow.pdf|Dash_Production_Flow.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|3G Feature Phone Case Study || Erin Yuen || Sep 7, 2007 || Take BenQ 3G Feature Phone design and production as case study. || &lt;br /&gt;
|-&lt;br /&gt;
|Three levels of Fun in Graphics || olv || Sep 14, 2007 || There are three things to do in designing a GUI toolkit: graphics, human interaction, and widgets... || [[Media:graphics_fun.pdf|graphics_fun.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|Automatic Approaches for Building, Deployment, and Testing || [[User:John|John Lee]] || Sep 21, 2007 || A brief introduction to the current automatic build/deploy/test method. || [[Media:auto.pdf|auto.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|Case Study: Linux-based Skype/GSM dual-mode phone || IFan &amp;quot;Tick&amp;quot; Chen || Sep 28, 2007 || Share the experience of Linux-based Skype/GSM dual-mode phone project inside Compal Communications Inc. as case study. || [[Media:Dual.pdf|dual.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|Graphics and stuff (TBD) || Raster || Nov 02, 2007 || Will talk about Graphics and stuff || TBA&lt;br /&gt;
|-&lt;br /&gt;
|EFL introduction || Jeremy Chang || Nov 16, 2007 || Enlightenment Foundation Libraries overview . || [[Media:EFL_intro.pdf|EFL introduction]] &lt;br /&gt;
|-&lt;br /&gt;
|Introduction to Boot and Application Launching Time Optimizations for Linux-based products || [[User:Jserv|Jim Huang]] || Nov 23, 2007 || How fast do we need in product expectations? Analyzing boot time and application launching.  Optimizations to boot time.  Tweaking in user-space. || &lt;br /&gt;
|-&lt;br /&gt;
|Introduction of the PBE|| [[User:Nod|Nod Huang]] || Nov 30, 2007 || 1. PBE file system 2. how to create a new package in PBE 3. PBE file system 4. how to create a new package in PBE || [[Media:PBE.pdf|PBE.pdf]] &lt;br /&gt;
|-&lt;br /&gt;
|Power consumption in kernel|| [[User:Willie|Willie Chen]] || Dec 7, 2007 || 1. How to reduce power consumption 2. Utilities 3. GTA01/GTA02 issues || [[Media:power.pdf|Power]]&lt;br /&gt;
|-&lt;br /&gt;
|ARM Exception System Introduction (HXD8 example)|| [[User:Alec|Alec Tsai]] || Jan 11, 2008 || 1. Exceptions 2. System Memory Map || [[Media:Exception.pdf|Exception]]&lt;br /&gt;
|-&lt;br /&gt;
| Object files Introduction|| [[User:tick | Tick]] || Feb, 22 2008 || A brief introductions to a.out and ELF || [[Media:elf.pdf| ELF]]&lt;br /&gt;
|- &lt;br /&gt;
| Kboot || [[User:werner| Werner]] || Feb, 29 2009 || An introduction and discussion about Kboot ||&lt;br /&gt;
|- &lt;br /&gt;
| Small introduction to Qtopia || [[User: zecke | Zecke]] || Mar, 07 2008 || A small introduction to Qtopia || [[Media: qtopia.pdf | Qtopia]]&lt;br /&gt;
|-&lt;br /&gt;
| Some daemons in OM-2007.2|| [[User:olv | olv]] || Mar, 14 2008 || A brief introduction to daemons running behind OM-2007.2 || [[Media:om-daemons.pdf| om-daemons.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
| Introduce to Audio || [[User:graeme | Graeme]] || Mar, 21 2008 ||  An introduction to the Audio system || [[Media: audio_presentation.pdf | Audio]]&lt;br /&gt;
|-&lt;br /&gt;
| Assassin || [[User:tick| Tick]] || April, 11, 2008 || An Introduction of Assassin || [[Media:assassin.pdf | Assassin]]&lt;br /&gt;
|-&lt;br /&gt;
| Xglamo Graphics || [[User:olv| olv]] || May, 16, 2008 || Introduction to X and Xglamo graphics and accelerations || [[Media:xglamo-graphics.pdf | xglamo-graphics.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
| Diversity-radar || [[User:Erin| Erin]] || June, 6, 2008 || Introduction of Diversity-radar|| [[Media:diversity-radar_intro.pdf | diversity-radar_intro.pdf]]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Training| ]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Regular_Training_Programs</id>
		<title>Regular Training Programs</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Regular_Training_Programs"/>
				<updated>2008-04-07T15:43:40Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* Programs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
To practice and improve the skills for team work, every software engineer at openmoko Taipei office would attend weekly training / experience sharing events. and be one of the speakers of the regular events by turns.&lt;br /&gt;
&lt;br /&gt;
== Orientations ==&lt;br /&gt;
The orientations and topics are dedicated to the purpose as following:&lt;br /&gt;
# [[OpenMoko_FOSS_Tools_Introduction]]&lt;br /&gt;
# Manufacturing process and Factory testing procedure&lt;br /&gt;
# Case study for OpenMoko software architecture and designs&lt;br /&gt;
# Phone functionality and inter-connectivity&lt;br /&gt;
# Recent development progress of [[OpenLab]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
Rough schedule for each of the events/programs done and planned by openmoko software team as following:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Topic !! Speaker !! Date !! Summary / Notes !! Slides / Reference Materials&lt;br /&gt;
|- style=&amp;quot;background-color:#eeeedd;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot;|Regular Training Program&lt;br /&gt;
|-&lt;br /&gt;
|Introduction to Autotools || [[User:jserv|Jim Huang]] || Jul 8, 2007 || Brief introduction to GNU Autotools (automake, autoconf, and libtool), which are useful for cross development and diverse environments. || [[Media:moko-autotools.pdf|moko-autotools.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|Text Layout in GTK+ World || olv || Jul 20, 2007 || An introduction to pango and text layout. || [[Media:Text_layout_in_gtk.pdf|Text_layout_in_gtk.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|Introduction to GSM Multiplexer || Sweden Hsu ||Jul 27, 2007 || Overview to GSM Multiplexer (GSM 07.10) and analyze current implementation of OpenMoko and Linux kernel support.&lt;br /&gt;
|-&lt;br /&gt;
|OpenMoko GSM/GPRS Overview || [[User:Jserv|Jim Huang]] || Aug 3, 2007 || Overview to OpenMoko gsmd/libgsmd/gsmmux for GSM/GPRS functions in the aspect of system-level architecture and designs. || [[Media:openmokogsm.pdf|openmokogsm.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|Factory and Production Test|| Nod Huang || Aug 24, 2007 || Experience for GTA01 production in Suzhou.  The presentation will cover testing procedure, related software, and possible issues.  Also, he will share his thoughts about GTA01/HXD8/GTA02 production considerations. ||[[Media:Dash_Production_Flow.pdf|Dash_Production_Flow.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|3G Feature Phone Case Study || Erin Yuen || Sep 7, 2007 || Take BenQ 3G Feature Phone design and production as case study. || &lt;br /&gt;
|-&lt;br /&gt;
|Three levels of Fun in Graphics || olv || Sep 14, 2007 || There are three things to do in designing a GUI toolkit: graphics, human interaction, and widgets... || [[Media:graphics_fun.pdf|graphics_fun.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|Automatic Approaches for Building, Deployment, and Testing || [[User:John|John Lee]] || Sep 21, 2007 || A brief introduction to the current automatic build/deploy/test method. || [[Media:auto.pdf|auto.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|Case Study: Linux-based Skype/GSM dual-mode phone || IFan &amp;quot;Tick&amp;quot; Chen || Sep 28, 2007 || Share the experience of Linux-based Skype/GSM dual-mode phone project inside Compal Communications Inc. as case study. || [[Media:Dual.pdf|dual.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|Graphics and stuff (TBD) || Raster || Nov 02, 2007 || Will talk about Graphics and stuff || TBA&lt;br /&gt;
|-&lt;br /&gt;
|EFL introduction || Jeremy Chang || Nov 16, 2007 || Enlightenment Foundation Libraries overview . || [[Media:EFL_intro.pdf|EFL introduction]] &lt;br /&gt;
|-&lt;br /&gt;
|Introduction to Boot and Application Launching Time Optimizations for Linux-based products || [[User:Jserv|Jim Huang]] || Nov 23, 2007 || How fast do we need in product expectations? Analyzing boot time and application launching.  Optimizations to boot time.  Tweaking in user-space. || &lt;br /&gt;
|-&lt;br /&gt;
|Introduction of the PBE|| [[User:Nod|Nod Huang]] || Nov 30, 2007 || 1. PBE file system 2. how to create a new package in PBE 3. PBE file system 4. how to create a new package in PBE || [[Media:PBE.pdf|PBE.pdf]] &lt;br /&gt;
|-&lt;br /&gt;
|Power consumption in kernel|| [[User:Willie|Willie Chen]] || Dec 7, 2007 || 1. How to reduce power consumption 2. Utilities 3. GTA01/GTA02 issues || [[Media:power.pdf|Power]]&lt;br /&gt;
|-&lt;br /&gt;
|ARM Exception System Introduction (HXD8 example)|| [[User:Alec|Alec Tsai]] || Jan 11, 2008 || 1. Exceptions 2. System Memory Map || [[Media:Exception.pdf|Exception]]&lt;br /&gt;
|-&lt;br /&gt;
| Object files Introduction|| [[User:tick | Tick]] || Feb, 22 2008 || A brief introductions to a.out and ELF || [[Media:elf.pdf| ELF]]&lt;br /&gt;
|- &lt;br /&gt;
| Kboot || [[User:werner| Werner]] || Feb, 29 2009 || An introduction and discussion about Kboot ||&lt;br /&gt;
|- &lt;br /&gt;
| Small introduction to Qtopia || [[User: zecke | Zecke]] || Mar, 07 2008 || A small introduction to Qtopia || [[Media: qtopia.pdf | Qtopia]]&lt;br /&gt;
|-&lt;br /&gt;
| Some daemons in OM-2007.2|| [[User:olv | olv]] || Mar, 14 2008 || A brief introduction to daemons running behind OM-2007.2 || [[Media:om-daemons.pdf| om-daemons.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
| Introduce to Audio || [[User:graeme | Graeme]] || Mar, 21 2008 ||  An introduction to the Audio system || [[Media: audio_presentation.pdf | Audio]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Training| ]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Prototypes</id>
		<title>Prototypes</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Prototypes"/>
				<updated>2008-03-18T02:52:49Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* #60 GTA02 A5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prototypes are pieces of hardware such as boards, fully assembled devices, batteries, accessories that OpenMoko uses during the development of new hardware.&lt;br /&gt;
&lt;br /&gt;
This page tracks such prototypes, in which condition their life started, and what happened to them during their lifetime.&lt;br /&gt;
&lt;br /&gt;
Prototypes cannot be purchased. They will be loaned out on a case by case basis, and collected back for post mortem analysis.&lt;br /&gt;
&lt;br /&gt;
If you believe you need a prototype of some upcoming hardware, please mailto:openmoko-kernel@lists.openmoko.org.&lt;br /&gt;
&lt;br /&gt;
=== #65 GTA02 A5 ===&lt;br /&gt;
current holder: Michael Shiloh&amp;lt;br&amp;gt;&lt;br /&gt;
06 Mar 2008 Ship to Michael Shiloh with coulomb battery&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Finish CMU-200 test&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 850 Band re-work and add IR resistor for power saving&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #64 GTA02 A5 ===&lt;br /&gt;
current holder: Martin/Hardware &amp;lt;br&amp;gt;&lt;br /&gt;
11 Mar 2008 USB DFU fail&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Finish CMU-200 test&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 850 Band re-work and add IR resistor for power saving&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #63 GTA02 A5 ===&lt;br /&gt;
current holder: Felipe Balbi&amp;lt;br&amp;gt;&lt;br /&gt;
11 Mar 2008 Sean doing 1800 band stability test&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Finish CMU-200 test, but once unstable boot into kernel&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 850 Band re-work and add IR resistor for power saving&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #62 GTA02 A5 ===&lt;br /&gt;
current holder: Raster&amp;lt;br&amp;gt;&lt;br /&gt;
07 Mar 2008 Transfer to Raster for another developer about graphics work&amp;lt;br&amp;gt;&lt;br /&gt;
03 Mar 2008 Tony use for DM/u-boot verification&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #61 GTA02 A5 ===&lt;br /&gt;
current holder: Matt&amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Matt for GSM test usage&amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Allen GSM IR resistor rework&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #60 GTA02 A5 ===&lt;br /&gt;
current holder: Erin&amp;lt;br&amp;gt;&lt;br /&gt;
17 Mar 2008 upgrade GSM firmware to moko7 and write IMEI code&amp;lt;br&amp;gt;&lt;br /&gt;
17 Mar 2008 Use devirginator to load all latest images from buildhost (20080317) &amp;lt;br&amp;gt;&lt;br /&gt;
17 Mar 2008 Check device status, and then will send it to M. Dietrich &amp;lt;br&amp;gt;&lt;br /&gt;
10 Mar 2008 GPS antenna is broken &amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Matt for GSM test usage&amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Allen GSM IR resistor rework&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #59 GTA02 A5 ===&lt;br /&gt;
current holder: Martin&amp;lt;br&amp;gt;&lt;br /&gt;
17 Mar 2008 Hardware battery charging test&amp;lt;br&amp;gt;&lt;br /&gt;
12 Mar 2008 All sound output fail&amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Allen GSM IR resistor rework&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #58 GTA02 A5 ===&lt;br /&gt;
current holder: TRIsoft&amp;lt;br&amp;gt;&lt;br /&gt;
07 Mar 2008 TRIsoft for testing&amp;lt;br&amp;gt;&lt;br /&gt;
03 Mar 2008 Harry bring to Cebit Show&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Tony for DM test usage&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #57 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Allen Chang&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #56 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #55 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #54 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Miles&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #53 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Matt&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #52 GTA02 A5 ===&lt;br /&gt;
current holder: Wolfgang&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &lt;br /&gt;
&lt;br /&gt;
=== #51 GTA02 A5 ===&lt;br /&gt;
current holder: Martin&amp;lt;br&amp;gt;&lt;br /&gt;
17 Mar 2008 Hardware battery charging battery test&amp;lt;br&amp;gt;&lt;br /&gt;
12 Mar 2008 DFU always fail, USB connection broken all the time&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Finish u-boot test, and return to tony &amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 hardware side fixed 911 key and receiver issue.&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio, 911 key no switch, receiver broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #50 GTA02 A5 ===&lt;br /&gt;
current holder: Sean&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth working (!)&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #49 GTA02 A5 ===&lt;br /&gt;
current holder: OLV&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #48 GTA02 A5 ===&lt;br /&gt;
current holder: Hoger&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Transfer to Hoger&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth radio very weak&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #47 GTA02 A5 ===&lt;br /&gt;
current holder: Michael Dietrich&amp;lt;br&amp;gt;&lt;br /&gt;
27 Feb 2008 Transfered to Will, sent to Michael&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth radio very weak&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #46 GTA02 A5 ===&lt;br /&gt;
current holder: Thomas&amp;lt;br&amp;gt;&lt;br /&gt;
06 Mar 2008 Mail to o-hand Thomas as GTA02v4 replacement, with coulomb battery&amp;lt;br&amp;gt;&lt;br /&gt;
27 Feb 2008 Add PMU capacitor&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio, 911 key no switch&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #45 GTA02 A5 ===&lt;br /&gt;
current holder: Jeremy&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #44 unlucky number ===&lt;br /&gt;
&lt;br /&gt;
=== #43 GTA02 A5 ===&lt;br /&gt;
current holder: Miles&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 to Miles for DM2 partition verification&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #42 GTA02 A5 ===&lt;br /&gt;
current holder: Julian&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio, weak vibrator&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #41 GTA02 A5 ===&lt;br /&gt;
current holder: Lorn Potter (Trolltech)&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 sent to Lorn Potter, Trolltech&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 Tony: ran DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 Tony: replaced receiver&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Earphone broken in the package&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio, receiver broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #40 GTA02 A5 ===&lt;br /&gt;
current holder: Tick&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #39 GTA02 A5 ===&lt;br /&gt;
current holder: Sean Chiang&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #38 GTA02 A5 ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008: run DM2 (without wifi), no issues, Bluetooth working (!)&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #37 GTA02 A5 ===&lt;br /&gt;
current holder: Lorn Potter (Trolltech)&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 sent to Lorn Potter, Trolltech&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), no issues, Bluetooth working (!)&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #36 GTA02 A5 ===&lt;br /&gt;
current holder: Graeme (FOSDEM)&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio, LCM cracked&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #35 GTA02 A5 ===&lt;br /&gt;
current holder: Dodji (FOSDEM)&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #34 GTA02 A5 ===&lt;br /&gt;
current holder: Martin&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Return to hardware side for GPS antenna switch second source test&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), receiver broken, 911 key broken, Bluetooth scan not working, Tony thinks device may have been drop-tested!&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #33 GTA02 A5 ===&lt;br /&gt;
current holder: Erin&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 Erin: load daily build rootfs '0220-fic-gta02.rootfs.jffs2' and kernel 'uImage-2.6.24+svnr4096-r4055-r3-neo1973.bin'. gsmd is running OK, can receive/dial out calls. but no ringtone for incoming calls.&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), Bluetooth scan not working, vibrator very weak&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #32 GTA02 A5 ===&lt;br /&gt;
current holder: Miles&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), Bluetooth scan not working&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #31 GTA02 A5 ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), Bluetoosh Scan only found 1 out of 3 devices&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #30 GTA02 A5 ===&lt;br /&gt;
current holder: Mickey&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;del&amp;gt;24 Feb 2008 '''issue found''': Headphone Jack GPIO is floating, receiving 500 IRQ's per second, making the system crawl like it has only 50MHz (or less...)&amp;lt;br/&amp;gt;&amp;lt;/del&amp;gt;&lt;br /&gt;
&amp;lt;del&amp;gt;24 Feb 2008 '''issue found''': Once sound is initialized, it emits two loud cracks per second&amp;lt;br/&amp;gt;&amp;lt;/del&amp;gt;&lt;br /&gt;
24 Feb 2008 '''issue found''': Vibrator is very weak&amp;lt;br/&amp;gt;&lt;br /&gt;
23 Feb 2008 flash NOR-enabled U-Boot, flash kernel+rootfs&amp;lt;br/&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), no issues found&amp;lt;br/&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #29 Highcell battery 3.7V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Andy&lt;br /&gt;
&lt;br /&gt;
=== #28 Highcell battery 3.7V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Tony Tu&lt;br /&gt;
&lt;br /&gt;
=== #27 GTA02 A5 ===&lt;br /&gt;
current holder: Willie&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Willie: LCD seems be broken. Screen shows three lines.&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #26 GTA02 A5 ===&lt;br /&gt;
current holder: Allen Lin&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #25 GTA02 A5 ===&lt;br /&gt;
current holder: Raster&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #24 GTA02 A5 ===&lt;br /&gt;
current holder: John&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #23 GTA02 A5 ===&lt;br /&gt;
current holder: JJ, battery vendor&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Willie: Install kernel image from lastest svn check out&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #22 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
15 Feb 2008 Tony: Back to hardware team&amp;lt;br&amp;gt;&lt;br /&gt;
13 Feb 2008 Erin: gsm modem is bad &amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #21 GTA02 A5 ===&lt;br /&gt;
current holder: Matt&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad, GPS broken&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #20 GTA02 A5 ===&lt;br /&gt;
current holder: Martin&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 GPS antenna switch 2nd source test&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Miles: factory partition broken&amp;lt;br&amp;gt; &lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad&amp;lt;br&amp;gt;&lt;br /&gt;
13 Feb 2008 Miles take from Tony for PBE comparsion test&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #19 GTA02 A5 ===&lt;br /&gt;
current holder: Brenda&amp;lt;br&amp;gt;&lt;br /&gt;
27 Feb Add PMU capacitor&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Tony: Add WiFi FW 2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #18 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
15 Feb 2008 Willie: Send to hardware side and fix it. &lt;br /&gt;
12 Feb 2008 Willie: It will generate big noise, maybe it's a hardware issue. I will check this &amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Erin: after booting to UI, the screen freezes, no any response. Willie is checking it now &amp;lt;br&amp;gt;&lt;br /&gt;
09 Feb 2008 Erin: load uboot, kernel, rootfs by Sean Chiang, it can auto-camp to the network, can use dialer&amp;lt;br&amp;gt; &lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #17 GTA02 A5 ===&lt;br /&gt;
current holder: Vitaly (Atheros)&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Delivered to Vitaly, Atheros&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #16 GTA02 A5 ===&lt;br /&gt;
current holder: Samuel&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Sent to Samuel&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #15 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
12 Mar 2008 Wi-fi module still old one, and the DFU fail, USB connection un-steady&lt;br /&gt;
31 Jan 2008 Running from battery shuts down 5 seconds after reboot. Running from power source (plugged into battery connectors) is stable&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #14 GTA02 A5 ===&lt;br /&gt;
current holder: Willie&amp;lt;br&amp;gt;&lt;br /&gt;
27 Feb 2008 Willie: Get second phone&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Tony: switched wifi to FW 2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #13 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Miles: Bluetooth scan doesn't work, Power Key broken&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #12 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
21 Jan 2008 Allen: Added Bluetooth module, reworked for power measurements, broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #11 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
21 Jan 2008 Allen: Added Bluetooth module, reworked for power measurements, broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #10 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
Die. Because I connect the power supply and usb. Then I shutdown the power supply, and power on the power supply. Quickly, the phone is short.&lt;br /&gt;
&lt;br /&gt;
=== #9 GTA02 A5 ===&lt;br /&gt;
current holder: Matt&amp;lt;br&amp;gt;&lt;br /&gt;
5 Feb 2008 There are some hardware components broken. The behavior of i2c accessing is strange. And its suspend current is quite high (14~15mA).&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Matt: Found out jack insert interrupt line is floating&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #8 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
21 Jan 2008 Allen: Added Bluetooth module, reworked for power measurements, broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #7 GTA02 A5 ===&lt;br /&gt;
current holder: Smedia&amp;lt;br&amp;gt;&lt;br /&gt;
03 Mar 2008 Transfer to SMedia for flicker test&lt;br /&gt;
27 Feb 2008 Add PMU capacitor&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Tony: added receiver, switched to wifi FW 2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 Miles: removed receiver&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Miles: receiver test failed (receiver broken)&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #6 Highcell battery 3.7V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Willie: verified&lt;br /&gt;
&lt;br /&gt;
=== #5 Highcell battery 3.7V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 sent to Andy&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Willie: verified&lt;br /&gt;
&lt;br /&gt;
=== #4 Highcell battery 3.7V 1200mAh with Coulomb counter (Tony) ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 Returned to Tony who gave me two &amp;quot;end user&amp;quot; batteries instead.&amp;lt;br&amp;gt;&lt;br /&gt;
08 Feb 2008 Got it. Passes power-on test.&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 sent to Werner&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Willie: verified&lt;br /&gt;
&lt;br /&gt;
=== #3 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 Found solution: added capacitor&amp;lt;br&amp;gt;&lt;br /&gt;
02 Feb 2008 I see similar behaviour to #15 today on battery + USB.  Appears to be related to, eg, starting LCM backlight making power problems resulting in immediate shutdown.  Current limit issue somehow?&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Behaving well.&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 sent to Andy&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #2 GTA02 A5 ===&lt;br /&gt;
current holder: Harald&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 sent to Harald&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #1 GTA02 A5 (Werner) ===&lt;br /&gt;
current holder: Werner&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Vibrator seems to be broken or unnoticeably weak&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 SD/MMC seems broken under Linux (same usage works fine on #51; u-boot can read from it)&amp;lt;br&amp;gt;&lt;br /&gt;
11 Feb 2008 Verified NOR WP (with reworked debug v3)&amp;lt;br&amp;gt;&lt;br /&gt;
09 Feb 2008 Rework: bypass VB_SYS with 10uF 0603 6V3 cer X5R&amp;lt;br&amp;gt;&lt;br /&gt;
08 Feb 2008 Got it. Passes power-on test.&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 sent to Werner&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 Miles: verified hardware, same exceptions as below&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 Allen Chang: reworked to add NOR protection (R2505 closed, R2506 opened)&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Miles: verified hardware, except for&lt;br /&gt;
* microSD&lt;br /&gt;
* suspend/resume&lt;br /&gt;
* Bluetooth audio&lt;br /&gt;
* Coulomb counter &amp;amp; motion sensor only low-level verification (no drivers)&lt;br /&gt;
* USB host only low-level verification (no device)&lt;br /&gt;
* charging (only 500mA verified), running on USB only, switching between charging modes&lt;br /&gt;
* full memory verification&lt;br /&gt;
* wakeup interrupts (WiFi, USB, GSM, motion sensors, 2 buttons, RTC, headphone jack)&lt;br /&gt;
28 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
28 Jan 2008 Tony: Rework wifi FW to 2.0.0.40&amp;lt;br&amp;gt;&lt;br /&gt;
28 Jan 2008 Batch of 10 from Suzhou, PCBA with all modules, wifi FW 1.3, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
[[Category:GTA02 Hardware]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GSM_network_registration</id>
		<title>GSM network registration</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GSM_network_registration"/>
				<updated>2008-03-17T13:44:15Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'd like to know the real network registration status by our NEO devices in the world.  Please provide some information about your NEO status!  The question list as below:&lt;br /&gt;
&lt;br /&gt;
1. What NEO device you are using? GTA01 or GTA02&lt;br /&gt;
&lt;br /&gt;
2. Where is your location and what is your network provider? eg. T-Mobile, San Francisco in USA&lt;br /&gt;
&lt;br /&gt;
3. When you boot the NEO, how long it takes to register the network? eg. in normal case, it should be able to register to a network in 1~2 minutes immediately.&lt;br /&gt;
&lt;br /&gt;
4. What is your GSM firmware version? you can get this number by an AT command. Using SSH to your NEO, then type this command:&lt;br /&gt;
[http://wiki.openmoko.org/wiki/USB_Networking How to use SSH] [http://wiki.openmoko.org/wiki/Gsmd  How to use libgsmd-tool]&lt;br /&gt;
root@fic-gta02:~# libgsmd-tool -m atcmd&lt;br /&gt;
 AT+CGMR&lt;br /&gt;
 STR=`AT+CGMR'&lt;br /&gt;
 RSTR=`+CGMR: &amp;quot;HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
5. What is your IMEI code? by this AT command like previous steps.&lt;br /&gt;
 AT+CGSN&lt;br /&gt;
 STR=`AT+CGSN' &lt;br /&gt;
 RSTR=`+CGSN: 000000000000000'&lt;br /&gt;
&lt;br /&gt;
6. if NEO takes over 3 minutes to register to the network or it just re-register to the network again and again. Please attach your gsm log file ('/tmp/gsm.log') to our bugzilla, we already created a bug for [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=1024 this issue].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|  Owner    ||   Location   |||   Network Provider ||  Device   ||   firmware   ||   IMEI  ||   Status ||   GSM log&lt;br /&gt;
|-&lt;br /&gt;
| [mailto:erin_yueh@openmoko.com  Erin Yueh]   ||   Taipei, Taiwan    ||   TW mobile     ||    GTA02BV5  ||  Moko6   ||   NO   ||   Normal, can register to the network immediately||   no&lt;br /&gt;
|-&lt;br /&gt;
| [mailto:marcus.bauer@gmail.com  Marcus Bauer]   ||   Nice, France    ||   Orange     ||   GTA01Bv4 ||  Moko4   ||   YES   ||   Registers immediately and stays registered for ~10 minutes before the re-registering loop starts once per minute||   [http://bugzilla.openmoko.org/cgi-bin/bugzilla/attachment.cgi?id=554&amp;amp;action=view log]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GSM_network_registration</id>
		<title>GSM network registration</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GSM_network_registration"/>
				<updated>2008-03-17T13:43:22Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'd like to know the real network registration status by our NEO devices in the world.  Please provide some information about your NEO status!  The question list as below:&lt;br /&gt;
&lt;br /&gt;
1. What NEO device you are using? GTA01 or GTA02&lt;br /&gt;
&lt;br /&gt;
2. Where is your location and what is your network provider? eg. T-Mobile, San Francisco in USA&lt;br /&gt;
&lt;br /&gt;
3. When you boot the NEO, how long it takes to register the network? eg. in normal case, it should be able to register to a network in 1~2 minutes immediately.&lt;br /&gt;
&lt;br /&gt;
4. What is your GSM firmware version? you can get this number by an AT command. Using SSH to your NEO, then type this command:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta02:~# libgsmd-tool -m atcmd&lt;br /&gt;
 AT+CGMR&lt;br /&gt;
 STR=`AT+CGMR'&lt;br /&gt;
 RSTR=`+CGMR: &amp;quot;HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
5. What is your IMEI code? by this AT command like previous steps.&lt;br /&gt;
 AT+CGSN&lt;br /&gt;
 STR=`AT+CGSN' &lt;br /&gt;
 RSTR=`+CGSN: 000000000000000'&lt;br /&gt;
&lt;br /&gt;
6. if NEO takes over 3 minutes to register to the network or it just re-register to the network again and again. Please attach your gsm log file ('/tmp/gsm.log') to our bugzilla, we already created a bug for [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=1024 this issue].&lt;br /&gt;
&lt;br /&gt;
[http://wiki.openmoko.org/wiki/USB_Networking How to use SSH] [http://wiki.openmoko.org/wiki/Gsmd  How to use libgsmd-tool]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|  Owner    ||   Location   |||   Network Provider ||  Device   ||   firmware   ||   IMEI  ||   Status ||   GSM log&lt;br /&gt;
|-&lt;br /&gt;
| [mailto:erin_yueh@openmoko.com  Erin Yueh]   ||   Taipei, Taiwan    ||   TW mobile     ||    GTA02BV5  ||  Moko6   ||   NO   ||   Normal, can register to the network immediately||   no&lt;br /&gt;
|-&lt;br /&gt;
| [mailto:marcus.bauer@gmail.com  Marcus Bauer]   ||   Nice, France    ||   Orange     ||   GTA01Bv4 ||  Moko4   ||   YES   ||   Registers immediately and stays registered for ~10 minutes before the re-registering loop starts once per minute||   [http://bugzilla.openmoko.org/cgi-bin/bugzilla/attachment.cgi?id=554&amp;amp;action=view log]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GSM_network_registration</id>
		<title>GSM network registration</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GSM_network_registration"/>
				<updated>2008-03-17T13:40:29Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'd like to know the real network registration status by our NEO devices in the world.  Please provide some information about your NEO status!  The question list as below:&lt;br /&gt;
&lt;br /&gt;
1. What NEO device you are using? GTA01 or GTA02&lt;br /&gt;
&lt;br /&gt;
2. Where is your location and what is your network provider? eg. T-Mobile, San Francisco in USA&lt;br /&gt;
&lt;br /&gt;
3. When you boot the NEO, how long it takes to register the network? eg. in normal case, it should be able to register to a network in 1~2 minutes immediately.&lt;br /&gt;
&lt;br /&gt;
4. What is your GSM firmware version? you can get this number by an AT command. Using SSH to your NEO, then type this command:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta02:~# libgsmd-tool -m atcmd&lt;br /&gt;
 AT+CGMR&lt;br /&gt;
 STR=`AT+CGMR'&lt;br /&gt;
 RSTR=`+CGMR: &amp;quot;HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
5. What is your IMEI code? by this AT command like previous steps.&lt;br /&gt;
 AT+CGSN&lt;br /&gt;
 STR=`AT+CGSN' &lt;br /&gt;
 RSTR=`+CGSN: 000000000000000'&lt;br /&gt;
&lt;br /&gt;
6. if NEO takes over 3 minutes to register to the network or it just re-register to the network again and again. Please attach your gsm log file ('/tmp/gsm.log') to our bugzilla, we already created a bug for [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=1024 this issue].&lt;br /&gt;
&lt;br /&gt;
[http://wiki.openmoko.org/wiki/USB_Networking How to use SSH] [http://wiki.openmoko.org/wiki/Gsmd  How to use libgsmd-tool]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|  Owner    ||   Location   |||   Network Provider ||  Device   ||   firmware   ||   IMEI  ||   Status ||   GSM log&lt;br /&gt;
|-&lt;br /&gt;
| [mailto:erin_yueh@openmoko.com  Erin Yueh]   ||   Taipei, Taiwan    ||   TW mobile     ||    GTA02BV5  ||  Moko6   ||   NO   ||   Normal, can register to the network immediately||   no&lt;br /&gt;
|-&lt;br /&gt;
| [mailto:marcus.bauer@gmail.com  Marcus Bauer]   ||   Nice, France    ||   Orange     ||   GTA01Bv4 ||  Moko4   ||   YES   ||  Registers immediately and stays registered for ~10 minutes before the&lt;br /&gt;
re-registering loop starts once per minute ||  [http://bugzilla.openmoko.org/cgi-bin/bugzilla/attachment.cgi?id=554&amp;amp;action=view log]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GSM_network_registration</id>
		<title>GSM network registration</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GSM_network_registration"/>
				<updated>2008-03-17T13:39:01Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'd like to know the real network registration status by our NEO devices in the world.  Please provide some information about your NEO status!  The question list as below:&lt;br /&gt;
&lt;br /&gt;
1. What NEO device you are using? GTA01 or GTA02&lt;br /&gt;
&lt;br /&gt;
2. Where is your location and what is your network provider? eg. T-Mobile, San Francisco in USA&lt;br /&gt;
&lt;br /&gt;
3. When you boot the NEO, how long it takes to register the network? eg. in normal case, it should be able to register to a network in 1~2 minutes immediately.&lt;br /&gt;
&lt;br /&gt;
4. What is your GSM firmware version? you can get this number by an AT command. Using SSH to your NEO, then type this command:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta02:~# libgsmd-tool -m atcmd&lt;br /&gt;
 AT+CGMR&lt;br /&gt;
 STR=`AT+CGMR'&lt;br /&gt;
 RSTR=`+CGMR: &amp;quot;HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
5. What is your IMEI code? by this AT command like previous steps.&lt;br /&gt;
 AT+CGSN&lt;br /&gt;
 STR=`AT+CGSN' &lt;br /&gt;
 RSTR=`+CGSN: 000000000000000'&lt;br /&gt;
&lt;br /&gt;
6. if NEO takes over 3 minutes to register to the network or it just re-register to the network again and again. Please attach your gsm log file ('/tmp/gsm.log') to our bugzilla, we already created a bug for [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=1024 this issue].&lt;br /&gt;
&lt;br /&gt;
[http://wiki.openmoko.org/wiki/USB_Networking How to use SSH] [http://wiki.openmoko.org/wiki/Gsmd  How to use libgsmd-tool]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|  Owner    ||   Location   |||   Network Provider ||  Device   ||   firmware   ||   IMEI  ||   Status ||   GSM log&lt;br /&gt;
|-&lt;br /&gt;
| [mailto:erin_yueh@openmoko.com  Erin Yueh]   ||   Taipei, Taiwan    ||   TW mobile     ||    GTA02BV5  ||  Moko6   ||   NO   ||   Normal, can register to the network immediately||   no&lt;br /&gt;
|-&lt;br /&gt;
| [mailto:marcus.bauer@gmail.com  Marcus Bauer]   ||   Nice, France    ||   Orange     ||   GTA01Bv4 ||  Moko4   ||   YES   ||  Registers immediately and stays registered for ~10 minutes before the&lt;br /&gt;
re-registering loop starts once per minute   ||  [http://bugzilla.openmoko.org/cgi-bin/bugzilla/attachment.cgi?id=554&amp;amp;action=view log]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GSM_network_registration</id>
		<title>GSM network registration</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GSM_network_registration"/>
				<updated>2008-03-17T13:38:30Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'd like to know the real network registration status by our NEO devices in the world.  Please provide some information about your NEO status!  The question list as below:&lt;br /&gt;
&lt;br /&gt;
1. What NEO device you are using? GTA01 or GTA02&lt;br /&gt;
&lt;br /&gt;
2. Where is your location and what is your network provider? eg. T-Mobile, San Francisco in USA&lt;br /&gt;
&lt;br /&gt;
3. When you boot the NEO, how long it takes to register the network? eg. in normal case, it should be able to register to a network in 1~2 minutes immediately.&lt;br /&gt;
&lt;br /&gt;
4. What is your GSM firmware version? you can get this number by an AT command. Using SSH to your NEO, then type this command:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta02:~# libgsmd-tool -m atcmd&lt;br /&gt;
 AT+CGMR&lt;br /&gt;
 STR=`AT+CGMR'&lt;br /&gt;
 RSTR=`+CGMR: &amp;quot;HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
5. What is your IMEI code? by this AT command like previous steps.&lt;br /&gt;
 AT+CGSN&lt;br /&gt;
 STR=`AT+CGSN' &lt;br /&gt;
 RSTR=`+CGSN: 000000000000000'&lt;br /&gt;
&lt;br /&gt;
6. if NEO takes over 3 minutes to register to the network or it just re-register to the network again and again. Please attach your gsm log file ('/tmp/gsm.log') to our bugzilla, we already created a bug for [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=1024 this issue].&lt;br /&gt;
&lt;br /&gt;
[http://wiki.openmoko.org/wiki/USB_Networking How to use SSH] [http://wiki.openmoko.org/wiki/Gsmd  How to use libgsmd-tool]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|  Owner    ||   Location   |||   Network Provider ||  Device   ||   firmware   ||   IMEI  ||   Status ||   GSM log&lt;br /&gt;
|-&lt;br /&gt;
| [mailto:erin_yueh@openmoko.com  Erin Yueh]   ||   Taipei, Taiwan    ||   TW mobile     ||    GTA02BV5  ||  Moko6   ||   NO   ||   Normal, can register to the network immediately||   no&lt;br /&gt;
|-&lt;br /&gt;
| [mailto:marcus.bauer@gmail.com  Marcus Bauer]   ||   Nice, France    ||   Orange     ||   GTA01Bv4 ||  Moko4   ||   YES   ||  Registers immediately and stays registered for ~10 minutes before the&lt;br /&gt;
re-registering loop starts once per minute   ||    [http://bugzilla.openmoko.org/cgi-bin/bugzilla/attachment.cgi?id=554&amp;amp;action=view log]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GSM_network_registration</id>
		<title>GSM network registration</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GSM_network_registration"/>
				<updated>2008-03-17T13:37:44Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'd like to know the real network registration status by our NEO devices in the world.  Please provide some information about your NEO status!  The question list as below:&lt;br /&gt;
&lt;br /&gt;
1. What NEO device you are using? GTA01 or GTA02&lt;br /&gt;
&lt;br /&gt;
2. Where is your location and what is your network provider? eg. T-Mobile, San Francisco in USA&lt;br /&gt;
&lt;br /&gt;
3. When you boot the NEO, how long it takes to register the network? eg. in normal case, it should be able to register to a network in 1~2 minutes immediately.&lt;br /&gt;
&lt;br /&gt;
4. What is your GSM firmware version? you can get this number by an AT command. Using SSH to your NEO, then type this command:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta02:~# libgsmd-tool -m atcmd&lt;br /&gt;
 AT+CGMR&lt;br /&gt;
 STR=`AT+CGMR'&lt;br /&gt;
 RSTR=`+CGMR: &amp;quot;HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
5. What is your IMEI code? by this AT command like previous steps.&lt;br /&gt;
 AT+CGSN&lt;br /&gt;
 STR=`AT+CGSN' &lt;br /&gt;
 RSTR=`+CGSN: 000000000000000'&lt;br /&gt;
&lt;br /&gt;
6. if NEO takes over 3 minutes to register to the network or it just re-register to the network again and again. Please attach your gsm log file ('/tmp/gsm.log') to our bugzilla, we already created a bug for [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=1024 this issue].&lt;br /&gt;
&lt;br /&gt;
[http://wiki.openmoko.org/wiki/USB_Networking How to use SSH] [http://wiki.openmoko.org/wiki/Gsmd  How to use libgsmd-tool]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|  Owner    ||   Location   |||   Network Provider ||  Device   ||   firmware   ||   IMEI  ||   Status ||   GSM log&lt;br /&gt;
|-&lt;br /&gt;
| [mailto:erin_yueh@openmoko.com  Erin Yueh]   ||   Taipei, Taiwan    ||   TW mobile     ||    GTA02BV5  ||  Moko6   ||   NO   ||   Normal, can register to the network immediately||   no&lt;br /&gt;
|-&lt;br /&gt;
| [mailto:marcus.bauer@gmail.com  Marcus Bauer]   ||   Nice, France    ||   Orange     ||   GTA01Bv4 ||  Moko4   ||   YES   || Registers immediately and stays registered for ~10 minutes before the&lt;br /&gt;
re-registering loop starts once per minute   ||    [http://bugzilla.openmoko.org/cgi-bin/bugzilla/attachment.cgi?id=554&amp;amp;action=view log]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GSM_network_registration</id>
		<title>GSM network registration</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GSM_network_registration"/>
				<updated>2008-03-17T13:33:54Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'd like to know the real network registration status by our NEO devices in the world.  Please provide some information about your NEO status!  The question list as below:&lt;br /&gt;
&lt;br /&gt;
1. What NEO device you are using? GTA01 or GTA02&lt;br /&gt;
&lt;br /&gt;
2. Where is your location and what is your network provider? eg. T-Mobile, San Francisco in USA&lt;br /&gt;
&lt;br /&gt;
3. When you boot the NEO, how long it takes to register the network? eg. in normal case, it should be able to register to a network in 1~2 minutes immediately.&lt;br /&gt;
&lt;br /&gt;
4. What is your GSM firmware version? you can get this number by an AT command. Using SSH to your NEO, then type this command:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta02:~# libgsmd-tool -m atcmd&lt;br /&gt;
 AT+CGMR&lt;br /&gt;
 STR=`AT+CGMR'&lt;br /&gt;
 RSTR=`+CGMR: &amp;quot;HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
5. What is your IMEI code? by this AT command like previous steps.&lt;br /&gt;
 AT+CGSN&lt;br /&gt;
 STR=`AT+CGSN' &lt;br /&gt;
 RSTR=`+CGSN: 000000000000000'&lt;br /&gt;
&lt;br /&gt;
6. if NEO takes over 3 minutes to register to the network or it just re-register to the network again and again. Please attach your gsm log file ('/tmp/gsm.log') to our bugzilla, we already created a bug for [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=1024 this issue].&lt;br /&gt;
&lt;br /&gt;
[http://wiki.openmoko.org/wiki/USB_Networking How to use SSH] [http://wiki.openmoko.org/wiki/Gsmd  How to use libgsmd-tool]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|  Location    ||   Network Provider   ||   Device   ||   firmware   ||   IMEI  ||   Status ||   GSM log&lt;br /&gt;
|-&lt;br /&gt;
|  Taipei, Taiwan    ||   TW mobile     ||    GTA02BV5  ||  Moko6   ||   NO   ||   Normal, can register to the network immediately||   no&lt;br /&gt;
|-&lt;br /&gt;
|   Nice, France    ||   Orange     ||   GTA01Bv4 ||  Moko4   ||   YES   || Registers immediately and stays registered for ~10 minutes before the&lt;br /&gt;
re-registering loop starts once per minute.||     [http://bugzilla.openmoko.org/cgi-bin/bugzilla/attachment.cgi?id=554&amp;amp;action=view log]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GSM_network_registration</id>
		<title>GSM network registration</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GSM_network_registration"/>
				<updated>2008-03-17T13:30:18Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'd like to know the real network registration status by our NEO devices in the world.  Please provide some information about your NEO status!  The question list as below:&lt;br /&gt;
&lt;br /&gt;
1. What NEO device you are using? GTA01 or GTA02&lt;br /&gt;
&lt;br /&gt;
2. Where is your location and what is your network provider? eg. T-Mobile, San Francisco in USA&lt;br /&gt;
&lt;br /&gt;
3. When you boot the NEO, how long it takes to register the network? eg. in normal case, it should be able to register to a network in 1~2 minutes immediately.&lt;br /&gt;
&lt;br /&gt;
4. What is your GSM firmware version? you can get this number by an AT command. Using SSH to your NEO, then type this command:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta02:~# libgsmd-tool -m atcmd&lt;br /&gt;
 AT+CGMR&lt;br /&gt;
 STR=`AT+CGMR'&lt;br /&gt;
 RSTR=`+CGMR: &amp;quot;HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
5. What is your IMEI code? by this AT command like previous steps.&lt;br /&gt;
 AT+CGSN&lt;br /&gt;
 STR=`AT+CGSN' &lt;br /&gt;
 RSTR=`+CGSN: 000000000000000'&lt;br /&gt;
&lt;br /&gt;
6. if NEO takes over 3 minutes to register to the network or it just re-register to the network again and again. Please attach your gsm log file ('/tmp/gsm.log') to our bugzilla, we already created a bug for [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=1024 this issue].&lt;br /&gt;
&lt;br /&gt;
[http://wiki.openmoko.org/wiki/USB_Networking How to use SSH] [http://wiki.openmoko.org/wiki/Gsmd  How to use libgsmd-tool]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|  Location    ||   Network Provider   ||   Device   ||   firmware   ||   IMEI   ||   GSM log&lt;br /&gt;
|-&lt;br /&gt;
|  Taipei, Taiwan    ||   TW mobile     ||   GTA02  ||  HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6   ||   NO   ||   GSM log&lt;br /&gt;
|-&lt;br /&gt;
|   Nice, France    ||   Orange     ||   GTA01  ||  HW: GTA01Bv4, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko4&amp;quot;'em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko4   ||   YES   ||   [http://bugzilla.openmoko.org/cgi-bin/bugzilla/attachment.cgi?id=554&amp;amp;action=view log]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GSM_network_registration</id>
		<title>GSM network registration</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GSM_network_registration"/>
				<updated>2008-03-17T13:26:03Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'd like to know the real network registration status by our NEO devices in the world.  Please provide some information about your NEO status!  The question list as below:&lt;br /&gt;
&lt;br /&gt;
1. What NEO device you are using? GTA01 or GTA02&lt;br /&gt;
&lt;br /&gt;
2. Where is your location and what is your network provider? eg. T-Mobile, San Francisco in USA&lt;br /&gt;
&lt;br /&gt;
3. When you boot the NEO, how long it takes to register the network? eg. in normal case, it should be able to register to a network in 1~2 minutes immediately.&lt;br /&gt;
&lt;br /&gt;
4. What is your GSM firmware version? you can get this number by an AT command. Using SSH to your NEO, then type this command:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta02:~# libgsmd-tool -m atcmd&lt;br /&gt;
 AT+CGMR&lt;br /&gt;
 STR=`AT+CGMR'&lt;br /&gt;
 RSTR=`+CGMR: &amp;quot;HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
5. What is your IMEI code? by this AT command like previous steps.&lt;br /&gt;
 AT+CGSN&lt;br /&gt;
 STR=`AT+CGSN' &lt;br /&gt;
 RSTR=`+CGSN: 000000000000000'&lt;br /&gt;
&lt;br /&gt;
6. if NEO takes over 3 minutes to register to the network or it just re-register to the network again and again. Please attach your gsm log file ('/tmp/gsm.log') to our bugzilla, we already created a bug for [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=1024 this issue].&lt;br /&gt;
&lt;br /&gt;
[http://wiki.openmoko.org/wiki/USB_Networking How to use SSH] [http://wiki.openmoko.org/wiki/Gsmd  How to use libgsmd-tool]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|  Location    ||   Network Provider   ||   Device   ||   firmware   ||   IMEI   ||   GSM log&lt;br /&gt;
|-&lt;br /&gt;
|  Taiwan    ||   TW mobile     ||   GTA02  ||  HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6   ||   000000000000000   ||   GSM log&lt;br /&gt;
|-&lt;br /&gt;
|   Taiwan    ||   TW mobile     ||   GTA01  ||  HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6   ||   000000000000000   ||   GSM log&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GSM_network_registration</id>
		<title>GSM network registration</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GSM_network_registration"/>
				<updated>2008-03-17T13:10:00Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'd like to know the real network registration status by our NEO devices in the world.  Please provide some information about your NEO status!  The question list as below:&lt;br /&gt;
&lt;br /&gt;
1. What NEO device you are using? GTA01 or GTA02&lt;br /&gt;
&lt;br /&gt;
2. Where is your location and what is your network provider? eg. T-Mobile, San Francisco in USA&lt;br /&gt;
&lt;br /&gt;
3. When you boot the NEO, how long it takes to register the network? eg. in normal case, it should be able to register to a network in 1~2 minutes immediately.&lt;br /&gt;
&lt;br /&gt;
4. What is your GSM firmware version? you can get this number by an AT command. Using SSH to your NEO, then type this command:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta02:~# libgsmd-tool -m atcmd&lt;br /&gt;
 AT+CGMR&lt;br /&gt;
 STR=`AT+CGMR'&lt;br /&gt;
 RSTR=`+CGMR: &amp;quot;HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
5. What is your IMEI code? by this AT command like previous steps.&lt;br /&gt;
 AT+CGSN&lt;br /&gt;
 STR=`AT+CGSN' &lt;br /&gt;
 RSTR=`+CGSN: 000000000000000'&lt;br /&gt;
&lt;br /&gt;
6. if NEO takes over 3 minutes to register to the network or it just re-register to the network again and again. Please attach your gsm log file ('/tmp/gsm.log') to our bugzilla, we already created a bug for [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=1024 this issue].&lt;br /&gt;
&lt;br /&gt;
[http://wiki.openmoko.org/wiki/USB_Networking How to use SSH] [http://wiki.openmoko.org/wiki/Gsmd  How to use libgsmd-tool]&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GSM_network_registration</id>
		<title>GSM network registration</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GSM_network_registration"/>
				<updated>2008-03-17T13:09:37Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* GSM network registration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'd like to know the real network registration status by our NEO devices in the world.  Please provide some information about your NEO status!  The question list as below:&lt;br /&gt;
&lt;br /&gt;
1. What NEO device you are using? GTA01 or GTA02&lt;br /&gt;
&lt;br /&gt;
2. Where is your location and what is your network provider? eg. T-Mobile, San Francisco in USA&lt;br /&gt;
&lt;br /&gt;
3. When you boot the NEO, how long it takes to register the network? eg. in normal case, it should be able to register to a network in 1~2 minutes immediately.&lt;br /&gt;
&lt;br /&gt;
4. What is your GSM firmware version? you can get this number by an AT command. Using SSH to your NEO, then type this command:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta02:~# libgsmd-tool -m atcmd&lt;br /&gt;
 AT+CGMR&lt;br /&gt;
 STR=`AT+CGMR'&lt;br /&gt;
 RSTR=`+CGMR: &amp;quot;HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
5. What is your IMEI code? by this AT command like previous steps.&lt;br /&gt;
 AT+CGSN&lt;br /&gt;
 STR=`AT+CGSN' &lt;br /&gt;
 RSTR=`+CGSN: 000000000000000'&lt;br /&gt;
&lt;br /&gt;
6. if NEO takes over 3 minutes to register to the network or it just re-register to the network again and again. Please attach your gsm log file ('/tmp/gsm.log') to our bugzilla, we already created a bug for [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=1024 this issue].&lt;br /&gt;
&lt;br /&gt;
[http://wiki.openmoko.org/wiki/USB_Networking How to use SSH] [http://wiki.openmoko.org/wiki/Gsmd  How to use libgsmd-tool]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GSM_network_registration</id>
		<title>GSM network registration</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GSM_network_registration"/>
				<updated>2008-03-17T10:35:08Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* GSM network registration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'd like to know the real network registration status by our NEO devices in the world. Please provide some information about your NEO status! The question list as below:&lt;br /&gt;
&lt;br /&gt;
1. What NEO device you are using? GTA01 or GTA02&lt;br /&gt;
&lt;br /&gt;
2. Where is your location and what is your network provider? eg. T-Mobile, San Francisco in USA&lt;br /&gt;
&lt;br /&gt;
3. When you boot the NEO, how long it takes to register the network? eg. in normal case, it should be able to register to a network in 1~2 minutes immediately.&lt;br /&gt;
&lt;br /&gt;
4. What is your GSM firmware version? you can get this number by an AT command. Using SSH to your NEO, then type this command:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta02:~# libgsmd-tool -m atcmd&lt;br /&gt;
libgsm-tool - (C) 2006-2007 by Harald Welte and OpenMoko, Inc.&lt;br /&gt;
This program is Free Software and has ABSOLUTELY NO WARRANTY&lt;br /&gt;
&lt;br /&gt;
AT+CGMR&lt;br /&gt;
STR=`AT+CGMR'&lt;br /&gt;
RSTR=`+CGMR: &amp;quot;HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko6&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
5. What is your IMEI code? by this AT command like previous steps.&lt;br /&gt;
AT+CGSN&lt;br /&gt;
STR=`AT+CGSN'&lt;br /&gt;
RSTR=`+CGSN: 000000000000000'&lt;br /&gt;
&lt;br /&gt;
6. if NEO takes over 3 minutes to register to the network or it just re-register to the network again and again. Please attach your gsm log file ('/tmp/gsm.log') to our bugzilla, we already created a bug for this issue.&lt;br /&gt;
http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=1024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS. Check our wiki site, if you have problems on these stuff.&lt;br /&gt;
&lt;br /&gt;
How to use SSH on NEO:&lt;br /&gt;
http://wiki.openmoko.org/wiki/USB_Networking&lt;br /&gt;
How to use libgsmd-tool:&lt;br /&gt;
http://wiki.openmoko.org/wiki/Gsmd&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Main_Page"/>
				<updated>2008-03-17T10:30:53Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Main_Page}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{| cellspacing=&amp;quot;5&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;padding: 2%; margin:0em 0em 1em 0em; border:1px solid #F9D163; background:#FCE9B4; width:100%&amp;quot; &lt;br /&gt;
| &amp;lt;big&amp;gt;'''Welcome to the [[Openmoko]]&amp;amp;trade; public Wiki'''&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Image:GTA02.gif |200px|right|frontside]]&lt;br /&gt;
Openmoko&amp;amp;trade; is an [http://en.wikipedia.org/wiki/Open_source Open Source] project under[[License| GPL and LGPL license]]. The aim of Openmoko is to build the world's first free mobile platform which runs a full X server and can therefore run most X applications.  You can install any [[OpenMoko]] software over the whole range of [[OpenMoko-supported hardware|supported phones]], and if you upgrade your phone, you won't lose that software. Bugs fixed on any phone are fixed on all. &lt;br /&gt;
&lt;br /&gt;
The [[Neo1973 | Neo 1973 (GTA01)]] from [[FIC]] is the first of many phones that Openmoko may be used on.  You can go to  [https://direct.openmoko.com/ Openmoko Online Shop] to get the sales informaiton.  [[Neo FreeRunner  | Neo FreeRunner (GTA02)]] the new generation Openmoko mobile phone is not yet available - press [[Neo FreeRunner GTA02 Hardware| here]] to get more hardware information.   Otherwise, scroll down this page for info on the development status , or you can add your nickname to those interested buying the Neo FreeRunner [[Buying_Interest_List|here]].&lt;br /&gt;
&lt;br /&gt;
The [[OpenMoko]] project is a community that anyone can join, to help design their ideal phone. Please join us in collaborating on the Openmoko project through any of the [[Development resources | project resources]] including this Openmoko wiki. Please see the [[Help:Contents | wiki editing help]] page for information on making contributions to this wiki. A [[Meet the Core Team | core team]] of developers funded by FIC, Inc. leads the project.&lt;br /&gt;
&lt;br /&gt;
To the novice,  can start by use  [[introduction]] page ,  [[Introduction#Photos|photos]],  [[Introduction#Videos|videos]]  and [[OPENMOKO WIKI Official Index Page | Openmoko Official Index Page]] ,  to take the overview of Openmoko and  wiki.      Moreover, the usual [[FAQ | Frequently Asked Questions]] (FAQ)  and [http://lists.openmoko.org/mailman/listinfo/| mailing list] pages might be helpful. Developers may find the [[ChangeLog | change log]] an important resource.  &lt;br /&gt;
&lt;br /&gt;
{{warning|'''The OpenMoko GUI applications are not suitable for end users yet.''' They are still in beta. Do not expect to always and reliably make and receive calls from the OpenMoko GUI. Thanks to the openness of the FIC Neo1973 hardware, there is also an alternative to the OpenMoko GUI: Qtopia 4.3.x is released under GPL and is at the edge of being usable for phone use.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=100% colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#F9D163;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Latest status&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FCE9B4;border-left:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* The latest Qtopia snapshot can now be successfully used to make and receive calls, to send and receive SMS and use Contacts for both. However, if you do not enable suspend, one battery will only last 3-5 hours, but in suspend, incoming calls do not wake up Qtopia! See [[Qtopia on Neo 1973]] for instructions.&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FCE9B4;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* The  [http://buildhost.openmoko.org/daily/neo1973/deploy/glibc/images/neo1973/ latest build] can make and receive calls most of the time. Power management (suspend, standby time) are still experiencing problems.     Reports on the new snapshots built daily (will break sometimes) are [[Snapshot_review|here]]&lt;br /&gt;
* For the latest status updates, see [[Community_Updates|Community Updates]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=100% colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#F9D163;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | What's Your Interest?&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FCE9B4;border-left:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Basic End-user]] - Information for end users who want basic functionality and no surprises&lt;br /&gt;
* [[Advanced End-user]] - Information for advanced end-users who want advanced and experimental functionality but who are not programmers&lt;br /&gt;
* [[Business Development]] - Exchange of commercial opportunities for promoting widespread end-user acceptance.&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FCE9B4;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Application Developer]] - Information for application developers, including ideas and specifications for applications, and tools to build them&lt;br /&gt;
* [[System Developer]] - Information for system developers, including bootloader, kernel, and libraries&lt;br /&gt;
* [[Hardware Developer]] - Information for hardware developers, including hardware specs and debug board&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=100% colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#F9D163;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | System Specs&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FCE9B4;border-left:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Neo1973_hardware|Neo 1973 (GTA01)]] - Specs of original Neo 1973 (GTA01) Hardware&lt;br /&gt;
* [[Neo_FreeRunner_GTA02_Hardware|Neo FreeRunner (GTA02)]] - Specs of Neo FreeRunner (GTA02) Hardware&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FCE9B4;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[OpenMoko Core Applications]] - Applications included in the core build of OpenMoko&lt;br /&gt;
* [[OpenMoko Community Applications]] - Featured downloadable applications from the OpenMoko community&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=33% style=&amp;quot;background:#d1d1d1;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | General&lt;br /&gt;
! width=33% style=&amp;quot;background:#C5FDAF;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Developer Guides&lt;br /&gt;
! width=33% style=&amp;quot;background:#FDAFAF;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Developer Reference Documentation&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#ebebeb;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; |&lt;br /&gt;
* [[Development resources | Project Resources]] - Provides a centralized location of all resources such as [[Development resources#Mailing_Lists|mailing lists]], [[Development resources#IRC | IRC]], and other software development oriented resources.&lt;br /&gt;
 &lt;br /&gt;
* [[Current events]] - Information on both past and future events where FIC or OpenMoko had or will have a presence.&lt;br /&gt;
* [http://forums.makeopensource.com/ Unofficial OpenMoko Forums] - Everyone is invited to collaborate with OpenMoko users and developers on the forums.&lt;br /&gt;
* Most of the documentation and Wiki assumes you are using Linux; here are some notes for users of [[Other OSes]].&lt;br /&gt;
* [[MacOS_X|Mac OS X]] - Information specific for those who use Mac OS X&lt;br /&gt;
* [[OpenLab]] - A physical area where OpenMoko can interact with FOSS community&lt;br /&gt;
&lt;br /&gt;
'''Administrative + Organizational'''&lt;br /&gt;
* [[Shipping Notes]] - Information to help FIC figure out how to ship products to you, and how much it might cost.&lt;br /&gt;
* [[My Account]] - Ideas for what sort of account-based services FIC should provide with the phone.&lt;br /&gt;
* [[Hear Me FIC]] - Information to help FIC know what the community wants.&lt;br /&gt;
* [[Listen Up Community]] - Community's To-Do-List&lt;br /&gt;
* [[Wiki Issues]] - problems/requests regarding this Wiki&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#E8FFDF;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Getting Started with your Neo1973]]&lt;br /&gt;
* [[installation_guide|A guide for flashing and emulating the openmoko software]] (In progress, this should replace the following options)&lt;br /&gt;
** [[Flashing_openmoko|Flashing Neo1973 with the kernel, the root filesystem and optionally u-boot.]]&lt;br /&gt;
** [[MokoMakefile|Building OpenMoko using the MokoMakefile]]&lt;br /&gt;
** [[Application Development Crash Course]] -A very basic how-to for the new people. &lt;br /&gt;
** [[OpenMoko2007.2|Building OpenMoko 2007.2]]&lt;br /&gt;
** [[Building OpenMoko 2007.1 from scratch]]&lt;br /&gt;
*** [[Building a hello world application]]&lt;br /&gt;
*** Old [[Building OpenMoko from scratch (pre-BBT)]]&lt;br /&gt;
** [[Running OpenMoko on PC]]&lt;br /&gt;
*** [[Getting OpenMoko working on host with Xoo]]&lt;br /&gt;
*** [[Getting OpenMoko working on host with Xephyr]]&lt;br /&gt;
*** [[How to run OpenMoko Apps on PC]]&lt;br /&gt;
*** [[OpenMoko under QEMU]]&lt;br /&gt;
*** [[Test Openmoko Emulation with chroot image|Test Openmoko Emulation with a Prebuilt chroot Image]]&lt;br /&gt;
* [[Migration to bad block tolerant builds]]&lt;br /&gt;
* [[Booting from SD]]&lt;br /&gt;
* [[DailyBuiltImages|Getting daily built images]]&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#FFDADA;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot;| &lt;br /&gt;
'''Hardware Reference Documentation'''&lt;br /&gt;
* All [[:Category:Hardware|Hardware]] related documentation and specifications are found on the [[:Category:Hardware|Hardware page]].&lt;br /&gt;
* The [[Neo1973 Hardware]] page provides an overview of the hardware components used by the [[:Category:Neo1973 Hardware|Neo1973 hardware platform]]. PCB photographs are also included. A [[Disassembling Neo1973 | photo disassembly story]] may be an interesting starting place.&lt;br /&gt;
* [[:Category:Neo1973 Hardware Debugging | Neo1973 Hardware Debugging]] is assisted with the [[Debug Board | Neo1973 debug board]].   A page discussing [[Connecting Neo1973 with Debug Board v2 | debug board and Neo1973 configurations]] is also provided.&lt;br /&gt;
&lt;br /&gt;
'''Software Reference Documentation'''&lt;br /&gt;
* Architectural&lt;br /&gt;
** [[OpenMokoFramework]] - The OpenMoko Application Framework&lt;br /&gt;
* [[Neo1973 host software]]&lt;br /&gt;
* Device Software&lt;br /&gt;
** Low-Level&lt;br /&gt;
*** [[u-boot]] - The bootloader we use, including documentation for our modifications&lt;br /&gt;
*** [[kernel]] - The Linux kernel we use, including documentation for our modifications&lt;br /&gt;
** Userspace&lt;br /&gt;
*** [[binary compatibility]]&lt;br /&gt;
*** [[gsmd]] - the GSM daemon managing the GSM Modem&lt;br /&gt;
*** [[gpsd]] - the AGPS (Assisted GPS) daemon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=33% style=&amp;quot;background:#FCC6FF;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | OpenMoko-specific Development&lt;br /&gt;
! width=33% style=&amp;quot;background:#B3DDF4;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | OpenMoko Miscellaneous Development&lt;br /&gt;
! width=33% style=&amp;quot;background:#F5FC7F;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Miscellaneous&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#FEE9FF;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Roadmap]] - Roadmap for further OpenMoko development&lt;br /&gt;
* [[OpenEmbedded]] - The distribution-building framework&lt;br /&gt;
* [[Toolchain]] - The toolchain we use for compilation&lt;br /&gt;
* [[OpenMoko]] - The OpenMoko distribution&lt;br /&gt;
** [[OpenMoko2007]] - The first intended release of it&lt;br /&gt;
** [[OpenMoko2007.2]] - An improved release with more formalized style guidelines.&lt;br /&gt;
** [[Userspace root image]]&lt;br /&gt;
* [[Test Plans]] - How we test our phones&lt;br /&gt;
* [[Prototypes]] - Tracking prototypes&lt;br /&gt;
* [[GSM network registration]] - Tracking network registration status in the world&lt;br /&gt;
&lt;br /&gt;
'''User Interface Related'''&lt;br /&gt;
* [[GUI Style Guidelines]] -- New for [[OpenMoko2007.2]]&lt;br /&gt;
* [[Look &amp;amp; Feel]]&lt;br /&gt;
** [[Artwork]]&lt;br /&gt;
* [[Applications|Application Roadmap]]&lt;br /&gt;
* [[Widgets]]&lt;br /&gt;
** [[Widget Inheritance Graph]]&lt;br /&gt;
* [[Application UI Design Recommendations]]&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#D4EDFB;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; |&lt;br /&gt;
* [[Thesis work]] &lt;br /&gt;
* [[Freshman todo]]&lt;br /&gt;
* [[Templates]]&lt;br /&gt;
* [[PIM Storage]]&lt;br /&gt;
* [[Coding Guidelines]]&lt;br /&gt;
* [[OpenMoko#Setting_up_an_OpenMoko_SDK|How to setup the OpenMoko SDK]]&lt;br /&gt;
* Alternative distributions for [[Neo1973]] GTA01: [[Angstrom on Neo1973]], [http://pokylinux.org Poky] [http://www.usome.com](instructions needed!)&lt;br /&gt;
* [[License]] - How we license our code&lt;br /&gt;
* [[Development resources]] - Describes resources for developers (lists, svn, ...)&lt;br /&gt;
* [[Neo1973 Phase 0]] - Information for Phase 0 device owners&lt;br /&gt;
* [[Wishlist:Neo1973 P0 Review]] - Impressions of the Phase 0 hardware device, also the Phase 0 FAQ&lt;br /&gt;
* [[Neo1973 Phase 1]] - Information for Phase 1 device owners&lt;br /&gt;
* [[Wishlist:Neo1973 P1 Review]] - Impressions of the Phase 1 hardware device&lt;br /&gt;
* [[External Feeds]] - List of feeds from people blogging about OpenMoko&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#FCFFCD;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[WiFi support in OpenMoko]]&lt;br /&gt;
* [[Neo1973 and Windows]]&lt;br /&gt;
* [[Press Coverage]] - What the press says about the OpenMoko project&lt;br /&gt;
* [[mFAQ]] - The OpenMoko Misinformation FAQ ('''mFAQ''') - What the press '''''incorrectly''''' says about the OpenMoko project&lt;br /&gt;
* [[OpenMoko Core Applications]] - Applications (GUI based) currently included in the main/core build of OpenMoko &lt;br /&gt;
* [[Wish List]]s: [[Wish List - Hardware|Hardware]], [[Wishlist:BuiltInScriptingLanguage|Scripting Languages]], [[Wish List - OpenMoko Ringtones and Sounds|ringtones and sounds]]&lt;br /&gt;
* [[Media Content]] - What types of media on the device can we use (that is non-software)?&lt;br /&gt;
* [[Testimonials]] - How did you get to OpenMoko?&lt;br /&gt;
* [[Buying Interest List]] - (Not official and not a pre-order page) Have you put money aside for Neo1973? Put your nick here.&lt;br /&gt;
* Comparison with the [[iPhone]]&lt;br /&gt;
* [[Translation]] of OpenMoko&lt;br /&gt;
* Project applications for Google's [[Summer of code]]&lt;br /&gt;
* Purchase OpenMoko [[SWAG]] T-Shirts!&lt;br /&gt;
* The OpenMoko [[Trademark Policy]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The members of the OpenMoko community would like to thank FIC Inc. for their continued leadership of the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Information| ]]&lt;br /&gt;
[[Category:Categories| ]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Prototypes</id>
		<title>Prototypes</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Prototypes"/>
				<updated>2008-03-17T10:14:35Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* #60 GTA02 A5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prototypes are pieces of hardware such as boards, fully assembled devices, batteries, accessories that OpenMoko uses during the development of new hardware.&lt;br /&gt;
&lt;br /&gt;
This page tracks such prototypes, in which condition their life started, and what happened to them during their lifetime.&lt;br /&gt;
&lt;br /&gt;
Prototypes cannot be purchased. They will be loaned out on a case by case basis, and collected back for post mortem analysis.&lt;br /&gt;
&lt;br /&gt;
If you believe you need a prototype of some upcoming hardware, please mailto:openmoko-kernel@lists.openmoko.org.&lt;br /&gt;
&lt;br /&gt;
=== #65 GTA02 A5 ===&lt;br /&gt;
current holder: Michael Shiloh&amp;lt;br&amp;gt;&lt;br /&gt;
06 Mar 2008 Ship to Michael Shiloh with coulomb battery&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Finish CMU-200 test&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 850 Band re-work and add IR resistor for power saving&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #64 GTA02 A5 ===&lt;br /&gt;
current holder: Martin/Hardware &amp;lt;br&amp;gt;&lt;br /&gt;
11 Mar 2008 USB DFU fail&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Finish CMU-200 test&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 850 Band re-work and add IR resistor for power saving&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #63 GTA02 A5 ===&lt;br /&gt;
current holder: Felipe Balbi&amp;lt;br&amp;gt;&lt;br /&gt;
11 Mar 2008 Sean doing 1800 band stability test&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Finish CMU-200 test, but once unstable boot into kernel&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 850 Band re-work and add IR resistor for power saving&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #62 GTA02 A5 ===&lt;br /&gt;
current holder: Raster&amp;lt;br&amp;gt;&lt;br /&gt;
07 Mar 2008 Transfer to Raster for another developer about graphics work&amp;lt;br&amp;gt;&lt;br /&gt;
03 Mar 2008 Tony use for DM/u-boot verification&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #61 GTA02 A5 ===&lt;br /&gt;
current holder: Matt&amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Matt for GSM test usage&amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Allen GSM IR resistor rework&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #60 GTA02 A5 ===&lt;br /&gt;
current holder: Erin&amp;lt;br&amp;gt;&lt;br /&gt;
17 Mar 2008 upgrade GSM firmware to moko7 and write IMEI code '354651019100314'&amp;lt;br&amp;gt;&lt;br /&gt;
17 Mar 2008 Use devirginator to load all latest images from buildhost (20080317) &amp;lt;br&amp;gt;&lt;br /&gt;
17 Mar 2008 Check device status, and then will send it to M. Dietrich &amp;lt;br&amp;gt;&lt;br /&gt;
10 Mar 2008 GPS antenna is broken &amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Matt for GSM test usage&amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Allen GSM IR resistor rework&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #59 GTA02 A5 ===&lt;br /&gt;
current holder: Martin&amp;lt;br&amp;gt;&lt;br /&gt;
17 Mar 2008 Hardware battery charging test&amp;lt;br&amp;gt;&lt;br /&gt;
12 Mar 2008 All sound output fail&amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Allen GSM IR resistor rework&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #58 GTA02 A5 ===&lt;br /&gt;
current holder: TRIsoft&amp;lt;br&amp;gt;&lt;br /&gt;
07 Mar 2008 TRIsoft for testing&amp;lt;br&amp;gt;&lt;br /&gt;
03 Mar 2008 Harry bring to Cebit Show&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Tony for DM test usage&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #57 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Allen Chang&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #56 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #55 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #54 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Miles&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #53 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Matt&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #52 GTA02 A5 ===&lt;br /&gt;
current holder: Wolfgang&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &lt;br /&gt;
&lt;br /&gt;
=== #51 GTA02 A5 ===&lt;br /&gt;
current holder: Martin&amp;lt;br&amp;gt;&lt;br /&gt;
17 Mar 2008 Hardware battery charging battery test&amp;lt;br&amp;gt;&lt;br /&gt;
12 Mar 2008 DFU always fail, USB connection broken all the time&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Finish u-boot test, and return to tony &amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 hardware side fixed 911 key and receiver issue.&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio, 911 key no switch, receiver broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #50 GTA02 A5 ===&lt;br /&gt;
current holder: Sean&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth working (!)&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #49 GTA02 A5 ===&lt;br /&gt;
current holder: OLV&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #48 GTA02 A5 ===&lt;br /&gt;
current holder: Hoger&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Transfer to Hoger&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth radio very weak&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #47 GTA02 A5 ===&lt;br /&gt;
current holder: Michael Dietrich&amp;lt;br&amp;gt;&lt;br /&gt;
27 Feb 2008 Transfered to Will, sent to Michael&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth radio very weak&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #46 GTA02 A5 ===&lt;br /&gt;
current holder: Thomas&amp;lt;br&amp;gt;&lt;br /&gt;
06 Mar 2008 Mail to o-hand Thomas as GTA02v4 replacement, with coulomb battery&amp;lt;br&amp;gt;&lt;br /&gt;
27 Feb 2008 Add PMU capacitor&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio, 911 key no switch&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #45 GTA02 A5 ===&lt;br /&gt;
current holder: Jeremy&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #44 unlucky number ===&lt;br /&gt;
&lt;br /&gt;
=== #43 GTA02 A5 ===&lt;br /&gt;
current holder: Miles&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 to Miles for DM2 partition verification&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #42 GTA02 A5 ===&lt;br /&gt;
current holder: Julian&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio, weak vibrator&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #41 GTA02 A5 ===&lt;br /&gt;
current holder: Lorn Potter (Trolltech)&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 sent to Lorn Potter, Trolltech&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 Tony: ran DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 Tony: replaced receiver&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Earphone broken in the package&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio, receiver broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #40 GTA02 A5 ===&lt;br /&gt;
current holder: Tick&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #39 GTA02 A5 ===&lt;br /&gt;
current holder: Sean Chiang&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #38 GTA02 A5 ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008: run DM2 (without wifi), no issues, Bluetooth working (!)&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #37 GTA02 A5 ===&lt;br /&gt;
current holder: Lorn Potter (Trolltech)&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 sent to Lorn Potter, Trolltech&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), no issues, Bluetooth working (!)&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #36 GTA02 A5 ===&lt;br /&gt;
current holder: Graeme (FOSDEM)&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio, LCM cracked&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #35 GTA02 A5 ===&lt;br /&gt;
current holder: Dodji (FOSDEM)&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #34 GTA02 A5 ===&lt;br /&gt;
current holder: Martin&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Return to hardware side for GPS antenna switch second source test&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), receiver broken, 911 key broken, Bluetooth scan not working, Tony thinks device may have been drop-tested!&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #33 GTA02 A5 ===&lt;br /&gt;
current holder: Erin&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 Erin: load daily build rootfs '0220-fic-gta02.rootfs.jffs2' and kernel 'uImage-2.6.24+svnr4096-r4055-r3-neo1973.bin'. gsmd is running OK, can receive/dial out calls. but no ringtone for incoming calls.&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), Bluetooth scan not working, vibrator very weak&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #32 GTA02 A5 ===&lt;br /&gt;
current holder: Miles&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), Bluetooth scan not working&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #31 GTA02 A5 ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), Bluetoosh Scan only found 1 out of 3 devices&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #30 GTA02 A5 ===&lt;br /&gt;
current holder: Mickey&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;del&amp;gt;24 Feb 2008 '''issue found''': Headphone Jack GPIO is floating, receiving 500 IRQ's per second, making the system crawl like it has only 50MHz (or less...)&amp;lt;br/&amp;gt;&amp;lt;/del&amp;gt;&lt;br /&gt;
&amp;lt;del&amp;gt;24 Feb 2008 '''issue found''': Once sound is initialized, it emits two loud cracks per second&amp;lt;br/&amp;gt;&amp;lt;/del&amp;gt;&lt;br /&gt;
24 Feb 2008 '''issue found''': Vibrator is very weak&amp;lt;br/&amp;gt;&lt;br /&gt;
23 Feb 2008 flash NOR-enabled U-Boot, flash kernel+rootfs&amp;lt;br/&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), no issues found&amp;lt;br/&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #29 Highcell battery 3.7V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Andy&lt;br /&gt;
&lt;br /&gt;
=== #28 Highcell battery 3.7V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Tony Tu&lt;br /&gt;
&lt;br /&gt;
=== #27 GTA02 A5 ===&lt;br /&gt;
current holder: Willie&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Willie: LCD seems be broken. Screen shows three lines.&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #26 GTA02 A5 ===&lt;br /&gt;
current holder: Allen Lin&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #25 GTA02 A5 ===&lt;br /&gt;
current holder: Raster&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #24 GTA02 A5 ===&lt;br /&gt;
current holder: John&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #23 GTA02 A5 ===&lt;br /&gt;
current holder: JJ, battery vendor&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Willie: Install kernel image from lastest svn check out&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #22 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
15 Feb 2008 Tony: Back to hardware team&amp;lt;br&amp;gt;&lt;br /&gt;
13 Feb 2008 Erin: gsm modem is bad &amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #21 GTA02 A5 ===&lt;br /&gt;
current holder: Matt&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad, GPS broken&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #20 GTA02 A5 ===&lt;br /&gt;
current holder: Martin&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 GPS antenna switch 2nd source test&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Miles: factory partition broken&amp;lt;br&amp;gt; &lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad&amp;lt;br&amp;gt;&lt;br /&gt;
13 Feb 2008 Miles take from Tony for PBE comparsion test&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #19 GTA02 A5 ===&lt;br /&gt;
current holder: Brenda&amp;lt;br&amp;gt;&lt;br /&gt;
27 Feb Add PMU capacitor&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Tony: Add WiFi FW 2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #18 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
15 Feb 2008 Willie: Send to hardware side and fix it. &lt;br /&gt;
12 Feb 2008 Willie: It will generate big noise, maybe it's a hardware issue. I will check this &amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Erin: after booting to UI, the screen freezes, no any response. Willie is checking it now &amp;lt;br&amp;gt;&lt;br /&gt;
09 Feb 2008 Erin: load uboot, kernel, rootfs by Sean Chiang, it can auto-camp to the network, can use dialer&amp;lt;br&amp;gt; &lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #17 GTA02 A5 ===&lt;br /&gt;
current holder: Vitaly (Atheros)&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Delivered to Vitaly, Atheros&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #16 GTA02 A5 ===&lt;br /&gt;
current holder: Samuel&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Sent to Samuel&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #15 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
12 Mar 2008 Wi-fi module still old one, and the DFU fail, USB connection un-steady&lt;br /&gt;
31 Jan 2008 Running from battery shuts down 5 seconds after reboot. Running from power source (plugged into battery connectors) is stable&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #14 GTA02 A5 ===&lt;br /&gt;
current holder: Willie&amp;lt;br&amp;gt;&lt;br /&gt;
27 Feb 2008 Willie: Get second phone&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Tony: switched wifi to FW 2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #13 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Miles: Bluetooth scan doesn't work, Power Key broken&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #12 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
21 Jan 2008 Allen: Added Bluetooth module, reworked for power measurements, broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #11 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
21 Jan 2008 Allen: Added Bluetooth module, reworked for power measurements, broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #10 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
Die. Because I connect the power supply and usb. Then I shutdown the power supply, and power on the power supply. Quickly, the phone is short.&lt;br /&gt;
&lt;br /&gt;
=== #9 GTA02 A5 ===&lt;br /&gt;
current holder: Matt&amp;lt;br&amp;gt;&lt;br /&gt;
5 Feb 2008 There are some hardware components broken. The behavior of i2c accessing is strange. And its suspend current is quite high (14~15mA).&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Matt: Found out jack insert interrupt line is floating&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #8 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
21 Jan 2008 Allen: Added Bluetooth module, reworked for power measurements, broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #7 GTA02 A5 ===&lt;br /&gt;
current holder: Smedia&amp;lt;br&amp;gt;&lt;br /&gt;
03 Mar 2008 Transfer to SMedia for flicker test&lt;br /&gt;
27 Feb 2008 Add PMU capacitor&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Tony: added receiver, switched to wifi FW 2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 Miles: removed receiver&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Miles: receiver test failed (receiver broken)&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #6 Highcell battery 3.7V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Willie: verified&lt;br /&gt;
&lt;br /&gt;
=== #5 Highcell battery 3.7V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 sent to Andy&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Willie: verified&lt;br /&gt;
&lt;br /&gt;
=== #4 Highcell battery 3.7V 1200mAh with Coulomb counter (Tony) ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 Returned to Tony who gave me two &amp;quot;end user&amp;quot; batteries instead.&amp;lt;br&amp;gt;&lt;br /&gt;
08 Feb 2008 Got it. Passes power-on test.&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 sent to Werner&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Willie: verified&lt;br /&gt;
&lt;br /&gt;
=== #3 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 Found solution: added capacitor&amp;lt;br&amp;gt;&lt;br /&gt;
02 Feb 2008 I see similar behaviour to #15 today on battery + USB.  Appears to be related to, eg, starting LCM backlight making power problems resulting in immediate shutdown.  Current limit issue somehow?&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Behaving well.&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 sent to Andy&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #2 GTA02 A5 ===&lt;br /&gt;
current holder: Harald&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 sent to Harald&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #1 GTA02 A5 (Werner) ===&lt;br /&gt;
current holder: Werner&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Vibrator seems to be broken or unnoticeably weak&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 SD/MMC seems broken under Linux (same usage works fine on #51; u-boot can read from it)&amp;lt;br&amp;gt;&lt;br /&gt;
11 Feb 2008 Verified NOR WP (with reworked debug v3)&amp;lt;br&amp;gt;&lt;br /&gt;
09 Feb 2008 Rework: bypass VB_SYS with 10uF 0603 6V3 cer X5R&amp;lt;br&amp;gt;&lt;br /&gt;
08 Feb 2008 Got it. Passes power-on test.&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 sent to Werner&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 Miles: verified hardware, same exceptions as below&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 Allen Chang: reworked to add NOR protection (R2505 closed, R2506 opened)&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Miles: verified hardware, except for&lt;br /&gt;
* microSD&lt;br /&gt;
* suspend/resume&lt;br /&gt;
* Bluetooth audio&lt;br /&gt;
* Coulomb counter &amp;amp; motion sensor only low-level verification (no drivers)&lt;br /&gt;
* USB host only low-level verification (no device)&lt;br /&gt;
* charging (only 500mA verified), running on USB only, switching between charging modes&lt;br /&gt;
* full memory verification&lt;br /&gt;
* wakeup interrupts (WiFi, USB, GSM, motion sensors, 2 buttons, RTC, headphone jack)&lt;br /&gt;
28 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
28 Jan 2008 Tony: Rework wifi FW to 2.0.0.40&amp;lt;br&amp;gt;&lt;br /&gt;
28 Jan 2008 Batch of 10 from Suzhou, PCBA with all modules, wifi FW 1.3, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
[[Category:GTA02 Hardware]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Prototypes</id>
		<title>Prototypes</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Prototypes"/>
				<updated>2008-03-17T06:19:38Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* #60 GTA02 A5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prototypes are pieces of hardware such as boards, fully assembled devices, batteries, accessories that OpenMoko uses during the development of new hardware.&lt;br /&gt;
&lt;br /&gt;
This page tracks such prototypes, in which condition their life started, and what happened to them during their lifetime.&lt;br /&gt;
&lt;br /&gt;
Prototypes cannot be purchased. They will be loaned out on a case by case basis, and collected back for post mortem analysis.&lt;br /&gt;
&lt;br /&gt;
If you believe you need a prototype of some upcoming hardware, please mailto:openmoko-kernel@lists.openmoko.org.&lt;br /&gt;
&lt;br /&gt;
=== #65 GTA02 A5 ===&lt;br /&gt;
current holder: Michael Shiloh&amp;lt;br&amp;gt;&lt;br /&gt;
06 Mar 2008 Ship to Michael Shiloh with coulomb battery&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Finish CMU-200 test&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 850 Band re-work and add IR resistor for power saving&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #64 GTA02 A5 ===&lt;br /&gt;
current holder: Martin/Hardware &amp;lt;br&amp;gt;&lt;br /&gt;
11 Mar 2008 USB DFU fail&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Finish CMU-200 test&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 850 Band re-work and add IR resistor for power saving&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #63 GTA02 A5 ===&lt;br /&gt;
current holder: Felipe Balbi&amp;lt;br&amp;gt;&lt;br /&gt;
11 Mar 2008 Sean doing 1800 band stability test&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Finish CMU-200 test, but once unstable boot into kernel&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 850 Band re-work and add IR resistor for power saving&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #62 GTA02 A5 ===&lt;br /&gt;
current holder: Raster&amp;lt;br&amp;gt;&lt;br /&gt;
07 Mar 2008 Transfer to Raster for another developer about graphics work&amp;lt;br&amp;gt;&lt;br /&gt;
03 Mar 2008 Tony use for DM/u-boot verification&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #61 GTA02 A5 ===&lt;br /&gt;
current holder: Matt&amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Matt for GSM test usage&amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Allen GSM IR resistor rework&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #60 GTA02 A5 ===&lt;br /&gt;
current holder: Erin&amp;lt;br&amp;gt;&lt;br /&gt;
17 Mar 2008 Check device status, and then will send it to M. Dietrich &amp;lt;br&amp;gt;&lt;br /&gt;
10 Mar 2008 GPS antenna is broken &amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Matt for GSM test usage&amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Allen GSM IR resistor rework&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #59 GTA02 A5 ===&lt;br /&gt;
current holder: Martin&amp;lt;br&amp;gt;&lt;br /&gt;
17 Mar 2008 Hardware battery charging test&amp;lt;br&amp;gt;&lt;br /&gt;
12 Mar 2008 All sound output fail&amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 Allen GSM IR resistor rework&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #58 GTA02 A5 ===&lt;br /&gt;
current holder: TRIsoft&amp;lt;br&amp;gt;&lt;br /&gt;
07 Mar 2008 TRIsoft for testing&amp;lt;br&amp;gt;&lt;br /&gt;
03 Mar 2008 Harry bring to Cebit Show&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Tony for DM test usage&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #57 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Allen Chang&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #56 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #55 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #54 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Miles&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #53 Highcell battery 3.6V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Matt&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb 2008  With correct terminal voltage 3.6 vot 0% setting on bq27000&lt;br /&gt;
&lt;br /&gt;
=== #52 GTA02 A5 ===&lt;br /&gt;
current holder: Wolfgang&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module &lt;br /&gt;
&lt;br /&gt;
=== #51 GTA02 A5 ===&lt;br /&gt;
current holder: Martin&amp;lt;br&amp;gt;&lt;br /&gt;
17 Mar 2008 Hardware battery charging battery test&amp;lt;br&amp;gt;&lt;br /&gt;
12 Mar 2008 DFU always fail, USB connection broken all the time&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Finish u-boot test, and return to tony &amp;lt;br&amp;gt;&lt;br /&gt;
29 Feb 2008 hardware side fixed 911 key and receiver issue.&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio, 911 key no switch, receiver broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #50 GTA02 A5 ===&lt;br /&gt;
current holder: Sean&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth working (!)&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #49 GTA02 A5 ===&lt;br /&gt;
current holder: OLV&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #48 GTA02 A5 ===&lt;br /&gt;
current holder: Hoger&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Transfer to Hoger&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth radio very weak&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #47 GTA02 A5 ===&lt;br /&gt;
current holder: Michael Dietrich&amp;lt;br&amp;gt;&lt;br /&gt;
27 Feb 2008 Transfered to Will, sent to Michael&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth radio very weak&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #46 GTA02 A5 ===&lt;br /&gt;
current holder: Thomas&amp;lt;br&amp;gt;&lt;br /&gt;
06 Mar 2008 Mail to o-hand Thomas as GTA02v4 replacement, with coulomb battery&amp;lt;br&amp;gt;&lt;br /&gt;
27 Feb 2008 Add PMU capacitor&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio, 911 key no switch&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #45 GTA02 A5 ===&lt;br /&gt;
current holder: Jeremy&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #44 unlucky number ===&lt;br /&gt;
&lt;br /&gt;
=== #43 GTA02 A5 ===&lt;br /&gt;
current holder: Miles&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 to Miles for DM2 partition verification&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #42 GTA02 A5 ===&lt;br /&gt;
current holder: Julian&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio, weak vibrator&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #41 GTA02 A5 ===&lt;br /&gt;
current holder: Lorn Potter (Trolltech)&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 sent to Lorn Potter, Trolltech&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 Tony: ran DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 Tony: replaced receiver&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Earphone broken in the package&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio, receiver broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #40 GTA02 A5 ===&lt;br /&gt;
current holder: Tick&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #39 GTA02 A5 ===&lt;br /&gt;
current holder: Sean Chiang&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #38 GTA02 A5 ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008: run DM2 (without wifi), no issues, Bluetooth working (!)&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #37 GTA02 A5 ===&lt;br /&gt;
current holder: Lorn Potter (Trolltech)&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 sent to Lorn Potter, Trolltech&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), no issues, Bluetooth working (!)&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #36 GTA02 A5 ===&lt;br /&gt;
current holder: Graeme (FOSDEM)&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio, LCM cracked&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #35 GTA02 A5 ===&lt;br /&gt;
current holder: Dodji (FOSDEM)&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #34 GTA02 A5 ===&lt;br /&gt;
current holder: Martin&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Return to hardware side for GPS antenna switch second source test&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), receiver broken, 911 key broken, Bluetooth scan not working, Tony thinks device may have been drop-tested!&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #33 GTA02 A5 ===&lt;br /&gt;
current holder: Erin&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 Erin: load daily build rootfs '0220-fic-gta02.rootfs.jffs2' and kernel 'uImage-2.6.24+svnr4096-r4055-r3-neo1973.bin'. gsmd is running OK, can receive/dial out calls. but no ringtone for incoming calls.&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), Bluetooth scan not working, vibrator very weak&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #32 GTA02 A5 ===&lt;br /&gt;
current holder: Miles&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), Bluetooth scan not working&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #31 GTA02 A5 ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), Bluetoosh Scan only found 1 out of 3 devices&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #30 GTA02 A5 ===&lt;br /&gt;
current holder: Mickey&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;del&amp;gt;24 Feb 2008 '''issue found''': Headphone Jack GPIO is floating, receiving 500 IRQ's per second, making the system crawl like it has only 50MHz (or less...)&amp;lt;br/&amp;gt;&amp;lt;/del&amp;gt;&lt;br /&gt;
&amp;lt;del&amp;gt;24 Feb 2008 '''issue found''': Once sound is initialized, it emits two loud cracks per second&amp;lt;br/&amp;gt;&amp;lt;/del&amp;gt;&lt;br /&gt;
24 Feb 2008 '''issue found''': Vibrator is very weak&amp;lt;br/&amp;gt;&lt;br /&gt;
23 Feb 2008 flash NOR-enabled U-Boot, flash kernel+rootfs&amp;lt;br/&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), no issues found&amp;lt;br/&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #29 Highcell battery 3.7V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Andy&lt;br /&gt;
&lt;br /&gt;
=== #28 Highcell battery 3.7V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Tony Tu&lt;br /&gt;
&lt;br /&gt;
=== #27 GTA02 A5 ===&lt;br /&gt;
current holder: Willie&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Willie: LCD seems be broken. Screen shows three lines.&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #26 GTA02 A5 ===&lt;br /&gt;
current holder: Allen Lin&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #25 GTA02 A5 ===&lt;br /&gt;
current holder: Raster&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #24 GTA02 A5 ===&lt;br /&gt;
current holder: John&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #23 GTA02 A5 ===&lt;br /&gt;
current holder: JJ, battery vendor&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Willie: Install kernel image from lastest svn check out&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #22 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
15 Feb 2008 Tony: Back to hardware team&amp;lt;br&amp;gt;&lt;br /&gt;
13 Feb 2008 Erin: gsm modem is bad &amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #21 GTA02 A5 ===&lt;br /&gt;
current holder: Matt&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad, GPS broken&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #20 GTA02 A5 ===&lt;br /&gt;
current holder: Martin&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 GPS antenna switch 2nd source test&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Miles: factory partition broken&amp;lt;br&amp;gt; &lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad&amp;lt;br&amp;gt;&lt;br /&gt;
13 Feb 2008 Miles take from Tony for PBE comparsion test&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #19 GTA02 A5 ===&lt;br /&gt;
current holder: Brenda&amp;lt;br&amp;gt;&lt;br /&gt;
27 Feb Add PMU capacitor&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Tony: Add WiFi FW 2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #18 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
15 Feb 2008 Willie: Send to hardware side and fix it. &lt;br /&gt;
12 Feb 2008 Willie: It will generate big noise, maybe it's a hardware issue. I will check this &amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Erin: after booting to UI, the screen freezes, no any response. Willie is checking it now &amp;lt;br&amp;gt;&lt;br /&gt;
09 Feb 2008 Erin: load uboot, kernel, rootfs by Sean Chiang, it can auto-camp to the network, can use dialer&amp;lt;br&amp;gt; &lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #17 GTA02 A5 ===&lt;br /&gt;
current holder: Vitaly (Atheros)&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Delivered to Vitaly, Atheros&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #16 GTA02 A5 ===&lt;br /&gt;
current holder: Samuel&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Sent to Samuel&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #15 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
12 Mar 2008 Wi-fi module still old one, and the DFU fail, USB connection un-steady&lt;br /&gt;
31 Jan 2008 Running from battery shuts down 5 seconds after reboot. Running from power source (plugged into battery connectors) is stable&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #14 GTA02 A5 ===&lt;br /&gt;
current holder: Willie&amp;lt;br&amp;gt;&lt;br /&gt;
27 Feb 2008 Willie: Get second phone&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Tony: switched wifi to FW 2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #13 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Miles: Bluetooth scan doesn't work, Power Key broken&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #12 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
21 Jan 2008 Allen: Added Bluetooth module, reworked for power measurements, broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #11 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
21 Jan 2008 Allen: Added Bluetooth module, reworked for power measurements, broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #10 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
Die. Because I connect the power supply and usb. Then I shutdown the power supply, and power on the power supply. Quickly, the phone is short.&lt;br /&gt;
&lt;br /&gt;
=== #9 GTA02 A5 ===&lt;br /&gt;
current holder: Matt&amp;lt;br&amp;gt;&lt;br /&gt;
5 Feb 2008 There are some hardware components broken. The behavior of i2c accessing is strange. And its suspend current is quite high (14~15mA).&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Matt: Found out jack insert interrupt line is floating&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #8 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
21 Jan 2008 Allen: Added Bluetooth module, reworked for power measurements, broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #7 GTA02 A5 ===&lt;br /&gt;
current holder: Smedia&amp;lt;br&amp;gt;&lt;br /&gt;
03 Mar 2008 Transfer to SMedia for flicker test&lt;br /&gt;
27 Feb 2008 Add PMU capacitor&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Tony: added receiver, switched to wifi FW 2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 Miles: removed receiver&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Miles: receiver test failed (receiver broken)&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #6 Highcell battery 3.7V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Willie: verified&lt;br /&gt;
&lt;br /&gt;
=== #5 Highcell battery 3.7V 1200mAh with Coulomb counter ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 sent to Andy&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Willie: verified&lt;br /&gt;
&lt;br /&gt;
=== #4 Highcell battery 3.7V 1200mAh with Coulomb counter (Tony) ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 Returned to Tony who gave me two &amp;quot;end user&amp;quot; batteries instead.&amp;lt;br&amp;gt;&lt;br /&gt;
08 Feb 2008 Got it. Passes power-on test.&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 sent to Werner&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Willie: verified&lt;br /&gt;
&lt;br /&gt;
=== #3 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 Found solution: added capacitor&amp;lt;br&amp;gt;&lt;br /&gt;
02 Feb 2008 I see similar behaviour to #15 today on battery + USB.  Appears to be related to, eg, starting LCM backlight making power problems resulting in immediate shutdown.  Current limit issue somehow?&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Behaving well.&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 sent to Andy&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #2 GTA02 A5 ===&lt;br /&gt;
current holder: Harald&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 sent to Harald&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #1 GTA02 A5 (Werner) ===&lt;br /&gt;
current holder: Werner&amp;lt;br&amp;gt;&lt;br /&gt;
05 Mar 2008 Vibrator seems to be broken or unnoticeably weak&amp;lt;br&amp;gt;&lt;br /&gt;
04 Mar 2008 SD/MMC seems broken under Linux (same usage works fine on #51; u-boot can read from it)&amp;lt;br&amp;gt;&lt;br /&gt;
11 Feb 2008 Verified NOR WP (with reworked debug v3)&amp;lt;br&amp;gt;&lt;br /&gt;
09 Feb 2008 Rework: bypass VB_SYS with 10uF 0603 6V3 cer X5R&amp;lt;br&amp;gt;&lt;br /&gt;
08 Feb 2008 Got it. Passes power-on test.&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 sent to Werner&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 Miles: verified hardware, same exceptions as below&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 Allen Chang: reworked to add NOR protection (R2505 closed, R2506 opened)&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Miles: verified hardware, except for&lt;br /&gt;
* microSD&lt;br /&gt;
* suspend/resume&lt;br /&gt;
* Bluetooth audio&lt;br /&gt;
* Coulomb counter &amp;amp; motion sensor only low-level verification (no drivers)&lt;br /&gt;
* USB host only low-level verification (no device)&lt;br /&gt;
* charging (only 500mA verified), running on USB only, switching between charging modes&lt;br /&gt;
* full memory verification&lt;br /&gt;
* wakeup interrupts (WiFi, USB, GSM, motion sensors, 2 buttons, RTC, headphone jack)&lt;br /&gt;
28 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
28 Jan 2008 Tony: Rework wifi FW to 2.0.0.40&amp;lt;br&amp;gt;&lt;br /&gt;
28 Jan 2008 Batch of 10 from Suzhou, PCBA with all modules, wifi FW 1.3, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
[[Category:GTA02 Hardware]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Prototypes</id>
		<title>Prototypes</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Prototypes"/>
				<updated>2008-02-22T06:03:40Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* #33 GTA02 A5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prototypes are pieces of hardware such as boards, fully assembled devices, batteries, accessories that OpenMoko uses during the development of new hardware.&lt;br /&gt;
&lt;br /&gt;
This page tracks such prototypes, in which condition their life started, and what happened to them during their lifetime.&lt;br /&gt;
&lt;br /&gt;
Prototypes cannot be purchased. They will be loaned out on a case by case basis, and collected back for post mortem analysis.&lt;br /&gt;
&lt;br /&gt;
If you believe you need a prototype of some upcoming hardware, please mailto:openmoko-kernel@lists.openmoko.org.&lt;br /&gt;
&lt;br /&gt;
=== #52 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #51 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio, 911 key no switch, receiver broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #50 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth working (!)&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #49 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #48 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth radio very weak&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #47 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth radio very weak&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #46 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 run DM2 (without wifi), Bluetooth no radio, 911 key no switch&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #45 GTA02 A5 ===&lt;br /&gt;
current holder: Jeremy&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #44 unlucky number ===&lt;br /&gt;
&lt;br /&gt;
=== #43 GTA02 A5 ===&lt;br /&gt;
current holder: Miles&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 to Miles for DM2 partition verification&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #42 GTA02 A5 ===&lt;br /&gt;
current holder: Julian&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio, weak vibrator&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #41 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 Tony: ran DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 Tony: replaced receiver&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Earphone broken in the package&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio, receiver broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #40 GTA02 A5 ===&lt;br /&gt;
current holder: Tick&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #39 GTA02 A5 ===&lt;br /&gt;
current holder: Sean Chiang&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #38 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008: run DM2 (without wifi), no issues, Bluetooth working (!)&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #37 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008: run DM2 (without wifi), no issues, Bluetooth working (!)&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #36 GTA02 A5 ===&lt;br /&gt;
current holder: John (FOSDEM)&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio, LCM cracked&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #35 GTA02 A5 ===&lt;br /&gt;
current holder: John (FOSDEM)&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 run DM2 (without wifi), Bluetooth no radio&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #34 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), receiver broken, 911 key broken, Bluetooth scan not working, Tony thinks device may have been drop-tested!&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #33 GTA02 A5 ===&lt;br /&gt;
current holder: Erin&amp;lt;br&amp;gt;&lt;br /&gt;
22 Feb 2008 Erin: load daily build rootfs '0220-fic-gta02.rootfs.jffs2' and kernel 'uImage-2.6.24+svnr4096-r4055-r3-neo1973.bin'. gsmd is running OK, can receive/dial out calls. but no ringtone for incoming calls. &lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), Bluetooth scan not working, vibrator very weak&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #32 GTA02 A5 ===&lt;br /&gt;
current holder: Miles&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), Bluetooth scan not working&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #31 GTA02 A5 ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), Bluetoosh Scan only found 1 out of 3 devices&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #30 GTA02 A5 ===&lt;br /&gt;
current holder: John (FOSDEM)&amp;lt;br&amp;gt;&lt;br /&gt;
20 Feb 2008 run DM2 (without wifi), no issues found&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Hardware add capacitor and FW2.0.0.89 module&lt;br /&gt;
&lt;br /&gt;
=== #29 Highcell battery 3.7V 1250mAh with Coulomb counter ===&lt;br /&gt;
current holder: Andy&lt;br /&gt;
&lt;br /&gt;
=== #28 Highcell battery 3.7V 1250mAh with Coulomb counter ===&lt;br /&gt;
current holder: Raster&lt;br /&gt;
&lt;br /&gt;
=== #27 GTA02 A5 ===&lt;br /&gt;
current holder: Willie&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Willie: LCD seems be broken. Screen shows three lines.&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #26 GTA02 A5 ===&lt;br /&gt;
current holder: Allen Lin&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #25 GTA02 A5 ===&lt;br /&gt;
current holder: Raster&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #24 GTA02 A5 ===&lt;br /&gt;
current holder: John&amp;lt;br&amp;gt;&lt;br /&gt;
18 Feb 2008 Tony: Add Wi-Fi Module FW2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #23 GTA02 A5 ===&lt;br /&gt;
current holder: JJ, battery vendor&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Willie: Install kernel image from lastest svn check out&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #22 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
15 Feb 2008 Tony: Back to hardware team&amp;lt;br&amp;gt;&lt;br /&gt;
13 Feb 2008 Erin: gsm modem is bad &amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Tony: removed wifi module&amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 DKay: capacitor added&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 batch of 30, PCBA fully assembled, wifi FW 1.3&lt;br /&gt;
&lt;br /&gt;
=== #21 GTA02 A5 ===&lt;br /&gt;
current holder: Matt&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad, GPS broken&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #20 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Miles: factory partition broken&amp;lt;br&amp;gt; &lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad&amp;lt;br&amp;gt;&lt;br /&gt;
13 Feb 2008 Miles take from Tony for PBE comparsion test&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #19 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Tony: Add WiFi FW 2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #18 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
15 Feb 2008 Willie: Send to hardware side and fix it. &lt;br /&gt;
12 Feb 2008 Willie: It will generate big noise, maybe it's a hardware issue. I will check this &amp;lt;br&amp;gt;&lt;br /&gt;
12 Feb 2008 Erin: after booting to UI, the screen freezes, no any response. Willie is checking it now &amp;lt;br&amp;gt;&lt;br /&gt;
09 Feb 2008 Erin: load uboot, kernel, rootfs by Sean Chiang, it can auto-camp to the network, can use dialer&amp;lt;br&amp;gt; &lt;br /&gt;
01 Feb 2008 Miles: verified hardware, same exceptions as #1, Bluetooth sensitivity very bad&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Batch of 4 from Suzhou, PCBA with all modules, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
=== #17 GTA02 A5 ===&lt;br /&gt;
current holder: Vitaly (Atheros)&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Delivered to Vitaly, Atheros&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #16 GTA02 A5 ===&lt;br /&gt;
current holder: Samuel&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Sent to Samuel&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #15 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan 2008 Running from battery shuts down 5 seconds after reboot. Running from power source (plugged into battery connectors) is stable&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #14 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Tony: switched wifi to FW 2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #13 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Miles: Bluetooth scan doesn't work, Power Key broken&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #12 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
21 Jan 2008 Allen: Added Bluetooth module, reworked for power measurements, broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #11 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
21 Jan 2008 Allen: Added Bluetooth module, reworked for power measurements, broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #10 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
Die. Because I connect the power supply and usb. Then I shutdown the power supply, and power on the power supply. Quickly, the phone is short.&lt;br /&gt;
&lt;br /&gt;
=== #9 GTA02 A5 ===&lt;br /&gt;
current holder: Matt&amp;lt;br&amp;gt;&lt;br /&gt;
5 Feb 2008 There are some hardware components broken. The behavior of i2c accessing is strange. And its suspend current is quite high (14~15mA).&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Matt: Found out jack insert interrupt line is floating&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #8 GTA02 A5 ===&lt;br /&gt;
current holder: Tim Lee&amp;lt;br&amp;gt;&lt;br /&gt;
21 Jan 2008 Allen: Added Bluetooth module, reworked for power measurements, broken&amp;lt;br&amp;gt;&lt;br /&gt;
18 Jan 2008 Arrived from Suzhou (batch of 4) as PCBA without modules&lt;br /&gt;
&lt;br /&gt;
=== #7 GTA02 A5 ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
21 Feb 2008 Tony: added receiver, switched to wifi FW 2.0.0.89&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 Miles: removed receiver&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Miles: receiver test failed (receiver broken)&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #6 Highcell battery 3.7V 1250mAh with Coulomb counter ===&lt;br /&gt;
current holder: Tony&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Willie: verified&lt;br /&gt;
&lt;br /&gt;
=== #5 Highcell battery 3.7V 1250mAh with Coulomb counter ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 sent to Andy&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Willie: verified&lt;br /&gt;
&lt;br /&gt;
=== #4 Highcell battery 3.7V 1200mAh with Coulomb counter (Werner) ===&lt;br /&gt;
current holder: Werner&amp;lt;br&amp;gt;&lt;br /&gt;
08 Feb 2008 Got it. Passes power-on test.&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 sent to Werner&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Willie: verified&lt;br /&gt;
&lt;br /&gt;
=== #3 GTA02 A5 ===&lt;br /&gt;
current holder: Andy&amp;lt;br&amp;gt;&lt;br /&gt;
05 Feb 2008 Found solution: added capacitor&amp;lt;br&amp;gt;&lt;br /&gt;
02 Feb 2008 I see similar behaviour to #15 today on battery + USB.  Appears to be related to, eg, starting LCM backlight making power problems resulting in immediate shutdown.  Current limit issue somehow?&amp;lt;br&amp;gt;&lt;br /&gt;
01 Feb 2008 Behaving well.&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 sent to Andy&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #2 GTA02 A5 ===&lt;br /&gt;
current holder: Harald&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 sent to Harald&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Same as #1 until 29 Jan 2008&lt;br /&gt;
&lt;br /&gt;
=== #1 GTA02 A5 (Werner) ===&lt;br /&gt;
current holder: Werner&amp;lt;br&amp;gt;&lt;br /&gt;
11 Feb 2008 Verified NOR WP (with reworked debug v3)&amp;lt;br&amp;gt;&lt;br /&gt;
09 Feb 2008 Rework: bypass VB_SYS with 10uF 0603 6V3 cer X5R&amp;lt;br&amp;gt;&lt;br /&gt;
08 Feb 2008 Got it. Passes power-on test.&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 sent to Werner&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 Miles: verified hardware, same exceptions as below&amp;lt;br&amp;gt;&lt;br /&gt;
30 Jan 2008 Allen Chang: reworked to add NOR protection (R2505 closed, R2506 opened)&amp;lt;br&amp;gt;&lt;br /&gt;
29 Jan 2008 Miles: verified hardware, except for&lt;br /&gt;
* microSD&lt;br /&gt;
* suspend/resume&lt;br /&gt;
* Bluetooth audio&lt;br /&gt;
* Coulomb counter &amp;amp; motion sensor only low-level verification (no drivers)&lt;br /&gt;
* USB host only low-level verification (no device)&lt;br /&gt;
* charging (only 500mA verified), running on USB only, switching between charging modes&lt;br /&gt;
* full memory verification&lt;br /&gt;
* wakeup interrupts (WiFi, USB, GSM, motion sensors, 2 buttons, RTC, headphone jack)&lt;br /&gt;
28 Jan 2008 Tony: Put inside GTA01 case, speaker, antennas&amp;lt;br&amp;gt;&lt;br /&gt;
28 Jan 2008 Tony: Rework wifi FW to 2.0.0.40&amp;lt;br&amp;gt;&lt;br /&gt;
28 Jan 2008 Batch of 10 from Suzhou, PCBA with all modules, wifi FW 1.3, NOR protection disabled, full DM1 (v009) and DM2 (v012)&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 Phase 2 related]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GSM_unit_test</id>
		<title>GSM unit test</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GSM_unit_test"/>
				<updated>2008-02-20T06:57:30Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* How to use this python script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GSM unit test is for testing the interactions between [http://wiki.openmoko.org/wiki/Gsmd#libgsmd-tool libgsmd-tool] and [http://wiki.openmoko.org/wiki/Gsmd gsmd].  Here is a [[Python]] script to execute commands via libgsmd-tool.  We can write our own test cases to let GSM modem execute AT commands automatically.  It allows us to verify [[GSM]] basic functions, such like making phone calls, sending SMS, or registering to the network.&lt;br /&gt;
&lt;br /&gt;
This python script is based on [http://wiki.openmoko.org/wiki/Pexpect Python Expect].  Pexpect is a pure Python module for spawning child applications; controlling them; and responding to expected patterns in their output.  We use this module to spawn [libgsmd-tool] and then can send commands to GSM modem via gsmd.&lt;br /&gt;
&lt;br /&gt;
== How to use this python script ==&lt;br /&gt;
&lt;br /&gt;
* python script  [[http://people.openmoko.org/erin_yueh/UnitTestv2.py  1]]&lt;br /&gt;
* sample test case  [[http://people.openmoko.org/erin_yueh/casev1 2]]&lt;br /&gt;
* register the network test case [[http://cs.nyu.edu/~wcy203/RegistertoNetwork 3]]&lt;br /&gt;
* dial out test case [[http://people.openmoko.org/erin_yueh//DialOut 4]]&lt;br /&gt;
* send/receive SMS test case  [[http://people.openmoko.org/erin_yueh/SendReceiveSMS 5]]&lt;br /&gt;
&lt;br /&gt;
  usage:  python UnivTestv1.py  -t  casename  -c  libgsmd-tool  -m  shell&lt;br /&gt;
  -t :  testcase file&lt;br /&gt;
  -c :  libgsmd-tool&lt;br /&gt;
  -m : atcmd or shell&lt;br /&gt;
&lt;br /&gt;
=== How to write a test case file ===&lt;br /&gt;
&lt;br /&gt;
==== text format ==== &lt;br /&gt;
 it should be written as below: &lt;br /&gt;
 &lt;br /&gt;
 C:r &lt;br /&gt;
 E:Register,error &lt;br /&gt;
 E:Netreg registered(home network),OK,error&lt;br /&gt;
 From above case, it sends 'r' command to libgsmd-tool and it tries to register the network.&lt;br /&gt;
&lt;br /&gt;
==== real output from libgsmd-tool ====&lt;br /&gt;
 below texts are copied from libgsmd-tool shell mode &lt;br /&gt;
 &lt;br /&gt;
 r&lt;br /&gt;
 # Register&lt;br /&gt;
 EVENT: Netreg searching for network &lt;br /&gt;
 EVENT: Signal Quality: 22&lt;br /&gt;
 EVENT: Netreg registered (home network) LocationAreaCode = 0x2C27 CellID = 0x498C&lt;br /&gt;
&lt;br /&gt;
==== how to write expect list to match the result ====&lt;br /&gt;
From above real output from libgsmd-tool, it's very easy to detect the expect behavior. The first expect, it prints the command descriptions. The second expect, we can use some keywords like 'Netreg registered' for this case.&lt;br /&gt;
&lt;br /&gt;
* use ',' for the delimiter &lt;br /&gt;
&lt;br /&gt;
* always put the most matched one on the first element: There can be a lot of matched elements in an expect list.  Put this list before using 'error'&lt;br /&gt;
&lt;br /&gt;
* append .EOF and .TIMEOUT elements to the expect list: When it reads the second expect line, it appends these two more elements to the list. &lt;br /&gt;
&lt;br /&gt;
* how to know it's failed or passed:  there are 4 cases&lt;br /&gt;
# correct: passed&lt;br /&gt;
# error: failed&lt;br /&gt;
# EOF: failed&lt;br /&gt;
# timeout: failed&lt;br /&gt;
&lt;br /&gt;
* script log: It also stores the session log from 'libgsmd-tool', and the default file name is 'script.log'.&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Today/2007.2</id>
		<title>Today/2007.2</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Today/2007.2"/>
				<updated>2008-02-19T10:58:14Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* Adjust UI components at runtime */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This article defines the second revision of the Today Application, an application designed for the OpenMoko platform.&lt;br /&gt;
&lt;br /&gt;
The Today application is the entry point for the user. It therefore resides on the 'desktop' of the phone, and is used for the following:&lt;br /&gt;
1) Quickly finding out the status of phone &amp;amp; calender related items.&lt;br /&gt;
2) Launch a new application.&lt;br /&gt;
3) Manage running applications i.e. Switch to or close a running application.&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
Here are some possible use cases:&lt;br /&gt;
* I want to be able to view at a glance today's Calendar Events and To Do Items.&lt;br /&gt;
* I want to launch an application.&lt;br /&gt;
* I want to switch to a running application.&lt;br /&gt;
&lt;br /&gt;
== Core Functionality ==&lt;br /&gt;
&lt;br /&gt;
(Italics = Done, Bold = In progress)&lt;br /&gt;
&lt;br /&gt;
* '''View network provider'''&lt;br /&gt;
* ''Overview of missed calls and unread messages''&lt;br /&gt;
* ''Overview of future events, tasks and alarms''&lt;br /&gt;
* '''Lock the phone to prevent accidental touch-screen press'''&lt;br /&gt;
* ''Launch core applications''&lt;br /&gt;
* ''Launch dialer to view missed calls''&lt;br /&gt;
* ''Launch messages application to view unread messages''&lt;br /&gt;
&lt;br /&gt;
* ''View all applications, with descriptions''&lt;br /&gt;
* ''Launch a selected application''&lt;br /&gt;
* ''Filter all applications by category''&lt;br /&gt;
* ''Filter all applications on name and description by custom search string''&lt;br /&gt;
&lt;br /&gt;
* ''View running applications''&lt;br /&gt;
* ''Switch to running application''&lt;br /&gt;
* ''Close running application''&lt;br /&gt;
* ''Close all running applications''&lt;br /&gt;
&lt;br /&gt;
== Layout Components ==&lt;br /&gt;
&lt;br /&gt;
=== Application Area ===&lt;br /&gt;
==== Today Page ====&lt;br /&gt;
&lt;br /&gt;
[[Image:today-main-arrows.png]]&lt;br /&gt;
&lt;br /&gt;
*'''1) Title''' -- This is a global panel applet which automatically sets the title to the currently on screen application. It also provides a quick way to switch between running applications.&lt;br /&gt;
*'''2) Phone Group''' -- Has the network operator as the title, and shows the number of missed calls and unread SMS's.&lt;br /&gt;
*'''3) Calender Group''' -- Shows the time and date as the title, and has a list of calender items, todo's and reminders.&lt;br /&gt;
*'''4) Main Page''' -- Current page.&lt;br /&gt;
*'''5) Launch Task Page''' -- Switches to the Launch Task page, where the user can browse and launch applications.&lt;br /&gt;
*'''6) Running Tasks Page''' -- Switches to the Running Tasks page, where the user can switch to or close running applications.&lt;br /&gt;
*'''7) Quick Launch''' -- A tool-bar housing the most used applications.&lt;br /&gt;
&lt;br /&gt;
==== Launch Task Page ====&lt;br /&gt;
&lt;br /&gt;
[[Image:today-new-arrows.png]]&lt;br /&gt;
&lt;br /&gt;
*'''1) Title''' &lt;br /&gt;
*'''2) Application List''' -- A list of available applications.&lt;br /&gt;
*'''3) Today Page''' -- Switches to the  Today page.&lt;br /&gt;
*'''4) Launch Task Page''' -- Current Page.&lt;br /&gt;
*'''5) Running Tasks Page''' -- Switches to the Running Tasks page, where the user can switch to or close running applications.&lt;br /&gt;
*'''6) Search/Filter Menu''' -- This is used to filter the applications, either by clicking the search icon and typing in a string, or by clicking on the filter menu and choosing an application group.&lt;br /&gt;
&lt;br /&gt;
==== Running Tasks Page ====&lt;br /&gt;
&lt;br /&gt;
[[Image:today-running-arrows.png]]&lt;br /&gt;
&lt;br /&gt;
*'''1) Title''' &lt;br /&gt;
*'''2) Switch To''' -- Switches to the highlighted application.&lt;br /&gt;
*'''3) Close''' -- Closes the highlighted application.&lt;br /&gt;
*'''4) Close All''' -- Closes all the running applications.&lt;br /&gt;
*'''5) Today Page''' -- Switches to the  Today page.&lt;br /&gt;
*'''6) Launch Task Page''' -- Switches to the Launch Task page.&lt;br /&gt;
*'''7) Running Tasks Page''' -- Current Page.&lt;br /&gt;
*'''8) List Of Running Applications'''&lt;br /&gt;
&lt;br /&gt;
== Adjust UI components at runtime ==&lt;br /&gt;
&lt;br /&gt;
*'''default''': this is from daily build default image&lt;br /&gt;
[[Image:Todaypage_reduced_false.png|200px|]]&lt;br /&gt;
 # gconftool-2 --type bool --set /desktop/poky/interface/reduced false&lt;br /&gt;
&lt;br /&gt;
*'''reduced''': remove the upper application icons, no clock, and no date&lt;br /&gt;
[[Image:Todaypage_reduced_true.png|200px|]]&lt;br /&gt;
 # gconftool-2 --type bool --set /desktop/poky/interface/reduced true&lt;br /&gt;
&lt;br /&gt;
*'''digital/analog clock''' : change the digital clock to analog clock&lt;br /&gt;
[[Image:Todaypage_digitalclock_false.png|200px|]]&lt;br /&gt;
 # gconftool-2 --type bool --set /desktop/poky/interface/digital_clock false&lt;br /&gt;
&lt;br /&gt;
*'''remove clock entirely''' &lt;br /&gt;
[[Image:Todaypage_noclock.png|200px|]]&lt;br /&gt;
 # gconftool-2 --type bool --set /desktop/poky/interface/small_clock true&lt;br /&gt;
&lt;br /&gt;
*'''change wallpaper image''' &lt;br /&gt;
[[Image:Todaypage_changewallpaper.png|200px|]]&lt;br /&gt;
 # gconftool-2 --type string --set /desktop/poky/interface/wallpaper /usr/share/pixmaps/wallpaper.png'''&lt;br /&gt;
&lt;br /&gt;
* '''gconf problem'''&lt;br /&gt;
 (gconftool-2:1366): GConf-WARNING **: Client failed to connect to the D-BUS daemon:&lt;br /&gt;
 Failed to execute dbus-launch to autolaunch D-Bus session&lt;br /&gt;
 Error setting value: No D-BUS daemon running&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta02:/$ ps aux | grep today&lt;br /&gt;
 root      1320  3.7 11.5  33556 14100 ?        S    23:00   0:09 openmoko-today&lt;br /&gt;
 root      1369  0.0  0.4   2860   592 pts/0    S+   23:04   0:00 grep today&lt;br /&gt;
 &lt;br /&gt;
 root@fic-gta02:/$ cat /proc/1320/environ &lt;br /&gt;
&lt;br /&gt;
 root@fic-gta02:/$ export   DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-80gSL9Q6F4,&lt;br /&gt;
 guid=6efed88183a7f6b9210cf40047ba0dfe&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{{Languages|Today/2007.2}}&lt;br /&gt;
[[Category:OpenMoko2007.2]]&lt;br /&gt;
[[Category:Finger based]]&lt;br /&gt;
[[Category:Implemented]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Today/2007.2</id>
		<title>Today/2007.2</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Today/2007.2"/>
				<updated>2008-02-19T10:47:22Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This article defines the second revision of the Today Application, an application designed for the OpenMoko platform.&lt;br /&gt;
&lt;br /&gt;
The Today application is the entry point for the user. It therefore resides on the 'desktop' of the phone, and is used for the following:&lt;br /&gt;
1) Quickly finding out the status of phone &amp;amp; calender related items.&lt;br /&gt;
2) Launch a new application.&lt;br /&gt;
3) Manage running applications i.e. Switch to or close a running application.&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
Here are some possible use cases:&lt;br /&gt;
* I want to be able to view at a glance today's Calendar Events and To Do Items.&lt;br /&gt;
* I want to launch an application.&lt;br /&gt;
* I want to switch to a running application.&lt;br /&gt;
&lt;br /&gt;
== Core Functionality ==&lt;br /&gt;
&lt;br /&gt;
(Italics = Done, Bold = In progress)&lt;br /&gt;
&lt;br /&gt;
* '''View network provider'''&lt;br /&gt;
* ''Overview of missed calls and unread messages''&lt;br /&gt;
* ''Overview of future events, tasks and alarms''&lt;br /&gt;
* '''Lock the phone to prevent accidental touch-screen press'''&lt;br /&gt;
* ''Launch core applications''&lt;br /&gt;
* ''Launch dialer to view missed calls''&lt;br /&gt;
* ''Launch messages application to view unread messages''&lt;br /&gt;
&lt;br /&gt;
* ''View all applications, with descriptions''&lt;br /&gt;
* ''Launch a selected application''&lt;br /&gt;
* ''Filter all applications by category''&lt;br /&gt;
* ''Filter all applications on name and description by custom search string''&lt;br /&gt;
&lt;br /&gt;
* ''View running applications''&lt;br /&gt;
* ''Switch to running application''&lt;br /&gt;
* ''Close running application''&lt;br /&gt;
* ''Close all running applications''&lt;br /&gt;
&lt;br /&gt;
== Layout Components ==&lt;br /&gt;
&lt;br /&gt;
=== Application Area ===&lt;br /&gt;
==== Today Page ====&lt;br /&gt;
&lt;br /&gt;
[[Image:today-main-arrows.png]]&lt;br /&gt;
&lt;br /&gt;
*'''1) Title''' -- This is a global panel applet which automatically sets the title to the currently on screen application. It also provides a quick way to switch between running applications.&lt;br /&gt;
*'''2) Phone Group''' -- Has the network operator as the title, and shows the number of missed calls and unread SMS's.&lt;br /&gt;
*'''3) Calender Group''' -- Shows the time and date as the title, and has a list of calender items, todo's and reminders.&lt;br /&gt;
*'''4) Main Page''' -- Current page.&lt;br /&gt;
*'''5) Launch Task Page''' -- Switches to the Launch Task page, where the user can browse and launch applications.&lt;br /&gt;
*'''6) Running Tasks Page''' -- Switches to the Running Tasks page, where the user can switch to or close running applications.&lt;br /&gt;
*'''7) Quick Launch''' -- A tool-bar housing the most used applications.&lt;br /&gt;
&lt;br /&gt;
==== Launch Task Page ====&lt;br /&gt;
&lt;br /&gt;
[[Image:today-new-arrows.png]]&lt;br /&gt;
&lt;br /&gt;
*'''1) Title''' &lt;br /&gt;
*'''2) Application List''' -- A list of available applications.&lt;br /&gt;
*'''3) Today Page''' -- Switches to the  Today page.&lt;br /&gt;
*'''4) Launch Task Page''' -- Current Page.&lt;br /&gt;
*'''5) Running Tasks Page''' -- Switches to the Running Tasks page, where the user can switch to or close running applications.&lt;br /&gt;
*'''6) Search/Filter Menu''' -- This is used to filter the applications, either by clicking the search icon and typing in a string, or by clicking on the filter menu and choosing an application group.&lt;br /&gt;
&lt;br /&gt;
==== Running Tasks Page ====&lt;br /&gt;
&lt;br /&gt;
[[Image:today-running-arrows.png]]&lt;br /&gt;
&lt;br /&gt;
*'''1) Title''' &lt;br /&gt;
*'''2) Switch To''' -- Switches to the highlighted application.&lt;br /&gt;
*'''3) Close''' -- Closes the highlighted application.&lt;br /&gt;
*'''4) Close All''' -- Closes all the running applications.&lt;br /&gt;
*'''5) Today Page''' -- Switches to the  Today page.&lt;br /&gt;
*'''6) Launch Task Page''' -- Switches to the Launch Task page.&lt;br /&gt;
*'''7) Running Tasks Page''' -- Current Page.&lt;br /&gt;
*'''8) List Of Running Applications'''&lt;br /&gt;
&lt;br /&gt;
== Adjust UI components at runtime ==&lt;br /&gt;
&lt;br /&gt;
*'''default''': this is from daily build default image&lt;br /&gt;
[[Image:Todaypage_reduced_false.png|200px|]]&lt;br /&gt;
 # gconftool-2 --type bool --set /desktop/poky/interface/reduced false&lt;br /&gt;
&lt;br /&gt;
*'''reduced''': remove the upper application icons, no clock, and no date&lt;br /&gt;
[[Image:Todaypage_reduced_true.png|200px|]]&lt;br /&gt;
 # gconftool-2 --type bool --set /desktop/poky/interface/reduced true&lt;br /&gt;
&lt;br /&gt;
*'''digital/analog clock''' : change the digital clock to analog clock&lt;br /&gt;
[[Image:Todaypage_digitalclock_false.png|200px|]]&lt;br /&gt;
 # gconftool-2 --type bool --set /desktop/poky/interface/digital_clock false&lt;br /&gt;
&lt;br /&gt;
*'''remove clock entirely''' &lt;br /&gt;
[[Image:Todaypage_noclock.png|200px|]]&lt;br /&gt;
 # gconftool-2 --type bool --set /desktop/poky/interface/small_clock true&lt;br /&gt;
&lt;br /&gt;
*'''change wallpaper image''' &lt;br /&gt;
[[Image:Todaypage_changewallpaper.png|200px|]]&lt;br /&gt;
 #gconftool-2 --type string --set /desktop/poky/interface/wallpaper /usr/share/pixmaps/wallpaper.png'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Languages|Today/2007.2}}&lt;br /&gt;
[[Category:OpenMoko2007.2]]&lt;br /&gt;
[[Category:Finger based]]&lt;br /&gt;
[[Category:Implemented]]&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Today/2007.2</id>
		<title>Today/2007.2</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Today/2007.2"/>
				<updated>2008-02-19T10:46:08Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: /* Adjust UI components at runtime */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This article defines the second revision of the Today Application, an application designed for the OpenMoko platform.&lt;br /&gt;
&lt;br /&gt;
The Today application is the entry point for the user. It therefore resides on the 'desktop' of the phone, and is used for the following:&lt;br /&gt;
1) Quickly finding out the status of phone &amp;amp; calender related items.&lt;br /&gt;
2) Launch a new application.&lt;br /&gt;
3) Manage running applications i.e. Switch to or close a running application.&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
Here are some possible use cases:&lt;br /&gt;
* I want to be able to view at a glance today's Calendar Events and To Do Items.&lt;br /&gt;
* I want to launch an application.&lt;br /&gt;
* I want to switch to a running application.&lt;br /&gt;
&lt;br /&gt;
== Core Functionality ==&lt;br /&gt;
&lt;br /&gt;
(Italics = Done, Bold = In progress)&lt;br /&gt;
&lt;br /&gt;
* '''View network provider'''&lt;br /&gt;
* ''Overview of missed calls and unread messages''&lt;br /&gt;
* ''Overview of future events, tasks and alarms''&lt;br /&gt;
* '''Lock the phone to prevent accidental touch-screen press'''&lt;br /&gt;
* ''Launch core applications''&lt;br /&gt;
* ''Launch dialer to view missed calls''&lt;br /&gt;
* ''Launch messages application to view unread messages''&lt;br /&gt;
&lt;br /&gt;
* ''View all applications, with descriptions''&lt;br /&gt;
* ''Launch a selected application''&lt;br /&gt;
* ''Filter all applications by category''&lt;br /&gt;
* ''Filter all applications on name and description by custom search string''&lt;br /&gt;
&lt;br /&gt;
* ''View running applications''&lt;br /&gt;
* ''Switch to running application''&lt;br /&gt;
* ''Close running application''&lt;br /&gt;
* ''Close all running applications''&lt;br /&gt;
&lt;br /&gt;
== Layout Components ==&lt;br /&gt;
&lt;br /&gt;
=== Application Area ===&lt;br /&gt;
==== Today Page ====&lt;br /&gt;
&lt;br /&gt;
[[Image:today-main-arrows.png]]&lt;br /&gt;
&lt;br /&gt;
*'''1) Title''' -- This is a global panel applet which automatically sets the title to the currently on screen application. It also provides a quick way to switch between running applications.&lt;br /&gt;
*'''2) Phone Group''' -- Has the network operator as the title, and shows the number of missed calls and unread SMS's.&lt;br /&gt;
*'''3) Calender Group''' -- Shows the time and date as the title, and has a list of calender items, todo's and reminders.&lt;br /&gt;
*'''4) Main Page''' -- Current page.&lt;br /&gt;
*'''5) Launch Task Page''' -- Switches to the Launch Task page, where the user can browse and launch applications.&lt;br /&gt;
*'''6) Running Tasks Page''' -- Switches to the Running Tasks page, where the user can switch to or close running applications.&lt;br /&gt;
*'''7) Quick Launch''' -- A tool-bar housing the most used applications.&lt;br /&gt;
&lt;br /&gt;
==== Launch Task Page ====&lt;br /&gt;
&lt;br /&gt;
[[Image:today-new-arrows.png]]&lt;br /&gt;
&lt;br /&gt;
*'''1) Title''' &lt;br /&gt;
*'''2) Application List''' -- A list of available applications.&lt;br /&gt;
*'''3) Today Page''' -- Switches to the  Today page.&lt;br /&gt;
*'''4) Launch Task Page''' -- Current Page.&lt;br /&gt;
*'''5) Running Tasks Page''' -- Switches to the Running Tasks page, where the user can switch to or close running applications.&lt;br /&gt;
*'''6) Search/Filter Menu''' -- This is used to filter the applications, either by clicking the search icon and typing in a string, or by clicking on the filter menu and choosing an application group.&lt;br /&gt;
&lt;br /&gt;
==== Running Tasks Page ====&lt;br /&gt;
&lt;br /&gt;
[[Image:today-running-arrows.png]]&lt;br /&gt;
&lt;br /&gt;
*'''1) Title''' &lt;br /&gt;
*'''2) Switch To''' -- Switches to the highlighted application.&lt;br /&gt;
*'''3) Close''' -- Closes the highlighted application.&lt;br /&gt;
*'''4) Close All''' -- Closes all the running applications.&lt;br /&gt;
*'''5) Today Page''' -- Switches to the  Today page.&lt;br /&gt;
*'''6) Launch Task Page''' -- Switches to the Launch Task page.&lt;br /&gt;
*'''7) Running Tasks Page''' -- Current Page.&lt;br /&gt;
*'''8) List Of Running Applications'''&lt;br /&gt;
&lt;br /&gt;
{{Languages|Today/2007.2}}&lt;br /&gt;
[[Category:OpenMoko2007.2]]&lt;br /&gt;
[[Category:Finger based]]&lt;br /&gt;
[[Category:Implemented]]&lt;br /&gt;
&lt;br /&gt;
== Adjust UI components at runtime ==&lt;br /&gt;
&lt;br /&gt;
*'''default''': this is from daily build default image&lt;br /&gt;
[[Image:Todaypage_reduced_false.png|200px|]]&lt;br /&gt;
 # gconftool-2 --type bool --set /desktop/poky/interface/reduced false&lt;br /&gt;
&lt;br /&gt;
*'''reduced''': remove the upper application icons, no clock, and no date&lt;br /&gt;
[[Image:Todaypage_reduced_true.png|200px|]]&lt;br /&gt;
 # gconftool-2 --type bool --set /desktop/poky/interface/reduced true&lt;br /&gt;
&lt;br /&gt;
*'''digital/analog clock''' : change the digital clock to analog clock&lt;br /&gt;
[[Image:Todaypage_digitalclock_false.png|200px|]]&lt;br /&gt;
 # gconftool-2 --type bool --set /desktop/poky/interface/digital_clock false&lt;br /&gt;
&lt;br /&gt;
*'''remove clock entirely''' &lt;br /&gt;
[[Image:Todaypage_noclock.png|200px|]]&lt;br /&gt;
 # gconftool-2 --type bool --set /desktop/poky/interface/small_clock true&lt;br /&gt;
&lt;br /&gt;
*'''change wallpaper image''' &lt;br /&gt;
[[Image:Todaypage_changewallpaper.png|200px|]]&lt;br /&gt;
 #gconftool-2 --type string --set /desktop/poky/interface/wallpaper /usr/share/pixmaps/wallpaper.png'''&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Todaypage_changewallpaper.png</id>
		<title>File:Todaypage changewallpaper.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Todaypage_changewallpaper.png"/>
				<updated>2008-02-19T10:13:53Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: today page with different wallpaper&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;today page with different wallpaper&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Todaypage_noclock.png</id>
		<title>File:Todaypage noclock.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Todaypage_noclock.png"/>
				<updated>2008-02-19T10:12:31Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: today page without clock&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;today page without clock&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Todaypage_digitalclock_false.png</id>
		<title>File:Todaypage digitalclock false.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Todaypage_digitalclock_false.png"/>
				<updated>2008-02-19T09:53:10Z</updated>
		
		<summary type="html">&lt;p&gt;Erin: today page with analog clock&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;today page with analog clock&lt;/div&gt;</summary>
		<author><name>Erin</name></author>	</entry>

	</feed>