Topics: Bluetooth - Widcomm/Broadcom, IrDA
Mar 16, 2013 at 9:12 PM
Edited Mar 16, 2013 at 9:13 PM

I have problems with RSSI property of BluetoothDeviceInfo class when running on a Widcomm Stack.
I have Windows 7 Profesional 64 bit.
I've read 32feet.NET documentation, and tested Broadcom libraries supplied (win32-x64 and win32-x64). Radio is properly detected and Test32FeetWidcommWin32.exe finishes all tests with success:
32feet.NET's WIDCOMM SDK Version:
32feet.NET's WIDCOMM Stack Version:

My code:
foreach (BluetoothRadio br in BluetoothRadio.AllRadios)
            textBox1.Text += "Radio: " + br.Name + Environment.NewLine;
            textBox1.Text += "SoftwareManufacturer: " + br.SoftwareManufacturer + Environment.NewLine;
            textBox1.Text += "RadioAddress: " + br.LocalAddress.ToString() + Environment.NewLine;

            BluetoothClient bc = br.StackFactory.CreateBluetoothClient();
            BluetoothDeviceInfo[] devices = bc.DiscoverDevices(8);

            foreach (BluetoothDeviceInfo bdi in devices)
                textBox1.Text += bdi.DeviceName + "(" + bdi.Connected + "): " + bdi.Rssi + Environment.NewLine;
I don't know why:
  1. SoftwareManufacturer returns "Windows" - should "Widocmm"
  2. Rssi returns minimum of int - should value between -124 and 124
What I'm doing wrong?
Apr 9, 2013 at 5:36 AM
I've just started messing around with this using a Broadcom BCM20702A0 BT4.0 USB device. I'm seeing similar issues. The Test program appears to work fine:
32feet.NET using Widcomm stack dependency checker tool.
We will attempt to load and use the 32feetWidcomm support.

Did find 32feetWidcomm.dll file. :-)
Did find 32feetWidcomm.dll DLL. :-)
DLL found at >>C:\Program Files\32feet.NET\Broadcom\Win32-x86\32feetWidcomm.dll<
Calling init function...
32feet.NET's Widcomm SDK Version  :
32feet.NET's Widcomm Stack Version:
Calling radio address function...
   Success, local address is 00-19-0e-xx-xx-xx
When looking at the BluetoothRadio structure that is returned I saw something strange which you'll also see if you add the line:
textBox1.Text += "Manufacturer: " + br.Manufacturer + Environment.NewLine;
When I do this I get:
Radio: WIN7-PC
SoftwareManufacturer: Microsoft
Manufacturer: Broadcom
RadioAddress: 00190Exxxxxx
Christian's iPhone(False): -2147483648
Did you make any progress? I specifically want to use the Broadcom stack so I use the L2CapClient class. Currently a "L2CapClient lc = new L2CapClient();" crashes.