Changing authentication requirements in older kernel

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

 



Hi all,

I have a BLE device that is unusually picky about the pairing requests it receives. As far as I can tell, it will not pair if the MITM bit in the authentication requirements is not set, or if the initiator key distribution field is not set. It will not pair with BlueZ running under kernel 3.10.17, where the pairing request looks like this:

< ACL Data TX: Handle 64 flags 0x00 dlen 11
      SMP: Pairing Request (0x01) len 6
        IO capability: KeyboardOnly (0x02)
        OOB data: Authentication data not present (0x00)
Authentication requirement: Bonding, No MITM, Legacy, No Keypresses (0x01)
        Max encryption key size: 16
        Initiator key distribution: <none> (0x00)
        Responder key distribution: EncKey (0x01)

It will pair under kernel 4.4.11, where the pairing request looks like this:

< ACL Data TX: Handle 64 flags 0x00 dlen 11
      SMP: Pairing Request (0x01) len 6
        IO capability: KeyboardOnly (0x02)
        OOB data: Authentication data not present (0x00)
        Authentication requirement: Bonding - MITM (0x05)
        Max encryption key size: 16
        Initiator key distribution: EncKey IdKey Sign (0x07)
        Responder key distribution: EncKey IdKey Sign (0x07)

I would like to make the older kernel's handling of pairing requests match the newer one's. I'm having some success using newer Bluetooth kernel modules from backports (3.15.9-1 appears to give the desired behavior), but I don't know if this is a good long-term solution since the target system is not using a mainline kernel. Is it possible to change the authentication requirements and/or initiator key distribution in user space?

Thanks,
Tom Harada
--
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



[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