BLE Troubleshooting, Wahoo Fitness Blue SC Device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm a software engineer by day and a cyclist in my free time. In order to augment my indoor bicycle training I want to track both speed and cadence. In the past I had a homegrown Arduino solution which mostly worked but involved cables. Wahoo Fitness announced a bluetooth (BLE) speed / cadence sensor (Blue SC) in June, targeted toward the iPhone 4 market. Hoping the device would comply with some standards, I purchased both the sensor and a USB Blueprint 4.0 with BLE adapter in hopes of being able to hack something together. How hard could it be?

References:

Adatper: http://www.amazon.com/Medialink-USB-Bluetooth-Adapter-Technology/dp/B004LNXO28

Sensor: http://www.wahoofitness.com/Products/Wahoo-Fitness-Wahoo-Blue-SC-Speed-and-Cadence-Sensor.asp

After getting the device setup on a stock Ubuntu 12.04 machine I set out to get everything connected. I was surprised to see the device show up in a "lescan" operation but the fun stopped there. Below are the results of my tinkering. I have tried the same commands in Ubuntu 12.10 Beta 2 with the same results. I see the "Command Disallowed" message but do not know how to proceed. Hopefully someone can offer advice on troubleshooting this issue. I am not afraid to get my hands dirty. I contacted Wahoo Fitness and as I expected "We do not support Linux".

Console Log (also attached):

root@valyria:~# uname -a
Linux valyria 3.2.0-32-generic #51-Ubuntu SMP Wed Sep 26 21:33:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

root@valyria:~# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 12.04.1 LTS
Release:	12.04
Codename:	precise
root@valyria:~# uname -a
Linux valyria 3.2.0-32-generic #51-Ubuntu SMP Wed Sep 26 21:33:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

root@valyria:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x Composite Device
Bus 005 Device 003: ID 0a5c:21e8 Broadcom Corp.
Bus 007 Device 003: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS
Bus 008 Device 002: ID 046d:c01e Logitech, Inc. MX518 Optical Mouse

root@valyria:~# hciconfig -a
hci0:	Type: BR/EDR  Bus: USB
	BD Address: 00:02:72:32:26:D4  ACL MTU: 1021:8  SCO MTU: 64:1
	UP RUNNING PSCAN
	RX bytes:3467 acl:0 sco:0 events:164 errors:0
	TX bytes:1681 acl:0 sco:0 commands:141 errors:0
	Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
	Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
	Link policy: RSWITCH SNIFF
	Link mode: SLAVE ACCEPT
	Name: 'valyria-0'
	Class: 0x6e0100
	Service Classes: Networking, Rendering, Capturing, Audio, Telephony
	Device Class: Computer, Uncategorized
	HCI Version: 4.0 (0x6)  Revision: 0x1000
	LMP Version: 4.0 (0x6)  Subversion: 0x220e
	Manufacturer: Broadcom Corporation (15)

