USB Adapters


To enable easy maintenance of Compute Station by non-technical people, USB based adapters are use extensively to extend its function.

WiFi Adapters

Excellent information on the topic of USB WiFi Adapters is available here:

WiFi Adapters can be used to add Virtual Private Mesh capabilities to a device.

The following is a list of supported WiFi Modes, using linux command iw phy listed under Supported interface modes.

Device ibss managed ap p2p-client p2p-go p2p-device ap/vlan monitor mesh point
rpi4b y y y y y y
rtl8812bu y y y y y
ms1552 y y y y y y
wl167g y y y y y y
dwa140 y y y y y y
dwa160 y y y y y y y
odroid3 y y y y y y y y

Device Legend
rpi4b = Raspberry Pi 4B
rtl8812bu = Realtek RTL8812BU
ms1552 = EDUP EP-MS1552
wl167g = ASUS WL-167g
dwa140 = D-Link DWA-140
dwa160 = D-Link DWA-160
odroid3 = Odroid WiFi Module 3

For Network Meshing between neighbours, batman-adv on top of 820.11s is the default, but extra mesh technologies e.g. OLSR may be supported by local communities.

Note for 820.11s the WiFi Adapter MUST have "mesh point" as "y" above, so Raspberry Pi 4B (rpi4b)'s internal WiFi adapter cannot be used. IBSS is an alternative if 802.11s is not available.

Bluetooth Adapters

Minimum supported version is Bluetooth 4.0 from 2010.

Bluetooth 4.0 - Bluetooth Low Energy
Bluetooth 4.1 - direct IoT connection
Bluetooth 4.2 - direct IPv6 connection
Bluetooth 5.0 - higher speed longer range
Bluetooth 5.1 - direction finding
Bluetooth 5.2 - improved audio
Bluetooth 5.3 - better signal quality and security

Bluetooth 5.1 direction finding is very nice, by attaching Constant Tone Extension (CTE) data sequence behind the CRC in a Bluetooth packet in order to get Angle of Departure (AoD) or Angle of Arrival (AoA) with multiple antennas at either transmitter or receiver. It would be great for our indoor positioning for our geo attest network, unfortunately it is not readily available yet, so we will be using the Received Signal Strength Indication (RSSI) and trilateration from multiple fixed source instead.