<?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=Holone&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=Holone&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Special:Contributions/Holone"/>
		<updated>2013-05-20T06:53:27Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.6</generator>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Holone</id>
		<title>User:Holone</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Holone"/>
				<updated>2007-08-17T08:06:53Z</updated>
		
		<summary type="html">&lt;p&gt;Holone: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mailto:harald.holone@hiof.no&lt;/div&gt;</summary>
		<author><name>Holone</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Oslo</id>
		<title>Openmoko Local Groups: Oslo</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Oslo"/>
				<updated>2007-08-17T08:05:32Z</updated>
		
		<summary type="html">&lt;p&gt;Holone: /* Interested people */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the OpenMoko group for people near Oslo, [[OpenMoko_Local_Groups:_Norway|Norway]]!&lt;br /&gt;
&lt;br /&gt;
Hopefully this page will be used to organize events or meetings to share/gain experiences with both OpenMoko-running hardware and related software or just as a means to get in contact with local fellow OpenMoko interested people.&lt;br /&gt;
&lt;br /&gt;
=== Local events ===&lt;br /&gt;
 TBD. Please use [[Talk:OpenMoko_Local_Groups:_Oslo|discussion]] for polling of interest/suggestions/planning.&lt;br /&gt;
&lt;br /&gt;
=== Interested people ===&lt;br /&gt;
{|border=1&lt;br /&gt;
!Name&lt;br /&gt;
!Skills&lt;br /&gt;
!Level of Interest&lt;br /&gt;
!Location&lt;br /&gt;
!Other&lt;br /&gt;
|-&lt;br /&gt;
|[[User:aevin|Eivind S]]&lt;br /&gt;
|Linux, (embedded) programming&lt;br /&gt;
|User and developer&lt;br /&gt;
|Oslo&lt;br /&gt;
|Got no HW, awaits [[GTA02#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|GTA02]]&lt;br /&gt;
|-&lt;br /&gt;
|[[User:terje|Terje Sannum]]&lt;br /&gt;
|Linux, programming, electronics&lt;br /&gt;
|User, developer&lt;br /&gt;
|Oslo&lt;br /&gt;
|GTA01Bv4 owner&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Holone|Harald Holone]]&lt;br /&gt;
|Linux, OpenStreetMap&lt;br /&gt;
|User, developer&lt;br /&gt;
|Halden&lt;br /&gt;
|GTA01BV4 owner&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 See also [[Talk:OpenMoko_Local_Groups:_Norway]] for national matters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:OpenMoko_Local_Groups:_Norway]]&lt;/div&gt;</summary>
		<author><name>Holone</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>2007-08-16T11:39:53Z</updated>
		
		<summary type="html">&lt;p&gt;Holone: /* Being able to use HID devices */&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;
Bluetooth may not be powered up.&lt;br /&gt;
&lt;br /&gt;
Power up the adapter:&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;
If that doesn't do it, power up and reset the adapter one after the other:&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;
 echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/reset ;&lt;br /&gt;
 echo &amp;quot;0&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
hciconfig should print information about the adapter if it powered up properly:&lt;br /&gt;
&lt;br /&gt;
 hciconfig&lt;br /&gt;
&lt;br /&gt;
(If you have an older rootfs, you may need to modprobe gta01-pm-bt or even hci_usb but these are built in/loaded automatically currently.)&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;
=== 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;
=== HID (Human Input Device) ===&lt;br /&gt;
&lt;br /&gt;
==== Being able to use HID devices ====&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&lt;br /&gt;
&lt;br /&gt;
Tested on:&lt;br /&gt;
* Logitech Dinovo Edge&lt;br /&gt;
* Nokia SU-8W.  Switched on the BT keyboard, scanned for BT address and ran the connect statement above.  Works fine.&lt;br /&gt;
&lt;br /&gt;
==== Acting as HID device ====&lt;br /&gt;
&lt;br /&gt;
We want to be able to use the Neo1973 as a HID device, being able to use it as controller for presentations.&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).&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, 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;
=== OBEX ===&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&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;
* Start bluetooth&lt;br /&gt;
 elara /home/alphaone # /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
 elara /home/alphaone # pand -s&lt;br /&gt;
&lt;br /&gt;
* As soon as pand is started on the phone configure your IP address&lt;br /&gt;
 elara /home/alphaone # ip a add 10.0.0.1/24 dev bnep0&lt;br /&gt;
 elara /home/alphaone # ip l set bnep0 up&lt;br /&gt;
