<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.gumstix.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bmidgley</id>
		<title>Gumstix User Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.gumstix.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bmidgley"/>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php/Special:Contributions/Bmidgley"/>
		<updated>2026-05-15T15:47:21Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.3</generator>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=RowboatAndroid&amp;diff=5092</id>
		<title>RowboatAndroid</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=RowboatAndroid&amp;diff=5092"/>
				<updated>2011-02-19T13:50:11Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* Build a Kernel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Android on Overo ==&lt;br /&gt;
There are several ports of Android to Overo; one port is based off the Rowboat-Android project.  This project is focused on creating a port of Android for the TI OMAP processors such as the OMAP3503 and OMAP3530 used on the Gumstix Overo boards.  The steps described below explain how to get Android Froyo (2.2) running on an Overo.  At the current time, there is no support for the DSP but the SGX drivers are supported.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
This section explains how to download the required code and build a kernel and root file system.&lt;br /&gt;
&lt;br /&gt;
=== Checkout Sources ===&lt;br /&gt;
Repo is a tool to manage multiple Git repositories. You can install it wherever you like but if you have administrator rights, you might find this convenient:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sudo curl http://android.git.kernel.org/repo &amp;gt; repo&lt;br /&gt;
 $ sudo chmod a+x repo&lt;br /&gt;
 $ sudo mv repo /usr/bin/repo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