root@valyria:~# hciconfig hci0 commands
hci0:	Type: BR/EDR  Bus: USB
	BD Address: 00:02:72:32:26:D4  ACL MTU: 1021:8  SCO MTU: 64:1
	Commands: Octet 0  = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 1  = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 2  = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 3  = 0x03 (Bit 0 1)
		  Octet 4  = 0xcc (Bit 2 3 6 7)
		  Octet 5  = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 6  = 0xef (Bit 0 1 2 3 5 6 7)
		  Octet 7  = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 8  = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 9  = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 10 = 0xec (Bit 2 3 5 6 7)
		  Octet 11 = 0x1f (Bit 0 1 2 3 4)
		  Octet 12 = 0xf2 (Bit 1 4 5 6 7)
		  Octet 13 = 0x0f (Bit 0 1 2 3)
		  Octet 14 = 0xe8 (Bit 3 5 6 7)
		  Octet 15 = 0xfe (Bit 1 2 3 4 5 6 7)
		  Octet 16 = 0x3f (Bit 0 1 2 3 4 5)
		  Octet 17 = 0xf7 (Bit 0 1 2 4 5 6 7)
		  Octet 18 = 0x8f (Bit 0 1 2 3 7)
		  Octet 19 = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 20 = 0x1c (Bit 2 3 4)
		  Octet 24 = 0x61 (Bit 0 5 6)
		  Octet 25 = 0xf7 (Bit 0 1 2 4 5 6 7)
		  Octet 26 = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 27 = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 28 = 0x7f (Bit 0 1 2 3 4 5 6)
	'Inquiry' 'Inquiry Cancel' 'Periodic Inquiry Mode'
	'Exit Periodic Inquiry Mode' 'Create Connection' 'Disconnect'
	'Add SCO Connection' 'Cancel Create Connection'
	'Accept Connection Request' 'Reject Connection Request'
	'Link Key Request Reply' 'Link Key Request Negative Reply'
	'PIN Code Request Reply' 'PIN Code Request Negative Reply'
	'Change Connection Packet Type' 'Authentication Requested'
	'Set Connection Encryption' 'Change Connection Link Key'
	'Master Link Key' 'Remote Name Request' 'Cancel Remote Name Request'
	'Read Remote Supported Features' 'Read Remote Extended Features'
	'Read Remote Version Information' 'Read Clock Offset'
	'Read LMP Handle' 'Sniff Mode' 'Exit Sniff Mode' 'QoS Setup'
	'Role Discovery' 'Switch Role' 'Read Link Policy Settings'
	'Write Link Policy Settings' 'Read Default Link Policy Settings'
	'Write Default Link Policy Settings' 'Flow Specification'
	'Set Event Mask' 'Reset' 'Set Event Filter' 'Flush' 'Read PIN Type'
	'Write PIN Type' 'Read Stored Link Key' 'Write Stored Link Key'
	'Delete Stored Link Key' 'Write Local Name' 'Read Local Name'
	'Read Connection Accept Timeout' 'Write Connection Accept Timeout'
	'Read Page Timeout' 'Write Page Timeout' 'Read Scan Enable'
	'Write Scan Enable' 'Read Page Scan Activity'
	'Write Page Scan Activity' 'Read Inquiry Scan Activity'
	'Write Inquiry Scan Activity' 'Read Authentication Enable'
	'Write Authentication Enable' 'Read Encryption Mode'
	'Write Encryption Mode' 'Read Class Of Device' 'Write Class Of Device'
	'Read Voice Setting' 'Write Voice Setting'
	'Read Automatic Flush Timeout' 'Write Automatic Flush Timeout'
	'Read Num Broadcast Retransmissions'
	'Write Num Broadcast Retransmissions' 'Read Transmit Power Level'
	'Read Synchronous Flow Control Enable'
	'Set Host Controller To Host Flow Control' 'Host Buffer Size'
	'Host Number Of Completed Packets' 'Read Link Supervision Timeout'
	'Write Link Supervision Timeout' 'Read Number of Supported IAC'
	'Read Current IAC LAP' 'Write Current IAC LAP'
	'Set AFH Channel Classification' 'Read Inquiry Scan Type'
	'Write Inquiry Scan Type' 'Read Inquiry Mode' 'Write Inquiry Mode'
	'Read Page Scan Type' 'Write Page Scan Type'
	'Read AFH Channel Assessment Mode' 'Write AFH Channel Assessment Mode'
	'Read Local Version Information' 'Read Local Supported Features'
	'Read Local Extended Features' 'Read Buffer Size' 'Read BD ADDR'
	'Read Failed Contact Counter' 'Reset Failed Contact Counter'
	'Get Link Quality' 'Read RSSI' 'Read AFH Channel Map' 'Read BD Clock'
	'Read Loopback Mode' 'Write Loopback Mode'
	'Enable Device Under Test Mode' 'Setup Synchronous Connection'
	'Accept Synchronous Connection' 'Reject Synchronous Connection'
	'Read Extended Inquiry Response' 'Write Extended Inquiry Response'
	'Refresh Encryption Key' 'Sniff Subrating' 'Read Simple Pairing Mode'
	'Write Simple Pairing Mode' 'Read Local OOB Data'
	'Read Inquiry Response Transmit Power Level'
	'Write Inquiry Transmit Power Level'
	'Read Default Erroneous Data Reporting'
	'Write Default Erroneous Data Reporting' 'IO Capability Request Reply'
	'User Confirmation Request Reply'
	'User Confirmation Request Negative Reply'
	'User Passkey Request Reply' 'User Passkey Request Negative Reply'
	'Remote OOB Data Request Reply' 'Write Simple Pairing Debug Mode'
	'Enhanced Flush' 'Remote OOB Data Request Negative Reply'
	'Send Keypress Notification' 'IO Capability Request Negative Reply'
	'Read Encryption Key Size' 'Read Enhanced Transmit Power Level'
	'Read LE Host Support' 'Write LE Host Support' 'LE Set Event Mask'
	'LE Read Buffer Size' 'LE Read Local Supported Features'
	'LE Set Random Address' 'LE Set Advertising Parameters'
	'LE Read Advertising Channel TX Power' 'LE Set Advertising Data'
	'LE Set Scan Response Data' 'LE Set Advertise Enable'
	'LE Set Scan Parameters' 'LE Set Scan Enable' 'LE Create Connection'
	'LE Create Connection Cancel' 'LE Read White List Size'
	'LE Clear White List' 'LE Add Device To White List'
	'LE Remove Device From White List' 'LE Connection Update'
	'LE Set Host Channel Classification' 'LE Read Channel Map'
	'LE Read Remote Used Features' 'LE Encrypt' 'LE Rand'
	'LE Start Encryption' 'LE Long Term Key Request Reply'
	'LE Long Term Key Request Negative Reply' 'LE Read Supported States'
	'LE Receiver Test' 'LE Transmitter Test' 'LE Test End'

