• Ready for review
  • Wi-Fi & BT, Trizeps VIII Mini/Trizeps VIII Plus

    H&D-Wireless Wi-Fi Module

    The Trizeps VIII Mini is available with H&D Wireless SPB228 Wi-Fi Module.
    It includes a powerful Marvell 88W997 chipset capable of 802.11 a/b/g/n/ac, 2×2 Wave2 MU-MIMO, BT 5 Classic, and LE.

    Please also view the documentation from H&D Wireless regarding implementing the driver into the OS.

    i.e. for Yocto

    H&D Wireless supplies a Yocto-recipe.

    1. Unpack meta-spb228-pcie-uart-32.tar.gz to your <project-dir>/<build-dir>/sources/-directory.

    2. Add

      BBLAYERS += " ${BSPDIR}/meta-spb228-pcie-uart-32 "

      to your <project-dir>/<build-dir>/conf/bblayers.conf

    3. Run bitbake

    Create wpa_supplicant.conf

    $ sudo -i # wpa_passphrase "<your ssid>" "<your passphrase>" > /etc/wpa_supplicant/wpa_supplicant.conf

    Power-Up Interface

    $ ifconfig mlan0 up

    Scan and Connect to Wi-Fi Network

    Simple Scan

    Connect manually using wpa_cli

    Start wpa_supplicant:

    Run wpa_cli:

    Use the scan command to list available networks:

    To connect to one of them, you will first need to create a network:

    The output ('1') is the network ID used in the next commands:

    The 'list_networks' commands show which networks have been set up ( i.e. WLAN_EXAMPLE-5G).
    With 'select_network <network ID>' you select the network to which wpa_cli should connect:

    Will trigger connection to the previously set up network WLAN_EXAMPLE-5G.

    The mlan0 interface needs to be assigned an IP address, to have it functional. Either through DHCP or manually.

    Get BT running

    Prerequisites

    The onboard WiFi/BT module on Trizeps VIII Mini/Trizeps VIII Plus is connected via UART, so all communication is handled by the HCI UART driver, which must be compiled with support for the Marvell protocol. Add the following to your kernel-config:

    The user-space programs for BT are in a package called bluez. In Debian and it's derivates you can install it by

    For Yocto add something like

    to your image recipe.

    Startup

    First of all the kernel module must be loaded and the BT device must be attached to the appropriate UART:

    This attaches UART3 to any BT interface found with a baudrate of 115200 and hardware flow control.

    Important: In difference to the Trizeps VIII Mini, the Trizeps VIII Plus uses UART4 for BT, so the hciattach must be changed to:

    Configuration

    After this, you can start the BT interface

    assign a name to it

    enable page and inquiry scan

    or stop it

    There is also an interactive tool called bluetoothctl

    You can scan for available devices

    and list the devices found

    The most important command:

    Leave it with:

    BT devices can also be managed by bluetoothd witch is configured by files in /etc/bl....th. Nevertheless the kernel module must be loaded and the UART must be attached in some init-script that is executed before bluetoothd is started. Otherwise it will refuse to start.

    Notes

    Enable & Disable WLAN function of the Device

    GPIO3_17 ( GPIO81; see Using a GPIO in Linux) can be used to enable and disable the WLAN function.
    Set GPIO high to enable; set GPIO low to disable WLAN function.