Skip to contentSkip to conversation

indication of Class 1 or Class 2 devices

Bluez-users Russell Senior 4 participants 4 messages Oct 14, 2005 Bluetooth drivers

lore
Share & tools
lore
#0 lore raw

Is there a way, via /proc or /sys or something to discover whether a bluetooth device is Class 1 (100m) or Class 2 (10m)?

Thanks.

Signature · 12 lines
Russell Senior         ``I have nine fingers; you have ten.''
[email protected]


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users
maintainer
#1 lore raw

Hi Russell,

Quoted 2 lines

Is there a way, via /proc or /sys or something to discover whether a bluetooth device is Class 1 (100m) or Class 2 (10m)?

the simple answer is no.

Regards

Marcel

-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users

#2 lore raw
In reply to Russell Senior
Quoted 2 lines · Russell Senior

Is there a way, via /proc or /sys or something to discover whether a bluetooth device is Class 1 (100m) or Class 2 (10m)?

It's actually pretty difficult even if you have low level access to the device, never mind via the OS. There's no standardised way of providing the information, and in the simplest case the module manufacturer may simply have stuck a power amplifier onto the transmitter. If they do that they are supposed to provide enough information for the device to support power control, however, so if you can get access to that information you should be able to tell.

If it's a CSR device, you can find an interface to persistent store and look at PSKEY_LC_POWER_TABLE (0x001e) or PSKEY_LC_ENHANCED_POWER_TABLE (for devices with EDR, 0x0031).

Otherwise, you're stuck with seeing what power it's actually outputting at its maximum setting by using a remote device and some measurement equipment.

By far the easiest way is to go 100m away with another class 1 device and see if it stays connected. (Of course, you may be simply testing the receiver sensitivity; in good conditions you can get a lot more than 100m as a maximum once you're connected.)

pws

This message has been scanned for viruses by BlackSpider MailControl - www.blackspider.com

-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users

#3 lore raw
Quoted 11 lines · Peter Stephenson
Quoted 2 lines · Russell Senior

Is there a way, via /proc or /sys or something to discover whether a bluetooth device is Class 1 (100m) or Class 2 (10m)?

It's actually pretty difficult even if you have low level access to the device, never mind via the OS. There's no standardised way of providing the information, and in the simplest case the module manufacturer may simply have stuck a power amplifier onto the transmitter. If they do that they are supposed to provide enough information for the device to support power control, however, so if you can get access to that information you should be able to tell.

In theory, there's the HCI command Read_Transmit_Power_Level. Once a link is up it should tell you the current power level and the maximum power level.

If the remote device doesn't support power control then the local device will be limited to class 2 power even if it supports class 1.

Of course, this assumes that the module manufacturer has entered the correct numbers in the configuration data in the module. If they've stuch a power amplifier on and not updated the data then the chip may be reporting the power before the power amplifier.

Quoted 3 lines

If it's a CSR device, you can find an interface to persistent store and look at PSKEY_LC_POWER_TABLE (0x001e) or PSKEY_LC_ENHANCED_POWER_TABLE (for devices with EDR, 0x0031).

The BCCMD max_tx_power (0x6827) might do the right thing on some versions of firmware.

- Steven

Signature · 11 lines
This message has been scanned for viruses by BlackSpider MailControl - www.blackspider.com


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users