We introduced the Silex QCA9377-based BD-SDMAC few months ago and have some updates to provide.
First, it is recommended to read our previous blog post which gives all the module details:
As a reminder, the module is supported in the following OSes:
After several successful designs using this module, we decided to offer a variant of the following platforms with BD-SDMAC instead of the TiWi-BLE:
Note that the price stays the same for the “_QCA” variants although it now offers dual-band + AC support.
Projects based on this module were for both Android and Linux which allowed to extensively test the software in real condition.
This process allowed us to fix a few bugs and provide better software support:
- WiFi MAC addresses can now easily be set from kernel command-line
- Same goes for BT MAC address on Android (see ro.boot.btmacaddr)
- Debug messages now stripped not to spam on serial connection
- Fixed build with GCC6+
- Firmware update to v2.1.3
- Bluetooth LE Advertising testing
This latter feature will be described in the next section since many customers have been asking about it.
Bluetooth LE Advertising
The BD-SDMAC is the first module we’ve successfully used BLE advertising.
For Android, an API is provided for it as well as some samples apps that can be used as-is:
Our latest Android Nougat blog post shares the apk files used for testing with some screenshots:
As for Linux, here are some samples commands tested on a Yocto build to send advertising packets (credits to this stackoverflow thread).
- First setup the BT
echo 0 > /sys/class/rfkill/rfkill0/state sleep .5 echo 1 > /sys/class/rfkill/rfkill0/state /usr/libexec/bluetooth/bluetoothd & hciattach -t 30 /dev/ttymxc2 qca 2000000 flow & hciconfig hci0 up
- Then prepare the packet
hcitool -i hci0 cmd 0x08 0x0008 10 02 01 1a 0c ff 18 01 48 45 4c 4c 4f 57 4f 52 4c 44
- Finally allow advertising packets and incoming connections
hciconfig hci0 leadv 0
- You can then disable advertising if needed
hciconfig hci0 noleadv
For any further information, feel free to contact us at email@example.com.