Using M.2 WiFi/Bluetooth Module

The STM32MP1-BSB board features an M.2 connector and supports SDIO/UART modules.

This application note describes how to enable WiFi/Bluetooth support using the AW-NB136NF M.2 module.

To use the AW-NB136NF M.2 module, the following preparations should be done:

  • create the /lib/firmware/brcm directory

  • copy the firmware files to the /lib/firmware/brcm directory on the board:

  • reboot the board.

1. WiFi

Use the following step-wise procedure to enable WiFi on the board:

  1. Initialize the wpa_supplicant module:

    / # wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B Successfully initialized wpa_supplicant
  2. In another Linux shell window, validate that you can see the Access Points in the vicinity of the board:

    / # wpa_cli -i wlan0 scan OK / # wpa_cli -i wlan0 scan_results bssid / frequency / signal level / flags / ssid ec:43:f6:02:75:54 2437 -75 [WPA2-PSK-CCMP][ESS] Maxim c0:25:e9:05:55:1e 2412 -83 [WPA2-PSK-CCMP][WPS][ESS] Hone-120 ec:43:f6:e1:4a:d8 2422 -24 [WPA2-PSK-CCMP][WPS][ESS] Tik 16:2d:27:5e:54:d4 2432 -72 [WPA2-PSK-CCMP][WPS][ESS][P2P] DIRECT-YQ-BRAVIA ea:28:5d:7b:5a:f8 2432 -78 [WPA2-PSK-CCMP][WPS][ESS] ELDAR ec:43:f6:e1:4a:da 5180 -82 [WPA2-PSK-CCMP][WPS][ESS] Tik5 14:dd:a9:f0:bf:08 2437 -87 [WPA2-PSK-CCMP][WPS][ESS] Gnomiki c8:3a:35:18:7b:21 2452 -87 [WPA-PSK-CCMP][WPA2-PSK-CCMP][WPS][ESS] Dom 08:60:6e:e1:66:0c 2437 -87 [WPA2-PSK-CCMP][WPS][ESS] Ioanna 3c:15:c2:f4:05:66 2462 -88 [WPA2-PSK-CCMP][ESS] Air Network bc:ee:7b:e4:24:58 2457 -85 [WPA2-PSK-CCMP][ESS] b0:6e:bf:d8:a7:78 2467 -87 [WPA2-PSK-CCMP][WPS][ESS] Nastya1
  3. Disable eth0, connect to the Internet over WiFi:

    / # ifconfig eth0 down / # wpa_cli -i wlan0 add_network 1 / # wpa_cli -i wlan0 set_network 1 ssid '"name-of-access-point"' OK / # wpa_cli -i wlan0 set_network 1 psk '"password-to-access-point"' OK / # wpa_cli -i wlan0 enable_network 1 OK [ 284.555912] wlan0: authenticate with ec:43:f6:e1:4a:d8 [ 284.627134] wlan0: send auth to ec:43:f6:e1:4a:d8 (try 1/3) [ 284.634605] wlan0: authenticated [ 284.639897] wlan0: associate with ec:43:f6:e1:4a:d8 (try 1/3) [ 284.649323] wlan0: RX AssocResp from ec:43:f6:e1:4a:d8 (capab=0x411 status=0 aid=1) [ 284.660116] wlan0: associated / # udhcpc -i wlan0 Sending discover... Sending select for 192.168.1.35... Lease of 192.168.1.35 obtained, lease time 25200 /etc/udhcpc.d/50default: Adding DNS 8.8.8.8 /etc/udhcpc.d/50default: Adding DNS 192.168.1.1
  4. Ping a public host:

2. Bluetooth

Use the following step-wise procedure:

  1. Initialize the Bluetooth module on the board. Validate that the initialization has completed successfully:

  2. Switch on some Bluetooth devices in the vicinity of the board. Validate that the board detects them:

  3. Switch on some BLE devices around. Validate that the board detects them: