rtl8812AU icon indicating copy to clipboard operation
rtl8812AU copied to clipboard

AC Support

Open arrmo opened this issue 9 years ago • 19 comments
trafficstars

Hi,

I really don't like posting this as an issue - as it's a question really, and likely me being dumb ... but "issue" seems to be the only option. Just please don't take this as trying to flag a problem!

Driver compiled, installed, all working great - thanks so much! Working through hostapd now, gradually figuring it out, but now an odd question (OK, really to of them ... LOL).

I have reviewed the information provided back from iw list, and it's not showing any VHT capability ... yet this device / driver should support 802.11ac - right? I would like to use this (at 5 GHz of course), to up my bitrates, but not seeing it as possible. And I admit, not sure if this is a driver issue, or rather hostapd, or even the HW (though the HW spec notes 433 MHz support, which is 1x1 MIMO, at 80 MHz bandwidth). Thoughts on this?

Also an oddity ... iw list shows the following information, Capabilities: 0x1862 HT20/HT40 Static SM Power Save RX HT20 SGI RX HT40 SGI No RX STBC Max AMSDU length: 7935 bytes DSSS/CCK HT40

But when I add [SMPS-STATIC] to ht_capab, I get an error message that this is not supported. Again ... driver, hostapd, or HW issue? It's hard to say for sure, but you may have some experience here.

FYI, I'm running the 4.3.14 driver - it may be that the later driver helps out here. I can try that also if you recommend, no issue at all!

arrmo avatar Aug 29 '16 01:08 arrmo

OK, digging a bit - I do see in rtw_vht.c, the "large" check for, #ifdef CONFIG_80211AC_VHT

but not seeing this defined anywhere ... or perhaps I'm just missing it?

Thanks!

arrmo avatar Aug 29 '16 01:08 arrmo

this device / driver should support 802.11ac - right?

Yes. And due to the ac + 5Ghz, my connection is at 867Mbps. There is PR https://github.com/diederikdehaas/rtl8812AU/pull/22 regarding VHT, but I haven't had time to look at it yet. That PR is targeted at 4.3.22-beta, so I'd suggest to try that branch too as it generally has newer code.

I hope others will chime in as this is likely the best I can do (for now at least).

diederikdehaas avatar Aug 29 '16 13:08 diederikdehaas

I like the question label ... :). Thanks!

Tried 4.3.22-beta. It builds and installs, but not seeing any VHT info (iw list) - should I? Also, the "Capabilities" section is missing using this driver. perhaps these are the PR #22 fixes?

Are you using hostapd, and getting 867 Mbps? I admit, confused by that ... :(.

Thanks again.

arrmo avatar Aug 29 '16 17:08 arrmo

The 867 Mbps is between my adapter and wireless AC router (Asus). Until very recently I didn't have a device to test the adapter in hostapd mode, at least not in ac mode. I do now, but haven't had time to work/play with it yet. Furthermore, I'm not really knowledgeable about hostapd or VHT and I actually only learned about the latter through one of the PRs where others (@uminokoe) did the real work.

diederikdehaas avatar Aug 29 '16 18:08 diederikdehaas

No worries - we'll figure it out.

More than willing to test things here. Do you recommend I try with the proposed changes (in the pull request)? I admit, not a git expert - not sure how I can do that locally (but not have you do it to your repository).

Thanks!

arrmo avatar Aug 29 '16 22:08 arrmo

Do you recommend I try with the proposed changes (in the pull request)?

Yes. Here's a simplified procedure to accomplish that:

  1. Fork my repo, so it becomes available on https://github.com/arrmo/rtl8812AU
  2. Clone your fork locally with git clone https://github.com/arrmo/rtl8812AU
  3. cd into that directory with cd rtl8812AU
  4. Add @uminokoe's repo as a remote: git remote add uminokoe https://github.com/uminokoe/rtl8812AU
  5. Checkout uminokoe's driver-4.3.22-beta branch into your own local branch: git checkout -b uminokoe-vht-capabilities uminokoe/driver-4.3.22-beta

After the last step you should see:

Branch uminokoe-vht-capabilities set up to track remote branch driver-4.3.22-beta from uminokoe.
Switched to a new branch 'uminokoe-vht-capabilities'

And then you'd have uminokoe's PR #22 locally and can experiment all you want :smile:

diederikdehaas avatar Aug 30 '16 01:08 diederikdehaas

Hi,

Actually, I took a "cheat" way for now - just cloned his repository, as it matches to PR #22. Cut the corner a bit ... ;).

Compiled, and running right now. It does get AC working, that's awesome! One thing I did notice thought ... either pre- or post- PR #22, if I try "iw list" before running hostapd - the returned information is not complete. At least "Capabilities" is missing. After running hostapd, then this information shows up (some sort of initialization issue?).

Thanks!

arrmo avatar Aug 30 '16 02:08 arrmo

Thanks - much appreciated! It's funny, as the vht_capab you list above is pretty much what I have configured.

Odd, but I purposely left hostapd running last night, using the driver noted above - and while it's still running, I no longer see the SSID ... so it's crashed? Restarted hostapd, shows "wlan1: AP-ENABLED" ... but no SSID broadcast.

Thoughts?

Thanks again!

arrmo avatar Aug 31 '16 02:08 arrmo

Thanks for the thoughts! A few questions now,

  • hostapd, v2.5: do you find this better than v2.3? v2.3 is "stock" on Raspbian (what I'm running). I can try v2.5, no issues here.
  • my issue above: the fix was to rmmod and insmod, so remove and reinstall the driver. Seems to point to the driver then, no?
  • speed: need to check (iperf), but I do see 433 Mbps at the interface level.

Thanks again.

arrmo avatar Aug 31 '16 13:08 arrmo

Hi,

Perhaps a question as I try to work through this ... is there a capability to output debug information from the driver, perhaps to a specified file?

Thanks!

arrmo avatar Aug 31 '16 23:08 arrmo

is there a capability to output debug information from the driver

Yes, see/revert this commit: https://github.com/diederikdehaas/rtl8812AU/commit/49f88fb0ec13949c78a7ec56dfe0862e3d2e948b

diederikdehaas avatar Aug 31 '16 23:08 diederikdehaas

Hi,

OK, some testing here - hopefully some help, and some thoughts (and an explanation why your 200 Mbps result sounds correct ... :)).

  1. Tested a different driver / Wi-Fi adapter (Asus USB-N53): Wi-Fi rate ~ 225 Mbps, iperf (to RPi) ~ 100 Mbps. Just a baseline - seems OK for this device.
  2. Tested this driver (pull request), with Edimax ew-7811utc. Wi-Fi rate = 433 Mbps, iperf (to RPi) ~ 170 Mbps. Perhaps slightly limited, but not bad.
  3. Tested to a different machine on the network, with AC router. Wi-Fi rate 650 Mbps, iperf (Linux box) ~ 300 Mbps. Also seems OK.

So the observations, a) Remember that Wi-Fi is half-duplex, so if you get 1/2 of the Wi-Fi rate, things are about right. This is why I say your numbers seem reasonable, as do the testing results I found. Perhaps a very slight bit low in case #2 above, but I'm also not sure what the RPi can handle. I didn't test across the network (LAN speed only 100 Mbps for RPi), rather to the RPi itself. b) So the driver seems OK to me, from a speed perspective. But ... I had the driver "hang" again ... no SSID broadcast. Again had to remove and reinstall the driver. BTW, this is all with hostapd v2.5 (built it locally). To me this is the main concern ... driver exiting. Any thoughts on what to try to output to debug? Just crank up the debug level for now, log to a file?

