<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Peter Foot - Bluetooth</title>
    <link>http://peterfoot.net/</link>
    <description>Microsoft Device Application Development MVP</description>
    <image>
      <url>http://peterfoot.net/images/mugshot.jpg</url>
      <title>Peter Foot - Bluetooth</title>
      <link>http://peterfoot.net/</link>
    </image>
    <copyright>Peter Foot</copyright>
    <lastBuildDate>Mon, 15 Feb 2010 23:09:00 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.1.8102.813</generator>
    <managingEditor>peter.foot@appamundi.com</managingEditor>
    <webMaster>peter.foot@appamundi.com</webMaster>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=07bc1cb4-19d3-4364-bc90-0361e9e84484</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,07bc1cb4-19d3-4364-bc90-0361e9e84484.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Since Bluetooth APIs were introduced into Windows (we are talking about the desktop
OS here, not Windows CE / Windows Mobile / Windows Phone) there have been numerous
updates and changes. Confusingly not all of these have been in Major updates or service
packs but some changes are implemented in OEM only packages. We have been working
on the 32feet.NET library to ensure we continue to support the new features in the
Microsoft Bluetooth stack. There are a number of useful resources which describe the
changes. Firstly Alan McFarlane, who has done a lot of really great work on the 32feet.NET
library, has put together a detailed description of the changes in Windows 7
including a dive into the native header files. As you'll see one of the main area
of changes is the support for Bluetooth 2.1 which introduces new authentication methods.
You should read <a target="_blank" href="http://www.alanjmcf.me.uk/comms/bluetooth/Bluetooth%20in%20Windows%207.html" title="Bluetooth in Windows 7">Alan's
full article</a>.
</p>
        <p>
I also noticed that Microsoft have published a new FAQ on Bluetooth support in Windows.
Interestingly this covers the entire history of Bluetooth on desktop Windows showing
which releases implemented which Bluetooth versions. It goes into some depth on developing
drivers for Bluetooth devices too - for example if you implement the Device ID profile
you are able to integrate into the new Device Stage UI in Windows 7. The Download
is a Microsoft Word 2007 document:-
</p>
        <p>
          <a href="http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Bth_FAQ.docx">http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Bth_FAQ.docx</a>
        </p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=07bc1cb4-19d3-4364-bc90-0361e9e84484" />
      </body>
      <title>Bluetooth changes in Windows 7</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,07bc1cb4-19d3-4364-bc90-0361e9e84484.aspx</guid>
      <link>http://peterfoot.net/BluetoothChangesInWindows7.aspx</link>
      <pubDate>Mon, 15 Feb 2010 23:09:00 GMT</pubDate>
      <description>&lt;p&gt;
Since Bluetooth APIs were introduced into Windows (we are talking about the desktop
OS here, not Windows CE / Windows Mobile / Windows Phone) there have been numerous
updates and changes. Confusingly not all of these have been in Major updates or service
packs but some changes are implemented in OEM only packages. We have been working
on the 32feet.NET library to ensure we continue to support the new features in the
Microsoft Bluetooth stack. There are a number of useful resources which describe the
changes. Firstly Alan McFarlane, who has done a lot of really great work on the 32feet.NET
library,&amp;nbsp;has put together a detailed description of the changes in Windows 7
including a dive into the native header files. As you'll see one of the main area
of changes is the support for Bluetooth 2.1 which introduces new authentication methods.
You should read &lt;a target="_blank" href="http://www.alanjmcf.me.uk/comms/bluetooth/Bluetooth%20in%20Windows%207.html" title="Bluetooth in Windows 7"&gt;Alan's
full article&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
I also noticed that Microsoft have published a new FAQ on Bluetooth support in Windows.
Interestingly this covers the entire history of Bluetooth on desktop Windows showing
which releases implemented which Bluetooth versions. It goes into some depth on developing
drivers for Bluetooth devices too - for example if you implement the Device ID profile
you are able to integrate into the new Device Stage UI in Windows 7. The Download
is a Microsoft Word 2007 document:-
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Bth_FAQ.docx"&gt;http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Bth_FAQ.docx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=07bc1cb4-19d3-4364-bc90-0361e9e84484" /&gt;</description>
      <category>Bluetooth</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=63637c77-5e47-4c0e-8128-090b231b1df5</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,63637c77-5e47-4c0e-8128-090b231b1df5.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.craiglockhart.com/cs/">John Penman</a> has written an article
in the <a href="http://www.thedelphimagazine.com/">March edition of Delphi Magazine</a> entitled
"Simple Wireless Networking with Delphi for .NET" which describes using the 32feet.NET
library from Delphi code. It walks the user through each of the areas of functionality
in the library: IrDA, Bluetooth and Object Exchange. Its written for the v1.6 version,
but the object model in the latest v2.1 version is a superset so the code will work
with the latest version.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=63637c77-5e47-4c0e-8128-090b231b1df5" />
      </body>
      <title>Personal Area Networking in the Delphi Magazine</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,63637c77-5e47-4c0e-8128-090b231b1df5.aspx</guid>
      <link>http://peterfoot.net/PersonalAreaNetworkingInTheDelphiMagazine.aspx</link>
      <pubDate>Fri, 09 Mar 2007 16:27:40 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.craiglockhart.com/cs/"&gt;John Penman&lt;/a&gt; has written an article
in the &lt;a href="http://www.thedelphimagazine.com/"&gt;March edition of Delphi Magazine&lt;/a&gt; entitled
"Simple Wireless Networking with Delphi for .NET" which describes using the 32feet.NET
library from Delphi code. It walks the user through each of the areas of functionality
in the library: IrDA, Bluetooth and Object Exchange. Its written for the v1.6 version,
but the object model in the latest v2.1 version is a superset so the code will work
with the latest version.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=63637c77-5e47-4c0e-8128-090b231b1df5" /&gt;</description>
      <category>Bluetooth</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=9205a77e-7ad8-4b5f-8a4f-bbd5f013d7ca</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,9205a77e-7ad8-4b5f-8a4f-bbd5f013d7ca.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Yesterday I released the latest update to the personal area networking library to
the <a href="http://32feet.NET">32feet.NET site</a>. This release focussed on bug
fixes and improved compatibility and error handling. This release supports device
discovery on the latest WM5.0 AKU3 devices and beyond where the registry layout has
undergone a few undocumented changes. You can view the full list of closed work items
for this release on the <a href="http://www.codeplex.com/32feet/Release/ProjectReleases.aspx">CodePlex
workspace</a>.
</p>
        <p>
The code also now has unit testing (not yet covering all functionality) and a new
sample application for using IrDA on desktop Windows versions.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=9205a77e-7ad8-4b5f-8a4f-bbd5f013d7ca" />
      </body>
      <title>32feet.NET v2.1 Released</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,9205a77e-7ad8-4b5f-8a4f-bbd5f013d7ca.aspx</guid>
      <link>http://peterfoot.net/32feetNETV21Released.aspx</link>
      <pubDate>Mon, 12 Feb 2007 11:32:55 GMT</pubDate>
      <description>&lt;p&gt;
Yesterday I released the latest update to the personal area networking library to
the &lt;a href="http://32feet.NET"&gt;32feet.NET site&lt;/a&gt;. This release focussed on bug
fixes and&amp;nbsp;improved compatibility and error handling. This release supports device
discovery on the latest WM5.0 AKU3 devices and beyond where the registry layout has
undergone a few undocumented changes. You can view the full list of closed work items
for this release on the &lt;a href="http://www.codeplex.com/32feet/Release/ProjectReleases.aspx"&gt;CodePlex
workspace&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
The code also now has unit testing (not yet covering all functionality) and a new
sample application for using IrDA on desktop Windows versions.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=9205a77e-7ad8-4b5f-8a4f-bbd5f013d7ca" /&gt;</description>
      <category>Bluetooth</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=579bb4e0-c362-44f9-a0e7-daa51cb013c7</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,579bb4e0-c362-44f9-a0e7-daa51cb013c7.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
By chance I was looking through the Windows CE 6.0 documentation and cam across a
new Bluetooth method - <a href="http://msdn2.microsoft.com/en-us/library/aa916821.aspx">BthReadRSSI</a>.
My interest was heightened when reading the Requirements section. Apparently the method
is supported on Windows Mobile 5.0 as well as CE 6.0. Without further ado I added
the P/Invoke definition to the <a href="http://32feet.net">32feet</a> source and did
some quick tests on my iMate JasJar. The method was present, however it returned the
error code 0x00000490 which according to the error lookup tool represents "Element
not found". So thats where I leave it for now, but I'd be interested to hear from
you if you have another device or a Bluetooth equipped CE 6.0 device. You can download
the latest 32feet source from the <a href="http://www.codeplex.com/32feet/">CodePlex
project</a> which has this functionality - see the BluetoothDeviceInfo.Rssi property.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=579bb4e0-c362-44f9-a0e7-daa51cb013c7" />
      </body>
      <title>Bluetooth RSSI</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,579bb4e0-c362-44f9-a0e7-daa51cb013c7.aspx</guid>
      <link>http://peterfoot.net/BluetoothRSSI.aspx</link>
      <pubDate>Wed, 17 Jan 2007 22:30:16 GMT</pubDate>
      <description>&lt;p&gt;
