Skip to main content

WIFI & Bluetooth

The Luckfox-Pico-Ultra-W is equipped with the AIC8800DC module, supporting the WiFi AX protocol (WiFi 6), and compatible with 2.4GHz WiFi and Bluetooth 5.2/BLE.

WiFi

Buildroot Connection WiFi

  1. Edit the WiFi configuration file using vi or nano editor

    nano /etc/wpa_supplicant.conf 

    ctrl_interface=/var/run/wpa_supplicant
    ap_scan=1
    update_config=1

    network={
    ssid="luckfox"
    psk="12345678"
    key_mgmt=WPA-PSK
    }
    • ssid: Name of the wireless network

      psk: Password of the wireless network

      Modify according to your actual wireless network name and password. No need to change other settings.

  2. If you want to switch WiFi networks, you need to restart the wpa_supplicant service:

    killall -9 wpa_supplicant 
    wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
  3. Connect to the wireless network.

    udhcpc -i wlan0

Ubuntu Connection WiFi

  1. Edit the WiFi configuration file using vi or nano editor

    sudo su 
    nano /etc/wpa_supplicant.conf

    ctrl_interface=/var/run/wpa_supplicant
    ap_scan=1
    update_config=1

    network={
    ssid="luckfox"
    psk="12345678"
    key_mgmt=WPA-PSK
    }
    • ssid: Name of the wireless network

      psk: Password of the wireless network

      Modify according to your actual wireless network name and password. No need to change other settings.

  2. You need to restart the development board

    reboot
  3. Connect to the wireless network.

    udhcpc -i wlan0

WiFi Speed Test

  1. On the virtual machine or host

    iperf3 -s -i 10 -p 5001
    • -s: Specifies that iperf3 runs in server mode

      -i: Sets the report interval to 10 seconds

      -p: Specifies the server port as 5001

  2. On the development board

    iperf3 -c 192.168.10.176 -p 5001 -f m -i 2 -t 24
    • -c:指定客户端模式,并设置要连接的服务器IP地址为192.168.10.176
    • -p:指定服务器端口为5001
    • -f:指定报告的格式。m 代表 Mbps,即报告的带宽单位为兆比特每秒
    • -i:指定报告的间隔时间为每1秒
    • -t :指定测试的持续时间为30秒
  3. Results:

Bluetooth

Buildroot

Due to certain dependencies of the BlueZ tools in Buildroot only supporting glibc and not ulibc, the tool cannot be used.

  • Setting ttyS1 as a Bluetooth HCI device:

    # Older driver version
    hciattach -s 115200 /dev/ttyS1 any 115200 flow nosleep&

    # Newer driver version
    hciattach -s 1500000 /dev/ttyS1 any 1500000 flow nosleep&
  • Enabling hci0:

    hciconfig hci0 up
  • Checking Bluetooth status:

    hciconfig -a

    #蓝牙详细信息
    hci0: Type: Primary Bus: UART
    BD Address: 90:E4:68:A6:D6:94 ACL MTU: 1021:9 SCO MTU: 255:4
    UP RUNNING
    RX bytes:1344 acl:0 sco:0 events:77 errors:0
    TX bytes:1217 acl:0 sco:0 commands:77 errors:0
    Features: 0xbf 0xee 0xcd 0xfe 0xd8 0x3d 0x7b 0x87
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV3
    Link policy: RSWITCH SNIFF
    Link mode: PERIPHERAL ACCEPT
    Name: 'BlueZ 5.65'
    Class: 0x000000
    Service Classes: Unspecified
    Device Class: Miscellaneous,
    HCI Version: 5.2 (0xb) Revision: 0x14
    LMP Version: 5.2 (0xb) Subversion: 0x14
    Manufacturer: not assigned (2875)
  • Scanning for Bluetooth devices:

    hcitool scan
  • Bluetooth testing:

    hcitool cmd xxxx

Ubuntu 22.04

  1. Perform network time synchronization before installing or upgrading packages:

    sudo su 
    ntpd -d
    apt update
  2. Install Bluetooth-related tools:

    apt install bluez
    apt install pulseaudio-module-bluetooth
  3. Start the necessary services:

    hciattach -s 1500000 /dev/ttyS1 any 1500000 flow nosleep&
    pulseaudio --start
  4. Connect a mobile phone to the development board:

    bluetoothctl
    power on # Enable the controller
    discoverable on # Make the controller discoverable
    pairable on # Set the controller as pairable
    # When the phone searches for Bluetooth devices, "luckfox" will appear
    # If a PIN code prompt appears, enter "yes"
    • Expected output:
  5. Additional bluetoothctl operations:

    scan on              # Scan for devices
    scan off # Stop scanning
    pair <MAC address> # Pair with a specific MAC address
    paired-devices # List paired Bluetooth devices
    connect <MAC address>
    remove <MAC address> # Remove a paired device