root@valyria:~# hciconfig hci0 features
hci0:	Type: BR/EDR  Bus: USB
	BD Address: 00:02:72:32:26:D4  ACL MTU: 1021:8  SCO MTU: 64:1
	Features page 0: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
		<3-slot packets> <5-slot packets> <encryption> <slot offset>
		<timing accuracy> <role switch> <sniff mode> <RSSI>
		<channel quality> <SCO link> <HV2 packets> <HV3 packets>
		<u-law log> <A-law log> <CVSD> <paging scheme> <power control>
		<transparent SCO> <broadcast encrypt> <EDR ACL 2 Mbps>
		<EDR ACL 3 Mbps> <enhanced iscan> <interlaced iscan>
		<interlaced pscan> <inquiry with RSSI> <extended SCO>
		<EV4 packets> <EV5 packets> <AFH cap. slave>
		<AFH class. slave> <LE support> <3-slot EDR ACL>
		<5-slot EDR ACL> <sniff subrating> <pause encryption>
		<AFH cap. master> <AFH class. master> <EDR eSCO 2 Mbps>
		<EDR eSCO 3 Mbps> <3-slot EDR eSCO> <extended inquiry>
		<LE and BR/EDR> <simple pairing> <encapsulated PDU>
		<err. data report> <non-flush flag> <LSTO> <inquiry TX power>
		<EPC> <extended features>
	Features page 1: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00

root@valyria:~# hciconfig hci0 lestates
Supported link layer states:
	YES Non-connectable Advertising State
	YES Scannable Advertising State
	YES Connectable Advertising State
	YES Directed Advertising State
	YES Passive Scanning State
	YES Active Scanning State
	YES Initiating State/Connection State in Master Role
	YES Connection State in the Slave Role
YES Non-connectable Advertising State and Passive Scanning State combination
	YES Scannable Advertising State and Passive Scanning State combination
	YES Connectable Advertising State and Passive Scanning State combination
	YES Directed Advertising State and Passive Scanning State combination
	YES Non-connectable Advertising State and Active Scanning State combination
	YES Scannable Advertising State and Active Scanning State combination
	YES Connectable Advertising State and Active Scanning State combination
	YES Directed Advertising State and Active Scanning State combination
	YES Non-connectable Advertising State and Initiating State combination
	YES Scannable Advertising State and Initiating State combination
	YES Non-connectable Advertising State and Master Role combination
	YES Scannable Advertising State and Master Role combination
	YES Non-connectable Advertising State and Slave Role combination
	YES Scannable Advertising State and Slave Role combination
	YES Passive Scanning State and Initiating State combination
	YES Active Scanning State and Initiating State combination
	YES Passive Scanning State and Master Role combination
	YES Active Scanning State and Master Role combination
	YES Passive Scanning State and Slave Role combination
	YES Active Scanning State and Slave Role combination
