Resolved: controller won’t stay in sniff mode

Question:

I’m using the bluez stack on linux and need to put a slave controller into sniff mode. I am able to initiate sniff mode by issuing the command with hcitool: hcitool -i hci0 cmd 0x02 0x0003 0x00 0x01 0x12 0x00 0x12 0x00 0x01 0x00 0x01 0x00. The problem is that the slave always issues an exit sniff mode command immediately after I send any data on this socket. Can anyone tell me why this is happening and how I can stop the controller from exiting sniff mode arbitrarily?

Answer:

This ended up being an issue with the default params for the linux bluetooth driver.

If you have better answer, please add a comment about this, thank you!