By chance I was looking through the Windows CE 6.0 documentation and cam across a
new Bluetooth method - &lt;a href="http://msdn2.microsoft.com/en-us/library/aa916821.aspx"&gt;BthReadRSSI&lt;/a&gt;.
My interest was heightened when reading the Requirements section. Apparently the method
is supported on Windows Mobile 5.0 as well as CE 6.0. Without further ado I added
the P/Invoke definition to the &lt;a href="http://32feet.net"&gt;32feet&lt;/a&gt; source and did
some quick tests on my iMate JasJar. The method was present, however it returned the
error code 0x00000490 which according to the error lookup tool represents "Element
not found". So thats where I leave it for now, but I'd be interested to hear from
you if you have another device or a Bluetooth equipped CE 6.0 device. You can download
the latest 32feet source from the &lt;a href="http://www.codeplex.com/32feet/"&gt;CodePlex
project&lt;/a&gt; which has this functionality - see the BluetoothDeviceInfo.Rssi property.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=579bb4e0-c362-44f9-a0e7-daa51cb013c7" /&gt;</description>
      <category>Bluetooth</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=f7c5a776-5627-4044-9a62-788c2d3e98bf</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,f7c5a776-5627-4044-9a62-788c2d3e98bf.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
While there have been some improvements to Bluetooth support through the version -
like the addition of A2DP (Wireless Stereo) and most recently PAN in AKU3, at the
same time the Dial Up Networking profile has been removed. This is a very widely supported
profile for connectivity sharing. If you previously used your Windows Mobile device
to share your GPRS connection you'll no longer be able to do this with newer devices
running AKU3 (or perhaps if any OEMs offer ROM updates to AKU3 for current devices).
One scenario I've already encountered where this is a problem is using a TomTom ONE/Go
unit - these use Bluetooth to use your phones connectivity to download traffic updates
etc, and they support only the DUN profile.
</p>
        <p>
Read a discussion about these changes <a href="http://www.smartphonethoughts.com/index.php?action=expand,12872">here
on Smartphone Thoughts</a>.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=f7c5a776-5627-4044-9a62-788c2d3e98bf" />
      </body>
      <title>Bluetooth DUN Profile Removed from WM5.0 AKU3</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,f7c5a776-5627-4044-9a62-788c2d3e98bf.aspx</guid>
      <link>http://peterfoot.net/BluetoothDUNProfileRemovedFromWM50AKU3.aspx</link>
      <pubDate>Thu, 16 Nov 2006 10:06:18 GMT</pubDate>
      <description>&lt;p&gt;
While there have been some improvements to Bluetooth support through the version -
like the addition of A2DP (Wireless Stereo) and most recently PAN in AKU3, at the
same time the Dial Up Networking profile has been removed. This is a very widely supported
profile for connectivity sharing. If you previously used your Windows Mobile device
to share your GPRS connection you'll no longer be able to do this with newer devices
running AKU3 (or perhaps if any OEMs offer ROM updates to AKU3 for current devices).
One scenario I've already encountered where this is a problem is using a TomTom ONE/Go
unit - these use Bluetooth to use your phones connectivity to download traffic updates
etc, and they support only the DUN profile.
&lt;/p&gt;
&lt;p&gt;
Read a discussion about these changes &lt;a href="http://www.smartphonethoughts.com/index.php?action=expand,12872"&gt;here
on Smartphone Thoughts&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=f7c5a776-5627-4044-9a62-788c2d3e98bf" /&gt;</description>
      <category>Bluetooth</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=cc044c66-25e7-4793-8017-12289d0076d9</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,cc044c66-25e7-4793-8017-12289d0076d9.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The Bluetooth functionality (and related APIs) are fundamentally unchanged between
XP and Vista, however additional profile support has been added for Audio devices.
Based on testing with the RC2 build Vista now supports:-
</p>
        <ul>
          <li>
Handsfree 
</li>
          <li>
Headset 
</li>
          <li>
A2DP (Wireless Stereo)</li>
        </ul>
        <p>
When Vista detects a new audio device it doesn't automatically install support for
the audio services, but it does recognise hands free devices based on their Class-of-Device:-
</p>
        <p>
          <img src="http://www.peterfoot.net/content/binary/vistabtaudio.png" border="0" />
        </p>
        <p>
If you select the device properties, and view the Services tag you can see and select
the supported audio profiles and when you apply the settings a new Audio device will
be installed.
</p>
        <p>
          <img src="http://www.peterfoot.net/content/binary/vistabtaudioservices.png" border="0" />
        </p>
        <p>
You can set these programmatically using <a href="http://32feet.net">32feet.NET</a> with
the BluetoothDeviceInfo.SetServiceState method passing in either BluetoothService.Headset
or Handsfree. The audio device appears in the Sounds control panel applet, but doesn't
override the default system audio. You are unlikely to want to do this with a headset
anyway, although it's more likely you'll want to do this with stereo headphones. You
can however select this audio device to use with audio conferencing software such
as Skype or Windows Messenger or with Vista's speech recognition.
</p>
        <img src="http://www.peterfoot.net/content/binary/vistabtaudiodevice.png" border="0" />
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=cc044c66-25e7-4793-8017-12289d0076d9" />
      </body>
      <title>Bluetooth Audio in Vista</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,cc044c66-25e7-4793-8017-12289d0076d9.aspx</guid>
      <link>http://peterfoot.net/BluetoothAudioInVista.aspx</link>
      <pubDate>Mon, 30 Oct 2006 14:58:56 GMT</pubDate>
      <description>&lt;p&gt;
The Bluetooth functionality (and related APIs) are fundamentally unchanged between
XP and Vista, however additional profile support has been added for Audio devices.
Based on testing with the RC2 build Vista now supports:-
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Handsfree 
&lt;li&gt;
Headset 
&lt;li&gt;
A2DP (Wireless Stereo)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
When Vista detects a new audio device it doesn't automatically install support for
the audio services, but it does recognise hands free devices based on their Class-of-Device:-
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.peterfoot.net/content/binary/vistabtaudio.png" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
If you select the device properties, and view the Services tag you can see and select
the supported audio profiles and when you apply the settings a new Audio device will
be installed.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.peterfoot.net/content/binary/vistabtaudioservices.png" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
You can set these programmatically using &lt;a href="http://32feet.net"&gt;32feet.NET&lt;/a&gt; with
the BluetoothDeviceInfo.SetServiceState method passing in either BluetoothService.Headset
or Handsfree. The audio device appears in the Sounds control panel applet, but doesn't
override the default system audio. You are unlikely to want to do this with a headset
anyway, although it's more likely you'll want to do this with stereo headphones. You
can however select this audio device to use with audio conferencing software such
as Skype or Windows Messenger or with Vista's speech recognition.
&lt;/p&gt;
&lt;img src="http://www.peterfoot.net/content/binary/vistabtaudiodevice.png" border=0&gt;&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=cc044c66-25e7-4793-8017-12289d0076d9" /&gt;</description>
      <category>Bluetooth</category>
      <category>Vista</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=25545dbd-bfc5-46e1-b53b-bc3c880f5fdb</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,25545dbd-bfc5-46e1-b53b-bc3c880f5fdb.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Recently I tried a different form of Bluetooth hacking, I purchased a simple car kit
and wanted to install it myself. Alongside the kit itself I also purchased the required
vehicle specific cable to sit between the vehicle wiring and the radio and connect
in the Parrot loom. However I soon realised that it was going to be more difficult
than originally anticipated because there wasn't enough space behind the dash to accomodate
all the bulky connectors, relaybox and oceans of cables. There were two issues, the
adaptor cable passed through every single cable from the vehicle connector even though
only a select few were actually used, the inline ISO connectors are rather chunky,
the radio itself supports a phone input and mute trigger and so it seemed unnecessary
to have the parrot amplify the audio and output it directly to the speakers.
</p>
        <p>
