Warnings in mac80211 (latest rt2x00 git)

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=4679

Fjodor

20-03-2008 12:07:07

Dunno if this is because of rt2x00 or if I should contact the mac80211 guys, but with rt2x00 latest git, I get a lot of the following when scp'ing from my laptop (speeds are around 8-900KB/s with intermittent drops)

[ 4551.174787] WARNING at net/mac80211/rx.c2184 __ieee80211_rx+0x66/0x6b0 [mac80211]()
[ 4551.174789] Modules linked in binfmt_misc nfsd lockd nfs_acl auth_rpcgss sunrpc exportfs powernow_k8 cpufreq_powersave cpufreq_userspace cpufreq_conservative video output wmi sbs sbshc dock ac battery w83627hf hwmon_vid eeprom af_packet arc4 ecb crypto_blkcipher snd_via82xx tuner tea5767 tda8290 tuner_xc2028 tda9887 tuner_simple gameport snd_mpu401_uart mt20xx tea5761 snd_via82xx_modem snd_ac97_codec ac97_bus tvaudio snd_seq_dummy snd_seq_oss msp3400 snd_seq_midi snd_bt87x snd_rawmidi rt2500pci rt2x00pci rt2x00lib snd_pcm_oss bttv snd_seq_midi_event mac80211 snd_seq snd_mixer_oss firmware_class ir_common compat_ioctl32 snd_pcm snd_seq_device videodev v4l1_compat v4l2_common videobuf_dma_sg videobuf_core btcx_risc snd_timer cfg80211 nvidia(P) snd psmouse k8temp hwmon eeprom_93cx6 tveeprom snd_page_alloc soundcore serio_raw button evdev usbhid ide_cd_mod cdrom ide_disk floppy ehci_hcd ide_pci_generic via82cxxx uhci_hcd ide_core skge unix thermal fan fuse
[ 4551.174840] Pid 0, comm swapper Tainted P 2.6.25-rc4-amd64-1-wl #1
[ 4551.174842]
[ 4551.174842] Call Trace
[ 4551.174844] <IRQ> [<ffffffff802351f4>] warn_on_slowpath+0x64/0x90
[ 4551.174869] [<ffffffff80250916>] getnstimeofday+0x36/0x90
[ 4551.174874] [<ffffffff80250980>] do_gettimeofday+0x10/0x50
[ 4551.174882] [<ffffffff88a2ac65>] rt2x00librt2x00debug_dump_frame+0x25/0x2d0
[ 4551.174896] [<ffffffff889c8316>] mac80211__ieee80211_rx+0x66/0x6b0
[ 4551.174913] [<ffffffff889b6bb2>] mac80211ieee80211_tasklet_handler+0x152/0x160
[ 4551.174923] [<ffffffff8023b188>] tasklet_action+0x48/0xb0
[ 4551.174927] [<ffffffff8023b069>] __do_softirq+0x69/0xe0
[ 4551.174933] [<ffffffff8020c72c>] call_softirq+0x1c/0x30
[ 4551.174937] [<ffffffff8020ee05>] do_softirq+0x35/0x70
[ 4551.174940] [<ffffffff8023af05>] irq_exit+0x95/0xa0
[ 4551.174943] [<ffffffff8020eef0>] do_IRQ+0x80/0x100
[ 4551.174947] [<ffffffff8020ba81>] ret_from_intr+0x0/0xa
[ 4551.174949] <EOI> [<ffffffff8020a1e1>] default_idle+0x31/0x60
[ 4551.174962] [<ffffffff8020a1dc>] default_idle+0x2c/0x60
[ 4551.174964] [<ffffffff8020a1b0>] default_idle+0x0/0x60
[ 4551.174966] [<ffffffff8020a287>] cpu_idle+0x77/0xe0
[ 4551.174982]
[ 4551.174984] ---[ end trace 459989ec51c2d355 ]---
[ 4555.059058] ------------[ cut here ]------------


I hope that makes sense ;-)

Best regards and "keep up the good work!"s,

F

IvD

20-03-2008 12:17:15

This is a rt2x00 bug, it means that rt2x00 has not recognized the rate which was used to transmit the frame with. mac80211 will print the error and drop the frame immediately.

Could you try attached patch?
That will add an extra debug message with some more information about the frame what was received. With the information from that debugmessage I can look what information is passed from the device.

Fjodor

20-03-2008 12:23:06

Compiling. Will get back with results ;-)

/F

Fjodor

20-03-2008 13:22:55

drivers/net/wireless/rt2x00/rt2x00dev.c In function ‘rt2x00lib_rxdone’
drivers/net/wireless/rt2x00/rt2x00dev.c591 error ‘struct rxdone_entry_desc’ has no member named ‘dev_flags’
make[5] *** [drivers/net/wireless/rt2x00/rt2x00dev.o] Error 1

?

Fjodor

20-03-2008 13:31:21

Compiling with flags instead of dev_flags there. Hope that is right ;-)

IvD

20-03-2008 15:47:04

Actually that isn't correct, are you sure you have the latest rt2x00.git?

You need patch
http//git.kernel.org/?p=linux/kernel/g ... 88cdcfec3e

If you don't have that patch either update, or change dev_flags to signal_plcp

Fjodor

20-03-2008 17:59:26

Hmmm, I must have missed that update somehow -$

Compiling once again...

Best regards,

F

Fjodor

20-03-2008 18:54:21

sune@jekaterina~$ dmesg |grep Error
[ 632.882820] phy0 -> rt2x00lib_rxdone Error - Problem detected with RX frame signal 12, flags 2.
[ 649.577670] phy0 -> rt2x00lib_rxdone Error - Problem detected with RX frame signal 12, flags 2.
sune@jekaterina~$

Hope this makes it clearer ;-)

/F

IvD

20-03-2008 19:05:06

Hmm thats odd...

To give a translation as what that the error message claims
Frame received with 54Mbit (12 is the PLCP value for 54Mbit), but the rate was not OFDM. So this means the device is contradicting itself...

How often do you get this message, and it it always signal=12 or does that variate a bit?

Fjodor

20-03-2008 19:09:30

7 identical messages so far, transfering around 800MB so far...

IvD

20-03-2008 19:29:23

ok, this probably means this is a hardware bug because it isn't setting the OFDM flag correctly in all circumstances.

I've committed a fix which will print an error message, but changes the rate value to something mac80211 will accept, that way the frame will not be dropped by mac80211.

So your log will still contain error messages, but at least no more stack traces or dropped frames. ;)

Fjodor

20-03-2008 19:57:08

Excellent! Thank you very much as always -)

Best regards,

F