Bug #410

Updated by Sven Eckelmann about 1 year ago


I'm not totally sure if this should be a bug request or a feature request since I don't know how the driver output based speed recognition should be working in detail.

I'm trying to setup a B.A.T.M.A.N. V mesh on a TP-Link RE450v1 running on OpenWRT 19.07.3.
It's working but I've got problems with the speed recognition:


> [ 37.909038] batman_adv: bat0: Adding interface: wlan0
> [ 37.914391] batman_adv: bat0: Interface activated: wlan0
> [ 40.476462] batman_adv: bat0: WiFi driver or ethtool info does not provide information about link speeds on interface wlan0, therefore defaulting to hardcoded throughput values of 1.0 Mbps. Consider overriding the throughput manually or checking your driver.

batman_adv version:


> root@re450-4:~# batctl -v
> batctl openwrt-2019.2-4 [batman-adv: openwrt-2019.2-7]

The driver I'm using:
> ath10k-firmware-qca988x
> kmod-ath10k

What I don't understand is that I can see link speed estimations in iw station dump - so why aren't they recognized by batman_adv?
The link speed is clearly visible from iw station dump:

> root@re450-4:~# iw wlan0 station dump
> Station 88:c3:97:xx:xx:c2 (on wlan0)
> ...
> signal: -62 [-73, -65, -67] dBm
> signal avg: -53 [-64, -57, -60] dBm
> Toffset: 35108160011 us
> --> tx bitrate: 975.0 MBit/s VHT-MCS 7 80MHz short GI VHT-NSS 3**
> --> rx bitrate: 975.0 MBit/s VHT-MCS 7 80MHz short GI VHT-NSS 3**
> rx duration: 9492580 us
> last ack signal:-95 dBm
> mesh llid: 0
> mesh plid: 0
> mesh plink: ESTAB
> mesh local PS mode: ACTIVE
> mesh peer PS mode: ACTIVE
> mesh non-peer PS mode: ACTIVE
> ...

But batman_adv is not able to use these speed values:

> root@re450-4:~# batctl n
> [B.A.T.M.A.N. adv openwrt-2019.2-7, MainIF/MAC: wlan0/d4:6e:0e:xx:xx:de (bat0/ea:59:0f:xx:xx:d6 BATMAN_V)]
> IF Neighbor last-seen
> 78:11:dc:xx:xx:12 0.350s ( 1.0) [ wlan0]
> 78:11:dc:xx:xx:c2 0.430s ( 1.0) [ wlan0]
> 88:c3:97:xx:xx:c2 0.250s ( 1.0) [ wlan0]

This results in non optimized routes/hops. In contradiction to the problems with the ath10k driver it is working without any issues on mt76 (mt7615e to be precise).

What I also don't understand is why batman_adv is not falling back to integrated speed measurements. Throughput_override is disabled (set to 0) so it should normally try to estimate the real speed instead of using 1 Mbit/s:


> root@re450-4:~# batctl hardif wlan0 throughput_override
> 0.0 MBit

Do you have any suggestions how to further troubleshoot this to find the root cause?