YES Initiating State and Master Role combination/Master Role and Master Role combination
	
root@valyria:~# hcidump -X &
[1] 18695
root@valyria:~# HCI sniffer - Bluetooth packet analyzer ver 2.2
device: hci0 snap_len: 1028 filter: 0xffffffffffffffff

root@valyria:~#
root@valyria:~# time hcitool lescan
< HCI Command: LE Set Scan Parameters (0x08|0x000b) plen 7
    type 0x01 (active)
    interval 10.000ms window 10.000ms
    own address: 0x00 (Public) policy: All
> HCI Event: Command Complete (0x0e) plen 4
    LE Set Scan Parameters (0x08|0x000b) ncmd 1
    status 0x00
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2
    value 0x01 (scanning enabled)
    filter duplicates 0x01 (enabled)
LE Scan ...
> HCI Event: Command Complete (0x0e) plen 4
    LE Set Scan Enable (0x08|0x000c) ncmd 1
    status 0x00
E2:4C:7C:9E:90:05 Wahoo BlueSC v1.4
> HCI Event: LE Meta Event (0x3e) plen 38
    LE Advertising Report
      ADV_IND - Connectable undirected advertising (0)
      bdaddr E2:4C:7C:9E:90:05 (Random)
      Flags: 0x06
      Shortened service classes: 0x1816
      Complete local name: 'Wahoo BlueSC v1.4'
      RSSI: -68
> HCI Event: LE Meta Event (0x3e) plen 12
E2:4C:7C:9E:90:05 (unknown)
    LE Advertising Report
      SCAN_RSP - Scan Response (4)
      bdaddr E2:4C:7C:9E:90:05 (Random)
      RSSI: -59
^C< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2
    value 0x00 (scanning disabled)
    filter duplicates 0x01 (enabled)
> HCI Event: Command Complete (0x0e) plen 4
    LE Set Scan Enable (0x08|0x000c) ncmd 1
    status 0x00

real	0m15.342s
user	0m0.000s
sys	0m0.000s
root@valyria:~# hcitool lecc --random E2:4C:7C:9E:90:05
< HCI Command: LE Create Connection (0x08|0x000d) plen 25
    bdaddr E2:4C:7C:9E:90:05 type 1
> HCI Event: Command Status (0x0f) plen 4
    LE Create Connection (0x08|0x000d) status 0x0c ncmd 1
    Error: Command Disallowed
Could not create connection: Input/output error
root@valyria:~#


root@valyria:~# uname -a
Linux valyria 3.2.0-32-generic #51-Ubuntu SMP Wed Sep 26 21:33:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

root@valyria:~# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 12.04.1 LTS
Release:	12.04
Codename:	precise
root@valyria:~# uname -a
Linux valyria 3.2.0-32-generic #51-Ubuntu SMP Wed Sep 26 21:33:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

root@valyria:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x Composite Device
Bus 005 Device 003: ID 0a5c:21e8 Broadcom Corp. 
Bus 007 Device 003: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS
Bus 008 Device 002: ID 046d:c01e Logitech, Inc. MX518 Optical Mouse

root@valyria:~# hciconfig -a
hci0:	Type: BR/EDR  Bus: USB
	BD Address: 00:02:72:32:26:D4  ACL MTU: 1021:8  SCO MTU: 64:1
	UP RUNNING PSCAN 
	RX bytes:3467 acl:0 sco:0 events:164 errors:0
	TX bytes:1681 acl:0 sco:0 commands:141 errors:0
	Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
	Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
	Link policy: RSWITCH SNIFF 
	Link mode: SLAVE ACCEPT 
	Name: 'valyria-0'
	Class: 0x6e0100
	Service Classes: Networking, Rendering, Capturing, Audio, Telephony
	Device Class: Computer, Uncategorized
	HCI Version: 4.0 (0x6)  Revision: 0x1000
	LMP Version: 4.0 (0x6)  Subversion: 0x220e
	Manufacturer: Broadcom Corporation (15)