So I set about looking at what was happening before the relay box and was able to
determine the pinouts on the Parrot unit itself. The next stage was to simplify the
adapter cable to remove unnecessary passthrough wires and remove the inline ISO connectors.
I had to directly solder in Power, Earth and Mute wires from the Parrot and connect
up the mono phone input to the "raw" output from the Parrot. The only additional wiring
required was vehicle specific as there isn't an ignition switched power into the radio
as it uses the CAN bus to change state. So I ran the ignition line for the Parrot
into the connector with the vehicles cigar ligher socket (on some cars this is permanently
powered on mine it's only on with the ignition). I was then able to mount the Parrot
box behind the dashboard and route all the wiring behind the vehicle trim. Using this
approach has the added benefit of supporting the external volume adjustment through
the radio (and hence steering wheel controls). For reference the pin out for the Parrot
CK3000 Evolution is as below (Other Parrot models use rather different plugs so I
doubt it's transferrable).
</p>
        <p>
          <font face="Courier New">Aud-    Earth   Aud+  
Mute</font>
        </p>
        <p>
          <font face="Courier New">White   Black   Red   
Blue   Yellow</font>
        </p>
        <p>
          <font face="Courier New"> X       X       X      X      X</font>
        </p>
        <p>
          <font face="Courier New"> X       X       X</font>
        </p>
        <p>
          <font face="Courier New">Red     Yellow  Blue</font>
        </p>
        <p>
          <font face="Courier New">(used by control panel)</font>
        </p>
        <p>
The unused yellow wire is perhaps used by the optional flashing cable. The separate
power connector contains three colour coded wires (which are labelled so I wont spell them
out here)
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=25545dbd-bfc5-46e1-b53b-bc3c880f5fdb" />
      </body>
      <title>Hacking the Parrot 3000 Evolution Car Kit</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,25545dbd-bfc5-46e1-b53b-bc3c880f5fdb.aspx</guid>
      <link>http://peterfoot.net/HackingTheParrot3000EvolutionCarKit.aspx</link>
      <pubDate>Tue, 10 Oct 2006 13:14:41 GMT</pubDate>
      <description>&lt;p&gt;
Recently I tried a different form of Bluetooth hacking, I purchased a simple car kit
and wanted to install it myself. Alongside the kit itself I also purchased the required
vehicle specific cable to sit between the vehicle wiring and the radio and connect
in the Parrot loom. However I soon realised that it was going to be more difficult
than originally anticipated because there wasn't enough space behind the dash to accomodate
all the bulky connectors, relaybox and oceans of cables. There were two issues, the
adaptor cable passed through every single cable from the vehicle connector even though
only a select few were actually used, the inline ISO connectors are rather chunky,
the radio itself supports a phone input and mute trigger and so it seemed unnecessary
to have the parrot amplify the audio and output it directly to the speakers.
&lt;/p&gt;
&lt;p&gt;
So I set about looking at what was happening before the relay box and was able to
determine the pinouts on the Parrot unit itself. The next stage was to simplify the
adapter cable to remove unnecessary passthrough wires and remove the inline ISO connectors.
I had to directly solder in Power, Earth and Mute wires from the Parrot and connect
up the mono phone input to the "raw" output from the Parrot. The only additional wiring
required was vehicle specific as there isn't an ignition switched power into the radio
as it uses the CAN bus to change state. So I ran the ignition line for the Parrot
into the connector with the vehicles cigar ligher socket (on some cars this is permanently
powered on mine it's only on with the ignition). I was then able to mount the Parrot
box behind the dashboard and route all the wiring behind the vehicle trim. Using this
approach has the added benefit of supporting the external volume adjustment through
the radio (and hence steering wheel controls). For reference the pin out for the Parrot
CK3000 Evolution is as below (Other Parrot models use rather different plugs so I
doubt it's transferrable).
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;Aud-&amp;nbsp;&amp;nbsp;&amp;nbsp; Earth&amp;nbsp;&amp;nbsp;&amp;nbsp;Aud+&amp;nbsp;&amp;nbsp;
Mute&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;White&amp;nbsp;&amp;nbsp;&amp;nbsp;Black&amp;nbsp;&amp;nbsp;&amp;nbsp;Red&amp;nbsp;&amp;nbsp;&amp;nbsp;
Blue&amp;nbsp;&amp;nbsp;&amp;nbsp;Yellow&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;nbsp;X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;nbsp;X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;Red&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Yellow&amp;nbsp; Blue&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;(used by control panel)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
The unused yellow wire is perhaps used by the optional flashing cable. The separate
power connector contains three colour coded wires (which are labelled so I wont spell&amp;nbsp;them
out here)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=25545dbd-bfc5-46e1-b53b-bc3c880f5fdb" /&gt;</description>
      <category>Bluetooth</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=101fcad8-a30e-4080-ab5d-b6425bf8348f</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,101fcad8-a30e-4080-ab5d-b6425bf8348f.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Although it took a lot longer than I originally anticipated I've finally put the finishing
touches to v2.0 of the <a href="http://32feet.net/">32feet.NET</a> library. v2.0 is
a major re-write of the code so that the single codebase can be built into separate
dlls for desktop or device. This was primarily to get around the bug in the desktop
VB.NET compiler which couldn't cope with redirecting the device System.dll reference
to the desktop equivalent. It has had the pleasant side-effect of making the footprint
much smaller. The 4 previous dlls are now merged into the single InTheHand.Net.Personal.dll
which range from 91kb for the .NETCF v1.0 version to 76kb for the desktop v2.0 version.
</p>
        <p>
You can download the installer which includes the library, documentation and samples
from <a href="http://32feet.net/files/18/releases/entry1738.aspx">the 32feet website</a>.
This release is the first release version to have the full source code available since
the project was hosted <a href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=32feet&amp;ReleaseId=195">at
CodePlex</a>. You can also use the CodePlex site to download other builds of <a href="http://www.codeplex.com/SourceControl/ListDownloadableCommits.aspx?ProjectName=32feet">the
code</a> and post <a href="http://www.codeplex.com/WorkItem/List.aspx?ProjectName=32feet">bugs/feature
requests</a>. If you want to get involved in the project drop me a mail, or join the
discussions on the <a href="http://32feet.net/forums/default.aspx">32feet site</a>.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=101fcad8-a30e-4080-ab5d-b6425bf8348f" />
      </body>
      <title>32feet.NET Reaches v2.0 Milestone</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,101fcad8-a30e-4080-ab5d-b6425bf8348f.aspx</guid>
      <link>http://peterfoot.net/32feetNETReachesV20Milestone.aspx</link>
      <pubDate>Mon, 28 Aug 2006 15:56:47 GMT</pubDate>
      <description>&lt;p&gt;
Although it took a lot longer than I originally anticipated I've finally put the finishing
touches to v2.0 of the &lt;a href="http://32feet.net/"&gt;32feet.NET&lt;/a&gt; library. v2.0 is
a major re-write of the code so that the single codebase can be built into separate
dlls for desktop or device. This was primarily to get around the bug in the desktop
VB.NET compiler which couldn't cope with redirecting the device System.dll reference
to the desktop equivalent. It has had the pleasant side-effect of making the footprint
much smaller. The 4 previous dlls are now merged into the single InTheHand.Net.Personal.dll
which range from 91kb for the .NETCF v1.0 version to 76kb for the desktop v2.0 version.
&lt;/p&gt;
&lt;p&gt;
You can download the installer which includes the library, documentation and samples
from &lt;a href="http://32feet.net/files/18/releases/entry1738.aspx"&gt;the 32feet website&lt;/a&gt;.
This release is the first release version to have the full source code available since
the project was hosted &lt;a href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=32feet&amp;amp;ReleaseId=195"&gt;at
CodePlex&lt;/a&gt;. You can also use the CodePlex site to download other builds of &lt;a href="http://www.codeplex.com/SourceControl/ListDownloadableCommits.aspx?ProjectName=32feet"&gt;the
code&lt;/a&gt; and post &lt;a href="http://www.codeplex.com/WorkItem/List.aspx?ProjectName=32feet"&gt;bugs/feature
requests&lt;/a&gt;. If you want to get involved in the project drop me a mail, or join the
discussions on the &lt;a href="http://32feet.net/forums/default.aspx"&gt;32feet site&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=101fcad8-a30e-4080-ab5d-b6425bf8348f" /&gt;</description>
      <category>Bluetooth</category>
      <category>NETCF</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=9a6ee928-69d0-4d13-bce3-2b323627c739</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,9a6ee928-69d0-4d13-bce3-2b323627c739.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In an amazing about-face, <a href="http://www.broadcom.com">Broadcom</a> have released
their Bluetooth SDK (Both the desktop and Windows CE versions) <a href="http://www.broadcom.com/products/bluetooth_sdk.php">for
free on their website</a>, all you need to do is provide some basic information to
register and you'll receive a download link via email. In many ways the Broadcom stack
has always been ahead of the Microsoft version in terms of supported profiles, the
real stopper has been the need to purchase the SDK to develop for it.
</p>
        <p>
Thanks to forum member Robert83 for the <a href="http://32feet.net/forums/thread/1652.aspx">heads-up</a>!
</p>
        <p>
It will be interesting to see how this affects the balance of stacks on new devices,
now that both have an accessible programming model, however each stack is not without
it's faults - lack of radio control for Broadcom and fewer profiles supported by Microsoft
for example.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=9a6ee928-69d0-4d13-bce3-2b323627c739" />
      </body>
      <title>Broadcom Bluetooth Stack SDK Now Free</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,9a6ee928-69d0-4d13-bce3-2b323627c739.aspx</guid>
      <link>http://peterfoot.net/BroadcomBluetoothStackSDKNowFree.aspx</link>
      <pubDate>Mon, 07 Aug 2006 09:40:33 GMT</pubDate>
      <description>&lt;p&gt;
In an amazing about-face, &lt;a href="http://www.broadcom.com"&gt;Broadcom&lt;/a&gt; have released
their Bluetooth SDK (Both the&amp;nbsp;desktop and Windows CE versions) &lt;a href="http://www.broadcom.com/products/bluetooth_sdk.php"&gt;for
free on their website&lt;/a&gt;, all you need to do is provide some basic information to
register and you'll receive a download link via email. In many ways the Broadcom stack
has always been ahead of the Microsoft version in terms of supported profiles, the
real stopper has been the need to purchase the SDK to develop for it.
&lt;/p&gt;
&lt;p&gt;
Thanks to forum member Robert83 for the &lt;a href="http://32feet.net/forums/thread/1652.aspx"&gt;heads-up&lt;/a&gt;!
&lt;/p&gt;
&lt;p&gt;
It will be interesting to see how this affects the balance of stacks on new devices,
now that both have an accessible programming model, however each stack is not without
it's faults - lack of radio control for Broadcom and fewer profiles supported by Microsoft
for example.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=9a6ee928-69d0-4d13-bce3-2b323627c739" /&gt;</description>
      <category>Bluetooth</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=dd04af30-2ccd-4e75-8f15-28635756038d</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,dd04af30-2ccd-4e75-8f15-28635756038d.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Among the fairly modest enhancements to the Microsoft Bluetooth stack in Windows Mobile
5.0 is a new unified system for assigning virtual COM ports. Previously this was only
exposed to the user via OEM provided plugins. Very often you were limited to a single
incoming and outgoing port. The Pairing process on Windows Mobile 5.0 now does a service
discovery and allows the user to choose which services they wish to use, when "Serial
Port" is ticked in the list you can then use the new interface on the "COM Ports"
tab to create a virtual COM port for the device.
</p>
        <p>
All of the settings are stored in the registry so that you can also programmatically
query what ports are setup and to which devices they map. The magic happens at:
</p>
        <p>
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Serial\Ports
</p>
        <p>
This key contains a multi-string value containing all of the available COM ports on
the system. This should have been setup by the OEM so that it does not contain reserved
COM port identifiers. For example on my iMate K-Jam this value contains:-
</p>
        <p>
COM6
</p>
        <p>
COM7
</p>
        <p>
Below this key there will be a key for each device setup with a virtual COM port,
the key will be named with an 8 byte hexadecimal device id (16 characters). This contains
values with settings for the port such as Encryption etc. The most useful is "Port",
a string value containing the COM port name e.g. "COM6". Each device can have only
one virtual COM port assigned, so if you run through the "New Outgoing Port" sequence
for the same device it will overwrite your previous settings. The pairing information
for the device is stored in a similarly named key under:-
</p>
        <p>
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Device
</p>
        <p>
You can query the values under the device key (again 16 chars for the device id) to
retrieve the device name and class of device. When you retrieve paired devices with <a href="http://32feet.net/">32feet.net</a> using
BluetoothClient.DiscoverDevices it reads this information for you into a BluetoothDeviceInfo
instance.
</p>
        <p>
This new mechanism means that rather than using the awkward RegisterDevice method
for registering a virtual COM port (InTheHand.IO.Ports.BluetoothSerialPort in 32feet.net)
you can configure the settings through the registry in such a way that they are visible
to device user and don't conflict with other ports.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=dd04af30-2ccd-4e75-8f15-28635756038d" />
      </body>
      <title>Windows Mobile 5.0 Bluetooth Virtual Serial Ports</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,dd04af30-2ccd-4e75-8f15-28635756038d.aspx</guid>
      <link>http://peterfoot.net/WindowsMobile50BluetoothVirtualSerialPorts.aspx</link>
      <pubDate>Tue, 18 Jul 2006 16:06:06 GMT</pubDate>
      <description>&lt;p&gt;
Among the fairly modest enhancements to the Microsoft Bluetooth stack in Windows Mobile
5.0 is a new unified system for assigning virtual COM ports. Previously this was only
exposed to the user via OEM provided plugins. Very often you were limited to a single
incoming and outgoing port. The Pairing process on Windows Mobile 5.0 now does a service
discovery and allows the user to choose which services they wish to use, when "Serial
Port" is ticked in the list you can then use the new interface on the "COM Ports"
tab to create a virtual COM port for the device.
&lt;/p&gt;
&lt;p&gt;
All of the settings are stored in the registry so that you can also programmatically
query what ports are setup and to which devices they map. The magic happens at:
&lt;/p&gt;
&lt;p&gt;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Serial\Ports
&lt;/p&gt;
&lt;p&gt;
This key contains a multi-string value containing all of the available COM ports on
the system. This should have been setup by the OEM so that it does not contain reserved
COM port identifiers. For example on my iMate K-Jam this value contains:-
&lt;/p&gt;
&lt;p&gt;
COM6
&lt;/p&gt;
&lt;p&gt;
COM7
&lt;/p&gt;
&lt;p&gt;
Below this key there will be a key for each device setup with a virtual COM port,
the key will be named with an 8 byte hexadecimal device id (16 characters). This contains
values with settings for the port such as Encryption etc. The most useful is "Port",
a string value containing the COM port name e.g. "COM6". Each device can have only
one virtual COM port assigned, so if you run through the "New Outgoing Port" sequence
for the same device it will overwrite your previous settings. The pairing information
for the device is stored in a similarly named key under:-
&lt;/p&gt;
&lt;p&gt;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Device
&lt;/p&gt;
&lt;p&gt;
You can query the values under the device key (again 16 chars for the device id) to
retrieve the device name and class of device. When you retrieve paired devices with &lt;a href="http://32feet.net/"&gt;32feet.net&lt;/a&gt; using
BluetoothClient.DiscoverDevices it reads this information for you into a BluetoothDeviceInfo
instance.
&lt;/p&gt;
&lt;p&gt;
This new mechanism means that rather than using the awkward RegisterDevice method
for registering a virtual COM port (InTheHand.IO.Ports.BluetoothSerialPort in 32feet.net)
you can configure the settings through the registry in such a way that they are visible
to device user and don't conflict with other ports.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=dd04af30-2ccd-4e75-8f15-28635756038d" /&gt;</description>
      <category>Bluetooth</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=08c63dee-afc9-45ce-b6e7-3aa2c24e9d89</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,08c63dee-afc9-45ce-b6e7-3aa2c24e9d89.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The Bluetooth SIG have introduced <a href="https://www.bluetooth.org/iconprogram/">a
new branding initiative</a> to help clarify what functionality a Bluetooth device
supports using a number of simple icons for popular applications of Bluetooth. The
current 5 icons are:-
</p>
        <ul>
          <li>
Print (Hard Copy Replacement Profile, Basic Print Profile) 
</li>
          <li>
Input (Human Input Device Profile) 
</li>
          <li>
Headset (Headset Profile, Handsfree Profile) 
</li>
          <li>
Transfer (Object Push Profile, OBEX FTP) 
</li>
          <li>
Music (Advanced Audio Distribution Profile, Audio Video Remote Control Profile)</li>
        </ul>
        <p>
Each has specific requirements which must be met for the product to display the icon.
It should help to make it possible to identify what functionality a device provides.
Windows Mobile 5.0 currently supports the requirements of the Input, Headset and Music
icons. It doesn't qualify for Transfer since OBEX FTP is not supported, it is a Windows
CE component which is not included in the Windows Mobile platform. And as we know
Windows Mobile has no printing support out of the box, however if you have a Bluetooth
printer which supports Object Push you can beam Contacts, Appointments and Text/HTML
documents to your printer.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=08c63dee-afc9-45ce-b6e7-3aa2c24e9d89" />
      </body>
      <title>Bluetooth Experience Icon Program</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,08c63dee-afc9-45ce-b6e7-3aa2c24e9d89.aspx</guid>
      <link>http://peterfoot.net/BluetoothExperienceIconProgram.aspx</link>
      <pubDate>Fri, 16 Jun 2006 13:12:11 GMT</pubDate>
      <description>&lt;p&gt;
The Bluetooth SIG have introduced &lt;a href="https://www.bluetooth.org/iconprogram/"&gt;a
new branding initiative&lt;/a&gt; to help clarify what functionality a Bluetooth device
supports using a number of simple icons for popular applications of Bluetooth. The
current 5 icons are:-
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Print (Hard Copy Replacement Profile, Basic Print Profile) 
&lt;li&gt;
Input (Human Input Device Profile) 
&lt;li&gt;
Headset (Headset Profile, Handsfree Profile) 
&lt;li&gt;
Transfer (Object Push Profile, OBEX FTP) 
&lt;li&gt;
Music (Advanced Audio Distribution Profile, Audio Video Remote Control Profile)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Each has specific requirements which must be met for the product to display the icon.
It should help to make it possible to identify what functionality a device provides.
Windows Mobile 5.0 currently supports the requirements of the Input, Headset and Music
icons. It doesn't qualify for Transfer since OBEX FTP is not supported, it is a Windows
CE component which is not included in the Windows Mobile platform. And as we know
Windows Mobile has no printing support out of the box, however if you have a Bluetooth
printer which supports Object Push you can beam Contacts, Appointments and Text/HTML
documents to your printer.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=08c63dee-afc9-45ce-b6e7-3aa2c24e9d89" /&gt;</description>
      <category>Bluetooth</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=39f3b71b-5af3-49f6-b30b-5cd93fa3ce23</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,39f3b71b-5af3-49f6-b30b-5cd93fa3ce23.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
One of the features of the Broadcom stack is that when you attempt to connect to a
virtual COM port it will show the user the Bluetooth Manager and ask them to select
a paired device to connect to. You can suppress this and have it always connect to
the last used device. You'll need to write to the registry key:-
</p>
        <p>
          <font color="#191970">HKLM/Software/Widcomm/BTConfig/AutoConnect/0008</font>
        </p>
        <p>
          <font color="#000000">Create a DWORD value named BTBrowserEnabled and set the value
to 0. If you want to re-enable this feature you can reset the value to 1.</font>
        </p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=39f3b71b-5af3-49f6-b30b-5cd93fa3ce23" />
      </body>
      <title>Stop Broadcom Stack Displaying Browser</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,39f3b71b-5af3-49f6-b30b-5cd93fa3ce23.aspx</guid>
      <link>http://peterfoot.net/StopBroadcomStackDisplayingBrowser.aspx</link>
      <pubDate>Sun, 28 May 2006 17:11:03 GMT</pubDate>
      <description>&lt;p&gt;
One of the features of the Broadcom stack is that when you attempt to connect to a
virtual COM port it will show the user the Bluetooth Manager and ask them to select
a paired device to connect to. You can suppress this and have it always connect to
the last used device. You'll need to write to the registry key:-
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#191970&gt;HKLM/Software/Widcomm/BTConfig/AutoConnect/0008&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;Create a DWORD value named BTBrowserEnabled and set the value
to 0. If you want to re-enable this feature you can reset the value to 1.&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=39f3b71b-5af3-49f6-b30b-5cd93fa3ce23" /&gt;</description>
      <category>Bluetooth</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=5c0758d9-0581-412d-ae5b-e545f37d46ff</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,5c0758d9-0581-412d-ae5b-e545f37d46ff.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I've posted a Beta build of <a href="http://32feet.net/">32feet.NET</a> to the Files
section of the site. Please <a href="http://32feet.net/files/18/releases/entry1171.aspx">read
the file description</a> for a high-level list of changes. This release is the first
to be built against .NET v2.0 and will resolve issues encountered with using the v1.x
library from a .NET v2.0 VB project. It also consolidates the previously separate
dlls into a single dll (InTheHand.Net.Personal.dll) which reduces the overall footprint
to 83kb for Infrared, Bluetooth, Object Exchange and Forms functionality. If you are
at <a href="http://www.medc2006.com">MEDC</a> and would like to see this version in
action, Nick Landry will be using it as part of his session on Thursday at 11:15 "APP335
Tablet PCs and Smartphones: Working Hand-in-Hand to Enable Your Mobile Workforce".
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=5c0758d9-0581-412d-ae5b-e545f37d46ff" />
      </body>
      <title>32feet.NET v2.0 Beta 1 Available</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,5c0758d9-0581-412d-ae5b-e545f37d46ff.aspx</guid>
      <link>http://peterfoot.net/32feetNETV20Beta1Available.aspx</link>
      <pubDate>Tue, 09 May 2006 13:14:46 GMT</pubDate>
      <description>&lt;p&gt;
I've posted a Beta build of &lt;a href="http://32feet.net/"&gt;32feet.NET&lt;/a&gt; to the Files
section of the site. Please &lt;a href="http://32feet.net/files/18/releases/entry1171.aspx"&gt;read
the file description&lt;/a&gt; for a high-level list of changes. This release is the first
to be built against .NET v2.0 and will resolve issues encountered with using the v1.x
library from a .NET v2.0 VB project. It also consolidates the previously separate
dlls into a single dll (InTheHand.Net.Personal.dll) which reduces the overall footprint
to 83kb for Infrared, Bluetooth, Object Exchange and Forms functionality. If you are
at &lt;a href="http://www.medc2006.com"&gt;MEDC&lt;/a&gt; and would like to see this version in
action, Nick Landry will be using it as part of his session on Thursday at 11:15 "APP335
Tablet PCs and Smartphones: Working Hand-in-Hand to Enable Your Mobile Workforce".
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=5c0758d9-0581-412d-ae5b-e545f37d46ff" /&gt;</description>
      <category>Bluetooth</category>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=d120b5f4-241a-4de1-84cf-27d8f33c08a1</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,d120b5f4-241a-4de1-84cf-27d8f33c08a1.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <title>Bluetooth Profiles</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,d120b5f4-241a-4de1-84cf-27d8f33c08a1.aspx</guid>
      <link>http://peterfoot.net/BluetoothProfiles.aspx</link>
      <pubDate>Mon, 27 Feb 2006 22:08:27 GMT</pubDate>
      <description>&lt;p&gt;
This is a post I've been meaning to do for a couple of years and just never got around
to it. The table below is an attempt to document the Bluetooth profiles supported
on various flavours of Windows. Because Windows CE is modular don't expect every CE
device to support all the possible profiles, this table gives an indication of what
the platform creators had available to them. In order to conserve space I've made
copious use of acronyms (and initialisations), the current release versions of all
of these profiles are documented on the &lt;a href="http://www.bluetooth.com/Bluetooth/Learn/Technology/Specifications/"&gt;public
Bluetooth website&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;table border=1&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421319"&gt;
XP SP2&lt;/td&gt;
&lt;td align=middle&gt;
Vista&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421320"&gt;
CE.NET 4.2&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421321"&gt;
WM 2003&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421322"&gt;
WM 2003 SE&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421323"&gt;
CE 5.0&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421324"&gt;
WM 5.0&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421325"&gt;
WM 5.0 AKU1&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421326"&gt;
WM 5.0 AKU2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr __designer:dtid="562949953421327"&gt;
&lt;td __designer:dtid="562949953421328"&gt;
A2DP&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421329"&gt;
&amp;nbsp; 
&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421330"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421330"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421331"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421332"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421333"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421334"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421335"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421336"&gt;
Y&lt;/td&gt;
&lt;/tr&gt;
&lt;tr __designer:dtid="562949953421337"&gt;
&lt;td style="HEIGHT: 21px" __designer:dtid="562949953421338"&gt;
AVRCP&lt;/td&gt;
&lt;td style="HEIGHT: 21px" align=middle __designer:dtid="562949953421339"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421330"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td style="HEIGHT: 21px" align=middle __designer:dtid="562949953421340"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td style="HEIGHT: 21px" align=middle __designer:dtid="562949953421341"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td style="HEIGHT: 21px" align=middle __designer:dtid="562949953421342"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td style="HEIGHT: 21px" align=middle __designer:dtid="562949953421343"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td style="HEIGHT: 21px" align=middle __designer:dtid="562949953421344"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td style="HEIGHT: 21px" align=middle __designer:dtid="562949953421345"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td style="HEIGHT: 21px" align=middle __designer:dtid="562949953421346"&gt;
Y&lt;/td&gt;
&lt;/tr&gt;
&lt;tr __designer:dtid="562949953421347"&gt;
&lt;td __designer:dtid="562949953421348"&gt;
HFP&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421349"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421350"&gt;
?&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421330"&gt;
&amp;nbsp;o&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421351"&gt;
o&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421352"&gt;
o/Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421353"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421354"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421355"&gt;
Yp&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421356"&gt;
Y&lt;/td&gt;
&lt;/tr&gt;
&lt;tr __designer:dtid="562949953421357"&gt;
&lt;td __designer:dtid="562949953421358"&gt;
HSP&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421359"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421330"&gt;
?&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421360"&gt;
&amp;nbsp;Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421361"&gt;
o&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421362"&gt;
o/Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421363"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421364"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421365"&gt;
Yp&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421366"&gt;
Y&lt;/td&gt;
&lt;/tr&gt;
&lt;tr __designer:dtid="562949953421367"&gt;
&lt;td __designer:dtid="562949953421368"&gt;
HID&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421369"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421330"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421370"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421371"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421372"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421373"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421374"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421375"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421376"&gt;
Y&lt;/td&gt;
&lt;/tr&gt;
&lt;tr __designer:dtid="562949953421377"&gt;
&lt;td __designer:dtid="562949953421378"&gt;
FTP&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421379"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421330"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421380"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421381"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421382"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421383"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421384"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421385"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421386"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr __designer:dtid="562949953421387"&gt;
&lt;td __designer:dtid="562949953421388"&gt;
PAN&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421389"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421330"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421390"&gt;
&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421391"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421392"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421393"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421394"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421395"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421396"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr __designer:dtid="562949953421397"&gt;
&lt;td __designer:dtid="562949953421398"&gt;
LAP&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421399"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421399"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421400"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421401"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421402"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421403"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421404"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421405"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421406"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr __designer:dtid="562949953421407"&gt;
&lt;td __designer:dtid="562949953421408"&gt;
BPP&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421409"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421399"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421410"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421411"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421412"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421413"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421414"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421415"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421416"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr __designer:dtid="562949953421417"&gt;
&lt;td __designer:dtid="562949953421418"&gt;
HCRP&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421419"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421399"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421420"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421421"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421422"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421423"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421424"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421425"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421426"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr __designer:dtid="562949953421427"&gt;
&lt;td __designer:dtid="562949953421428"&gt;
DUN&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421429"&gt;
Yc&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421429"&gt;
Yc&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421430"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421431"&gt;
Ys&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421432"&gt;
Ys&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421433"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421434"&gt;
Ys&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421435"&gt;
Ys&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421436"&gt;
Ys&lt;/td&gt;
&lt;/tr&gt;
&lt;tr __designer:dtid="562949953421437"&gt;
&lt;td __designer:dtid="562949953421438"&gt;
OPP&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421439"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421429"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421440"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421441"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421442"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421443"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421444"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421445"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421446"&gt;
Y&lt;/td&gt;
&lt;/tr&gt;
&lt;tr __designer:dtid="562949953421447"&gt;
&lt;td __designer:dtid="562949953421448"&gt;
SPP&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421449"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421429"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421450"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421451"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421452"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421453"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421454"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421455"&gt;
Y&lt;/td&gt;
&lt;td align=middle __designer:dtid="562949953421456"&gt;
Y&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
c = Client support, s = Server support, o = OEM implemented, p = adds phonebook support,
? Vista recognises these profiles but they don't seem to be used.
&lt;/p&gt;
&lt;p&gt;
What I haven't attempted to do is compare the profiles available on 3rd Party stacks,
that would be a little more complex :-)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=d120b5f4-241a-4de1-84cf-27d8f33c08a1" /&gt;</description>
      <category>Bluetooth</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=195fa45b-197d-4771-9d7c-e3f9922cab2f</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,195fa45b-197d-4771-9d7c-e3f9922cab2f.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A user posted an important observation on the Bluetooth COM support in Windows Mobile
5 <a href="http://groups.google.co.uk/group/microsoft.public.pocketpc.developer/browse_thread/thread/f0bbaff75ef18ee2/56d94543baebbb5c?hl=en#56d94543baebbb5c">here
on the microsoft.public.pocketpc.developer</a> newsgroup. The problem is that while
the system allows you to create virtual COM ports for all your paired devices which
support Serial Port Profile, most of the time this will fail because the COM port
you pick is already in use, on many devices you can have just 2 virtual COM ports.
I've posted a few of my thoughts in the thread linked above, but while there are things
that Microsoft can work to improve there are also a few things that developers can
do to avoid the problem:-
</p>
        <ul>
          <li>
Don't rely on the control panel for setting up ports, use the <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcecomm5/html/wce50concomportemulationfacility.asp">RegisterDevice</a> route
(or BluetoothSerialPort in <a href="http://32feet.net">32Feet.net</a>) to just register
a port for the duration you need it (and possibly reuse the same port name). This
also allows you to use a different port prefix since few COMx: ports are available
out of the box.</li>
          <li>
Don't use serial ports. Unless you need your device to be accessible by a legacy app
then you can avoid using virtual COM ports altogether and work directly with Sockets
(again <a href="http://32feet.net">32Feet.net </a>will allow you to setup these connections
easily). The downside with this approach is it applies only to the Microsoft Bluetooth
Stack, as the programming model for the main alternative from Broadcom is essentially
based around ports. However based on the first batch of devices released with Windows
Mobile 5.0 the Broadcom stack is a lot less common.</li>
        </ul>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=195fa45b-197d-4771-9d7c-e3f9922cab2f" />
      </body>
      <title>Any Port in a Storm</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,195fa45b-197d-4771-9d7c-e3f9922cab2f.aspx</guid>
      <link>http://peterfoot.net/AnyPortInAStorm.aspx</link>
      <pubDate>Sun, 15 Jan 2006 20:36:55 GMT</pubDate>
      <description>&lt;p&gt;
A user posted an important observation on the Bluetooth COM support in Windows Mobile
5 &lt;a href="http://groups.google.co.uk/group/microsoft.public.pocketpc.developer/browse_thread/thread/f0bbaff75ef18ee2/56d94543baebbb5c?hl=en#56d94543baebbb5c"&gt;here
on the microsoft.public.pocketpc.developer&lt;/a&gt; newsgroup. The problem is that while
the system allows you to create virtual COM ports for all your paired devices which
support Serial Port Profile, most of the time this will fail because the COM port
you pick is already in use, on many devices you can have just 2 virtual COM ports.
I've posted a few of my thoughts in the thread linked above, but while there are things
that Microsoft can work to improve there are also a few things that developers can
do to avoid the problem:-
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Don't rely on the control panel for setting up ports, use the &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcecomm5/html/wce50concomportemulationfacility.asp"&gt;RegisterDevice&lt;/a&gt; route
(or BluetoothSerialPort in &lt;a href="http://32feet.net"&gt;32Feet.net&lt;/a&gt;) to just register
a port for the duration you need it (and possibly reuse the same port name). This
also allows you to use a different port prefix since few COMx: ports are available
out of the box.&lt;/li&gt;
&lt;li&gt;
Don't use serial ports. Unless you need your device to be accessible by a legacy app
then you can avoid using virtual COM ports altogether and work directly with Sockets
(again &lt;a href="http://32feet.net"&gt;32Feet.net &lt;/a&gt;will allow you to setup these connections
easily). The downside with this approach is it applies only to the Microsoft Bluetooth
Stack, as the programming model for the main alternative from Broadcom is essentially
based around ports. However based on the first batch of devices released with Windows
Mobile 5.0 the Broadcom stack is a lot less common.&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=195fa45b-197d-4771-9d7c-e3f9922cab2f" /&gt;</description>
      <category>Bluetooth</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=0842b004-ee98-44e3-b3fd-f77f3d77a7db</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,0842b004-ee98-44e3-b3fd-f77f3d77a7db.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In the Windows Mobile 5.0 audio gateway implementation there are a couple of control
codes to turn on audio routing through the bluetooth headset/handsfree device. I've
only tried this with a couple of devices and had mixed (That's a really bad audio
pun sorry!) results but here's a library to allow you to try it yourself. In theory
it may work on some 2003 Second Edition devices too. I'd be interested to hear your
feedback.
</p>
        <p>
To set audio routing just call
</p>
        <p>
InTheHand.Net.Handsfree.AudioGateway.RouteAudioToHandsfree = true;
</p>
        <p>
And set to false to return to normal audio use.
</p>
        <p>
Once fully tested and documented this will make it into the <a href="http://32feet.net">32Feet</a> package.
</p>
        <a href="http://www.peterfoot.net/content/binary/InTheHand.Net.Handsfree.zip">InTheHand.Net.Handsfree.zip
(2.54 KB)</a>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=0842b004-ee98-44e3-b3fd-f77f3d77a7db" />
      </body>
      <title>Divert system audio to a Bluetooth headset</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,0842b004-ee98-44e3-b3fd-f77f3d77a7db.aspx</guid>
      <link>http://peterfoot.net/DivertSystemAudioToABluetoothHeadset.aspx</link>
      <pubDate>Tue, 22 Nov 2005 11:06:45 GMT</pubDate>
      <description>&lt;p&gt;
In the Windows Mobile 5.0 audio gateway implementation there are a couple of control
codes to turn on audio routing through the bluetooth headset/handsfree device. I've
only tried this with a couple of devices and had mixed (That's a really bad audio
pun sorry!) results but here's a library to allow you to try it yourself. In theory
it may work on some 2003 Second Edition devices too. I'd be interested to hear your
feedback.
&lt;/p&gt;
&lt;p&gt;
To set audio routing just call
&lt;/p&gt;
&lt;p&gt;
InTheHand.Net.Handsfree.AudioGateway.RouteAudioToHandsfree = true;
&lt;/p&gt;
&lt;p&gt;
And set to false to return to normal audio use.
&lt;/p&gt;
&lt;p&gt;
Once fully tested and documented this will make it into the &lt;a href="http://32feet.net"&gt;32Feet&lt;/a&gt; package.
&lt;/p&gt;
&lt;a href="http://www.peterfoot.net/content/binary/InTheHand.Net.Handsfree.zip"&gt;InTheHand.Net.Handsfree.zip
(2.54 KB)&lt;/a&gt;&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=0842b004-ee98-44e3-b3fd-f77f3d77a7db" /&gt;</description>
      <category>Bluetooth</category>
      <category>NETCF</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=2739524e-5475-4db7-8748-9bcd00a0fc90</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,2739524e-5475-4db7-8748-9bcd00a0fc90.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Some great news from<a href="http://blogs.msdn.com/jasonlan/archive/2005/11/16/493281.aspx"> Jason
Langridge</a> - not only will AKU 2 introduce the long awaited messaging feature
pack, but also introduce the A2DP (Advanced Audio Distribution Profile) Bluetooth
profile to support mono and stereo audio devices such as headphones and some advanced
car kits. ETA is early 2006 depending on individual OEM schedules for ROM updates.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=2739524e-5475-4db7-8748-9bcd00a0fc90" />
      </body>
      <title>AKU 2 = Woohoo</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,2739524e-5475-4db7-8748-9bcd00a0fc90.aspx</guid>
      <link>http://peterfoot.net/AKU2Woohoo.aspx</link>
      <pubDate>Wed, 16 Nov 2005 10:38:10 GMT</pubDate>
      <description>&lt;p&gt;
Some great news from&lt;a href="http://blogs.msdn.com/jasonlan/archive/2005/11/16/493281.aspx"&gt; Jason
Langridge&lt;/a&gt; - not only&amp;nbsp;will AKU 2 introduce the long awaited messaging feature
pack, but also introduce the A2DP (Advanced Audio Distribution Profile) Bluetooth
profile to support mono and stereo audio devices such as headphones and some advanced
car kits. ETA is early 2006 depending on individual&amp;nbsp;OEM schedules for ROM updates.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=2739524e-5475-4db7-8748-9bcd00a0fc90" /&gt;</description>
      <category>Bluetooth</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=a7d33178-db9b-4c9c-9b1c-4d9888154910</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,a7d33178-db9b-4c9c-9b1c-4d9888154910.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The <a href="http://www.developerday.co.uk/ddd/agendaddd2.asp">agenda for DDD Day
II</a> has now been published and for some crazy reason folks voted for my Bluetooth
with .NET session :-) I'll be covering both the Bluetooth and Object Exchange components
of the <a href="http://www.32feet.net">32feet.NET</a> suite, I wont touch on the IrDA
part, but the code would be almost exactly the same. We'll walk through
discovery, client and server connections and sending/receiving objects, hopefully
with some audience participation.
</p>
        <p>
It's a great priviledge to be selected along with such a great selection of <a href="http://www.developerday.co.uk/ddd/speakersddd2.asp">excellent
speakers</a> so I have a lot to live up to! I now have to attempt to make my demonstration
application absolutely bullet proof since it inexplicably failed when I gave a short
session at the MVP Summit. But it wasn't my code at fault honestly, it worked fine
during lunch afterwards (I had <a href="http://blogs.msdn.com/amit%5Fchopra/">several</a><a href="http://www.danielmoth.com/Blog/">witnesses</a>),
obviously a result of the the sinister EM radiation around the Redmond campus... :-)
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=a7d33178-db9b-4c9c-9b1c-4d9888154910" />
      </body>
      <title>Developer Developer Developer Day Session</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,a7d33178-db9b-4c9c-9b1c-4d9888154910.aspx</guid>
      <link>http://peterfoot.net/DeveloperDeveloperDeveloperDaySession.aspx</link>
      <pubDate>Mon, 10 Oct 2005 20:38:00 GMT</pubDate>
      <description>&lt;p&gt;
The &lt;a href="http://www.developerday.co.uk/ddd/agendaddd2.asp"&gt;agenda for DDD Day
II&lt;/a&gt; has now been published and for some&amp;nbsp;crazy reason folks voted for my Bluetooth
with .NET session :-) I'll be covering both the Bluetooth and Object Exchange components
of the &lt;a href="http://www.32feet.net"&gt;32feet.NET&lt;/a&gt; suite, I wont touch on the IrDA
part, but the code&amp;nbsp;would be&amp;nbsp;almost exactly the same.&amp;nbsp;We'll walk through
discovery, client and server connections and sending/receiving objects, hopefully
with some audience participation.
&lt;/p&gt;
&lt;p&gt;
It's a great priviledge to be selected along with such a great selection of &lt;a href="http://www.developerday.co.uk/ddd/speakersddd2.asp"&gt;excellent
speakers&lt;/a&gt; so I have a lot to live up to! I now have to attempt to make my demonstration
application absolutely bullet proof since it inexplicably failed when I gave a short
session at the MVP Summit. But it wasn't my code at fault honestly, it worked fine
during lunch afterwards (I had &lt;a href="http://blogs.msdn.com/amit%5Fchopra/"&gt;several&lt;/a&gt; &lt;a href="http://www.danielmoth.com/Blog/"&gt;witnesses&lt;/a&gt;),
obviously a result of the the sinister EM radiation around the Redmond campus... :-)
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=a7d33178-db9b-4c9c-9b1c-4d9888154910" /&gt;</description>
      <category>Bluetooth</category>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=cafff222-297d-4be4-a8b3-c772f156a8ce</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,cafff222-297d-4be4-a8b3-c772f156a8ce.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I was asked how to replace the default Toshiba stack installed on the M200 with the
