WLAN performance von iwm

HeinB

New Member
Hallo zusammen,

da die Neuinstallation meines ThinkPad anstand und ich übersichtliche Systeme bevorzuge habe ich nach längerer Abwesenheit mal wieder OpenBSD (6.7) ausprobiert.

Die Installation war (selbst mit disk encryption) schnell erledigt und da die Hardware "passt" wurde alles erkannt. Habe noch ein paar desktopspezifische Einstellungen optimiert und ich bin - eigentlich - sehr zufrieden. Natürlich fühlt es sich etwas weniger "snappy" an als unter Linux und die Akkulaufzeit ist etwas kürzer - aber das ist alles im Rahmen und ein vernünftiger trade-off zu den Vorteilen.

Nur "eigentlich" deshalb, weil die Performance des WLAN's doch deutlich schlechter ist als zB unter einer Linux live Umgebung. Habe einiges getestet und komme auf so 1/4 bis 1/3 der Linux Übertragungsraten, so um die 3 MB/s was dann leider schon - für mich persönlich - störend langsam ist bei manchen Anwendungsfällen.

Meine Frage nun: die einschlägige man-page sagt dies:

----
CAVEATS

The iwm driver does not support any of the 802.11ac capabilities offered by the adapters. Support for 802.11n 40MHz channels and Tx aggregation is not yet implemented. Additional work is required in ieee80211(9) before those features can be supported.

This driver does not support powersave mode.
---

Ist damit die schwache Performance des WLAN Adapters erklärt oder kann ich da ggbf. irgendwie durch Konfiguration doch noch was herausholen?

Intel Dual Band Wireless AC 8260 im 2,4 GHZ WLAN, Test immer neben dem Router ...

Würde es sich lohnen, es einmal mit einem USB-WLAN Stick zu versuchen und falls ja welches Modell/Chipsatz? Mit Datenraten um die 8 MB/s könnte ich gut klarkommen und mit einem funktionierenden Powersave würde ich auch von der Akkulaufzeit nochmal näher an die von Linux heran kommen wobei die jetzige kein Problem ist.

Aber ohne externen Stick wäre natürlich schöner.

Vielen Dank und schöne Pfingsten

Heinz
 
Ich hab auch schon etwas negativ festgestellt das die WLAN-Performance unter OpenBSD langsamer ist, andererseits nutze ich das nicht soooo intensiv so das ich da noch nicht viel probiert habe.

Was ich festgestellt habe ist das es sich lohnen kann etwas mit der Kanaleinstellung des APs zu experimentieren, OpenBSD scheint da wesentlich empfindlicher zu sein als meine Windows Android & Apple geräte (Andere nutze ich nicht mit WLAN, deshalb kein Vergleich)

Ich werde nachher mal zum spaß etwas messen :)
 
Oha, vielen Dank für die Anregung mit der Kanaleinstellung, das habe ich tatsächlich noch nicht probiert weil es ja unter Linux auf dem Kanal gut läuft - hätte nicht gedacht das es da Unterschiede je nach OS geben könnte - wieder was gelernt ...

Werde ich mal ausprobieren und schauen ob sich was ändert.

Mir fällt gerade noch ein ich hatte den Eindruck es wäre etwas schneller mit ipv4 only statt mit auch ipv6 aktiv - also ohne inet6 parameter schneller ?!
 
Ich hab jetzt von meinen "OpenBSD NAS" das per LAN angeschlossen ist getestet, WLAN-AP ist meine Fritzbox.

Als Client dient mein Thinkpad T450s mit einer AC 7265.

Ich hab jedem Test die gleiche 1GB große Datei per HTTP übertragen - client der "built in" ftp von OpenBSD, httpd als Server.

Die Messung ist nur begrenzt aussagekräftig da auch noch andere WLAN-Geräte meiner Mitbewohner angemeldet sind.

1. Messung in meinem "Büro", ca. 1,5 Stockwerke oberhalb des Routers: 3,38 MB/s
2. Messung direkt neben dem Router: 3,59 MB/s
3. Messung per Gigabitlan: 45,9 MB/s

Grob zusammengefasst: Das ist wirklich nicht gerade schnell.
 
Das Protokoll, ob v4 oder v6 hat damit gar nichts zu tun. WiFi unter openbsd ist leider noch eine ziemliche Baustelle. Kannst du mit den APs das 5GHz Band nutzen? Ist es da besser/anders? Momentan ist da auch viel Entwicklung in dem Bereich, sodass du mit snapshots auch eher profitierst bzw. auch durch Tests aktiv helfen kannst.
 
Habe gerade noch etwas getestet.

Wechsel des WLAN Kanals hat bei mir nichts geändert.

Im 5GHz Band habe ich in der Nähe des AP etwas höhere Raten und komme bis auf ca 3,8 MB/s - allerdings wirds dafür dann - wie zu erwarten - mit zunehmendem Abstand sehr schnell schlechter als bei 2.4GHz.

Interressant finde ich, dass es laut Router 144MBit/s geben soll. Ok die Hälfte is ja eh "geschenkt" aber nach meiner Rechnung müssten dann dennoch ca das doppelte möglich sein als das was ich sehe ...

Habe in der Schublade noch einen USB Adapter TL-WN725N gefunden. Der wird sogar als urtwn0 erkannt und ist nach Installation der Firmware auch funktionsfähig. Die Manpage erwähnt ja schon, das es mit dem Teil maximal "g" wird und folgerichtig wird auch im Router die Verbindung mit 54MBit/s angegeben und ich war schon auf das schlimmste vorbereitet was den Speed angeht. Es ist auch langsamer als der eingebaute aber mit ca 2,4 MB/s sogar schneller als von mir erwartet.

Die Frage für mich ist jetzt:

Gibt es einen (USB-) WLAN Adapter der unter OpenBSD 6.7 zumindest um die 8 MB/s liefert? Den Umbau im Laptop würde ich derzeit gerne vermeiden.

Ansonsten werde ich, sobald ich diesen Laptop nicht mehr produktiv im Einsatz habe, auf -current wechseln und mal schauen ob es in dem Bereich Testbedarf gibt. Eigentlich schade, denn prinzipiell gefällt mir OpenBSD im Zusammenspiel mit der richtigen Hardware (spricht bei Laptop Thinkpad :-) ) eigentlich sehr gut und mit den sonstigen (Performance-)nachteilen gegenüber Linux kann ich gut leben.

Vielen Dank schon mal für eure Hinweise.
 
Ich habe hier etwas in der Mailingliste gefunden, was Dir evtl. helfen koennte:

https://marc.info/?l=openbsd-misc&m=151860657416280&w=2

Code:
The information we'd need to fix anyting is still not there because
what you are measuring is the result of an interaction between many
layers: application, sockets, TCP, IP, wifi, physical medium (radio).

In order to fix anything we'll need to determine which layer is
causing the problem, and why.

I can make a guess, based on my knowledge of how the wifi layer behaves:

The transmit rate used by wpi(4) is selected dynamically by the wifi layer.
The higher the selected transmit rate is the faster your TCP stream will
be because your TCP ACKs will flow faster.

In the current implementation, the wifi layer selects a transmit rate based
on the number of frame transmission retries reported by wpi(4) firmware.

Frame transmission retries at a given transmit rate will happen if either:

1) You are too far away from the AP. A lower rate has more chance
   of getting through so lowering the rate is a good idea.

or:

2) You are close to the AP but there is lots of unrelated wifi traffic
   on the same channel using up air time. Attempts to transmit a frame
   are often blocked by other legitimate frames on the air, so we need
   more than one attempt and all our attempts get counted as retries,
   and now we end up using a lower transmit rate.
   Using a lower rate in this situation means we use up more air time
   and make the problem even worse, not just for us but for everyone
   on this channel.

The access point density in many residential buildings today means that
case 2 is very likely and case 1 is very unlikely, especially on a 2GHz
channel. Adapting the transmit rate based on retries doesn't achieve
the desired result in this situation, so your download speed sucks.