root@valyria:~# hciconfig hci0 commands
hci0:	Type: BR/EDR  Bus: USB
	BD Address: 00:02:72:32:26:D4  ACL MTU: 1021:8  SCO MTU: 64:1
	Commands: Octet 0  = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 1  = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 2  = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 3  = 0x03 (Bit 0 1)
		  Octet 4  = 0xcc (Bit 2 3 6 7)
		  Octet 5  = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 6  = 0xef (Bit 0 1 2 3 5 6 7)
		  Octet 7  = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 8  = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 9  = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 10 = 0xec (Bit 2 3 5 6 7)
		  Octet 11 = 0x1f (Bit 0 1 2 3 4)
		  Octet 12 = 0xf2 (Bit 1 4 5 6 7)
		  Octet 13 = 0x0f (Bit 0 1 2 3)
		  Octet 14 = 0xe8 (Bit 3 5 6 7)
		  Octet 15 = 0xfe (Bit 1 2 3 4 5 6 7)
		  Octet 16 = 0x3f (Bit 0 1 2 3 4 5)
		  Octet 17 = 0xf7 (Bit 0 1 2 4 5 6 7)
		  Octet 18 = 0x8f (Bit 0 1 2 3 7)
		  Octet 19 = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 20 = 0x1c (Bit 2 3 4)
		  Octet 24 = 0x61 (Bit 0 5 6)
		  Octet 25 = 0xf7 (Bit 0 1 2 4 5 6 7)
		  Octet 26 = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 27 = 0xff (Bit 0 1 2 3 4 5 6 7)
		  Octet 28 = 0x7f (Bit 0 1 2 3 4 5 6)
	'Inquiry' 'Inquiry Cancel' 'Periodic Inquiry Mode' 
	'Exit Periodic Inquiry Mode' 'Create Connection' 'Disconnect' 
	'Add SCO Connection' 'Cancel Create Connection' 
	'Accept Connection Request' 'Reject Connection Request' 
	'Link Key Request Reply' 'Link Key Request Negative Reply' 
	'PIN Code Request Reply' 'PIN Code Request Negative Reply' 
	'Change Connection Packet Type' 'Authentication Requested' 
	'Set Connection Encryption' 'Change Connection Link Key' 
	'Master Link Key' 'Remote Name Request' 'Cancel Remote Name Request' 
	'Read Remote Supported Features' 'Read Remote Extended Features' 
	'Read Remote Version Information' 'Read Clock Offset' 
	'Read LMP Handle' 'Sniff Mode' 'Exit Sniff Mode' 'QoS Setup' 
	'Role Discovery' 'Switch Role' 'Read Link Policy Settings' 
	'Write Link Policy Settings' 'Read Default Link Policy Settings' 
	'Write Default Link Policy Settings' 'Flow Specification' 
	'Set Event Mask' 'Reset' 'Set Event Filter' 'Flush' 'Read PIN Type' 
	'Write PIN Type' 'Read Stored Link Key' 'Write Stored Link Key' 
	'Delete Stored Link Key' 'Write Local Name' 'Read Local Name' 
	'Read Connection Accept Timeout' 'Write Connection Accept Timeout' 
	'Read Page Timeout' 'Write Page Timeout' 'Read Scan Enable' 
	'Write Scan Enable' 'Read Page Scan Activity' 
	'Write Page Scan Activity' 'Read Inquiry Scan Activity' 
	'Write Inquiry Scan Activity' 'Read Authentication Enable' 
	'Write Authentication Enable' 'Read Encryption Mode' 
	'Write Encryption Mode' 'Read Class Of Device' 'Write Class Of Device' 
	'Read Voice Setting' 'Write Voice Setting' 
	'Read Automatic Flush Timeout' 'Write Automatic Flush Timeout' 
	'Read Num Broadcast Retransmissions' 
	'Write Num Broadcast Retransmissions' 'Read Transmit Power Level' 
	'Read Synchronous Flow Control Enable' 
	'Set Host Controller To Host Flow Control' 'Host Buffer Size' 
	'Host Number Of Completed Packets' 'Read Link Supervision Timeout' 
	'Write Link Supervision Timeout' 'Read Number of Supported IAC' 
	'Read Current IAC LAP' 'Write Current IAC LAP' 
	'Set AFH Channel Classification' 'Read Inquiry Scan Type' 
	'Write Inquiry Scan Type' 'Read Inquiry Mode' 'Write Inquiry Mode' 
	'Read Page Scan Type' 'Write Page Scan Type' 
	'Read AFH Channel Assessment Mode' 'Write AFH Channel Assessment Mode' 
	'Read Local Version Information' 'Read Local Supported Features' 
	'Read Local Extended Features' 'Read Buffer Size' 'Read BD ADDR' 
	'Read Failed Contact Counter' 'Reset Failed Contact Counter' 
	'Get Link Quality' 'Read RSSI' 'Read AFH Channel Map' 'Read BD Clock' 
	'Read Loopback Mode' 'Write Loopback Mode' 
	'Enable Device Under Test Mode' 'Setup Synchronous Connection' 
	'Accept Synchronous Connection' 'Reject Synchronous Connection' 
	'Read Extended Inquiry Response' 'Write Extended Inquiry Response' 
	'Refresh Encryption Key' 'Sniff Subrating' 'Read Simple Pairing Mode' 
	'Write Simple Pairing Mode' 'Read Local OOB Data' 
	'Read Inquiry Response Transmit Power Level' 
	'Write Inquiry Transmit Power Level' 
	'Read Default Erroneous Data Reporting' 
	'Write Default Erroneous Data Reporting' 'IO Capability Request Reply' 
	'User Confirmation Request Reply' 
	'User Confirmation Request Negative Reply' 
	'User Passkey Request Reply' 'User Passkey Request Negative Reply' 
	'Remote OOB Data Request Reply' 'Write Simple Pairing Debug Mode' 
	'Enhanced Flush' 'Remote OOB Data Request Negative Reply' 
	'Send Keypress Notification' 'IO Capability Request Negative Reply' 
	'Read Encryption Key Size' 'Read Enhanced Transmit Power Level' 
	'Read LE Host Support' 'Write LE Host Support' 'LE Set Event Mask' 
	'LE Read Buffer Size' 'LE Read Local Supported Features' 
	'LE Set Random Address' 'LE Set Advertising Parameters' 
	'LE Read Advertising Channel TX Power' 'LE Set Advertising Data' 
	'LE Set Scan Response Data' 'LE Set Advertise Enable' 
	'LE Set Scan Parameters' 'LE Set Scan Enable' 'LE Create Connection' 
	'LE Create Connection Cancel' 'LE Read White List Size' 
	'LE Clear White List' 'LE Add Device To White List' 
	'LE Remove Device From White List' 'LE Connection Update' 
	'LE Set Host Channel Classification' 'LE Read Channel Map' 
	'LE Read Remote Used Features' 'LE Encrypt' 'LE Rand' 
	'LE Start Encryption' 'LE Long Term Key Request Reply' 
	'LE Long Term Key Request Negative Reply' 'LE Read Supported States' 
	'LE Receiver Test' 'LE Transmitter Test' 'LE Test End'
 
