fixed fast roaming issue
added Handoff Suggestion & Band Steering updated Firmware version cleaned up README
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# openUF — C
|
||||
|
||||
Daemon that makes an OpenWrt router appear as a **UniFi U6 InWall** to the UniFi Network controller.
|
||||
Daemon that makes an OpenWrt router appear as a UniFi AP to UniFi Network controllers.
|
||||
|
||||
## Implemented Features
|
||||
|
||||
@@ -20,75 +20,71 @@ Daemon that makes an OpenWrt router appear as a **UniFi U6 InWall** to the UniFi
|
||||
| **LLDP Send** | Custom frames via AF_PACKET raw socket | `lldp.c` → `lldp_send_frame()` |
|
||||
| **LLDP Read** | Neighbors for UniFi topology | `lldp.c` → `lldpctl -f json` |
|
||||
|
||||
## Quick Installation
|
||||
## Using the dev container
|
||||
|
||||
```sh
|
||||
# On the OpenWrt device:
|
||||
opkg update
|
||||
opkg install gcc make libmbedtls-dev libuci-dev libjson-c-dev
|
||||
```shell
|
||||
# OpenWRT build directory
|
||||
cd /home/openwrt/openwrt
|
||||
|
||||
# Compile and install
|
||||
make -f Makefile.standalone install
|
||||
# clean Previous builds
|
||||
make clean
|
||||
|
||||
# Configure
|
||||
vi /etc/openuf/openuf.conf # adjust controller_ip and lan_if
|
||||
# Compile
|
||||
make
|
||||
```
|
||||
|
||||
# Start
|
||||
/etc/init.d/openuf start
|
||||
/etc/init.d/openuf enable # start on boot
|
||||
## Changing Compiler Settings
|
||||
|
||||
```shell
|
||||
# OpenWRT build directory
|
||||
cd /home/openwrt/openwrt
|
||||
|
||||
# Change settings
|
||||
make menuconfig
|
||||
|
||||
# export settings
|
||||
./scripts/diffconfig.sh
|
||||
|
||||
# Paste settings into .devcontainer/openwrt.config file in the code
|
||||
# Then rebuild the dev container by pressing F1 in VScode
|
||||
# and typing rebuild and selecting rebuild dev container
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
On The Accesspoint Run this to install the package:
|
||||
|
||||
```shell
|
||||
# Remove old installation
|
||||
apk -r del openuf
|
||||
|
||||
# Install new version
|
||||
apk add openuf-0.4.0-r1.apk --allow-untrusted
|
||||
|
||||
# Configure
|
||||
vi /etc/openuf/openuf.conf
|
||||
```
|
||||
|
||||
Example Configuration
|
||||
|
||||
```ini
|
||||
controller_ip = 192.168.1.1 # UniFi controller IP
|
||||
lan_if = br-lan # LAN interface (for MAC and IP)
|
||||
lan_if = br-lan # Default Lan interface Name
|
||||
ufmodel = u6-inwall # emulated model
|
||||
inform_interval = 10 # seconds between informs
|
||||
inform_interval = 10 # inform interval
|
||||
enable_announce = 1
|
||||
enable_inform = 1
|
||||
enable_inform = 1 # Enable logging to /var/log/openuf.log if set to 1
|
||||
|
||||
```
|
||||
|
||||
## U6 InWall Model
|
||||
---
|
||||
|
||||
A **U6 IW** is emulated because it has 5 GbE ports, which covers most OpenWrt routers. The model reports:
|
||||
## Glassary
|
||||
|
||||
* 5 ethernet ports (eth0-eth4)
|
||||
* 2.4 GHz WiFi 6 Radio (HE/802.11ax)
|
||||
* 5 GHz WiFi 6 Radio (HE/802.11ax)
|
||||
### TNBU
|
||||
|
||||
## LLDP
|
||||
TNBU is the magic string/identifier at the start of the binary packet format used in this custom Inform protocol implementation.
|
||||
|
||||
For visual topology in UniFi:
|
||||
### CCQ
|
||||
|
||||
```sh
|
||||
opkg install lldpd
|
||||
/etc/init.d/lldpd start
|
||||
/etc/init.d/lldpd enable
|
||||
|
||||
```
|
||||
|
||||
openuf sends its own LLDP frames even without lldpd (raw socket).
|
||||
With lldpd installed, it also reports upstream neighbors (switches).
|
||||
|
||||
## Adoption
|
||||
|
||||
The process is automatic:
|
||||
|
||||
1. The AP appears as "Pending" in UniFi.
|
||||
2. Click on "Adopt" → the controller sends a new key.
|
||||
3. The AP applies the key and becomes "Connected".
|
||||
4. The controller pushes the WiFi configuration (SSIDs, channels, etc.).
|
||||
5. Make sure your WiFi Name doesn't have characters like " - " cause of bad JSON! Grrr
|
||||
|
||||
To reset: `rm /etc/openuf/state.json && reboot`
|
||||
|
||||
## Dependencies
|
||||
|
||||
```sh
|
||||
opkg install libmbedtls libuci libjson-c
|
||||
opkg install lldpd # optional, for topology
|
||||
|
||||
```
|
||||
Client Connection Quality
|
||||
Reference in New Issue
Block a user