Date: Wed, 16 Sep 2020 23:43:18 +0100 From: James Wright <james.wright@digital-chaos.com> To: Adrian Chadd <adrian.chadd@gmail.com> Cc: "freebsd-wireless@freebsd.org" <freebsd-wireless@freebsd.org> Subject: Re: Edimax EW-7811Un (rtwn): Slow speeds / rate control Message-ID: <31c36c34-f1aa-3d4d-ccd3-3d76dc9bf69e@digital-chaos.com> In-Reply-To: <CAJ-Vmok2=0kOtOQLx70cE6EB0ZpqvuXfxinaL6T%2BU_VirxDHRA@mail.gmail.com> References: <b76ded4d-135a-9e0f-d25e-44bcf664ddc2@digital-chaos.com> <CAJ-Vmok2=0kOtOQLx70cE6EB0ZpqvuXfxinaL6T%2BU_VirxDHRA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 16/09/2020 22:36, Adrian Chadd wrote: > > > On Wed, 16 Sep 2020 at 13:41, James Wright <james.wright@digital-chaos.com <mailto:james.wright@digital-chaos.com>> wrote: > > Hi wireless gurus, > > I'm trying to understand why this USB wifi dongle is so slow under FreeBSD. > The max real-world download rate seems to be capped at ~900KB/sec (see wget below), > but with exactly the same hardware and conditions under Win10 I reach ~3MB/sec. > > > OS: FreeBSD 12.2-PRERELEASE (r365055) > Router: Virgin Media SuperHub 3 (802.11a/b/g/n/ac) > Hardware: Edimax EW-7811Un (RTL8188CUS) > Driver: rtwn > > % grep wlan /etc/rc.conf > wlans_rtwn0="wlan0" > ifconfig_wlan0="WPA SYNCDHCP" > create_args_wlan0="country GB > > % dmesg | grep rtwn > rtwn0 on uhub0 > rtwn0: <Realtek 802.11n WLAN Adapter, class 0/0, rev 2.00/2.00, addr 1> on usbus0 > rtwn0: MAC/BB RTL8188CUS, RF 6052 1T1R > > % sysctl dev.rtwn > dev.rtwn.0.rx_buf_size: 24 > dev.rtwn.0.ratectl_selected: 1 > dev.rtwn.0.ratectl: 1 > dev.rtwn.0.hwcrypto: 1 > dev.rtwn.0.debug: 0 > dev.rtwn.0.ht40: 0 > dev.rtwn.0.%parent: uhub0 > dev.rtwn.0.%pnpinfo: vendor=0x7392 product=0x7811 devclass=0x00 devsubclass=0x00 devproto=0x00 sernum="00e04c000001" > release=0x0200 mode=host intclass=0xff intsubclass=0xff intprotocol=0xff > dev.rtwn.0.%location: bus=0 hubaddr=1 port=1 devaddr=2 interface=0 ugen=ugen0.2 > dev.rtwn.0.%driver: rtwn > dev.rtwn.0.%desc: Realtek 802.11n WLAN Adapter, class 0/0, rev 2.00/2.00, addr 1 > dev.rtwn.%parent: > > % ifconfig wlan0 > wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 > ether 74:da:38:8b:e1:10 > inet 192.168.0.12 netmask 0xffffff00 broadcast 192.168.0.255 > groups: wlan > ssid VM5909357 channel 6 (2437 MHz 11g ht/20) bssid c0:05:c2:57:8d:69 > regdomain ETSI country GB authmode WPA2/802.11i privacy ON > deftxkey UNDEF AES-CCM 2:128-bit AES-CCM 3:128-bit txpower 30 bmiss 7 > scanvalid 60 protmode CTS ht20 ampdulimit 64k ampdudensity 8 shortgi > -stbc -ldpc wme roaming MANUAL > media: IEEE 802.11 Wireless Ethernet MCS mode 11ng > status: associated > nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> > > % ifconfig wlan0 scan > SSID/MESH ID BSSID CHAN RATE S:N INT CAPS > VM5909357 c0:05:c2:57:8d:69 6 54M -78:-95 100 EPS HTCAP WME ATH RSN > > % ifconfig wlan0 list sta > ADDR AID CHAN RATE RSSI IDLE TXSEQ RXSEQ CAPS FLAG > c0:05:c2:57:8d:69 1 6 65M 21.5 0 28562 4816 EPS AQEHTRs HTCAP WME ATH RSN (rssi 0.0:0.0:0.0:0.0 nf > 0:0:0:0) > > % wget https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.1/FreeBSD-12.1-RELEASE-amd64-dvd1.iso > FreeBSD-12.1-RELEASE-amd64-dvd1.iso > <https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.1/FreeBSD-12.1-RELEASE-amd64-dvd1.isoFreeBSD-12.1-RELEASE-amd64-dvd1.iso> > 0%[ ] 19.05M 947KB/s eta 79m 18s > > > % wlandebug +rate > $ dmesg > wlan0: [c0:05:c2:57:8d:69] AMRR: current rate 6, txcnt=11, retrycnt=6 > wlan0: [c0:05:c2:57:8d:69] AMRR decreasing rate 5 (txcnt=11 retrycnt=6) > wlan0: [c0:05:c2:57:8d:69] AMRR: current rate 5, txcnt=36, retrycnt=1 > wlan0: [c0:05:c2:57:8d:69] AMRR increasing rate 6 (txcnt=36 retrycnt=1) > wlan0: [c0:05:c2:57:8d:69] AMRR: current rate 6, txcnt=37, retrycnt=7 > wlan0: [c0:05:c2:57:8d:69] AMRR: current rate 6, txcnt=36, retrycnt=9 > wlan0: [c0:05:c2:57:8d:69] AMRR: current rate 6, txcnt=36, retrycnt=2 > wlan0: [c0:05:c2:57:8d:69] AMRR increasing rate 7 (txcnt=36 retrycnt=2) > wlan0: [c0:05:c2:57:8d:69] AMRR: current rate 7, txcnt=36, retrycnt=5 > wlan0: [c0:05:c2:57:8d:69] AMRR: current rate 7, txcnt=36, retrycnt=5 > wlan0: [c0:05:c2:57:8d:69] AMRR: current rate 7, txcnt=37, retrycnt=12 > wlan0: [c0:05:c2:57:8d:69] AMRR: current rate 7, txcnt=36, retrycnt=7 > wlan0: [c0:05:c2:57:8d:69] AMRR: current rate 7, txcnt=36, retrycnt=10 > > As you can see the MCS rate is being set by wlan_amrr to MCS 6 and 7, but the actual real-world download rate > remains firmly stuck at around ~900KB/sec (!) > > Please could someone with knowledge of the FreebSD wifi stack help diagnose this problem with me? > > > hi! > > You can experiment with limiting the unicast rate - eg ifconfig wlan0 ucastrate 3 for MCS3 when it's in 11n mode. > > AMRR isn't the best at all at 802.11n rate selection. It may just be over-estimating how great the channel is behaving. > > However, that's just the transmit rate control. The remote end (ie the sender) is making choices on what rate to use > when transmitting to you. So let's see if we can first limit bad choices (and thus taking up too much airtime) > transmitting data BACK, and then we can figure out what's up with download speeds. > > > > -adrian > Hi Adrian, thanks for your time and the explanation, much appreciated! I tried setting ucastrate 3 and it made no difference to the download rate; % ifconfig wlan0 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 74:da:38:8b:e1:10 inet 192.168.0.12 netmask 0xffffff00 broadcast 192.168.0.255 groups: wlan ssid VM5909357 channel 6 (2437 MHz 11g ht/20) bssid c0:05:c2:57:8d:69 regdomain ETSI country GB authmode WPA2/802.11i privacy ON deftxkey UNDEF AES-CCM 2:128-bit AES-CCM 3:128-bit txpower 30 bmiss 7 ucastrate 3 scanvalid 60 protmode CTS ht20 ampdulimit 64k ampdudensity 8 shortgi -stbc -ldpc wme roaming MANUAL media: IEEE 802.11 Wireless Ethernet MCS mode 11ng status: associated nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> % wget https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.1/FreeBSD-12.1-RELEASE-amd64-dvd1.iso FreeBSD-12.1-RELEASE-amd64-dvd1.iso. 0%[ ] 8.87M 806KB/s eta 81m 35s
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?31c36c34-f1aa-3d4d-ccd3-3d76dc9bf69e>