Windows stack (to allow for <a href="http://32feet.net">.NET programmability</a>).
Luckily it's easy to do and Toshiba include the necessary bits on the hard disk.
</p>
        <p>
First you need to uninstall the Toshiba stack - Go to Add/Remove programs and select
"Bluetooth Stack for Windows by Toshiba"
</p>
        <p>
Next run the C:\TOSHIBA\MS_Bluetooth\BtMon2Inst.exe installer to install the BT monitor.
</p>
        <p>
Finally reboot the machine, the system will detect the radio and install the necessary
drivers.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=cafff222-297d-4be4-a8b3-c772f156a8ce" />
      </body>
      <title>Use Microsoft Bluetooth Stack on Toshiba M200</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,cafff222-297d-4be4-a8b3-c772f156a8ce.aspx</guid>
      <link>http://peterfoot.net/UseMicrosoftBluetoothStackOnToshibaM200.aspx</link>
      <pubDate>Sat, 08 Oct 2005 12:18:29 GMT</pubDate>
      <description>&lt;p&gt;
I was asked how to replace the default Toshiba stack installed on the M200 with the
Windows stack (to allow for &lt;a href="http://32feet.net"&gt;.NET programmability&lt;/a&gt;).
Luckily it's easy to do and Toshiba include the necessary bits on the hard disk.
&lt;/p&gt;
&lt;p&gt;
First you need to uninstall the Toshiba stack - Go to Add/Remove programs and select
"Bluetooth Stack for Windows by Toshiba"
&lt;/p&gt;
&lt;p&gt;
Next run the C:\TOSHIBA\MS_Bluetooth\BtMon2Inst.exe installer to install the BT monitor.
&lt;/p&gt;
&lt;p&gt;
Finally reboot the machine, the system will detect the radio and install the necessary
drivers.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=cafff222-297d-4be4-a8b3-c772f156a8ce" /&gt;</description>
      <category>Bluetooth</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=1c8299fb-7e0a-4420-bb26-5dfb7b2544d5</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,1c8299fb-7e0a-4420-bb26-5dfb7b2544d5.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
