Hi Filipe, > I've been working on the MIDI profile plugin for bluetoothd. This > profile requires the lowest latency and connection interval possible. In > order to do that we need to update the connection parameters. There are > two ways of doing it, first is upon connection > (HCI_LE_Create_Connection) and second is updating current connection > link (HCI_LE_Connection_Update). > > The first time an LE slave (MIDI controller) device is connected to > BlueZ, the plugin should be able to set this parameters for current > connection and save these settings for persistence purposes. > > As of today, bluetoothd does support the persistence mechanist, which is > triggered by a mgmt's New Connection Parameter (0x001c) command, which > in turn is triggered by L2CAP Connection Parameter Update Request or a > HCI LE Remote Connection Parameter Request (BT 4.1). > > As mentioned before, this is not enough. Specially because in practice > LE slave devices don't send a any of those two requests mentioned above. > > My idea is to set the connection parameter using > HCI_LE_Connection_Update if one of the host controllers, master or > slave, only supports 4.0. Then update the device info file with current > ConnectionParameters for persistence. > > In case both controllers support 4.1 and above, we should use the > Connection Parameters Request Procedure (BT 4.1 Vol 6 Part B §5.1.17) in > order to negotiate what is the best parameters for the connection. > > I hope this makes sense. If not, I appreciate your comments. :) we need to introduce a L2CAP socket option that allows for setting some of the connection parameters. So that the kernel can consolidate these and request them. I am not 100% we want to expose the actual values. Maybe it is better to have a latency parameter with high, default and low as values. Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html