[OpenWrt-Devel] ar71xx: How to integrate UniFi AP Outdoor Plus HSR?

Felix Fietkau nbd at openwrt.org
Mon Jun 1 19:43:04 EDT 2015

On 2015-05-27 22:48, Stefan Rompf wrote:
> Hi Kirill,
>> So I made a patch for atheros driver and it works. A signal level on
>> different frequencies is more or less equal and seems adequate (about
>> -30 dbm if a client within a meter from ap).
> so you reverse engineered the timer values, the response format and the 's' 
> command I had planned looking at next weekend. Very cool work!
> Now that talking to the HSR seems mostly solved, this makes me think about 
> OpenWrt integration. Currently I see two possibities:
> Integration into the kernel driver like your latest patch does.
> Caveat: The build process seems to assume that all routers in the 
> ar71xx/generic target share the same set of kernel modules. So patching and 
> compiling yourself is no problem, but a working image on downloads.openwrt.org 
> is not feasible as every router would get the HSR driver. Correct me if I am 
> wrong.
> Or making ath9k expose the gpio and driving from user space. A generic patch 
> for ath9k to register its gpio pins via the standard gpio subsystem. This 
> should go upstream to the kernel and may prove usable for other access points 
> to.
> An Unifi specific user space daemon listens to scan and channel change events 
> via netlink (will check next weekend if channel change is broadcasted 
> reliably) and tune the filter via sysfs interface accordingly like hsr.c 
> tried.
> Caveat: Changing ath9k driver is possibly stuff for Designated Driver. May be 
> the user space component can fall back to bit banging for Chaos Calmer.
> What do you think? What do OpenWrt core developers think? I'd prefer exposing 
> gpio and driving from userspace.
I think deferring this to user space might mess up timings during fast
active scans. I'd prefer to have a callback in ath9k_platform.h that
allows the platform code to provide a hook which implements this.
That way the changes to ath9k stay very small, and the code is still
quite simple.

- Felix
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list