By all means let me know your thoughts. Thanks!

arrmo avatar Sep 03 '16 02:09 arrmo

Hi,

I think your internet connection may be faster than mine ... ;). I only have 85 Mbps to the internet, and 100 Mbps from the RPi - that's why I was using iperf, to test to the box itself only. I would like to set up an internal speedtest (like speedtest.net), but not sure that's possible ... is it? That said, without that I'm limited to iperf, or by my internet connection.

I was at the gym this morning, was thinking the same thing - plan to try the driver on an Intel x86-64 box today. Will let you know.

Thanks!

arrmo avatar Sep 03 '16 15:09 arrmo

FYI, tested on an Intel machine, Ubuntu 16.04 -> driver build, hostapd running ... exactly the same as 2) above! Wi-Fi rate at 433 Mbps, then the output from iperf (tried iperf2 and iperf3, iperf3 below),

[ ID] Interval Transfer Bandwidth [ 5] 0.00-10.11 sec 201 MBytes 167 Mbits/sec sender [ 5] 0.00-10.11 sec 200 MBytes 166 Mbits/sec receiver

To me, overall this looks very good - your proposed updates seem to be working. I just need to see if the "crash" (for lack of a better term) is the driver, or hostapd.

Thanks!

arrmo avatar Sep 03 '16 20:09 arrmo

Just a quick msg from my side: I hope to be able to look into this and @uminokoe's PR next week, but the week thereafter is more likely. But I surely haven't forgotten this, just short on time atm.

diederikdehaas avatar Sep 03 '16 20:09 diederikdehaas

Not a worry here at least - we'll keep working through things. Thanks!

arrmo avatar Sep 03 '16 21:09 arrmo

No worries! FYI, here is an interesting test option, http://www.speedtest.net/mini.php

I did install it on my local box, it works fine ... so then you can test without the limitation of the Ethernet link out of the box.

arrmo avatar Sep 04 '16 11:09 arrmo

Yep, tried it here - same conclusion, agree with you! I think a mix of Speedtest and iperf makes sense - iperf because you can isolate the link between the client and server (alone).

Thanks!

arrmo avatar Sep 05 '16 12:09 arrmo

Example iw version 4.7 output of VHT capabilities after modifications to os_intfs.c

I tried iw list (iw version = 3.17) and didn't see those VHT capabilities. Therefor:

  1. If the driver doesn't report those capabilities, it seems likely that it also won't be used, right?
  2. Can you share a patch of the needed changes to os_ints.c so that I can also see them (on 4.3.22-beta)?

diederikdehaas avatar Oct 05 '16 01:10 diederikdehaas