root@valyria:~# hciconfig hci0 features
hci0:	Type: BR/EDR  Bus: USB
	BD Address: 00:02:72:32:26:D4  ACL MTU: 1021:8  SCO MTU: 64:1
	Features page 0: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
		<3-slot packets> <5-slot packets> <encryption> <slot offset> 
		<timing accuracy> <role switch> <sniff mode> <RSSI> 
		<channel quality> <SCO link> <HV2 packets> <HV3 packets> 
		<u-law log> <A-law log> <CVSD> <paging scheme> <power control> 
		<transparent SCO> <broadcast encrypt> <EDR ACL 2 Mbps> 
		<EDR ACL 3 Mbps> <enhanced iscan> <interlaced iscan> 
		<interlaced pscan> <inquiry with RSSI> <extended SCO> 
		<EV4 packets> <EV5 packets> <AFH cap. slave> 
		<AFH class. slave> <LE support> <3-slot EDR ACL> 
		<5-slot EDR ACL> <sniff subrating> <pause encryption> 
		<AFH cap. master> <AFH class. master> <EDR eSCO 2 Mbps> 
		<EDR eSCO 3 Mbps> <3-slot EDR eSCO> <extended inquiry> 
		<LE and BR/EDR> <simple pairing> <encapsulated PDU> 
		<err. data report> <non-flush flag> <LSTO> <inquiry TX power> 
		<EPC> <extended features> 
	Features page 1: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00