From <a href="http://blogs.msdn.com/jasonlan">Jason Langridge</a>: <a href="http://blogs.msdn.com/jasonlan/archive/2005/09/24/473604.aspx">"It's
using the Microsoft Bluetooth stack"</a>. 
</p>
        <p>
Excellent, another device added to <a href="http://32feet.net/forums/ShowPost.aspx?PostID=40">the
growing list</a>.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=1c8299fb-7e0a-4420-bb26-5dfb7b2544d5" />
      </body>
      <title>HTC Wizard Uses Microsoft Bluetooth Stack</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,1c8299fb-7e0a-4420-bb26-5dfb7b2544d5.aspx</guid>
      <link>http://peterfoot.net/HTCWizardUsesMicrosoftBluetoothStack.aspx</link>
      <pubDate>Sat, 24 Sep 2005 18:17:49 GMT</pubDate>
      <description>&lt;p&gt;
From &lt;a href="http://blogs.msdn.com/jasonlan"&gt;Jason Langridge&lt;/a&gt;: &lt;a href="http://blogs.msdn.com/jasonlan/archive/2005/09/24/473604.aspx"&gt;"It's
using the Microsoft Bluetooth stack"&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
Excellent, another device added to &lt;a href="http://32feet.net/forums/ShowPost.aspx?PostID=40"&gt;the
growing&amp;nbsp;list&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=1c8299fb-7e0a-4420-bb26-5dfb7b2544d5" /&gt;</description>
      <category>Bluetooth</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=96d6f1b2-0659-42a9-9507-b1657dcb8f5a</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,96d6f1b2-0659-42a9-9507-b1657dcb8f5a.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The Bluetooth.NET library has now reached it's v1.5 milestone and is now part of the <a href="http://www.32feet.net/">32feet.NET</a> suite.
