Table of Contents |
---|
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, Bluetooth 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.
Unpack meta-spb228-pcie-uart-32.tar.gz to your
<project-dir>/<build-dir>/sources/
-directory.Add
Code Block BBLAYERS += " ${BSPDIR}/meta-spb228-pcie-uart-32 "
to your
<project-dir>/<build-dir>/conf/bblayers.conf
Run bitbake
Create wpa_supplicant.conf
Code Block |
---|
$ sudo -i # wpa_passphrase "<your ssid>" "<your passphrase>" > /etc/wpa_supplicant/wpa_supplicant.conf |
Power-Up Interface
Code Block |
---|
$ ifconfig mlan0 up |
Scan and Connect to Wi-Fi Network
Simple Scan
Code Block |
---|
$ iw mlan0 scan |
Connect manually using wpa_cli
Start wpa_supplicant:
Code Block |
---|
$ wpa_supplicant -Dnl80211 -imlan0 -c/etc/wpa_supplicant.conf & |
...
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/Bluetooth 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 Bluetooth BT are in a package called bluez. In Debian and it's derivates you can install it by
...
Code Block |
---|
IMAGE_INSTALL += "bluez" |
to your image recipe.
Startup
First of all the kernel module must be loaded and the Bluetooth BT device must be attached to the appropriate UART:
...
This attaches UART3 to any Bluetooth 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 BluetoothBT, so the hciattach must be changed to:
Code Block |
---|
$ sudo hciattach /dev/ttymxc3 any 115200 flow |
Configuration
After this, you can start the Bluetooth BT interface
Code Block |
---|
$ sudo hciconfig hci0 up |
...
Code Block |
---|
$ bluetoothctl Agent registered [bluetoothbl....th]# |
You can scan for available devices
Code Block |
---|
[bluetoothbl.....th]# scan on Discovery started [CHG] Controller 78:C4:0E:A0:0F:80 Discovering: yes [NEW] Device C0:8C:71:4D:4B:23 Telefon [bluetoothbl.....th]# scan off Discovery stopped [CHG] Controller 78:C4:0E:A0:0F:80 Discovering: no |
and list the devices found
Code Block |
---|
[bluetoothbl......th]# devices Device C0:8C:71:4D:4B:23 Telefon [DEL] Device C0:8C:71:4D:4B:23 Telefon |
The most important command:
Code Block |
---|
[bluetoothbl.....th]# help Menu main: Available commands: ------------------- advertise Advertise Options Submenu scan Scan Options Submenu gatt Generic Attribute Submenu list List available controllers show [ctrl] Controller information select <ctrl> Select default controller devices List available devices paired-devices List paired devices system-alias <name> Set controller alias reset-alias Reset controller alias power <on/off> Set controller power pairable <on/off> Set controller pairable mode discoverable <on/off> Set controller discoverable mode agent <on/off/capability> Enable/disable agent with given capability default-agent Set agent as the default one advertise <on/off/type> Enable/disable advertising with given type set-alias <alias> Set device alias scan <on/off> Scan for devices info [dev] Device information pair [dev] Pair with device trust [dev] Trust device untrust [dev] Untrust device block [dev] Block device unblock [dev] Unblock device remove <dev> Remove device connect <dev> Connect device disconnect [dev] Disconnect device menu <name> Select submenu version Display version quit Quit program exit Quit program help Display help about this program export Print evironment variables |
Leave it with:
Code Block |
---|
[bluetoothbl....th]# exit $ |
Bluetooth BT devices can also be managed by bluetoothd witch is configured by files in /etc/bluetoothbl....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.