With Repo installed, grab the manifest file that describes all the git repositories we wish to fetch and then use 'repo sync' to get the latest and greatest source:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ mkdir ~/rowboat-android&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ repo init -u git://gitorious.org/~ashcharles/rowboat/gumstix-manifest.git&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This (default) manifest pulls most of the repositories directly from the rowboat-android project but a few specific repositories (ahem, the kernel) have been cloned from this project and tweaked for the Overo.&lt;br /&gt;
&lt;br /&gt;
=== Build a Kernel ===&lt;br /&gt;
This would be a good time to apply any kernel patches.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android/kernel&lt;br /&gt;
 $ patch -p1 &amp;lt; ~/0001-added-palo43-pushbutton-and-led-support.patch&lt;br /&gt;
 $ patch -p1 &amp;lt; ~/[http://groups.google.com/group/rowboat/browse_thread/thread/adf23db34979817f/bfd1f0f7a13691c6?lnk=gst&amp;amp;q=IGEPv2+ADB#bfd1f0f7a13691c6 0001-Enable-ADB-on-IGEPv2-board.patch]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To build a kernel, follow [http://code.google.com/p/rowboat/wiki/ConfigureAndBuild#Build_kernel these] steps; you can use ''overo_android_defconfig'' to configure the kernel. E.g.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ export PATH=${PWD}/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin:$PATH&lt;br /&gt;
 $ cd kernel&lt;br /&gt;
 $ make ARCH=arm overo_android_defconfig&lt;br /&gt;
 $ make ARCH=arm CROSS_COMPILE=arm-eabi- uImage -j8&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
You should now have a shiny new 2.6.32 Overo kernel here ''arch/arm/boot/uImage''.&lt;br /&gt;
&lt;br /&gt;
=== Build a Root File System ===&lt;br /&gt;
Follow [http://code.google.com/p/rowboat/wiki/ConfigureAndBuild#Build_rootfs these] instructions to build a root file system using ''TARGET_PRODUCT=overo'' as the argument for make. E.g.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ make TARGET_PRODUCT=overo -j8&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
After a bit of a wait (read: an hour or two depending on your machine), you should have the ''root'' and ''system'' directories in the ''out/target/product/overo'' directory; we can combine these to make our final root file system:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android/out/target/product/overo&lt;br /&gt;
 $ mkdir android_rootfs&lt;br /&gt;
 $ cp -r root/* android_rootfs&lt;br /&gt;
 $ cp -r system android_rootfs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
NOTE: Users wanting support for SGX hardware should skip to that section now before packaging their root file system.&lt;br /&gt;
&lt;br /&gt;
We use the built-in ''mktarball.sh'' utility to package our android_rootfs directory into a tarball wherein the files have appropriate (i.e. root) permissions; this means you need root permissions for this next step:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android/out/target/product/overo&lt;br /&gt;
 $ sudo ../../../../build/tools/mktarball.sh ../../../host/linux-x86/bin/fs_get_stats android_rootfs . rootfs rootfs.tar.bz2&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
You should now have a root file system tarball sitting here ''~/rowboat-android/out/target/product/overo/rootfs.tar.bz2''.&lt;br /&gt;
&lt;br /&gt;
=== Getting SGX (Optional) ===&lt;br /&gt;
The PowerVR SGX hardware found on Overo boards with a OMAP3530 processor (FE, Fire, Water) provides integrated graphics support; in particular, it seems to reduce flicker on displays attached to the Overo.  It is necessary to add some extra libraries and drivers to the root file system to make use of this hardware. Grab the required code and build it:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ git clone git://gitorious.org/rowboat/ti_android_sgx_sdk.git&lt;br /&gt;
 $ cd ti_android_sgx_sdk&lt;br /&gt;
 $ ./OMAP35x_Android_Graphics_SDK_setuplinux_3_01_00_03.bin&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
At this point, you will be prompted to agree to the software license and asked where to unpack the source files (something like ~/rowboat-android/ is probably appropriate). Now navigate to this directory and edit the user-modifiable fields in the ''Rules.make'' file.  Here are some suggested values:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 HOME=/home/&amp;lt;username&amp;gt;/rowboat-android/out/target/product/overo&lt;br /&gt;
 GRAPHICS_INSTALL_DIR=/home/&amp;lt;username&amp;gt;/rowboat-android/OMAP35x_Android_Graphics_SDK_3_01_00_03&lt;br /&gt;
 ANDROID_ROOT=$(HOME)/android_rootfs&lt;br /&gt;
 CSTOOL_DIR=/home/&amp;lt;username&amp;gt;/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/&lt;br /&gt;
 KERNEL_INSTALL_DIR=/home/&amp;lt;username&amp;gt;/rowboat-android/kernel&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Finally, we can build and install this code (N.B. these command are issued from the directory where we unpacked the source):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ make -j8&lt;br /&gt;
 $ make install OMAPES=3.x&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
More complete instructions are available [http://code.google.com/p/rowboat/wiki/ConfigureAndBuild#Install_the_Android_Graphics_SGX_SDK_on_Host_Machine here].&lt;br /&gt;
&lt;br /&gt;
=== DSP Support ===&lt;br /&gt;
Currently, this version does not support the C64+ DSP found on Overo boards with a OMAP3530 processor (FE, Fire, Water).  To get this working, these two pages may be helpful:&lt;br /&gt;
* http://code.google.com/p/rowboat/wiki/DSP&lt;br /&gt;
* http://code.google.com/p/rowboat/wiki/DSPCodecs&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
It is easiest to boot Android from a microSD card.  Follow the instructions [http://www.gumstix.net/Setup-and-Programming/view/Overo-Setup-and-Programming/Creating-a-bootable-microSD-card/111.html here] to create a bootable microSD card with a recent MLO and U-boot from [http://www.sakoman.com/feeds/omap3/glibc/images/overo/ gumstix]. Also copy over the Android kernel and untar the root file system (requires root permissions) you have created:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ cp kernel/arch/arm/boot/uImage /media/boot&lt;br /&gt;
 $ sudo tar xaf out/target/product/overo/rootfs.tar.bz2 --numeric-owner -C /media/rootfs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
NOTE: this assumes the FAT partition of your bootable microSD card is mounted at /media/boot and that the EXT3 partition is mounted at /media/rootfs---adjust as appropriate.&lt;br /&gt;
&lt;br /&gt;
HINT: The commands to package the root file system, install the SGX (if desired), and copy these over to a microSD card are readily script-able; if you plan on doing this more than once...&lt;br /&gt;
&lt;br /&gt;
==Boot==&lt;br /&gt;
The Android kernel requires some special parameters on boot.  I have set these up in u-boot as follows (though this is certainly not the only way to do it):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 # setenv anddisplay 'vram=8M omapfb.mode=dvi:1024x768MR-16@60 omapdss.def_disp=lcd43'&lt;br /&gt;
 # setenv andconsole 'console=ttyS2,115200n8 console=tty0 androidboot.console=ttyS2'&lt;br /&gt;
 # setenv androot 'root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait init=/init'&lt;br /&gt;
 # setenv andbootargs 'setenv bootargs mpurate=500 ${andconsole} ${androot} ${anddisplay}'&lt;br /&gt;
 # setenv andbootcmd 'mmc init; fatload mmc 0 ${loadaddr} uImage; run andbootargs; bootm ${loadaddr}'&lt;br /&gt;
 # saveenv&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
To boot Android, just type ''run andbootcmd'' at the u-boot prompt.&lt;br /&gt;
&lt;br /&gt;
If you always want to boot into android, set and save ${andbootcmd} as your boot command i.e.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 # setenv bootcmd ${andbootcmd}&lt;br /&gt;
 # saveenv&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE:&lt;br /&gt;
If you are using a 4.3&amp;quot; LCD panel (Chestnut43, Palo43), use ''defaultdisplay=lcd43''; for a 3.5&amp;quot; LCD panel (Palo35), use ''defaultdisplay=lcd35''; for an external DVI monitor (Tobi, Summit), use ''defaultdisplay=dvi''.  Even if you are using an LCD panel, it is not necessary to change the ''omapfb.mode'' as this just sets up the framebuffer in the case that an external DVI monitor is used.&lt;br /&gt;
&lt;br /&gt;
== Using Android ==&lt;br /&gt;
For touchscreen displays, you might like to replace the ''pointercal'' file found in ''~/rowboat-android/devices/gumstix/overo'' with one specific to the display you are using.  To do this, boot your Gumstix + touchscreen with the standard Angstrom build, do the touchscreen calibration step, and then grab the ''/etc/pointercal'' file from the root file system.&lt;br /&gt;
&lt;br /&gt;
A mouse with a scroll-wheel can be attached to the USB Host port via a USB hub and used as buttons:&lt;br /&gt;
* Right-click---back to home screen&lt;br /&gt;
* Middle(scroll)-click---options&lt;br /&gt;
* Scroll---scrolls&lt;br /&gt;
Note that the mouse doesn't function like a regular pointer.&lt;br /&gt;
&lt;br /&gt;
Please help out by listing features that are not (and, equally important, '''are''' working):&lt;br /&gt;
=== Known Working ===&lt;br /&gt;
&lt;br /&gt;
=== Known Failing ===&lt;br /&gt;
&lt;br /&gt;
== Help and Help Out ==&lt;br /&gt;
These steps have mostly been taken from (and would hopefully be integrated with :)) the [[http://code.google.com/p/rowboat/wiki/Main rowboat-android]] wiki; look here for additional information. Other useful links include:&lt;br /&gt;
* http://omapzoom.org/wiki/OMAP_Android_Main&lt;br /&gt;
The mailing list for this project is quite valuable; check the archives for rowboat@googlegroups.com.&lt;br /&gt;
&lt;br /&gt;
Patches, suggestions and improvements are most welcome---please send to ash (at) gumstix.com.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=RowboatAndroid&amp;diff=5090</id>
		<title>RowboatAndroid</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=RowboatAndroid&amp;diff=5090"/>
				<updated>2011-02-17T04:21:58Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* Install */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Android on Overo ==&lt;br /&gt;
There are several ports of Android to Overo; one port is based off the Rowboat-Android project.  This project is focused on creating a port of Android for the TI OMAP processors such as the OMAP3503 and OMAP3530 used on the Gumstix Overo boards.  The steps described below explain how to get Android Froyo (2.2) running on an Overo.  At the current time, there is no support for the DSP but the SGX drivers are supported.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
This section explains how to download the required code and build a kernel and root file system.&lt;br /&gt;
&lt;br /&gt;
=== Checkout Sources ===&lt;br /&gt;
Repo is a tool to manage multiple Git repositories. You can install it wherever you like but if you have administrator rights, you might find this convenient:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sudo curl http://android.git.kernel.org/repo &amp;gt; repo&lt;br /&gt;
 $ sudo chmod a+x repo&lt;br /&gt;
 $ sudo mv repo /usr/bin/repo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
With Repo installed, grab the manifest file that describes all the git repositories we wish to fetch and then use 'repo sync' to get the latest and greatest source:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ mkdir ~/rowboat-android&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ repo init -u git://gitorious.org/~ashcharles/rowboat/gumstix-manifest.git&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This (default) manifest pulls most of the repositories directly from the rowboat-android project but a few specific repositories (ahem, the kernel) have been cloned from this project and tweaked for the Overo.&lt;br /&gt;
&lt;br /&gt;
=== Build a Kernel ===&lt;br /&gt;
This would be a good time to apply any kernel patches.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android/kernel&lt;br /&gt;
 $ patch -p1 &amp;lt; ~/0001-added-palo43-pushbutton-and-led-support.patch&lt;br /&gt;
 $ patch -p1 &amp;lt; ~/0001-Enable-ADB-on-IGEPv2-board.patch&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To build a kernel, follow [http://code.google.com/p/rowboat/wiki/ConfigureAndBuild#Build_kernel these] steps; you can use ''overo_android_defconfig'' to configure the kernel. E.g.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ export PATH=${PWD}/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin:$PATH&lt;br /&gt;
 $ cd kernel&lt;br /&gt;
 $ make ARCH=arm overo_android_defconfig&lt;br /&gt;
 $ make ARCH=arm CROSS_COMPILE=arm-eabi- uImage -j8&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
You should now have a shiny new 2.6.32 Overo kernel here ''arch/arm/boot/uImage''.&lt;br /&gt;
&lt;br /&gt;
=== Build a Root File System ===&lt;br /&gt;
Follow [http://code.google.com/p/rowboat/wiki/ConfigureAndBuild#Build_rootfs these] instructions to build a root file system using ''TARGET_PRODUCT=overo'' as the argument for make. E.g.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ make TARGET_PRODUCT=overo -j8&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
After a bit of a wait (read: an hour or two depending on your machine), you should have the ''root'' and ''system'' directories in the ''out/target/product/overo'' directory; we can combine these to make our final root file system:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android/out/target/product/overo&lt;br /&gt;
 $ mkdir android_rootfs&lt;br /&gt;
 $ cp -r root/* android_rootfs&lt;br /&gt;
 $ cp -r system android_rootfs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
NOTE: Users wanting support for SGX hardware should skip to that section now before packaging their root file system.&lt;br /&gt;
&lt;br /&gt;
We use the built-in ''mktarball.sh'' utility to package our android_rootfs directory into a tarball wherein the files have appropriate (i.e. root) permissions; this means you need root permissions for this next step:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android/out/target/product/overo&lt;br /&gt;
 $ sudo ../../../../build/tools/mktarball.sh ../../../host/linux-x86/bin/fs_get_stats android_rootfs . rootfs rootfs.tar.bz2&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
You should now have a root file system tarball sitting here ''~/rowboat-android/out/target/product/overo/rootfs.tar.bz2''.&lt;br /&gt;
&lt;br /&gt;
=== Getting SGX (Optional) ===&lt;br /&gt;
The PowerVR SGX hardware found on Overo boards with a OMAP3530 processor (FE, Fire, Water) provides integrated graphics support; in particular, it seems to reduce flicker on displays attached to the Overo.  It is necessary to add some extra libraries and drivers to the root file system to make use of this hardware. Grab the required code and build it:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ git clone git://gitorious.org/rowboat/ti_android_sgx_sdk.git&lt;br /&gt;
 $ cd ti_android_sgx_sdk&lt;br /&gt;
 $ ./OMAP35x_Android_Graphics_SDK_setuplinux_3_01_00_03.bin&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
At this point, you will be prompted to agree to the software license and asked where to unpack the source files (something like ~/rowboat-android/ is probably appropriate). Now navigate to this directory and edit the user-modifiable fields in the ''Rules.make'' file.  Here are some suggested values:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 HOME=/home/&amp;lt;username&amp;gt;/rowboat-android/out/target/product/overo&lt;br /&gt;
 GRAPHICS_INSTALL_DIR=/home/&amp;lt;username&amp;gt;/rowboat-android/OMAP35x_Android_Graphics_SDK_3_01_00_03&lt;br /&gt;
 ANDROID_ROOT=$(HOME)/android_rootfs&lt;br /&gt;
 CSTOOL_DIR=/home/&amp;lt;username&amp;gt;/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/&lt;br /&gt;
 KERNEL_INSTALL_DIR=/home/&amp;lt;username&amp;gt;/rowboat-android/kernel&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Finally, we can build and install this code (N.B. these command are issued from the directory where we unpacked the source):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ make -j8&lt;br /&gt;
 $ make install OMAPES=3.x&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
More complete instructions are available [http://code.google.com/p/rowboat/wiki/ConfigureAndBuild#Install_the_Android_Graphics_SGX_SDK_on_Host_Machine here].&lt;br /&gt;
&lt;br /&gt;
=== DSP Support ===&lt;br /&gt;
Currently, this version does not support the C64+ DSP found on Overo boards with a OMAP3530 processor (FE, Fire, Water).  To get this working, these two pages may be helpful:&lt;br /&gt;
* http://code.google.com/p/rowboat/wiki/DSP&lt;br /&gt;
* http://code.google.com/p/rowboat/wiki/DSPCodecs&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
It is easiest to boot Android from a microSD card.  Follow the instructions [http://www.gumstix.net/Setup-and-Programming/view/Overo-Setup-and-Programming/Creating-a-bootable-microSD-card/111.html here] to create a bootable microSD card with a recent MLO and U-boot from [http://www.sakoman.com/feeds/omap3/glibc/images/overo/ gumstix]. Also copy over the Android kernel and untar the root file system (requires root permissions) you have created:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ cp kernel/arch/arm/boot/uImage /media/boot&lt;br /&gt;
 $ sudo tar xaf out/target/product/overo/rootfs.tar.bz2 --numeric-owner -C /media/rootfs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
NOTE: this assumes the FAT partition of your bootable microSD card is mounted at /media/boot and that the EXT3 partition is mounted at /media/rootfs---adjust as appropriate.&lt;br /&gt;
&lt;br /&gt;
HINT: The commands to package the root file system, install the SGX (if desired), and copy these over to a microSD card are readily script-able; if you plan on doing this more than once...&lt;br /&gt;
&lt;br /&gt;
==Boot==&lt;br /&gt;
The Android kernel requires some special parameters on boot.  I have set these up in u-boot as follows (though this is certainly not the only way to do it):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 # setenv anddisplay 'vram=8M omapfb.mode=dvi:1024x768MR-16@60 omapdss.def_disp=lcd43'&lt;br /&gt;
 # setenv andconsole 'console=ttyS2,115200n8 console=tty0 androidboot.console=ttyS2'&lt;br /&gt;
 # setenv androot 'root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait init=/init'&lt;br /&gt;
 # setenv andbootargs 'setenv bootargs mpurate=500 ${andconsole} ${androot} ${anddisplay}'&lt;br /&gt;
 # setenv andbootcmd 'mmc init; fatload mmc 0 ${loadaddr} uImage; run andbootargs; bootm ${loadaddr}'&lt;br /&gt;
 # saveenv&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
To boot Android, just type ''run andbootcmd'' at the u-boot prompt.&lt;br /&gt;
&lt;br /&gt;
If you always want to boot into android, set and save ${andbootcmd} as your boot command i.e.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 # setenv bootcmd ${andbootcmd}&lt;br /&gt;
 # saveenv&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE:&lt;br /&gt;
If you are using a 4.3&amp;quot; LCD panel (Chestnut43, Palo43), use ''defaultdisplay=lcd43''; for a 3.5&amp;quot; LCD panel (Palo35), use ''defaultdisplay=lcd35''; for an external DVI monitor (Tobi, Summit), use ''defaultdisplay=dvi''.  Even if you are using an LCD panel, it is not necessary to change the ''omapfb.mode'' as this just sets up the framebuffer in the case that an external DVI monitor is used.&lt;br /&gt;
&lt;br /&gt;
== Using Android ==&lt;br /&gt;
For touchscreen displays, you might like to replace the ''pointercal'' file found in ''~/rowboat-android/devices/gumstix/overo'' with one specific to the display you are using.  To do this, boot your Gumstix + touchscreen with the standard Angstrom build, do the touchscreen calibration step, and then grab the ''/etc/pointercal'' file from the root file system.&lt;br /&gt;
&lt;br /&gt;
A mouse with a scroll-wheel can be attached to the USB Host port via a USB hub and used as buttons:&lt;br /&gt;
* Right-click---back to home screen&lt;br /&gt;
* Middle(scroll)-click---options&lt;br /&gt;
* Scroll---scrolls&lt;br /&gt;
Note that the mouse doesn't function like a regular pointer.&lt;br /&gt;
&lt;br /&gt;
Please help out by listing features that are not (and, equally important, '''are''' working):&lt;br /&gt;
=== Known Working ===&lt;br /&gt;
&lt;br /&gt;
=== Known Failing ===&lt;br /&gt;
&lt;br /&gt;
== Help and Help Out ==&lt;br /&gt;
These steps have mostly been taken from (and would hopefully be integrated with :)) the [[http://code.google.com/p/rowboat/wiki/Main rowboat-android]] wiki; look here for additional information. Other useful links include:&lt;br /&gt;
* http://omapzoom.org/wiki/OMAP_Android_Main&lt;br /&gt;
The mailing list for this project is quite valuable; check the archives for rowboat@googlegroups.com.&lt;br /&gt;
&lt;br /&gt;
Patches, suggestions and improvements are most welcome---please send to ash (at) gumstix.com.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=RowboatAndroid&amp;diff=5089</id>
		<title>RowboatAndroid</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=RowboatAndroid&amp;diff=5089"/>
				<updated>2011-02-17T04:19:08Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* Build a Kernel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Android on Overo ==&lt;br /&gt;
There are several ports of Android to Overo; one port is based off the Rowboat-Android project.  This project is focused on creating a port of Android for the TI OMAP processors such as the OMAP3503 and OMAP3530 used on the Gumstix Overo boards.  The steps described below explain how to get Android Froyo (2.2) running on an Overo.  At the current time, there is no support for the DSP but the SGX drivers are supported.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
This section explains how to download the required code and build a kernel and root file system.&lt;br /&gt;
&lt;br /&gt;
=== Checkout Sources ===&lt;br /&gt;
Repo is a tool to manage multiple Git repositories. You can install it wherever you like but if you have administrator rights, you might find this convenient:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sudo curl http://android.git.kernel.org/repo &amp;gt; repo&lt;br /&gt;
 $ sudo chmod a+x repo&lt;br /&gt;
 $ sudo mv repo /usr/bin/repo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
With Repo installed, grab the manifest file that describes all the git repositories we wish to fetch and then use 'repo sync' to get the latest and greatest source:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ mkdir ~/rowboat-android&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ repo init -u git://gitorious.org/~ashcharles/rowboat/gumstix-manifest.git&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This (default) manifest pulls most of the repositories directly from the rowboat-android project but a few specific repositories (ahem, the kernel) have been cloned from this project and tweaked for the Overo.&lt;br /&gt;
&lt;br /&gt;
=== Build a Kernel ===&lt;br /&gt;
This would be a good time to apply any kernel patches.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android/kernel&lt;br /&gt;
 $ patch -p1 &amp;lt; ~/0001-added-palo43-pushbutton-and-led-support.patch&lt;br /&gt;
 $ patch -p1 &amp;lt; ~/0001-Enable-ADB-on-IGEPv2-board.patch&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To build a kernel, follow [http://code.google.com/p/rowboat/wiki/ConfigureAndBuild#Build_kernel these] steps; you can use ''overo_android_defconfig'' to configure the kernel. E.g.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ export PATH=${PWD}/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin:$PATH&lt;br /&gt;
 $ cd kernel&lt;br /&gt;
 $ make ARCH=arm overo_android_defconfig&lt;br /&gt;
 $ make ARCH=arm CROSS_COMPILE=arm-eabi- uImage -j8&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
You should now have a shiny new 2.6.32 Overo kernel here ''arch/arm/boot/uImage''.&lt;br /&gt;
&lt;br /&gt;
=== Build a Root File System ===&lt;br /&gt;
Follow [http://code.google.com/p/rowboat/wiki/ConfigureAndBuild#Build_rootfs these] instructions to build a root file system using ''TARGET_PRODUCT=overo'' as the argument for make. E.g.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ make TARGET_PRODUCT=overo -j8&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
After a bit of a wait (read: an hour or two depending on your machine), you should have the ''root'' and ''system'' directories in the ''out/target/product/overo'' directory; we can combine these to make our final root file system:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android/out/target/product/overo&lt;br /&gt;
 $ mkdir android_rootfs&lt;br /&gt;
 $ cp -r root/* android_rootfs&lt;br /&gt;
 $ cp -r system android_rootfs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
NOTE: Users wanting support for SGX hardware should skip to that section now before packaging their root file system.&lt;br /&gt;
&lt;br /&gt;
We use the built-in ''mktarball.sh'' utility to package our android_rootfs directory into a tarball wherein the files have appropriate (i.e. root) permissions; this means you need root permissions for this next step:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android/out/target/product/overo&lt;br /&gt;
 $ sudo ../../../../build/tools/mktarball.sh ../../../host/linux-x86/bin/fs_get_stats android_rootfs . rootfs rootfs.tar.bz2&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
You should now have a root file system tarball sitting here ''~/rowboat-android/out/target/product/overo/rootfs.tar.bz2''.&lt;br /&gt;
&lt;br /&gt;
=== Getting SGX (Optional) ===&lt;br /&gt;
The PowerVR SGX hardware found on Overo boards with a OMAP3530 processor (FE, Fire, Water) provides integrated graphics support; in particular, it seems to reduce flicker on displays attached to the Overo.  It is necessary to add some extra libraries and drivers to the root file system to make use of this hardware. Grab the required code and build it:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ git clone git://gitorious.org/rowboat/ti_android_sgx_sdk.git&lt;br /&gt;
 $ cd ti_android_sgx_sdk&lt;br /&gt;
 $ ./OMAP35x_Android_Graphics_SDK_setuplinux_3_01_00_03.bin&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
At this point, you will be prompted to agree to the software license and asked where to unpack the source files (something like ~/rowboat-android/ is probably appropriate). Now navigate to this directory and edit the user-modifiable fields in the ''Rules.make'' file.  Here are some suggested values:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 HOME=/home/&amp;lt;username&amp;gt;/rowboat-android/out/target/product/overo&lt;br /&gt;
 GRAPHICS_INSTALL_DIR=/home/&amp;lt;username&amp;gt;/rowboat-android/OMAP35x_Android_Graphics_SDK_3_01_00_03&lt;br /&gt;
 ANDROID_ROOT=$(HOME)/android_rootfs&lt;br /&gt;
 CSTOOL_DIR=/home/&amp;lt;username&amp;gt;/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/&lt;br /&gt;
 KERNEL_INSTALL_DIR=/home/&amp;lt;username&amp;gt;/rowboat-android/kernel&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Finally, we can build and install this code (N.B. these command are issued from the directory where we unpacked the source):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ make -j8&lt;br /&gt;
 $ make install OMAPES=3.x&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
More complete instructions are available [http://code.google.com/p/rowboat/wiki/ConfigureAndBuild#Install_the_Android_Graphics_SGX_SDK_on_Host_Machine here].&lt;br /&gt;
&lt;br /&gt;
=== DSP Support ===&lt;br /&gt;
Currently, this version does not support the C64+ DSP found on Overo boards with a OMAP3530 processor (FE, Fire, Water).  To get this working, these two pages may be helpful:&lt;br /&gt;
* http://code.google.com/p/rowboat/wiki/DSP&lt;br /&gt;
* http://code.google.com/p/rowboat/wiki/DSPCodecs&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
It is easiest to boot Android from a microSD card.  Follow the instructions [http://www.gumstix.net/Setup-and-Programming/view/Overo-Setup-and-Programming/Creating-a-bootable-microSD-card/111.html here] to create a bootable microSD card with a recent MLO and U-boot from [http://www.sakoman.com/feeds/omap3/glibc/images/overo/ gumstix]. Also copy over the Android kernel and untar the root file system (requires root permissions) you have created:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd ~/rowboat-android&lt;br /&gt;
 $ cp kernel/arch/arm/boot/uImage /media/boot&lt;br /&gt;
 $ sudo tar xaf out/product/overo/rootfs.tar.bz2 --numeric-owner -C /media/rootfs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
NOTE: this assumes the FAT partition of your bootable microSD card is mounted at /media/boot and that the EXT3 partition is mounted at /media/rootfs---adjust as appropriate.&lt;br /&gt;
&lt;br /&gt;
HINT: The commands to package the root file system, install the SGX (if desired), and copy these over to a microSD card are readily script-able; if you plan on doing this more than once...&lt;br /&gt;
&lt;br /&gt;
==Boot==&lt;br /&gt;
The Android kernel requires some special parameters on boot.  I have set these up in u-boot as follows (though this is certainly not the only way to do it):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 # setenv anddisplay 'vram=8M omapfb.mode=dvi:1024x768MR-16@60 omapdss.def_disp=lcd43'&lt;br /&gt;
 # setenv andconsole 'console=ttyS2,115200n8 console=tty0 androidboot.console=ttyS2'&lt;br /&gt;
 # setenv androot 'root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait init=/init'&lt;br /&gt;
 # setenv andbootargs 'setenv bootargs mpurate=500 ${andconsole} ${androot} ${anddisplay}'&lt;br /&gt;
 # setenv andbootcmd 'mmc init; fatload mmc 0 ${loadaddr} uImage; run andbootargs; bootm ${loadaddr}'&lt;br /&gt;
 # saveenv&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
To boot Android, just type ''run andbootcmd'' at the u-boot prompt.&lt;br /&gt;
&lt;br /&gt;
If you always want to boot into android, set and save ${andbootcmd} as your boot command i.e.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 # setenv bootcmd ${andbootcmd}&lt;br /&gt;
 # saveenv&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE:&lt;br /&gt;
If you are using a 4.3&amp;quot; LCD panel (Chestnut43, Palo43), use ''defaultdisplay=lcd43''; for a 3.5&amp;quot; LCD panel (Palo35), use ''defaultdisplay=lcd35''; for an external DVI monitor (Tobi, Summit), use ''defaultdisplay=dvi''.  Even if you are using an LCD panel, it is not necessary to change the ''omapfb.mode'' as this just sets up the framebuffer in the case that an external DVI monitor is used.&lt;br /&gt;
&lt;br /&gt;
== Using Android ==&lt;br /&gt;
For touchscreen displays, you might like to replace the ''pointercal'' file found in ''~/rowboat-android/devices/gumstix/overo'' with one specific to the display you are using.  To do this, boot your Gumstix + touchscreen with the standard Angstrom build, do the touchscreen calibration step, and then grab the ''/etc/pointercal'' file from the root file system.&lt;br /&gt;
&lt;br /&gt;
A mouse with a scroll-wheel can be attached to the USB Host port via a USB hub and used as buttons:&lt;br /&gt;
* Right-click---back to home screen&lt;br /&gt;
* Middle(scroll)-click---options&lt;br /&gt;
* Scroll---scrolls&lt;br /&gt;
Note that the mouse doesn't function like a regular pointer.&lt;br /&gt;
&lt;br /&gt;
Please help out by listing features that are not (and, equally important, '''are''' working):&lt;br /&gt;
=== Known Working ===&lt;br /&gt;
&lt;br /&gt;
=== Known Failing ===&lt;br /&gt;
&lt;br /&gt;
== Help and Help Out ==&lt;br /&gt;
These steps have mostly been taken from (and would hopefully be integrated with :)) the [[http://code.google.com/p/rowboat/wiki/Main rowboat-android]] wiki; look here for additional information. Other useful links include:&lt;br /&gt;
* http://omapzoom.org/wiki/OMAP_Android_Main&lt;br /&gt;
The mailing list for this project is quite valuable; check the archives for rowboat@googlegroups.com.&lt;br /&gt;
&lt;br /&gt;
Patches, suggestions and improvements are most welcome---please send to ash (at) gumstix.com.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=433</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=433"/>
				<updated>2008-04-08T03:20:02Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Essentials ==&lt;br /&gt;
&lt;br /&gt;
Install the basic bluetooth stuff with&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils&lt;br /&gt;
&lt;br /&gt;
First off, I had to move the &amp;quot;sleep 1&amp;quot; from after &amp;quot;sdptool add ...&amp;quot; to before the sdptool command. The startup script seemed to be failing to run to completion before I did that.&lt;br /&gt;
&lt;br /&gt;
== Networking: pan access point ==&lt;br /&gt;
&lt;br /&gt;
 ipkg install dhcp-server&lt;br /&gt;
&lt;br /&gt;
/etc/dhcp/dhcpd.conf needs to contain (among other things it comes with):&lt;br /&gt;
&lt;br /&gt;
 subnet 10.0.1.0 netmask 255.255.255.0 {&lt;br /&gt;
  range 10.0.1.180 10.0.1.199;&lt;br /&gt;
  option broadcast-address 10.0.1.255;&lt;br /&gt;
  option routers 10.0.1.1;&lt;br /&gt;
  option subnet-mask 255.255.255.0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
/etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
 allow-hotplug bnep0&lt;br /&gt;
 auto bnep0&lt;br /&gt;
 iface bnep0 inet static&lt;br /&gt;
        address 10.0.1.1&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        network 10.0.1.0&lt;br /&gt;
&lt;br /&gt;
/etc/default/bluetooth:&lt;br /&gt;
&lt;br /&gt;
 PAND_ENABLE=true&lt;br /&gt;
 PAND_OPTIONS=&amp;quot;--listen --role NAP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/network/if-up.d/btap&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 10.0.1.0/24&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
 iptables -P FORWARD ACCEPT     &lt;br /&gt;
 /etc/init.d/dhcp-server restart&lt;br /&gt;
&lt;br /&gt;
You may need to re-run pand or re-run the post-up script.&lt;br /&gt;
&lt;br /&gt;
== Networking: pan client ==&lt;br /&gt;
&lt;br /&gt;
/etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
 allow-hotplug bnep0&lt;br /&gt;
 auto bnep0&lt;br /&gt;
 iface bnep0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
/etc/default/bluetooth:&lt;br /&gt;
&lt;br /&gt;
 PAND_ENABLE=true&lt;br /&gt;
 PAND_OPTIONS=&amp;quot;--role PANU --search&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For some reason pan can't find my access point so I have to hardcode it&lt;br /&gt;
&lt;br /&gt;
 PAND_OPTIONS=&amp;quot;-c 00:0B:5D:44:33:22&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Dialup networking: server ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking: client ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
Install gpsd and configure it for your gps connection.&lt;br /&gt;
&lt;br /&gt;
In /etc/init.d/bluetooth, change &lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 /sbin/getty -w -L rfcomm0 115200 vt100 &amp;amp;&lt;br /&gt;
to&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 sh -c &amp;quot;gpspipe -r &amp;gt;/dev/rfcomm0&amp;quot; &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Unfortunately, advertising your gps uses the same sdp record as advertising your bluetooth console, so this knocks out your console. You can bring it back on an unadvertised channel:&lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 1 2 /sbin/getty -w -L rfcomm1 115200 vt100 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
but then you'll have to be able to manually choose channel 2. That's not a problem from linux, but problematic for others.&lt;br /&gt;
&lt;br /&gt;
== Keyboard or mouse ==&lt;br /&gt;
&lt;br /&gt;
Put your keyboard or mouse in pairing mode and run:&lt;br /&gt;
&lt;br /&gt;
 hidd --search&lt;br /&gt;
&lt;br /&gt;
The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth&lt;br /&gt;
&lt;br /&gt;
 HIDD_ENABLE=true&lt;br /&gt;
 HIDD_OPTIONS=&amp;quot;--master --server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay madplay&lt;br /&gt;
&lt;br /&gt;
Edit /etc/bluetooth/audio.service to enable autostart:&lt;br /&gt;
&lt;br /&gt;
 [Bluetooth Service]&lt;br /&gt;
 Identifier=audio&lt;br /&gt;
 Name=Audio service&lt;br /&gt;
 Description=Bluetooth Audio service&lt;br /&gt;
 Autostart=true&lt;br /&gt;
&lt;br /&gt;
Reboot now if you had to change this.&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=432</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=432"/>
				<updated>2008-04-08T03:13:22Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* Networking: pan client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Essentials ==&lt;br /&gt;
&lt;br /&gt;
Install the basic bluetooth stuff with&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils&lt;br /&gt;
&lt;br /&gt;
First off, I had to move the &amp;quot;sleep 1&amp;quot; from after &amp;quot;sdptool add ...&amp;quot; to before the sdptool command. The startup script seemed to be failing to run to completion before I did that.&lt;br /&gt;
&lt;br /&gt;
== Networking: pan access point ==&lt;br /&gt;
&lt;br /&gt;
 ipkg install dhcp-server&lt;br /&gt;
&lt;br /&gt;
/etc/dhcp/dhcpd.conf needs to contain (among other things it comes with):&lt;br /&gt;
&lt;br /&gt;
 subnet 10.0.1.0 netmask 255.255.255.0 {&lt;br /&gt;
  range 10.0.1.180 10.0.1.199;&lt;br /&gt;
  option broadcast-address 10.0.1.255;&lt;br /&gt;
  option routers 10.0.1.1;&lt;br /&gt;
  option subnet-mask 255.255.255.0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
/etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
 allow-hotplug bnep0&lt;br /&gt;
 auto bnep0&lt;br /&gt;
 iface bnep0 inet static&lt;br /&gt;
        address 10.0.1.1&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        network 10.0.1.0&lt;br /&gt;
&lt;br /&gt;
/etc/default/bluetooth:&lt;br /&gt;
&lt;br /&gt;
 PAND_ENABLE=true&lt;br /&gt;
 PAND_OPTIONS=&amp;quot;--listen --role NAP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/network/if-up.d/btap&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 10.0.1.0/24&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
 iptables -P FORWARD ACCEPT     &lt;br /&gt;
 /etc/init.d/dhcp-server restart&lt;br /&gt;
&lt;br /&gt;
You may need to re-run pand or re-run the post-up script.&lt;br /&gt;
&lt;br /&gt;
== Networking: pan client ==&lt;br /&gt;
&lt;br /&gt;
/etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
 allow-hotplug bnep0&lt;br /&gt;
 auto bnep0&lt;br /&gt;
 iface bnep0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
/etc/default/bluetooth:&lt;br /&gt;
&lt;br /&gt;
 PAND_ENABLE=true&lt;br /&gt;
 PAND_OPTIONS=&amp;quot;--role PANU --search&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For some reason pan can't find my access point so I have to hardcode it&lt;br /&gt;
&lt;br /&gt;
 PAND_OPTIONS=&amp;quot;-c 00:0B:5D:44:33:22&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Dialup networking: server ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking: client ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
Install gpsd and configure it for your gps connection.&lt;br /&gt;
&lt;br /&gt;
In /etc/init.d/bluetooth, change &lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 /sbin/getty -w -L rfcomm0 115200 vt100 &amp;amp;&lt;br /&gt;
to&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 sh -c &amp;quot;gpspipe -r &amp;gt;/dev/rfcomm0&amp;quot; &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Unfortunately, advertising your gps uses the same sdp record as advertising your bluetooth console, so this knocks out your console. You can bring it back on an unadvertised channel:&lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 1 2 /sbin/getty -w -L rfcomm1 115200 vt100 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
but then you'll have to be able to manually choose channel 2. That's not a problem from linux, but problematic for others.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
Put your keyboard in pairing mode and run:&lt;br /&gt;
&lt;br /&gt;
 hidd --search&lt;br /&gt;
&lt;br /&gt;
The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth&lt;br /&gt;
&lt;br /&gt;
 HIDD_ENABLE=true&lt;br /&gt;
 HIDD_OPTIONS=&amp;quot;--master --server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay madplay&lt;br /&gt;
&lt;br /&gt;
Edit /etc/bluetooth/audio.service to enable autostart:&lt;br /&gt;
&lt;br /&gt;
 [Bluetooth Service]&lt;br /&gt;
 Identifier=audio&lt;br /&gt;
 Name=Audio service&lt;br /&gt;
 Description=Bluetooth Audio service&lt;br /&gt;
 Autostart=true&lt;br /&gt;
&lt;br /&gt;
Reboot now if you had to change this.&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=431</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=431"/>
				<updated>2008-04-08T03:10:14Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* Networking: pan access point */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Essentials ==&lt;br /&gt;
&lt;br /&gt;
Install the basic bluetooth stuff with&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils&lt;br /&gt;
&lt;br /&gt;
First off, I had to move the &amp;quot;sleep 1&amp;quot; from after &amp;quot;sdptool add ...&amp;quot; to before the sdptool command. The startup script seemed to be failing to run to completion before I did that.&lt;br /&gt;
&lt;br /&gt;
== Networking: pan access point ==&lt;br /&gt;
&lt;br /&gt;
 ipkg install dhcp-server&lt;br /&gt;
&lt;br /&gt;
/etc/dhcp/dhcpd.conf needs to contain (among other things it comes with):&lt;br /&gt;
&lt;br /&gt;
 subnet 10.0.1.0 netmask 255.255.255.0 {&lt;br /&gt;
  range 10.0.1.180 10.0.1.199;&lt;br /&gt;
  option broadcast-address 10.0.1.255;&lt;br /&gt;
  option routers 10.0.1.1;&lt;br /&gt;
  option subnet-mask 255.255.255.0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
/etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
 allow-hotplug bnep0&lt;br /&gt;
 auto bnep0&lt;br /&gt;
 iface bnep0 inet static&lt;br /&gt;
        address 10.0.1.1&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        network 10.0.1.0&lt;br /&gt;
&lt;br /&gt;
/etc/default/bluetooth:&lt;br /&gt;
&lt;br /&gt;
 PAND_ENABLE=true&lt;br /&gt;
 PAND_OPTIONS=&amp;quot;--listen --role NAP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/network/if-up.d/btap&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 10.0.1.0/24&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
 iptables -P FORWARD ACCEPT     &lt;br /&gt;
 /etc/init.d/dhcp-server restart&lt;br /&gt;
&lt;br /&gt;
You may need to re-run pand or re-run the post-up script.&lt;br /&gt;
&lt;br /&gt;
== Networking: pan client == &lt;br /&gt;
&lt;br /&gt;
== Dialup networking: server ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking: client ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
Install gpsd and configure it for your gps connection.&lt;br /&gt;
&lt;br /&gt;
In /etc/init.d/bluetooth, change &lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 /sbin/getty -w -L rfcomm0 115200 vt100 &amp;amp;&lt;br /&gt;
to&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 sh -c &amp;quot;gpspipe -r &amp;gt;/dev/rfcomm0&amp;quot; &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Unfortunately, advertising your gps uses the same sdp record as advertising your bluetooth console, so this knocks out your console. You can bring it back on an unadvertised channel:&lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 1 2 /sbin/getty -w -L rfcomm1 115200 vt100 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
but then you'll have to be able to manually choose channel 2. That's not a problem from linux, but problematic for others.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
Put your keyboard in pairing mode and run:&lt;br /&gt;
&lt;br /&gt;
 hidd --search&lt;br /&gt;
&lt;br /&gt;
The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth&lt;br /&gt;
&lt;br /&gt;
 HIDD_ENABLE=true&lt;br /&gt;
 HIDD_OPTIONS=&amp;quot;--master --server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay madplay&lt;br /&gt;
&lt;br /&gt;
Edit /etc/bluetooth/audio.service to enable autostart:&lt;br /&gt;
&lt;br /&gt;
 [Bluetooth Service]&lt;br /&gt;
 Identifier=audio&lt;br /&gt;
 Name=Audio service&lt;br /&gt;
 Description=Bluetooth Audio service&lt;br /&gt;
 Autostart=true&lt;br /&gt;
&lt;br /&gt;
Reboot now if you had to change this.&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=430</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=430"/>
				<updated>2008-04-08T03:09:03Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* Networking: pan access point */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Essentials ==&lt;br /&gt;
&lt;br /&gt;
Install the basic bluetooth stuff with&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils&lt;br /&gt;
&lt;br /&gt;
First off, I had to move the &amp;quot;sleep 1&amp;quot; from after &amp;quot;sdptool add ...&amp;quot; to before the sdptool command. The startup script seemed to be failing to run to completion before I did that.&lt;br /&gt;
&lt;br /&gt;
== Networking: pan access point ==&lt;br /&gt;
&lt;br /&gt;
 ipkg install dhcp-server&lt;br /&gt;
&lt;br /&gt;
/etc/dhcp/dhcpd.conf:&lt;br /&gt;
&lt;br /&gt;
 subnet 10.0.1.0 netmask 255.255.255.0 {&lt;br /&gt;
  range 10.0.1.180 10.0.1.199;&lt;br /&gt;
  option broadcast-address 10.0.1.255;&lt;br /&gt;
  option routers 10.0.1.1;&lt;br /&gt;
  option subnet-mask 255.255.255.0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
/etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
 allow-hotplug bnep0&lt;br /&gt;
 auto bnep0&lt;br /&gt;
 iface bnep0 inet static&lt;br /&gt;
        address 10.0.1.1&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        network 10.0.1.0&lt;br /&gt;
&lt;br /&gt;
/etc/default/bluetooth:&lt;br /&gt;
&lt;br /&gt;
 PAND_ENABLE=true&lt;br /&gt;
 PAND_OPTIONS=&amp;quot;--listen --role NAP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/network/if-up.d/btap&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 10.0.1.0/24&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
 iptables -P FORWARD ACCEPT     &lt;br /&gt;
 /etc/init.d/dhcp-server restart&lt;br /&gt;
&lt;br /&gt;
You may need to re-run pand or re-run the post-up script.&lt;br /&gt;
&lt;br /&gt;
== Networking: pan client == &lt;br /&gt;
&lt;br /&gt;
== Dialup networking: server ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking: client ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
Install gpsd and configure it for your gps connection.&lt;br /&gt;
&lt;br /&gt;
In /etc/init.d/bluetooth, change &lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 /sbin/getty -w -L rfcomm0 115200 vt100 &amp;amp;&lt;br /&gt;
to&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 sh -c &amp;quot;gpspipe -r &amp;gt;/dev/rfcomm0&amp;quot; &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Unfortunately, advertising your gps uses the same sdp record as advertising your bluetooth console, so this knocks out your console. You can bring it back on an unadvertised channel:&lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 1 2 /sbin/getty -w -L rfcomm1 115200 vt100 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
but then you'll have to be able to manually choose channel 2. That's not a problem from linux, but problematic for others.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
Put your keyboard in pairing mode and run:&lt;br /&gt;
&lt;br /&gt;
 hidd --search&lt;br /&gt;
&lt;br /&gt;
The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth&lt;br /&gt;
&lt;br /&gt;
 HIDD_ENABLE=true&lt;br /&gt;
 HIDD_OPTIONS=&amp;quot;--master --server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay madplay&lt;br /&gt;
&lt;br /&gt;
Edit /etc/bluetooth/audio.service to enable autostart:&lt;br /&gt;
&lt;br /&gt;
 [Bluetooth Service]&lt;br /&gt;
 Identifier=audio&lt;br /&gt;
 Name=Audio service&lt;br /&gt;
 Description=Bluetooth Audio service&lt;br /&gt;
 Autostart=true&lt;br /&gt;
&lt;br /&gt;
Reboot now if you had to change this.&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=366</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=366"/>
				<updated>2008-03-23T05:10:01Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Essentials ==&lt;br /&gt;
&lt;br /&gt;
Install the basic bluetooth stuff with&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils&lt;br /&gt;
&lt;br /&gt;
First off, I had to move the &amp;quot;sleep 1&amp;quot; from after &amp;quot;sdptool add ...&amp;quot; to before the sdptool command. The startup script seemed to be failing to run to completion before I did that.&lt;br /&gt;
&lt;br /&gt;
== Networking: pan access point ==&lt;br /&gt;
&lt;br /&gt;
== Networking: pan client == &lt;br /&gt;
&lt;br /&gt;
== Dialup networking: server ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking: client ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
Install gpsd and configure it for your gps connection.&lt;br /&gt;
&lt;br /&gt;
In /etc/init.d/bluetooth, change &lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 /sbin/getty -w -L rfcomm0 115200 vt100 &amp;amp;&lt;br /&gt;
to&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 sh -c &amp;quot;gpspipe -r &amp;gt;/dev/rfcomm0&amp;quot; &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Unfortunately, advertising your gps uses the same sdp record as advertising your bluetooth console, so this knocks out your console. You can bring it back on an unadvertised channel:&lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 1 2 /sbin/getty -w -L rfcomm1 115200 vt100 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
but then you'll have to be able to manually choose channel 2. That's not a problem from linux, but problematic for others.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
Put your keyboard in pairing mode and run:&lt;br /&gt;
&lt;br /&gt;
 hidd --search&lt;br /&gt;
&lt;br /&gt;
The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth&lt;br /&gt;
&lt;br /&gt;
 HIDD_ENABLE=true&lt;br /&gt;
 HIDD_OPTIONS=&amp;quot;--master --server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay madplay&lt;br /&gt;
&lt;br /&gt;
Edit /etc/bluetooth/audio.service to enable autostart:&lt;br /&gt;
&lt;br /&gt;
 [Bluetooth Service]&lt;br /&gt;
 Identifier=audio&lt;br /&gt;
 Name=Audio service&lt;br /&gt;
 Description=Bluetooth Audio service&lt;br /&gt;
 Autostart=true&lt;br /&gt;
&lt;br /&gt;
Reboot now if you had to change this.&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=365</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=365"/>
				<updated>2008-03-23T05:09:25Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Essentials ==&lt;br /&gt;
&lt;br /&gt;
Install the basic bluetooth stuff with&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils&lt;br /&gt;
&lt;br /&gt;
First off, I had to move the &amp;quot;sleep 1&amp;quot; from after &amp;quot;sdptool add ...&amp;quot; to before the sdptool command. The startup script seemed to be failing to run to completion before I did that.&lt;br /&gt;
&lt;br /&gt;
== Networking: pan access point ==&lt;br /&gt;
&lt;br /&gt;
== Networking: pan client == &lt;br /&gt;
&lt;br /&gt;
== Dialup networking server ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking client ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
Install gpsd and configure it for your gps connection.&lt;br /&gt;
&lt;br /&gt;
In /etc/init.d/bluetooth, change &lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 /sbin/getty -w -L rfcomm0 115200 vt100 &amp;amp;&lt;br /&gt;
to&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 sh -c &amp;quot;gpspipe -r &amp;gt;/dev/rfcomm0&amp;quot; &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Unfortunately, advertising your gps uses the same sdp record as advertising your bluetooth console, so this knocks out your console. You can bring it back on an unadvertised channel:&lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 1 2 /sbin/getty -w -L rfcomm1 115200 vt100 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
but then you'll have to be able to manually choose channel 2. That's not a problem from linux, but problematic for others.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
Put your keyboard in pairing mode and run:&lt;br /&gt;
&lt;br /&gt;
 hidd --search&lt;br /&gt;
&lt;br /&gt;
The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth&lt;br /&gt;
&lt;br /&gt;
 HIDD_ENABLE=true&lt;br /&gt;
 HIDD_OPTIONS=&amp;quot;--master --server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay madplay&lt;br /&gt;
&lt;br /&gt;
Edit /etc/bluetooth/audio.service to enable autostart:&lt;br /&gt;
&lt;br /&gt;
 [Bluetooth Service]&lt;br /&gt;
 Identifier=audio&lt;br /&gt;
 Name=Audio service&lt;br /&gt;
 Description=Bluetooth Audio service&lt;br /&gt;
 Autostart=true&lt;br /&gt;
&lt;br /&gt;
Reboot now if you had to change this.&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=364</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=364"/>
				<updated>2008-03-23T05:08:26Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* GPS repeater */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Essentials ==&lt;br /&gt;
&lt;br /&gt;
Install the basic bluetooth stuff with&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils&lt;br /&gt;
&lt;br /&gt;
First off, I had to move the &amp;quot;sleep 1&amp;quot; from after &amp;quot;sdptool add ...&amp;quot; to before the sdptool command. The startup script seemed to be failing to run to completion before I did that.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
Install gpsd and configure it for your gps connection.&lt;br /&gt;
&lt;br /&gt;
In /etc/init.d/bluetooth, change &lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 /sbin/getty -w -L rfcomm0 115200 vt100 &amp;amp;&lt;br /&gt;
to&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 sh -c &amp;quot;gpspipe -r &amp;gt;/dev/rfcomm0&amp;quot; &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Unfortunately, advertising your gps uses the same sdp record as advertising your bluetooth console, so this knocks out your console. You can bring it back on an unadvertised channel:&lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 1 2 /sbin/getty -w -L rfcomm1 115200 vt100 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
but then you'll have to be able to manually choose channel 2. That's not a problem from linux, but problematic for others.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
Put your keyboard in pairing mode and run:&lt;br /&gt;
&lt;br /&gt;
 hidd --search&lt;br /&gt;
&lt;br /&gt;
The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth&lt;br /&gt;
&lt;br /&gt;
 HIDD_ENABLE=true&lt;br /&gt;
 HIDD_OPTIONS=&amp;quot;--master --server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay madplay&lt;br /&gt;
&lt;br /&gt;
Edit /etc/bluetooth/audio.service to enable autostart:&lt;br /&gt;
&lt;br /&gt;
 [Bluetooth Service]&lt;br /&gt;
 Identifier=audio&lt;br /&gt;
 Name=Audio service&lt;br /&gt;
 Description=Bluetooth Audio service&lt;br /&gt;
 Autostart=true&lt;br /&gt;
&lt;br /&gt;
Reboot now if you had to change this.&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=363</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=363"/>
				<updated>2008-03-23T05:07:54Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* GPS repeater */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Essentials ==&lt;br /&gt;
&lt;br /&gt;
Install the basic bluetooth stuff with&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils&lt;br /&gt;
&lt;br /&gt;
First off, I had to move the &amp;quot;sleep 1&amp;quot; from after &amp;quot;sdptool add ...&amp;quot; to before the sdptool command. The startup script seemed to be failing to run to completion before I did that.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
Install gpsd and configure it for your gps connection.&lt;br /&gt;
&lt;br /&gt;
In /etc/init.d/bluetooth, change &lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 /sbin/getty -w -L rfcomm0 115200 vt100 &amp;amp;&lt;br /&gt;
 to&lt;br /&gt;
 $RFCOMM_EXEC -r watch 0 1 sh -c &amp;quot;gpspipe -r &amp;gt;/dev/rfcomm0&amp;quot; &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Unfortunately, advertising your gps uses the same sdp record as advertising your bluetooth console, so this knocks out your console. You can bring it back on an unadvertised channel:&lt;br /&gt;
&lt;br /&gt;
 $RFCOMM_EXEC -r watch 1 2 /sbin/getty -w -L rfcomm1 115200 vt100 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
but then you'll have to be able to manually choose channel 2. That's not a problem from linux, but problematic for others.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
Put your keyboard in pairing mode and run:&lt;br /&gt;
&lt;br /&gt;
 hidd --search&lt;br /&gt;
&lt;br /&gt;
The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth&lt;br /&gt;
&lt;br /&gt;
 HIDD_ENABLE=true&lt;br /&gt;
 HIDD_OPTIONS=&amp;quot;--master --server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay madplay&lt;br /&gt;
&lt;br /&gt;
Edit /etc/bluetooth/audio.service to enable autostart:&lt;br /&gt;
&lt;br /&gt;
 [Bluetooth Service]&lt;br /&gt;
 Identifier=audio&lt;br /&gt;
 Name=Audio service&lt;br /&gt;
 Description=Bluetooth Audio service&lt;br /&gt;
 Autostart=true&lt;br /&gt;
&lt;br /&gt;
Reboot now if you had to change this.&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=360</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=360"/>
				<updated>2008-03-21T04:35:55Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* Essentials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Essentials ==&lt;br /&gt;
&lt;br /&gt;
Install the basic bluetooth stuff with&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils&lt;br /&gt;
&lt;br /&gt;
First off, I had to move the &amp;quot;sleep 1&amp;quot; from after &amp;quot;sdptool add ...&amp;quot; to before the sdptool command. The startup script seemed to be failing to run to completion before I did that.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
Put your keyboard in pairing mode and run:&lt;br /&gt;
&lt;br /&gt;
 hidd --search&lt;br /&gt;
&lt;br /&gt;
The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth&lt;br /&gt;
&lt;br /&gt;
 HIDD_ENABLE=true&lt;br /&gt;
 HIDD_OPTIONS=&amp;quot;--master --server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay alsa-utils-arecord madplay&lt;br /&gt;
&lt;br /&gt;
Edit /etc/bluetooth/audio.service to enable autostart:&lt;br /&gt;
&lt;br /&gt;
 [Bluetooth Service]&lt;br /&gt;
 Identifier=audio&lt;br /&gt;
 Name=Audio service&lt;br /&gt;
 Description=Bluetooth Audio service&lt;br /&gt;
 Autostart=true&lt;br /&gt;
&lt;br /&gt;
Reboot now if you had to change this.&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=359</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=359"/>
				<updated>2008-03-21T04:29:10Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* High-fidelity audio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Essentials ==&lt;br /&gt;
&lt;br /&gt;
First off, I had to move the &amp;quot;sleep 1&amp;quot; from after &amp;quot;sdptool add ...&amp;quot; to before the sdptool command. The startup script seemed to be failing to run to completion before I did that.&lt;br /&gt;
&lt;br /&gt;
Install the basic bluetooth stuff with&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
Put your keyboard in pairing mode and run:&lt;br /&gt;
&lt;br /&gt;
 hidd --search&lt;br /&gt;
&lt;br /&gt;
The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth&lt;br /&gt;
&lt;br /&gt;
 HIDD_ENABLE=true&lt;br /&gt;
 HIDD_OPTIONS=&amp;quot;--master --server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay alsa-utils-arecord madplay&lt;br /&gt;
&lt;br /&gt;
Edit /etc/bluetooth/audio.service to enable autostart:&lt;br /&gt;
&lt;br /&gt;
 [Bluetooth Service]&lt;br /&gt;
 Identifier=audio&lt;br /&gt;
 Name=Audio service&lt;br /&gt;
 Description=Bluetooth Audio service&lt;br /&gt;
 Autostart=true&lt;br /&gt;
&lt;br /&gt;
Reboot now if you had to change this.&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=358</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=358"/>
				<updated>2008-03-21T04:28:23Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* High-fidelity audio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Essentials ==&lt;br /&gt;
&lt;br /&gt;
First off, I had to move the &amp;quot;sleep 1&amp;quot; from after &amp;quot;sdptool add ...&amp;quot; to before the sdptool command. The startup script seemed to be failing to run to completion before I did that.&lt;br /&gt;
&lt;br /&gt;
Install the basic bluetooth stuff with&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
Put your keyboard in pairing mode and run:&lt;br /&gt;
&lt;br /&gt;
 hidd --search&lt;br /&gt;
&lt;br /&gt;
The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth&lt;br /&gt;
&lt;br /&gt;
 HIDD_ENABLE=true&lt;br /&gt;
 HIDD_OPTIONS=&amp;quot;--master --server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay alsa-utils-arecord madplay&lt;br /&gt;
&lt;br /&gt;
Edit /etc/bluetooth/audio.service to enable autostart:&lt;br /&gt;
&lt;br /&gt;
 [Bluetooth Service]&lt;br /&gt;
 Identifier=audio&lt;br /&gt;
 Name=Audio service&lt;br /&gt;
 Description=Bluetooth Audio service&lt;br /&gt;
 Autostart=true&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=357</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=357"/>
				<updated>2008-03-21T04:27:20Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Essentials ==&lt;br /&gt;
&lt;br /&gt;
First off, I had to move the &amp;quot;sleep 1&amp;quot; from after &amp;quot;sdptool add ...&amp;quot; to before the sdptool command. The startup script seemed to be failing to run to completion before I did that.&lt;br /&gt;
&lt;br /&gt;
Install the basic bluetooth stuff with&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
Put your keyboard in pairing mode and run:&lt;br /&gt;
&lt;br /&gt;
 hidd --search&lt;br /&gt;
&lt;br /&gt;
The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth&lt;br /&gt;
&lt;br /&gt;
 HIDD_ENABLE=true&lt;br /&gt;
 HIDD_OPTIONS=&amp;quot;--master --server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay alsa-utils-arecord madplay&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=356</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=356"/>
				<updated>2008-03-21T04:26:35Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First off, I had to move the &amp;quot;sleep 1&amp;quot; from after &amp;quot;sdptool add ...&amp;quot; to before the sdptool command. The startup script seemed to be failing to run to completion before I did that.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
Put your keyboard in pairing mode and run:&lt;br /&gt;
&lt;br /&gt;
 hidd --search&lt;br /&gt;
&lt;br /&gt;
The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth&lt;br /&gt;
&lt;br /&gt;
 HIDD_ENABLE=true&lt;br /&gt;
 HIDD_OPTIONS=&amp;quot;--master --server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay alsa-utils-arecord madplay&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=355</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=355"/>
				<updated>2008-03-21T04:23:58Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Networking ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
Put your keyboard in pairing mode and run:&lt;br /&gt;
&lt;br /&gt;
 hidd --search&lt;br /&gt;
&lt;br /&gt;
The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth&lt;br /&gt;
&lt;br /&gt;
 HIDD_ENABLE=true&lt;br /&gt;
 HIDD_OPTIONS=&amp;quot;--master --server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay alsa-utils-arecord madplay&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=354</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=354"/>
				<updated>2008-03-21T04:13:20Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* High-fidelity audio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Networking ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay alsa-utils-arecord madplay&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need &amp;quot;8888&amp;quot; but most need &amp;quot;0000&amp;quot; for the pin:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=353</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=353"/>
				<updated>2008-03-21T04:12:06Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* Voice audio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Networking ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay alsa-utils-arecord madplay&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=352</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=352"/>
				<updated>2008-03-21T04:11:37Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* High-fidelity audio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Networking ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and an external USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay alsa-utils-arecord madplay&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=351</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=351"/>
				<updated>2008-03-21T04:05:56Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
== Dialup networking ==&lt;br /&gt;
&lt;br /&gt;
== GPS repeater ==&lt;br /&gt;
&lt;br /&gt;
== Voice audio ==&lt;br /&gt;
&lt;br /&gt;
Currently the way to use voice over bluetooth requires a vx board and an external USB bluetooth adapter with a CSR chip in it.&lt;br /&gt;
&lt;br /&gt;
== High-fidelity audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or (for a vx board) a USB adapter.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay alsa-utils-arecord madplay&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=350</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=350"/>
				<updated>2008-03-21T04:01:45Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== High-fidelity Bluetooth audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or (for a vx board) a USB adapter.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay alsa-utils-arecord madplay&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging connection problems ==&lt;br /&gt;
&lt;br /&gt;
The best way to figure out what is happening is to use hcidump.&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-hcidump&lt;br /&gt;
&lt;br /&gt;
In a separate window, or in the background, start the dump:&lt;br /&gt;
&lt;br /&gt;
 hcidump -XV&lt;br /&gt;
&lt;br /&gt;
And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=349</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=349"/>
				<updated>2008-03-21T03:54:29Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* High-fidelity Bluetooth audio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== High-fidelity Bluetooth audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or (for a vx board) a USB adapter.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay alsa-utils-arecord madplay&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
 hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=348</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=348"/>
				<updated>2008-03-21T03:53:32Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: /* High-fidelity Bluetooth audio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== High-fidelity Bluetooth audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or (for a vx board) a USB adapter.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay alsa-utils-arecord madplay&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=347</id>
		<title>Category:How to - bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Category:How_to_-_bluetooth&amp;diff=347"/>
				<updated>2008-03-21T03:53:02Z</updated>
		
		<summary type="html">&lt;p&gt;Bmidgley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== High-fidelity Bluetooth audio ==&lt;br /&gt;
&lt;br /&gt;
You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or (for a vx board) a USB adapter.&lt;br /&gt;
&lt;br /&gt;
Install the packages you'll need:&lt;br /&gt;
&lt;br /&gt;
 ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay madplay&lt;br /&gt;
&lt;br /&gt;
You'll likely need the passkey agent running, at least the first time you connect:&lt;br /&gt;
&lt;br /&gt;
 passkey-agent --default 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:&lt;br /&gt;
&lt;br /&gt;
hcitool scan&lt;br /&gt;
&lt;br /&gt;
edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:&lt;br /&gt;
&lt;br /&gt;
 pcm.itech {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
  device &amp;quot;00:0D:3C:8A:13:06&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
now try playing something to it:&lt;br /&gt;
&lt;br /&gt;
 madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
you can also live-encode the line in source to a2dp:&lt;br /&gt;
&lt;br /&gt;
 arecord -c 2 -f s16 -r 44100 | aplay -D itech&lt;br /&gt;
&lt;br /&gt;
unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.&lt;/div&gt;</summary>
		<author><name>Bmidgley</name></author>	</entry>

	</feed>