root@valyria:~# hciconfig hci0 lestates
Supported link layer states:
	YES Non-connectable Advertising State
	YES Scannable Advertising State
	YES Connectable Advertising State
	YES Directed Advertising State
	YES Passive Scanning State
	YES Active Scanning State
	YES Initiating State/Connection State in Master Role
	YES Connection State in the Slave Role
	YES Non-connectable Advertising State and Passive Scanning State combination
	YES Scannable Advertising State and Passive Scanning State combination
	YES Connectable Advertising State and Passive Scanning State combination
	YES Directed Advertising State and Passive Scanning State combination
	YES Non-connectable Advertising State and Active Scanning State combination
	YES Scannable Advertising State and Active Scanning State combination
	YES Connectable Advertising State and Active Scanning State combination
	YES Directed Advertising State and Active Scanning State combination
	YES Non-connectable Advertising State and Initiating State combination
	YES Scannable Advertising State and Initiating State combination
	YES Non-connectable Advertising State and Master Role combination
	YES Scannable Advertising State and Master Role combination
	YES Non-connectable Advertising State and Slave Role combination
	YES Scannable Advertising State and Slave Role combination
	YES Passive Scanning State and Initiating State combination
	YES Active Scanning State and Initiating State combination
	YES Passive Scanning State and Master Role combination
	YES Active Scanning State and Master Role combination
	YES Passive Scanning State and Slave Role combination
	YES Active Scanning State and Slave Role combination
	YES Initiating State and Master Role combination/Master Role and Master Role combination
	
root@valyria:~# hcidump -X &
[1] 18695
root@valyria:~# HCI sniffer - Bluetooth packet analyzer ver 2.2
device: hci0 snap_len: 1028 filter: 0xffffffffffffffff

root@valyria:~# 
root@valyria:~# time hcitool lescan
< HCI Command: LE Set Scan Parameters (0x08|0x000b) plen 7
    type 0x01 (active)
    interval 10.000ms window 10.000ms
    own address: 0x00 (Public) policy: All
> HCI Event: Command Complete (0x0e) plen 4
    LE Set Scan Parameters (0x08|0x000b) ncmd 1
    status 0x00
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2
    value 0x01 (scanning enabled)
    filter duplicates 0x01 (enabled)
LE Scan ...
> HCI Event: Command Complete (0x0e) plen 4
    LE Set Scan Enable (0x08|0x000c) ncmd 1
    status 0x00
E2:4C:7C:9E:90:05 Wahoo BlueSC v1.4
> HCI Event: LE Meta Event (0x3e) plen 38
    LE Advertising Report
      ADV_IND - Connectable undirected advertising (0)
      bdaddr E2:4C:7C:9E:90:05 (Random)
      Flags: 0x06
      Shortened service classes: 0x1816
      Complete local name: 'Wahoo BlueSC v1.4'
      RSSI: -68
> HCI Event: LE Meta Event (0x3e) plen 12
E2:4C:7C:9E:90:05 (unknown)
    LE Advertising Report
      SCAN_RSP - Scan Response (4)
      bdaddr E2:4C:7C:9E:90:05 (Random)
      RSSI: -59
^C< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2
    value 0x00 (scanning disabled)
    filter duplicates 0x01 (enabled)
> HCI Event: Command Complete (0x0e) plen 4
    LE Set Scan Enable (0x08|0x000c) ncmd 1
    status 0x00

real	0m15.342s
user	0m0.000s
sys	0m0.000s
root@valyria:~# hcitool lecc --random E2:4C:7C:9E:90:05
< HCI Command: LE Create Connection (0x08|0x000d) plen 25
    bdaddr E2:4C:7C:9E:90:05 type 1
> HCI Event: Command Status (0x0f) plen 4
    LE Create Connection (0x08|0x000d) status 0x0c ncmd 1
    Error: Command Disallowed
Could not create connection: Input/output error
root@valyria:~#

[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux