PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : WLAN Bitrate spinnt


anakin87
2011-12-28, 11:25:17
Hallo Leute,
seit meinem letzten Kernelupgrade von 3.1.4 auf 3.1.5 spinnt meine Übertragungsrate vom WLAN (das Problem ist nicht Servicebezogen tritt bei smb und sshfs auf)
Also mein Notebook (hp 8440p mit Gentoo x86_64) besitzt eine Intel der 6000er Serie laut lspci, es dürfte sich um eine 6300 handeln, kann ich jetzt aber nicht beweisen.
So das Szenario sieht so aus, mein Rechner ist per Gbit LAN am N-Draft Router angeschlossen und lade ich mir per Notebook Daten dann schaff ich so an die 20.000 KB/s unter "normalen" Bedinnungen, jedoch unter dem neuen Kernel nur zwischen 300-800 KB/s WTF?


iwconfig wlan0 #unter Kernel 3.1.5
Bit Rate=115.6 Mb/s
Link Quality=70/70
Signal level = -35 dBm

iwconfig wlan0 #unter Kernel 3.1.4
Bit Rate=216 Mb/s
Link Quality=70/70
Signal level = -35 dBm


Ok dachte vl. ist beim Builden vom Kernel etwas daneben gegangen.
1. nahm die alte .config aus 3.1.4 und nochmal rein in 3.1.5
2. make clean && make -j5 && make modules_install
3. kernel auf bootpartition und im grub neu eingetragen

Es half leider auch nicht und iwi finde ich es seltsam dass iwconfig 2 verschiedene Bitraten aufzeigt...
Ah ja falls die .config für den neuen Kernel zu ändern wäre, hätte er mich beim make darauf hingewiesen, dass neue Optionen verfügbar sind und mit [y]/[n] zustimmen oder ablehnen - dem war aber nicht so...

dmesg will ich euch nicht vorenthalten sieht aber für mich OK aus

[ 34.656510] iwlagn 0000:44:00.0: L1 Disabled; Enabling L0S
[ 34.663078] iwlagn 0000:44:00.0: Radio type=0x0-0x3-0x1
[ 34.901540] iwlagn 0000:44:00.0: L1 Disabled; Enabling L0S
[ 34.908110] iwlagn 0000:44:00.0: Radio type=0x0-0x3-0x1
[ 35.013911] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 38.676335] wlan0: authenticate with 00:00:00:00:00:00 (try 1)
[ 38.679074] wlan0: authenticated
[ 38.679186] wlan0: associate with 00:00:00:00:00:00 (try 1)
[ 38.682868] wlan0: RX AssocResp from 00:00:00:00:00:00 (capab=0x411 status=0 aid=1)
[ 38.682874] wlan0: associated
[ 38.692299] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 49.359903] wlan0: no IPv6 routers present
[ 68.147517] ata1.00: configured for UDMA/100
[ 68.147525] ata1: EH complete
[ 69.090219] EXT4-fs (dm-1): re-mounted. Opts: commit=0
[ 69.363493] EXT4-fs (dm-3): re-mounted. Opts: commit=0
[ 80.342168] testparm used greatest stack depth: 3832 bytes left
[ 125.672400] iwlagn 0000:44:00.0: Tx aggregation enabled on ra = 00:00:00:00:00:00 tid = 0
[ 394.380514] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.


So und jetzt hab ich keinen Plan was da los ist...
Spinnen meine wirelesstools? Oder hat wpa_supplicant wieder was?
ucode6000 neu eincompiliern?

Beste Grüße
anakin87

EDIT:
Ok, laut hwinfo is es wirklich eine intel 6300 und die gentoo wiki meint dass iwl6000-ucode als firmware dafür angebracht ist, diese war auch installiert (und wiederinstalliert) - hm und jetzt?

G!ZMo
2011-12-28, 20:42:03
Sieht fast so aus, als ob die Karte mit dem neueren Kernel nur noch mit 20MHz-Kanalbreite läuft statt mit 40MHz... aber wie sich das beheben lässt kA. :(

anakin87
2011-12-28, 22:03:59
Ah super dachte es meldet sich keiner mehr... verzweifle schon etwas.
Hm? Das läuft über den Kernel? Dachte immer das wird per wirelessprogramm und treiber (wext) bzw. firmware/modul (iwlagn) geregelt? Weil die sollten sich ja nicht geändert haben...
Kannst du mir dass bitte etwas genauer schildern, bin ein bisschen verwirrt. Die Werte 20 und 40 MHz hast du woher? Jetzt hab ich Blut geleckt und wills wissen was los ist ;D dann wird gebastelt bis der Tux kommt

G!ZMo
2011-12-28, 23:58:20
Ich meinte auch eher das iwlagn-Kernelmodul... möglicherweise wurde da mit der aktuellen Kernelversion der Support für 40MHz breite Kanäle im 2,4GHz-Band deaktiviert.

Kannst du noch mal deine Kernelconfig überprüfen? Vllt ist ja doch der Parameter "cfg80211_disable_40mhz_24ghz" aktiv. (http://linuxwireless.org/en/users/Documentation/module-parameters)

Dazu wäre auch mal die Ausgabe von "modinfo cfg80211" interessant.

anakin87
2011-12-29, 11:28:53
Das ist etwas seltsam, im Kernel siehts grad so aus...

Networking support

Wireless --->
<*>cfg80211 - wireless configuration API

enable powersave by default

wireless extensions compatibility

Wireless extensions sysfs files

<*>Generic IEEE 802.11 Networling Stack (mac80211)
-*-Enable LED triggers


Und in der Device Drivers Sektion hab ich "nur" das iwlagn als Modul aktiviert, da sind auch Optionen wie iwlwifi device svtool support und iwlwifi experimental P2P support aber nicht aktiviert

Ok denk ich mir, das muss doch zu finden sein... mal ein .config Auszug

cat .config | grep 80211
CONFIG_CFG80211=y
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_REG_DEBUG is not set
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
# CONFIG_CFG80211_INTERNAL_REGDB is not set
CONFIG_CFG80211_WEXT=y
# CONFIG_LIB80211 is not set
CONFIG_MAC80211=y
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_MINSTREL_HT=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
# CONFIG_MAC80211_MESH is not set
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
# CONFIG_MAC80211_HWSIM is not set


Ach ja es gibt kein Modul mit cfg80211 -> modprobe -l liefert da "nur" iwlagn und die nicht so relevanten wie vmware-zeugs, nvidia, usw.
aber ein modinfo iwlagn


filename: /lib/modules/3.1.5-gentoo/kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
license: GPL
author: Copyright(c) 2003-2011 Intel Corporation <ilw@linux.intel.com>
version: in-tree:
description: Intel(R) Wireless WiFi Link AGN driver for Linux
firmware: iwlwifi-5150-2.ucode
firmware: iwlwifi-5000-5.ucode
firmware: iwlwifi-6000g2b-5.ucode
firmware: iwlwifi-6000g2a-5.ucode
firmware: iwlwifi-6050-5.ucode
firmware: iwlwifi-6000-4.ucode
firmware: iwlwifi-100-5.ucode
firmware: iwlwifi-1000-5.ucode
firmware: iwlwifi-135-IWL135_UCODE_API_MAX.ucode
firmware: iwlwifi-105-5.ucode
firmware: iwlwifi-2030-5.ucode
firmware: iwlwifi-2000-5.ucode
srcversion: E01F3F76FD4B4DA8D5D3D76
alias: pci:v00008086d00000892sv*sd00000466bc*sc*i*
...
...
...
alias: pci:v00008086d00004232sv*sd00001201bc*sc*i*
depends:
vermagic: 3.1.5-gentoo SMP mod_unload
parm: swcrypto:using crypto in software (default 0 [hardware]) (int)
parm: queues_num:number of hw queues. (int)
parm: 11n_disable:disable 11n functionality (int)
parm: amsdu_size_8K:enable 8K amsdu size (int)
parm: fw_restart:restart firmware in case of error (int)
parm: ucode_alternative:specify ucode alternative to use from ucode file (int)
parm: antenna_coupling:specify antenna coupling in dB (defualt: 0 dB) (int)
parm: bt_ch_inhibition:Disable BT channel inhibition (default: enable) (bool)
parm: plcp_check:Check plcp health (default: 1 [enabled]) (bool)
parm: ack_check:Check ack health (default: 0 [disabled]) (bool)
parm: wd_disable:Disable stuck queue watchdog timer (default: 0 [enabled]) (bool)
parm: bt_coex_active:enable wifi/bt co-exist (default: enable) (bool)
parm: led_mode:0=system default, 1=On(RF On)/Off(RF Off), 2=blinking (default: 0) (int)
parm: power_save:enable WiFi power management (default: disable) (bool)
parm: power_level:default power save level (range from 1 - 5, default: 1) (int)
parm: no_sleep_autoadjust:don't automatically adjust sleep level according to maximum network latency (default: true) (bool)



Moment der Post ist noch nicht fertig

G!ZMo
2011-12-29, 14:24:22
Puuhh... langsam bin ich überfragt, da ich in meinem Linux-Rechner kein WLAN nutze :(
Unter Arch siehts bei mir so aus:

[alexr@e3110 ~]$~> modinfo cfg80211
filename: /lib/modules/3.1.5-1-ARCH/kernel/net/wireless/cfg80211.ko.gz
description: wireless configuration support
license: GPL
author: Johannes Berg
depends: rfkill
vermagic: 3.1.5-1-ARCH SMP preempt mod_unload modversions
parm: ieee80211_regdom:IEEE 802.11 regulatory domain code (charp)
parm: cfg80211_disable_40mhz_24ghz:Disable 40MHz support in the 2.4GHz band (bool)

Aber irgendwo muss man den doch setzen können.... -.-

Hayab
2011-12-29, 14:46:51
Wass passiert wenn du das Modul von den 3.1.4 Kernel laden tust anstatt das von dem 3.1.5.

Wenn das Problem weiter auftritt liegt der Fehler nicht im Modul selbst, sondern irgendwo im kernel (vielleicht nicht aktivierte watchdogtimer oder irgendwelche virtuellen filesystems)

anakin87
2011-12-29, 18:34:14
Leute das glaubt ihr mir nicht!!11!1
Die cfg80211_disable_40mhz_24ghz hab ich leider immer noch nicht gefunden, aber heute kam 3.1.6 raus womit meine Hoffnungen wieder stiegen, aber nix war - selbiges Problem.
Gut dacht ich mir jetzt wird experimentiert und ich bin hergegangen, hab das Modul iwlagn nicht modular sonder fix in den Kernel eingebaut - siehe da ich komm schon mal auf 17.000KB/s aber vl. ist noch mehr drin - leider ist mir dann KDE 4.7.4 verreckt und auch nload wollt mir keinen Durchsatz anzeigen :(

Ich werd noch etwas rumtesten, aber ich hoffe damit hat es sich.
@Hayab geile Idee, warum hatte ich die nicht? Wenn es nicht hilft werd ich mal deinen Vorschlag austesten. ;)

So bis in ein paar min & THX für die Hilfe hoffe es geht so weiter :D

EDIT
Mist das war wohl nix - geht nach dem Reboot wieder nicht und ich war davon überzeut dass das fix einkompilierte Modul hilft

EDIT2
G** D***IT, Y U WONT WORK?!?!
Ich hab jetzt auch russisch das "alte" iwlagn.ko Modul aus dem 3.1.4 über das vom 3.1.6 kopiert
modprobe -r iwlagn && modprobe iwlagn.ko
und hat leider nix gebracht außer, dass ich nun recht fix sagen kann das Modul "muss" ok sein.... und nun?
Eins stört mich aber massivst, denn warum hat es kurzfristig (1-2min) mit dem fix eingebautem Modul funktioniert (bis mir KDE verreckt ist) - sowas versteh ich nicht

Hayab
2011-12-31, 02:09:56
Bei rh ist schon in Bugliste drin.
Broken 802.11a 5G and 802.11n 2.4G support

anakin87
2011-12-31, 15:29:26
Ja mal ein kurzes Update....
Hm stimmt hab ich heute auch gesehn - google und "iwlagn regression" wirft ohne Ende Ergebnisse... wie z.B. http://patchwork.ozlabs.org/patch/131185/
Leider bin ich noch nicht dazugekommen dem genauer nachzugehen, aber ich halte euch am Laufenden.
Falls ihr weitere Ideen bzw. Infos hab immer her damit, bin für jegliche Hilfe dankbar ;)

EDIT:
Hm anscheinend hat sich wer entschlossen den Kernel 3.1.6 als stable ins Repo zu stecken und es funkt halt einfach nicht :( und sowas schimpft sich "stable"
Fedora dürfe es anscheinend geschafft haben im 3.1.6 das zu fixen http://lists.fedoraproject.org/pipermail/package-announce/2011-December/071332.html
mal schaun ob und wann Gentoo nachzieht....


EDIT II:
Eins stört mich aber schon noch so richtig, warum wird mir unter iwconfig wlan0 eine so "hohe" Datenrate angezeigt (130Mb/s welches die Bruttorate sein müsste) und die "echte" Übertragungsrate nur 5-7Mb/s?
So krass kann der Unterschied doch nicht sein zwischen Brutto und Netto, oder?

EDIT III:
Anscheinend hattet ihr recht damit dass die Kanalbreite von 40 auf 20MHz zurückspringt
Lösung erfolgt wie im Link oben von patchwork.ozlabs.org

1. öffnen von /usr/src/<your_kernel>/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
2. nach der int iwlagn_mac_config(struct ieee80211_hw *hw, u32 changed)
3. sucht nach diesem Block
if (ctx->ht.enabled) {
/* if HT40 is used, it should not change
* after associated except channel switch */
if (iwl_is_associated_ctx(ctx) &&
!ctx->ht.is_40mhz)
iwlagn_config_ht40(conf, ctx);
} else
ctx->ht.is_40mhz = false;

ersetzt das

if (iwl_is_associated_ctx(ctx) &&
!ctx->ht.is_40mhz)


damit
if ((iwl_is_associated_ctx(ctx) &&
!ctx->ht.is_40mhz) ||
!iwl_is_associated_ctx(ctx))


4. gcc -c iwl-agn-rxon.c
5. cd /usr/src/<your_kernel>
6. make modules_install
7. modprobe -r iwlagn
8. modprobe iwlagn
9. erneut die WLAN-Verbindung aufbauen und fertig

special thanks an die Leute von patchwork.ozlabs.org -> so ich hoffe das hilft Leuten mit ähnlichen bzw. dem gleichen Problem...

G!ZMo
2012-01-05, 19:55:51
Gibt auch mittlerweile einen 3.1.7er-Kernel. Vllt wurde es ja dort endlich allgemein gefixt.

Edit: Die 5-7MB/s passen schon für 130MBit/s, ich schaffe mit meinem MacBook an einer FritzBox 7390 auch so ~8-9MB/s bei 130MBit/s im 2,4GHz-Band. Unter OSX läuft das WLAN im 2,4GHz-Band sowieso immer nur mit 20MHz-Kanalbreite, obwohl meine WLAN-Karte auch 40MHz beherrscht - unter Linux gehen dann nämlich 243MBit/s und es kommen ~15-16MB/s raus...

anakin87
2012-01-06, 00:02:49
Gefixt war es erst als heut 3.2 rausgekommen ist ;D
Naja so grob müssten 7MB/s 56MBit sein und der Rest auf 130 ist Overhead? Echt jetzt?
Aber ich hab oben eh 5-7MBit gemeint bei einer 130MBit Verbindung und das ist dann schon recht mikrig.
Warum macht man bei OSX sowas? Keine Treiber? Absicht?

G!ZMo
2012-01-06, 08:52:39
Naja bei WLAN geht doch grob geschätzt immer ~50% für den Overhead drauf :D

Dass bei OSX im 2,4GHz-Band nur 20MHz Kanalbreite möglich sind ist so gewollt. Das Diagramm (http://upload.wikimedia.org/wikipedia/commons/8/84/NonOverlappingChannels2.4GHzWLAN-en.svg) triffts eigentlich ganz gut: Da ist gut zu erkennen, dass bei der Nutzung von 40MHz Kanalbreite gerade mal 2 überlappungsfreie Kanäle übrig bleiben.