It joins an updated version of my IrDA library for the desktop which now adds some
features (borrowed from the Bluetooth developments) so provides a superset of IrDA
functionality on either full or compact frameworks. On top of both these libraries
sits Object Exchange, this new library makes it easy to programmatically send and
receive files and objects over the Object Exchange (OBEX) protocol. This is designed
to provide a similar experience to functionality available for .NET for conducting
HTTP requests - ObexWebRequest and ObexListener.
</p>
        <p>
The concept of <a href="http://32feet.net/">32feet.NET</a> is to look at personal
area networking for the .NET developer whether your platform of choice is .NETCF on
Windows CE or full framework on XP, Tablet PC, XP Embedded or Vista (32 Feet is
the range of a standard Bluetooth device, that's 10 metres if you prefer metric).
The website has been setup with discussion <a href="http://32feet.net/forums/">forums</a> for
the current libraries and associated technologies, you'll also find all the <a href="http://32feet.net/library/">class
library documentation</a>, and of course the download itself which contains assemblies,
source, help documentation and samples.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=96d6f1b2-0659-42a9-9507-b1657dcb8f5a" />
      </body>
      <title>New Personal Area Networking Libraries</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,96d6f1b2-0659-42a9-9507-b1657dcb8f5a.aspx</guid>
      <link>http://peterfoot.net/NewPersonalAreaNetworkingLibraries.aspx</link>
      <pubDate>Wed, 21 Sep 2005 14:48:23 GMT</pubDate>
      <description>&lt;p&gt;
The Bluetooth.NET library has now reached it's v1.5 milestone and is now part of the &lt;a href="http://www.32feet.net/"&gt;32feet.NET&lt;/a&gt; suite.
It joins an updated version of my IrDA library for the desktop which now adds some
features (borrowed from the Bluetooth developments) so provides a superset of IrDA
functionality on either full or compact frameworks. On top of both these libraries
sits Object Exchange, this new library makes it easy to programmatically send and
receive files and objects over the Object Exchange (OBEX) protocol. This is designed
to provide a similar experience to functionality available for .NET for conducting
HTTP requests - ObexWebRequest and ObexListener.
&lt;/p&gt;
&lt;p&gt;
The concept of &lt;a href="http://32feet.net/"&gt;32feet.NET&lt;/a&gt; is to look at personal
area networking for the .NET developer whether your platform of choice is .NETCF on
Windows CE or full framework on XP, Tablet PC, XP Embedded or Vista&amp;nbsp;(32 Feet&amp;nbsp;is
the range of a standard Bluetooth device, that's 10 metres if you prefer metric).
The website has been setup with discussion &lt;a href="http://32feet.net/forums/"&gt;forums&lt;/a&gt; for
the&amp;nbsp;current libraries and associated technologies, you'll also find all the &lt;a href="http://32feet.net/library/"&gt;class
library documentation&lt;/a&gt;, and of course the download itself which contains assemblies,
source, help documentation&amp;nbsp;and samples.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=96d6f1b2-0659-42a9-9507-b1657dcb8f5a" /&gt;</description>
      <category>Bluetooth</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=aa9762b7-3f55-4f63-84fd-20f9de0d811b</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,aa9762b7-3f55-4f63-84fd-20f9de0d811b.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Greg Scott from the <a href="http://blogs.msdn.com/cenet/">Windows CE Networking team</a> has
posted an interesting article on how <a href="http://blogs.msdn.com/cenet/archive/2005/08/18/453150.aspx">Bluetooth
Virtual COM ports</a> are implemented on Windows CE.
</p>
        <p>
Alongside the native code to setup a port, there are some details on the improvements
in Windows Mobile 5.0 which now includes UI options to set both incoming and outgoing
ports and is integrated into the bonding/pairing process. This means that OEMs no
longer need to produce their own individual applets to expose this functionality.
</p>
        <p>
For managed code the <a href="http://www.peterfoot.net/Bluetoothv14.aspx">Bluetooth.NET</a> library
wraps this functionality with the BluetoothSerialPort class.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=aa9762b7-3f55-4f63-84fd-20f9de0d811b" />
      </body>
      <title>Bluetooth COM Ports On Windows CE</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,aa9762b7-3f55-4f63-84fd-20f9de0d811b.aspx</guid>
      <link>http://peterfoot.net/BluetoothCOMPortsOnWindowsCE.aspx</link>
      <pubDate>Thu, 18 Aug 2005 18:15:07 GMT</pubDate>
      <description>&lt;p&gt;
Greg Scott from the &lt;a href="http://blogs.msdn.com/cenet/"&gt;Windows CE Networking team&lt;/a&gt; has
posted an interesting article on how &lt;a href="http://blogs.msdn.com/cenet/archive/2005/08/18/453150.aspx"&gt;Bluetooth
Virtual COM ports&lt;/a&gt; are implemented on Windows CE.
&lt;/p&gt;
&lt;p&gt;
Alongside the native code to setup a port, there are some details on the improvements
in Windows Mobile 5.0 which now includes UI options to set both incoming and outgoing
ports and is integrated into the bonding/pairing process. This means that OEMs no
longer need to produce their own individual applets to expose this functionality.
&lt;/p&gt;
&lt;p&gt;
For managed code the &lt;a href="http://www.peterfoot.net/Bluetoothv14.aspx"&gt;Bluetooth.NET&lt;/a&gt; library
wraps this functionality with the BluetoothSerialPort class.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=aa9762b7-3f55-4f63-84fd-20f9de0d811b" /&gt;</description>
      <category>Bluetooth</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=97c3f86d-c9a7-4a27-a62b-01b1b17c615f</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,97c3f86d-c9a7-4a27-a62b-01b1b17c615f.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <title>Bluetooth Socket Options on Windows XP</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,97c3f86d-c9a7-4a27-a62b-01b1b17c615f.aspx</guid>
      <link>http://peterfoot.net/BluetoothSocketOptionsOnWindowsXP.aspx</link>
      <pubDate>Thu, 04 Aug 2005 10:59:35 GMT</pubDate>
      <description>&lt;p&gt;
Windows XP supports a much smaller number of socket options for Bluetooth than Windows
CE, although it generally provides alternative ways to get/set those properties. The
table below shows those that are supported on XP and how they relate to their Windows
CE equivalent. Notice that the only one which behaves the same on both platforms is
SO_BTH_ENCRYPT&gt;&gt;
&lt;/p&gt;
&lt;table border=1&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p align=center&gt;
&lt;b&gt;Windows XP&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align=center&gt;
&lt;b&gt;Windows CE&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;&lt;font face="Times New Roman" color=#000000&gt;#define SO_BTH_AUTHENTICATE
0x80000001&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;// optlen=sizeof(ULONG), optval
= &amp;amp;(ULONG)TRUE/FALSE &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;&lt;font face="Times New Roman" color=#000000&gt;#define SO_BTH_AUTHENTICATE&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x00000001&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;//
optlen=0, optval ignored&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;&lt;font face="Times New Roman" color=#000000&gt;#define SO_BTH_ENCRYPT&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x00000002&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;//
optlen=sizeof(ULONG), optval = &amp;amp;(ULONG)TRUE/FALSE&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;&lt;font face="Times New Roman" color=#000000&gt;#define SO_BTH_ENCRYPT&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x00000002&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;//
optlen=sizeof(unsigned int), optval = &amp;amp;(unsigned int)TRUE/FALSE&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td rowspan=2&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;&lt;font color=#000000&gt;&lt;font face="Times New Roman"&gt;#define SO_BTH_MTU&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x80000007&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;?xml:namespace prefix = o /&gt;//
optlen=sizeof(ULONG), optval = &amp;amp;mtu&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;
&lt;o:p&gt;
&lt;font face="Times New Roman" color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;&lt;font face="Times New Roman" color=#000000&gt;#define SO_BTH_SET_MTU&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x00000006&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;//
unconnected only! optlen=sizeof(unsigned int), optval = &amp;amp;mtu&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;&lt;font face="Times New Roman" color=#000000&gt;#define SO_BTH_GET_MTU&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x00000007&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;//
optlen=sizeof(unsigned int), optval = &amp;amp;mtu&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td rowspan=2&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;&lt;font color=#000000&gt;&lt;font face="Times New Roman"&gt;#define SO_BTH_MTU_MAX&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x80000008&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;//
optlen=sizeof(ULONG), optval = &amp;amp;max. mtu&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;
&lt;o:p&gt;
&lt;font face="Times New Roman" color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;&lt;font face="Times New Roman" color=#000000&gt;#define SO_BTH_SET_MTU_MAX&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x00000008&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;//
unconnected only! optlen=sizeof(unsigned int), optval = &amp;amp;max. mtu&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;&lt;font face="Times New Roman" color=#000000&gt;#define SO_BTH_GET_MTU_MAX&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x00000009&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;//
bound only! optlen=sizeof(unsigned int), optval = &amp;amp;max. mtu&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td rowspan=2&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;&lt;font face="Times New Roman" color=#000000&gt;#define SO_BTH_MTU_MIN&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x8000000a&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;//
optlen=sizeof(ULONG), optval = &amp;amp;min. mtu&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;&lt;font face="Times New Roman" color=#000000&gt;#define SO_BTH_SET_MTU_MIN&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x0000000a&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;//
unconnected only! optlen=sizeof(unsigned int), optval = &amp;amp;min. mtu&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span lang=EN-GB&gt;&lt;font face="Times New Roman" color=#000000&gt;#define SO_BTH_GET_MTU_MIN&lt;span style="mso-tab-count: 1"&gt; &lt;/span&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x0000000b&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;//
bound only! optlen=sizeof(unsigned int), optval = &amp;amp;min. mtu&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
The current version of the &lt;a href="http://www.peterfoot.net/BluetoothV14.aspx"&gt;Bluetooth.NET&lt;/a&gt; library
doesn't include the XP versions in the BluetoothSocketOptionName enumeration, but
I have added these for the next release.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=97c3f86d-c9a7-4a27-a62b-01b1b17c615f" /&gt;</description>
      <category>Bluetooth</category>
      <category>NETCF</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=a8ebcc39-7061-487d-afa4-6da30bea5bbd</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,a8ebcc39-7061-487d-afa4-6da30bea5bbd.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Today I gave a session at <a href="http://www.slide5.com">Slide5</a> on the latest
version of the Bluetooth library - v1.4. Key changes for this release were some bug
fixes to the samples, increased functionality for the desktop side (ability to bond
devices) and service discovery (as yet XP only). I've also tidied up some of the code,
in order to have just a single place to determine the platform at runtime. I'll post
a version of the OBEX demo I did shortly, but I'll build it as a VS2003 project (the
app used for the session demo was built with VS2005 Beta 2)
</p>
        <p>
          <a href="http://32feet.NET/files/">Downloads</a>
        </p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=a8ebcc39-7061-487d-afa4-6da30bea5bbd" />
      </body>
      <title>Bluetooth v1.4</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,a8ebcc39-7061-487d-afa4-6da30bea5bbd.aspx</guid>
      <link>http://peterfoot.net/BluetoothV14.aspx</link>
      <pubDate>Mon, 18 Jul 2005 23:08:00 GMT</pubDate>
      <description>&lt;p&gt;
Today I gave a session at &lt;a href="http://www.slide5.com"&gt;Slide5&lt;/a&gt; on the latest
version of the Bluetooth library - v1.4. Key changes for this release were some bug
fixes to the samples, increased functionality for the desktop side (ability to bond
devices) and service discovery (as yet XP only). I've also tidied up some of the code,
in order to have just a single place to determine the platform at runtime. I'll post
a version of the OBEX demo I did shortly, but I'll build it as a VS2003 project (the
app used for the session demo was built with VS2005 Beta 2)
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://32feet.NET/files/"&gt;Downloads&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=a8ebcc39-7061-487d-afa4-6da30bea5bbd" /&gt;</description>
      <category>Bluetooth</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=808351da-4663-48e6-a42c-fa8273cfee85</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,808351da-4663-48e6-a42c-fa8273cfee85.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
