#
33f35721 |
| 28-Jun-2014 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Add tracking of local and piconet clock values
This patch adds support for storing the local and piconet clock values from the HCI_Read_Clock command response to the hci_dev and hci_conn
Bluetooth: Add tracking of local and piconet clock values
This patch adds support for storing the local and piconet clock values from the HCI_Read_Clock command response to the hci_dev and hci_conn structs. This will be later used in another patch to implement support for the Get Clock Info mgmt command.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
df935429 |
| 27-Jun-2014 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Send HCI_Read_Clock_Offset before disconnecting
When the connection is in master role and it is going to be disconnected based on the disconnection timeout, then send the HCI_Read_Clock_O
Bluetooth: Send HCI_Read_Clock_Offset before disconnecting
When the connection is in master role and it is going to be disconnected based on the disconnection timeout, then send the HCI_Read_Clock_Offset command in an attempt to update the clock offset value in the inquiry cache.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|
#
3769972b |
| 24-Jun-2014 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Add a new HCI_USE_DEBUG_KEYS flag
To pave the way for actively using debug keys for pairing this patch adds a new HCI_USE_DEBUG_KEYS flag for the purpose. When the flag is set we issue a
Bluetooth: Add a new HCI_USE_DEBUG_KEYS flag
To pave the way for actively using debug keys for pairing this patch adds a new HCI_USE_DEBUG_KEYS flag for the purpose. When the flag is set we issue a HCI_Write_SSP_Debug mode whenever HCI_Write_SSP_Mode(0x01) has been issued as well as before issuing a HCI_Write_SSP_Mode(0x00) command.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
0663b297 |
| 24-Jun-2014 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Rename HCI_DEBUG_KEYS to HCI_KEEP_DEBUG_KEYS
We're planning to add a flag to actively use debug keys in addition to simply just accepting them, which makes the current generically named D
Bluetooth: Rename HCI_DEBUG_KEYS to HCI_KEEP_DEBUG_KEYS
We're planning to add a flag to actively use debug keys in addition to simply just accepting them, which makes the current generically named DEBUG_KEYS flag a bit confusing. Since the flag in practice affects whether the kernel keeps debug keys around or not rename it to HCI_KEEP_DEBUG_KEYS.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
1855d92d |
| 23-Jun-2014 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Track LE connection parameter update event
When the LE controller changes its connection parameters, it will send a connection parameter update event. Make sure that the new set of parame
Bluetooth: Track LE connection parameter update event
When the LE controller changes its connection parameters, it will send a connection parameter update event. Make sure that the new set of parameters are stored in hci_conn struct and thus will properly update the previous values retrieved from the connection complete event.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|
#
6b8d4a6a |
| 18-Jun-2014 |
Jukka Rissanen <jukka.rissanen@linux.intel.com> |
Bluetooth: 6LoWPAN: Use connected oriented channel instead of fixed one
Create a CoC dynamically instead of one fixed channel for communication to peer devices.
Signed-off-by: Jukka Rissanen <jukka
Bluetooth: 6LoWPAN: Use connected oriented channel instead of fixed one
Create a CoC dynamically instead of one fixed channel for communication to peer devices.
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
111902f7 |
| 20-Jun-2014 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Use separate dbg_flags to special debugfs options
All the special settings configured via debugfs are either developer only options or temporary solutions. To not clutter the standard fla
Bluetooth: Use separate dbg_flags to special debugfs options
All the special settings configured via debugfs are either developer only options or temporary solutions. To not clutter the standard flags, move them to their own dbg_flags entry.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|
#
ddf4ba07 |
| 16-Jun-2014 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Remove unused LTK authentication defines
These defines were probably put in to track authenticated vs unauthenticated LTKs, however since the LTK struct has a separate boolean authenticat
Bluetooth: Remove unused LTK authentication defines
These defines were probably put in to track authenticated vs unauthenticated LTKs, however since the LTK struct has a separate boolean authenticated member these were never used.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
2ceba539 |
| 16-Jun-2014 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Remove HCI prefix from SMP LTK defines
The LTK type has really nothing to do with HCI so it makes more sense to have these in smp.h than hci.h. This patch moves the defines to smp.h and r
Bluetooth: Remove HCI prefix from SMP LTK defines
The LTK type has really nothing to do with HCI so it makes more sense to have these in smp.h than hci.h. This patch moves the defines to smp.h and removes the HCI_ prefix in the same go.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
7d5843b7 |
| 16-Jun-2014 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Remove unnecessary SMP STK define
We never store the "master" type of STKs since we request encryption directly with them so we only need one STK type (the one that's looked-up on the sla
Bluetooth: Remove unnecessary SMP STK define
We never store the "master" type of STKs since we request encryption directly with them so we only need one STK type (the one that's looked-up on the slave side). Simply remove the unnecessary define and rename the _SLAVE one to the shorter form.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
5a134fae |
| 09-May-2014 |
Andrzej Kaczmarek <andrzej.kaczmarek@tieto.com> |
Bluetooth: Store TX power level for connection
This patch adds support to store local TX power level for connection when reply for HCI_Read_Transmit_Power_Level is received.
Signed-off-by: Andrzej
Bluetooth: Store TX power level for connection
This patch adds support to store local TX power level for connection when reply for HCI_Read_Transmit_Power_Level is received.
Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@tieto.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
5ae76a94 |
| 08-May-2014 |
Andrzej Kaczmarek <andrzej.kaczmarek@tieto.com> |
Bluetooth: Store RSSI for connection
This patch adds support to store RSSI for connection when reply for HCI_Read_RSSI is received.
Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@tieto.com> Si
Bluetooth: Store RSSI for connection
This patch adds support to store RSSI for connection when reply for HCI_Read_RSSI is received.
Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@tieto.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
3c857757 |
| 25-Mar-2014 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Add directed advertising support through connect()
When we're in peripheral mode (HCI_ADVERTISING flag is set) the most natural mapping of connect() is to perform directed advertising to
Bluetooth: Add directed advertising support through connect()
When we're in peripheral mode (HCI_ADVERTISING flag is set) the most natural mapping of connect() is to perform directed advertising to the peer device.
This patch does the necessary changes to enable directed advertising and keeps the hci_conn state as BT_CONNECT in a similar way as is done for central or BR/EDR connection initiation.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
81ad6fd9 |
| 28-Feb-2014 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Remove unnecessary stop_scan_complete function
The stop_scan_complete function was used as an intermediate step before doing the actual connection creation. Since we're using hci_request
Bluetooth: Remove unnecessary stop_scan_complete function
The stop_scan_complete function was used as an intermediate step before doing the actual connection creation. Since we're using hci_request there's no reason to have this extra function around, i.e. we can simply put both HCI commands into the same request.
The single task that the intermediate function had, i.e. indicating discovery as stopped is now taken care of by a new HCI_LE_SCAN_INTERRUPTED flag which allows us to do the discovery state update when the stop scan command completes.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
9489eca4 |
| 28-Feb-2014 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Add timeout for LE connection attempts
LE connection attempts do not have a controller side timeout in the same way as BR/EDR has (in form of the page timeout). Since we always do scannin
Bluetooth: Add timeout for LE connection attempts
LE connection attempts do not have a controller side timeout in the same way as BR/EDR has (in form of the page timeout). Since we always do scanning before initiating connections the attempts are always expected to succeed in some reasonable time.
This patch adds a timer which forces a cancellation of the connection attempt within 20 seconds if it has not been successful by then. This way we e.g. ensure that mgmt_pair_device times out eventually and gives an error response.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
a7139edd |
| 28-Feb-2014 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Add defines for LE initiator filter policy
This patch adds defines for the initiator filter policy parameter values of the HCI_LE_Create_Connection command. They will be used in a subsequ
Bluetooth: Add defines for LE initiator filter policy
This patch adds defines for the initiator filter policy parameter values of the HCI_LE_Create_Connection command. They will be used in a subsequent patch to check whether we should have a timeout for the connection attempt or not.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
fe39c7b2 |
| 27-Feb-2014 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Use __le64 type for LE random numbers
The random numbers in Bluetooth Low Energy are 64-bit numbers and should also be little endian since the HCI specification is little endian.
Change
Bluetooth: Use __le64 type for LE random numbers
The random numbers in Bluetooth Low Energy are 64-bit numbers and should also be little endian since the HCI specification is little endian.
Change the whole Low Energy pairing to use __le64 instead of a byte array.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|
#
a3172b7e |
| 28-Feb-2014 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Add timer to force power off
If some of the cleanup commands caused by mgmt_set_powered(off) never complete we should still force the adapter to be powered down. This is rather easy to do
Bluetooth: Add timer to force power off
If some of the cleanup commands caused by mgmt_set_powered(off) never complete we should still force the adapter to be powered down. This is rather easy to do since hdev->power_off is already a delayed work struct. This patch schedules this delayed work if at least one HCI command was sent by the cleanup procedure.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
d9a7b0a5 |
| 27-Feb-2014 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Add definitions for LE white list HCI commands
Add the definitions for clearing the LE white list, adding entries to the LE white list and removing entries from the LE white list.
Signed
Bluetooth: Add definitions for LE white list HCI commands
Add the definitions for clearing the LE white list, adding entries to the LE white list and removing entries from the LE white list.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|
#
2acf3d90 |
| 26-Feb-2014 |
Andre Guedes <andre.guedes@openbossa.org> |
Bluetooth: Stop scanning on LE connection
Some LE controllers don't support scanning and creating a connection at the same time. So we should always stop scanning in order to establish the connectio
Bluetooth: Stop scanning on LE connection
Some LE controllers don't support scanning and creating a connection at the same time. So we should always stop scanning in order to establish the connection.
Since we may prematurely stop the discovery procedure in favor of the connection establishment, we should also cancel hdev->le_scan_ disable delayed work and set the discovery state to DISCOVERY_STOPPED.
This change does a small improvement since it is not mandatory the user stops scanning before connecting anymore. Moreover, this change is required by upcoming LE auto connection mechanism in order to work properly with controllers that don't support background scanning and connection establishment at the same time.
In future, we might want to do a small optimization by checking if controller is able to scan and connect at the same time. For now, we want the simplest approach so we always stop scanning (even if the controller is able to carry out both operations).
Signed-off-by: Andre Guedes <andre.guedes@openbossa.org> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
d6bfd59c |
| 23-Feb-2014 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Add timer for regenerating local RPA
This patch adds a timer for updating the local RPA periodically. The default timeout is set to 15 minutes.
Signed-off-by: Johan Hedberg <johan.hedber
Bluetooth: Add timer for regenerating local RPA
This patch adds a timer for updating the local RPA periodically. The default timeout is set to 15 minutes.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
863efaf2 |
| 22-Feb-2014 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Add initial code for distributing local IRK
This code adds a HCI_PRIVACY flag to track whether Privacy support is enabled (meaning we have a local IRK) and makes sure the IRK is distribut
Bluetooth: Add initial code for distributing local IRK
This code adds a HCI_PRIVACY flag to track whether Privacy support is enabled (meaning we have a local IRK) and makes sure the IRK is distributed during SMP key distribution in case this flag is set.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
b32bba6c |
| 19-Feb-2014 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Replace own_address_type with force_static_address debugfs
The own_address_type debugfs option does not providing enough flexibity for interacting with the upcoming LE privacy support.
W
Bluetooth: Replace own_address_type with force_static_address debugfs
The own_address_type debugfs option does not providing enough flexibity for interacting with the upcoming LE privacy support.
What really is needed is an option to force using the static address compared to the public address. The new force_static_address debugfs option does exactly that. In addition it is also only available when the controller does actually have a public address. For single mode LE only controllers this option will not be available.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|
#
41edf160 |
| 18-Feb-2014 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Implement mgmt_load_irks command
This patch implements the Load IRKs command for the management interface. The command is used to load the kernel with the initial set of IRKs. It also set
Bluetooth: Implement mgmt_load_irks command
This patch implements the Load IRKs command for the management interface. The command is used to load the kernel with the initial set of IRKs. It also sets a HCI_RPA_RESOLVING flag to indicate that we can start requesting devices to distribute their IRK to us.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
424ef943 |
| 31-Jan-2014 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Add constants for LTK key types
The LTK key types available right now are unauthenticated and authenticated ones. Provide two simple constants for it.
Signed-off-by: Marcel Holtmann <mar
Bluetooth: Add constants for LTK key types
The LTK key types available right now are unauthenticated and authenticated ones. Provide two simple constants for it.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|