&lt;br /&gt;
* Configure IP forwarding and masquerading to your liking&lt;br /&gt;
&lt;br /&gt;
On the phone:&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;
* Enjoy&lt;br /&gt;
 root@fic-gta01:~$ wget http://www-public.tu-bs.de:8080/~y0019680/tmp/thereisnophone.mp3 &lt;br /&gt;
 Connecting to www-public.tu-bs.de[134.169.9.108]:8080&lt;br /&gt;
 thereisnophone.mp3   100****************************************************|   266 KB 00:00:00 ETA&lt;br /&gt;
 root@fic-gta01:~$ madplay thereisnophone.mp3 &lt;br /&gt;
 MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.&lt;br /&gt;
 630 frames decoded (0:00:22.6), -0.9 dB peak amplitude, 0 clipped samples&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 a 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;
&lt;br /&gt;
=== A2DP ===&lt;br /&gt;
&lt;br /&gt;
The A2DP codec, SBC, runs pretty well now in 32-bit fixed-point math. It's been successfully tested on a faster ARM but not yet on neo. There is test code in the bluetooth-alsa.sf.net plugz module for using alsa plugins to send A2DP audio out and it's starting to be reimplemented &amp;quot;properly&amp;quot; in the bluez core.&lt;br /&gt;
&lt;br /&gt;
=== Headset Audio ===&lt;br /&gt;
&lt;br /&gt;
Bluez has an audio daemon for headset audio that should work to set up the control connection to the headset. It will need hooks in the openmoko gui.&lt;br /&gt;
&lt;br /&gt;
[[Neo1973_Audio_Subsystem]] has more detail about what magic needs to happen with the Wolfson codec so system audio can be switched to use the bluetooth audio channel and later back to the speaker/earpiece/wired headset.&lt;br /&gt;
&lt;br /&gt;
There seems to be a proposal for audio scenario management there but no detail about whether that is how things are done currently. How should audio management work when eg plugging in/unplugging the wired headset?&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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 Hardware]]&lt;br /&gt;
[[Bluetooth]]&lt;/div&gt;</summary>
		<author><name>Holone</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>2007-08-16T11:24:36Z</updated>
		
		<summary type="html">&lt;p&gt;Holone: /* RFCOMM */&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;
Bluetooth may not be powered up.&lt;br /&gt;
&lt;br /&gt;
Power up the adapter:&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;
If that doesn't do it, power up and reset the adapter one after the other:&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;
 echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/reset ;&lt;br /&gt;
 echo &amp;quot;0&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
hciconfig should print information about the adapter if it powered up properly:&lt;br /&gt;
&lt;br /&gt;
 hciconfig&lt;br /&gt;
&lt;br /&gt;
(If you have an older rootfs, you may need to modprobe gta01-pm-bt or even hci_usb but these are built in/loaded automatically currently.)&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;
=== 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;
=== HID (Human Input Device) ===&lt;br /&gt;
&lt;br /&gt;
==== Being able to use HID devices ====&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&lt;br /&gt;
&lt;br /&gt;
Tested on:&lt;br /&gt;
* Logitech Dinovo Edge&lt;br /&gt;
* Nokia SU-8W ([[User:Holone]]).  Switched on the BT keyboard, scanned for BT address and ran the connect statement above.  Works fine.&lt;br /&gt;
&lt;br /&gt;
==== Acting as HID device ====&lt;br /&gt;
&lt;br /&gt;
We want to be able to use the Neo1973 as a HID device, being able to use it as controller for presentations.&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).&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, 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;
=== OBEX ===&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&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;
* Start bluetooth&lt;br /&gt;
 elara /home/alphaone # /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
 elara /home/alphaone # pand -s&lt;br /&gt;
&lt;br /&gt;
* As soon as pand is started on the phone configure your IP address&lt;br /&gt;
 elara /home/alphaone # ip a add 10.0.0.1/24 dev bnep0&lt;br /&gt;
 elara /home/alphaone # ip l set bnep0 up&lt;br /&gt;
&lt;br /&gt;
* Configure IP forwarding and masquerading to your liking&lt;br /&gt;
&lt;br /&gt;
On the phone:&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;
* Enjoy&lt;br /&gt;
 root@fic-gta01:~$ wget http://www-public.tu-bs.de:8080/~y0019680/tmp/thereisnophone.mp3 &lt;br /&gt;
 Connecting to www-public.tu-bs.de[134.169.9.108]:8080&lt;br /&gt;
 thereisnophone.mp3   100****************************************************|   266 KB 00:00:00 ETA&lt;br /&gt;
 root@fic-gta01:~$ madplay thereisnophone.mp3 &lt;br /&gt;
 MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.&lt;br /&gt;
 630 frames decoded (0:00:22.6), -0.9 dB peak amplitude, 0 clipped samples&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 a 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;
&lt;br /&gt;
=== A2DP ===&lt;br /&gt;
&lt;br /&gt;
The A2DP codec, SBC, runs pretty well now in 32-bit fixed-point math. It's been successfully tested on a faster ARM but not yet on neo. There is test code in the bluetooth-alsa.sf.net plugz module for using alsa plugins to send A2DP audio out and it's starting to be reimplemented &amp;quot;properly&amp;quot; in the bluez core.&lt;br /&gt;
&lt;br /&gt;
=== Headset Audio ===&lt;br /&gt;
&lt;br /&gt;
Bluez has an audio daemon for headset audio that should work to set up the control connection to the headset. It will need hooks in the openmoko gui.&lt;br /&gt;
&lt;br /&gt;
[[Neo1973_Audio_Subsystem]] has more detail about what magic needs to happen with the Wolfson codec so system audio can be switched to use the bluetooth audio channel and later back to the speaker/earpiece/wired headset.&lt;br /&gt;
&lt;br /&gt;
There seems to be a proposal for audio scenario management there but no detail about whether that is how things are done currently. How should audio management work when eg plugging in/unplugging the wired headset?&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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 Hardware]]&lt;br /&gt;
[[Bluetooth]]&lt;/div&gt;</summary>
		<author><name>Holone</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>2007-08-16T11:08:12Z</updated>
		
		<summary type="html">&lt;p&gt;Holone: /* Being able to use HID devices */&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;
Bluetooth may not be powered up.&lt;br /&gt;
&lt;br /&gt;
Power up the adapter:&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;
If that doesn't do it, power up and reset the adapter one after the other:&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;
 echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/reset ;&lt;br /&gt;
 echo &amp;quot;0&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
hciconfig should print information about the adapter if it powered up properly:&lt;br /&gt;
&lt;br /&gt;
 hciconfig&lt;br /&gt;
&lt;br /&gt;
(If you have an older rootfs, you may need to modprobe gta01-pm-bt or even hci_usb but these are built in/loaded automatically currently.)&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;
=== 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;
=== HID (Human Input Device) ===&lt;br /&gt;
&lt;br /&gt;
==== Being able to use HID devices ====&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&lt;br /&gt;
&lt;br /&gt;
Tested on:&lt;br /&gt;
* Logitech Dinovo Edge&lt;br /&gt;
* Nokia SU-8W ([[User:Holone]]).  Switched on the BT keyboard, scanned for BT address and ran the connect statement above.  Works fine.&lt;br /&gt;
&lt;br /&gt;
==== Acting as HID device ====&lt;br /&gt;
&lt;br /&gt;
We want to be able to use the Neo1973 as a HID device, being able to use it as controller for presentations.&lt;br /&gt;
&lt;br /&gt;
=== OBEX ===&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&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;
* Start bluetooth&lt;br /&gt;
 elara /home/alphaone # /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
 elara /home/alphaone # pand -s&lt;br /&gt;
&lt;br /&gt;
* As soon as pand is started on the phone configure your IP address&lt;br /&gt;
 elara /home/alphaone # ip a add 10.0.0.1/24 dev bnep0&lt;br /&gt;
 elara /home/alphaone # ip l set bnep0 up&lt;br /&gt;
&lt;br /&gt;
* Configure IP forwarding and masquerading to your liking&lt;br /&gt;
&lt;br /&gt;
On the phone:&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;
* Enjoy&lt;br /&gt;
 root@fic-gta01:~$ wget http://www-public.tu-bs.de:8080/~y0019680/tmp/thereisnophone.mp3 &lt;br /&gt;
 Connecting to www-public.tu-bs.de[134.169.9.108]:8080&lt;br /&gt;
 thereisnophone.mp3   100****************************************************|   266 KB 00:00:00 ETA&lt;br /&gt;
 root@fic-gta01:~$ madplay thereisnophone.mp3 &lt;br /&gt;
 MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.&lt;br /&gt;
 630 frames decoded (0:00:22.6), -0.9 dB peak amplitude, 0 clipped samples&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 a 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;
&lt;br /&gt;
=== A2DP ===&lt;br /&gt;
&lt;br /&gt;
The A2DP codec, SBC, runs pretty well now in 32-bit fixed-point math. It's been successfully tested on a faster ARM but not yet on neo. There is test code in the bluetooth-alsa.sf.net plugz module for using alsa plugins to send A2DP audio out and it's starting to be reimplemented &amp;quot;properly&amp;quot; in the bluez core.&lt;br /&gt;
&lt;br /&gt;
=== Headset Audio ===&lt;br /&gt;
&lt;br /&gt;
Bluez has an audio daemon for headset audio that should work to set up the control connection to the headset. It will need hooks in the openmoko gui.&lt;br /&gt;
&lt;br /&gt;
[[Neo1973_Audio_Subsystem]] has more detail about what magic needs to happen with the Wolfson codec so system audio can be switched to use the bluetooth audio channel and later back to the speaker/earpiece/wired headset.&lt;br /&gt;
&lt;br /&gt;
There seems to be a proposal for audio scenario management there but no detail about whether that is how things are done currently. How should audio management work when eg plugging in/unplugging the wired headset?&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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 Hardware]]&lt;br /&gt;
[[Bluetooth]]&lt;/div&gt;</summary>
		<author><name>Holone</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>2007-08-16T11:06:18Z</updated>
		
		<summary type="html">&lt;p&gt;Holone: /* Being able to use HID devices */&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;
Bluetooth may not be powered up.&lt;br /&gt;
&lt;br /&gt;
Power up the adapter:&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;
If that doesn't do it, power up and reset the adapter one after the other:&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;
 echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/reset ;&lt;br /&gt;
 echo &amp;quot;0&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/reset&lt;br /&gt;
&lt;br /&gt;
hciconfig should print information about the adapter if it powered up properly:&lt;br /&gt;
&lt;br /&gt;
 hciconfig&lt;br /&gt;
&lt;br /&gt;
(If you have an older rootfs, you may need to modprobe gta01-pm-bt or even hci_usb but these are built in/loaded automatically currently.)&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;
=== 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;
=== HID (Human Input Device) ===&lt;br /&gt;
&lt;br /&gt;
==== Being able to use HID devices ====&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&lt;br /&gt;
&lt;br /&gt;
Tested on:&lt;br /&gt;
* Logitech Dinovo Edge&lt;br /&gt;
* Nokia SU-8W (''Holone'').  Switched on the BT keyboard, scanned for BT address and ran the connect statement above.  Works fine.&lt;br /&gt;
&lt;br /&gt;
==== Acting as HID device ====&lt;br /&gt;
&lt;br /&gt;
We want to be able to use the Neo1973 as a HID device, being able to use it as controller for presentations.&lt;br /&gt;
&lt;br /&gt;
=== OBEX ===&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&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;
* Start bluetooth&lt;br /&gt;
 elara /home/alphaone # /etc/init.d/bluetooth start&lt;br /&gt;
&lt;br /&gt;
* Start pand as server&lt;br /&gt;
 elara /home/alphaone # pand -s&lt;br /&gt;
&lt;br /&gt;
* As soon as pand is started on the phone configure your IP address&lt;br /&gt;
 elara /home/alphaone # ip a add 10.0.0.1/24 dev bnep0&lt;br /&gt;
 elara /home/alphaone # ip l set bnep0 up&lt;br /&gt;
&lt;br /&gt;
* Configure IP forwarding and masquerading to your liking&lt;br /&gt;
&lt;br /&gt;
On the phone:&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;
* Enjoy&lt;br /&gt;
 root@fic-gta01:~$ wget http://www-public.tu-bs.de:8080/~y0019680/tmp/thereisnophone.mp3 &lt;br /&gt;
 Connecting to www-public.tu-bs.de[134.169.9.108]:8080&lt;br /&gt;
 thereisnophone.mp3   100****************************************************|   266 KB 00:00:00 ETA&lt;br /&gt;
 root@fic-gta01:~$ madplay thereisnophone.mp3 &lt;br /&gt;
 MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.&lt;br /&gt;
 630 frames decoded (0:00:22.6), -0.9 dB peak amplitude, 0 clipped samples&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 a 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;
&lt;br /&gt;
=== A2DP ===&lt;br /&gt;
&lt;br /&gt;
The A2DP codec, SBC, runs pretty well now in 32-bit fixed-point math. It's been successfully tested on a faster ARM but not yet on neo. There is test code in the bluetooth-alsa.sf.net plugz module for using alsa plugins to send A2DP audio out and it's starting to be reimplemented &amp;quot;properly&amp;quot; in the bluez core.&lt;br /&gt;
&lt;br /&gt;
=== Headset Audio ===&lt;br /&gt;
&lt;br /&gt;
Bluez has an audio daemon for headset audio that should work to set up the control connection to the headset. It will need hooks in the openmoko gui.&lt;br /&gt;
&lt;br /&gt;
[[Neo1973_Audio_Subsystem]] has more detail about what magic needs to happen with the Wolfson codec so system audio can be switched to use the bluetooth audio channel and later back to the speaker/earpiece/wired headset.&lt;br /&gt;
&lt;br /&gt;
There seems to be a proposal for audio scenario management there but no detail about whether that is how things are done currently. How should audio management work when eg plugging in/unplugging the wired headset?&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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 Hardware]]&lt;br /&gt;
[[Bluetooth]]&lt;/div&gt;</summary>
		<author><name>Holone</name></author>	</entry>

	</feed>