One of our forum members <a href="http://www.opennetcf.org/forums/topic.asp?TOPIC_ID=4836">posted
about</a> an open source social networking project which uses the Bluetooth.NET library.
The project is created by <a href="http://www.softwaregreenhouse.com/">Software Greenhouse</a> which
is a joint venture between Microsoft India and Cynapse.
</p>
        <p>
          <a href="http://www.softwaregreenhouse.com/Default.aspx?tabid=69">
            <img src="http://www.peterfoot.net/content/binary/bluejab_logo.jpg" border="0" />
          </a>
        </p>
        <p>
Their initial prototype release and source code can be downloaded by registering
at the <a href="http://www.softwaregreenhouse.com/">Software Greenhouse</a> site.
The software will allow users of Windows Mobile devices to compare user profiles to
look for shared interests and chat with other users. This is an interesting use of
the technology and it will be interesting to see how the project evolves. Have you
used the Bluetooth library in any projects? if so please leave a comment.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=808351da-4663-48e6-a42c-fa8273cfee85" />
      </body>
      <title>Interesting Bluetooth Project</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,808351da-4663-48e6-a42c-fa8273cfee85.aspx</guid>
      <link>http://peterfoot.net/InterestingBluetoothProject.aspx</link>
      <pubDate>Sun, 05 Jun 2005 11:08:33 GMT</pubDate>
      <description>&lt;p&gt;
One of our forum members &lt;a href="http://www.opennetcf.org/forums/topic.asp?TOPIC_ID=4836"&gt;posted
about&lt;/a&gt; an open source social networking project which uses the Bluetooth.NET library.
The project is created by &lt;a href="http://www.softwaregreenhouse.com/"&gt;Software Greenhouse&lt;/a&gt; which
is a joint venture between Microsoft India and Cynapse.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.softwaregreenhouse.com/Default.aspx?tabid=69"&gt;&lt;img src="http://www.peterfoot.net/content/binary/bluejab_logo.jpg" border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Their initial prototype release and source code&amp;nbsp;can be downloaded by registering
at the &lt;a href="http://www.softwaregreenhouse.com/"&gt;Software Greenhouse&lt;/a&gt; site.
The software will allow users of Windows Mobile devices to compare user profiles to
look for shared interests and chat with other users. This is an interesting use of
the technology and it will be interesting to see how the project evolves. Have you
used the Bluetooth library in any projects? if so please leave a comment.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=808351da-4663-48e6-a42c-fa8273cfee85" /&gt;</description>
      <category>Bluetooth</category>
    </item>
  </channel>
</rss>