Bug 530695 - iwlagn loses WiFi network (ASUS N51VF laptop)
Summary: iwlagn loses WiFi network (ASUS N51VF laptop)
Keywords:
Status: CLOSED DUPLICATE of bug 493018
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 11
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Stanislaw Gruszka
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-10-24 09:57 UTC by The Source
Modified: 2010-01-13 13:39 UTC (History)
9 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2010-01-13 13:39:01 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description The Source 2009-10-24 09:57:09 UTC
Description of problem:
Sometimes the connection to WiFi router is lost for no reason. Network name is still present in the list ('iwlist scan' also detects it), but the connection can not be restored somehow. Other laptops (Windows based) remain connected, so it's not router problem. Rebooting the system helps. The bug is random but the chance of reproducing increases if WiFi traffic from/to laptop is high. I don't know how get some logs explaining the problem, so it would be nice to get some instructions, thank you.

Version-Release number of selected component (if applicable):
kernel-2.6.30.9-90.fc11.x86_64

How reproducible:
random

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Nicolas A. Barriga 2009-11-20 21:28:26 UTC
I have the same problem. It seems to be caused by high temperature in the wifi card. In Fedora 11 my solution was to lower the signal power in the card:
echo 5 > /sys/bus/pci/drivers/iwlagn/0000\:02\:00.0/power_level

This no longer works in Fedora 12, I cannot modify that file.
To read the temperature of the card use:
cat /sys/bus/pci/drivers/iwlagn/0000\:02\:00.0/temperature

Over 65 degrees seems to be unstable.

My dmesg output just before the card stops transmitting:
iwlagn 0000:02:00.0: Error sending REPLY_SCAN_ABORT_CMD: time out after 500ms.                                                                                         
wlan0: deauthenticating by local choice (reason=3)
iwlagn 0000:02:00.0: Error sending REPLY_SCAN_ABORT_CMD: time out after 500ms.
iwlagn 0000:02:00.0: Aborted scan still in progress after 100ms
iwlagn 0000:02:00.0: Error sending REPLY_SCAN_ABORT_CMD: time out after 500ms.


Also, removing the iwlagn and reloading it works, no need to reboot the system.

Comment 2 Nicolas Troncoso Carrere 2009-11-20 21:32:59 UTC
This is also true for DELL E6500

lspci info:

0c:00.0 Network controller: Intel Corporation PRO/Wireless 5300 AGN [Shiloh] Network Connection
        Subsystem: Intel Corporation Device 1121
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 31
        Region 0: Memory at f1ffe000 (64-bit, non-prefetchable) [size=8K]
        Kernel driver in use: iwlagn
        Kernel modules: iwlagn

Exact same problem and solution as described in comment #1

Comment 3 Nicolas A. Barriga 2009-11-20 21:39:56 UTC
Forgot to add the info for my card(laptop HP pavillion dv7-1025nr):

02:00.0 Network controller: Intel Corporation PRO/Wireless 5100 AGN [Shiloh] Network Connection
        Subsystem: Intel Corporation Device 1211                                               
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- 
        Latency: 0                                                                                           
        Interrupt: pin A routed to IRQ 33                                                                    
        Region 0: Memory at de200000 (64-bit, non-prefetchable) [size=8K]                                    
        Capabilities: <access denied>                                                                        
        Kernel driver in use: iwlagn                                                                         
        Kernel modules: iwlagn