You can test my theory by disabling the automatic rate selection algorithm
and tell wpi(4) to send all frames at a transmit rate of your choice.
To do so, associate to the AP, and now fix the transmit rate as shown below.
Repeat your test each time after changing the transmit rate.

  ifconfig wpi0 media OFDM6 mode 11g
  # repeat test
  ifconfig wpi0 media OFDM9 mode 11g
  # repeat test
  ifconfig wpi0 media OFDM12 mode 11g
  # repeat test
  ifconfig wpi0 media OFDM18 mode 11g
  # repeat test
  ifconfig wpi0 media OFDM24 mode 11g
  # repeat test
  ifconfig wpi0 media OFDM36 mode 11g
  # repeat test
  ifconfig wpi0 media OFDM48 mode 11g
  # repeat test
  ifconfig wpi0 media OFDM54 mode 11g
  # repeat test

If you find that one of these commands makes it work as fast as it does on
Windows, we can conclude that the problem is with OpenBSD's rate selection
algorithm. This algorithm is very old and dates from a time when wifi networks
were much less densly deployed. Windows is probably using a different algorithm
to make decisions about which transmit rate to use (for reference, it probably
uses a similar algorithm as was implemented in Intel's Linux iwlegacy driver,
in file 3945-rs.c of that driver's source code).
 
Mit FreeBSD sieht es doch gut aus, oder? Wäre das nicht ein ausschlaggebendes Kriterium, um FreeBSD anstatt OpenBSD zu nehmen?

Für meine Zwecke funktioniert es recht gut :rolleyes:

Ich habe hier etwas in der Mailingliste gefunden, was Dir evtl. helfen koennte:

https://marc.info/?l=openbsd-misc&m=151860657416280&w=2

Das werde ich mir nachher mal anschauen, klingt nach nem wertvollen Tip, @HeinB wollen wir da villeicht beide mal mit experimentieren und unsere Ergebnisse bei gelegenheit hier posten?
Das klingt ja recht einfach realisierbar.
 
Der Maillinglisteneintrag ist wirklich interessant. Habe mal mit den Modi für 11g herumgespielt und wie zu erwarten war verschlechtert sich die Datenrate gegenüber 11n.

Was mir auffällt ist, dass bei der Standardeinstellung "auto" häufig der MCS Wert wechselt obwohl ich mich nicht vom Fleck bewege. Anfangs dachte ich der wäre immer HT-MCS0 aber ich habe jetzt auch je nachdem zwischendurch andere anzeigen bis hoch zu HT_MCS12 bekommen. Ich würde gerne mal das autoselect ausschalten und es manuell setzen aber ich scheitere gerade noch.

Gemäss Media headers hätte ich vermutet, das analog zu

ifconfig iwm0 media OFDM54 mode 11g

was einwandfrei klappt so etwas wie

ifconfig iwm0 media HT_MCS1 mode 11n

funktioniert aber das will er nicht und antwortet mit unknown IEEE802.11 media subtype.

ifconfig iwm0 media auto mode 11n

nimmt er bei mir.

@CommanderZed

Egal welche Einstellungen ich vornehme und unabhängig vom Protokoll (teste in der Regel per NFS zur synology und per sftp zu einem Standrechner die beide am Gigabit LAN hängen) bekomme ich um die 3.5 bis max 3.8 MB/s wenn ich mich neben den Router stelle.

Zum "Vergleich" stehen die ca 10-12 MB/s die ich bekomme wenn ich die gleiche Hardware mit einem Linux Livesystem vom Stick teste. Das aber nur um zu sehen was die beteiligte Hardware "kann" und nicht weil ich solche Werte erwarten würde - ist halt nur mit ca 1/3 Geschwindigkeit ein ziemlich grosser Unterschied im Vergleich zu allen anderen Bereichen, in denen OpenBSD viel näher "dran ist" und welche ich bei halbwegs aktueller Hardware (bei mir <10 Jahre alt :-)) locker verschmerzen kann.

Irgendeine Idee, wie ich den Modus im 11n Modus fest einstellen kann? Wenn man sich nämlich IEEE_802.11n-2009 anschaut und dort die Datenrate für MCS0 dann bekomme ich eigentlich ja für diesen Modus die "korrekte" Datenrate.
 
Zurück
Oben