I was reading about the compatibility between BT 4.0 and 4.2. I found here and in another forum people saying it's full compatible. Also, according to what I read, the main differences would be basically security, speed and the IoT stuff. So if I run a simple BT connection (no IP) and don't require top speed transmission, can I rely on the fact that 4.0 and 4.2 will be compatible?
My MCU library stack is 4.2 based but I want to make the product 4.0 compatible. Is there anything I should be aware of? Any other functionality/function I should not use?
4.2 features are negotiated between the Central and the Peripheral. If a 4.2 host tries to negotiate with a 4.0, negotiation will fail because messages are unknown. Error must be assumed as a soft failure meaning feature is not supported for a 4.2 host. For instance:
length extension in 6.B.5.1.9:
If the Link Layer of the master or slave sends the LL_LENGTH_REQ PDU to a device that does not understand that PDU, then the device should expect an LL_UNKNOWN_RSP PDU in response. If the Link Layer receives an LL_UNKNOWN_RSP PDU with the UnknownType field set to LL_LENGTH_REQ, then it shall not transmit another LL_LENGTH_REQ PDU to the peer device.
Secure connection in 3.H.3.5.2:
The SC field is a 1-bit flag that is set to one to request LE Secure Connection pairing, otherwise it shall be set to 0 based on the supported features of the initiator and responder, the possible resulting pairing mechanisms are: if both devices support LE Secure Connections, use LE Secure Connections; otherwise use LE legacy pairing.
So basically, yes, the are fully compatible.
Side note: Even in 4.2 spec, all "new" features are optional (length extension, secure connections, etc.). So, as long as the host answers negotiations with messages meaning "I know about them, but I dont support them", it can claim 4.2 compatibility and not actually implement anything fancy ! Most SoC vendors who issued software upgrades to 4.2 for their current hardware actually did that.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With