Comment 4 Stanislaw Gruszka 2010-01-08 09:55:18 UTC
I think we have tow di(In reply to comment #0)
> I don't
> know how get some logs explaining the problem, so it would be nice to get some
> instructions, thank you.

Login as root and see what is in /var/log/messages.

Comment 5 Stanislaw Gruszka 2010-01-08 10:16:46 UTC
(In reply to comment #1)
> I have the same problem. It seems to be caused by high temperature in the wifi
> card. In Fedora 11 my solution was to lower the signal power in the card:
> echo 5 > /sys/bus/pci/drivers/iwlagn/0000\:02\:00.0/power_level
>
> This no longer works in Fedora 12, I cannot modify that file.

Yep, in commit 

commit e312c24cf8229f9b6e76dbfd5d99eefe21f4ac0a
Author: Johannes Berg <johannes>
Date:   Fri Aug 7 15:41:51 2009 -0700

    iwlwifi: automatically adjust sleep level

we removed that file. Looks like intention was to allow driver/mac80211 layer to automatic manage power, hmm...

> To read the temperature of the card use:
> cat /sys/bus/pci/drivers/iwlagn/0000\:02\:00.0/temperature
>
> Over 65 degrees seems to be unstable.
>
> 
> My dmesg output just before the card stops transmitting:
> iwlagn 0000:02:00.0: Error sending REPLY_SCAN_ABORT_CMD: time out after 500ms.  
> wlan0: deauthenticating by local choice (reason=3)
> iwlagn 0000:02:00.0: Error sending REPLY_SCAN_ABORT_CMD: time out after 500ms.
> iwlagn 0000:02:00.0: Aborted scan still in progress after 100ms
> iwlagn 0000:02:00.0: Error sending REPLY_SCAN_ABORT_CMD: time out after 500ms.

So these "time out after 500ms" errors are related with temperature of the device? That would explains a lot.

Comment 6 Stanislaw Gruszka 2010-01-08 13:10:30 UTC
Please run below script to confirm if hungs of device are related with temperature. Scrip log device temperature every minute. If problems occurs, we will be able to see if at the same time temperature increase.

#!/bin/bash
while true ; do 
logger wlan0 temp `cat /sys/class/net/wlan0/device/temperature`
sleep 60
done

Comment 7 reinette chatre 2010-01-08 16:46:47 UTC
(In reply to comment #5)
> (In reply to comment #1)
> > I have the same problem. It seems to be caused by high temperature in the wifi
> > card. In Fedora 11 my solution was to lower the signal power in the card:
> > echo 5 > /sys/bus/pci/drivers/iwlagn/0000\:02\:00.0/power_level
> >
> > This no longer works in Fedora 12, I cannot modify that file.
> 
> Yep, in commit 
> 
> commit e312c24cf8229f9b6e76dbfd5d99eefe21f4ac0a
> Author: Johannes Berg <johannes>
> Date:   Fri Aug 7 15:41:51 2009 -0700
> 
>     iwlwifi: automatically adjust sleep level
> 
> we removed that file. Looks like intention was to allow driver/mac80211 layer
> to automatic manage power, hmm...


Note that that patch added the debugfs file "sleep_level_override" that can be used as power_level was used before.

Comment 8 Stanislaw Gruszka 2010-01-11 08:17:06 UTC
(In reply to comment #1)
> echo 5 > /sys/bus/pci/drivers/iwlagn/0000\:02\:00.0/power_level
> 
> This no longer works in Fedora 12, I cannot modify that file.
> To read the temperature of the card use:

I missed that power_level file was removed entirely in 2.6.32 kernel. In Fedora 12 we still have 2.6.31. The situation is like that:

On Fedora 11 (2.6.30.x):
[root@dhcp-lab-123 ~]# echo 5 > /sys/class/net/wlan0/device/power_level 
[root@dhcp-lab-123 ~]# cat  /sys/class/net/wlan0/device/power_level 
5
[root@dhcp-lab-123 ~]

On Fedora 12 (2.6.31.x):
[root@dhcp-lab-123 ~]# echo 5 > /sys/class/net/wlan0/device/power_level 
[root@dhcp-lab-123 ~]# cat  /sys/class/net/wlan0/device/power_level 
0
[root@dhcp-lab-123 ~]

Does power_level 0 mean device is not using user setting ??

Comment 9 reinette chatre 2010-01-11 17:43:00 UTC
(In reply to comment #8)
> (In reply to comment #1)
> > echo 5 > /sys/bus/pci/drivers/iwlagn/0000\:02\:00.0/power_level
> > 
> > This no longer works in Fedora 12, I cannot modify that file.
> > To read the temperature of the card use:
> 
> I missed that power_level file was removed entirely in 2.6.32 kernel. In Fedora
> 12 we still have 2.6.31. The situation is like that:
> 
> On Fedora 11 (2.6.30.x):
> [root@dhcp-lab-123 ~]# echo 5 > /sys/class/net/wlan0/device/power_level 
> [root@dhcp-lab-123 ~]# cat  /sys/class/net/wlan0/device/power_level 
> 5
> [root@dhcp-lab-123 ~]
> 
> On Fedora 12 (2.6.31.x):
> [root@dhcp-lab-123 ~]# echo 5 > /sys/class/net/wlan0/device/power_level 
> [root@dhcp-lab-123 ~]# cat  /sys/class/net/wlan0/device/power_level 
> 0
> [root@dhcp-lab-123 ~]
> 
> Does power_level 0 mean device is not using user setting ??    

power saving support was disabled for iwlagn devices in 2.6.31 due to stability issues. See  http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=2053
http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=2051

Comment 10 Stanislaw Gruszka 2010-01-13 13:35:03 UTC
Let's summarize. power_level setting is not working at 2.6.31. In 2.6.32 debugfs file can by used. For these who don't know how to use debugfs, here is example:

[root@yellow ~]# mount -t debugfs debugfs /sys/kernel/debug/
[root@yellow ~]# cd /sys/kernel/debug/ieee80211/phy0/iwlagn/data/
[root@yellow data]# ls
channels  current_sleep_command  disable_ht40  interrupt  led  log_event  nvm  qos  sleep_level_override  sram  stations  status  thermal_throttling
[root@yellow data]# echo 5 > sleep_level_override 
[root@yellow data]# cat sleep_level_override 
5

Comment 11 Stanislaw Gruszka 2010-01-13 13:39:01 UTC

*** This bug has been marked as a duplicate of bug 493018 ***


Note You need to log in before you can comment on or make changes to this bug.