Bug 311721

Summary: Power control broken in iwl3945
Product: [Fedora] Fedora Reporter: Santtu Pajukanta <santtu>
Component: iwl3945-firmwareAssignee: Matthias Saou <matthias>
Status: CLOSED CANTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: 7   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
URL: http://www.lesswatts.org/tips/wireless.php
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-10-22 12:21:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Santtu Pajukanta 2007-09-28 21:12:40 UTC
Description of problem:

During normal operation in GNU/Linux (several distributions) the right-hand 
wrist rest of my Lenovo ThinkPad X60s gets unacceptably hot. The overheating 
component would seem to be the WLAN adapter (Intel PRO/Wireless 3945).

With the ipw3945 driver in another distro I was able to bring the temperature 
down using "iwpriv wlan0 set_power 7". Several sources, lesswatts.org among 
them, state that the equivalent command for iwl3945 is "echo 5 
> /sys/bus/pci/drivers/iwl3945/*/power_level". This, however, does not work:

A) Assume you've already connected to a WLAN (associated with an access point 
etc.). Entering the above command instantly kills the connection, returns an 
I/O error to the process trying to write to power_level, writes the following 
lines to syslog and fails to put the WLAN adapter in power save mode:

iwl3945: Microcode SW error detected.  Restarting 0x82000008.
iwl3945: Error Reply type 0x00000000 cmd POWER_TABLE_CMD (0x77) seq 0x0440 ser 
0x00000000
iwl3945: Can't stop Rx DMA.


B) Assume you haven't yet connected to a WLAN. Entering the above command 
succeeds and actually brings the temperature down, but with the little 
downside that the WLAN adapter stops working until reboot. This time the error 
in syslog looks like this:

iwl3945: Microcode SW error detected.  Restarting 0x82000008.
iwl3945: Error Reply type 0x00000000 cmd REPLY_QOS_PARAM (0x13) seq 0x04AA ser 
0x00000000
iwl3945: Can't stop Rx DMA.


Version-Release number of selected component (if applicable):

iwl3945-firmware.noarch                  2.14.1.5-1             installed

Steps to Reproduce:

1. Buy an X60s
2. Install Fedora 7 on it

A3. Connect to a WLAN using Network Manager
A4. Notice the right-hand wrist rest getting HOT and burn your wrist
A5. echo 5 > /sys/bus/pci/drivers/iwl3945/00*/power_level

B3. echo 5 > /sys/bus/pci/drivers/iwl3945/00*/power_level
B4. Try to connect using Network Manager

Actual results:

A) WLAN immediately killed ("No route to host"). Reconnecting with Network 
Damager succeeds, but the power save mode is not activated.

B) Power save mode entered, but all further connection attempts fail without 
an error message.

Expected results:

The WLAN adapter cools down significantly but keeps functioning normally, 
perhaps with a small range and/or throughput hit.

Comment 1 Santtu Pajukanta 2007-09-28 21:23:04 UTC
 00:15   nirik : Japsu: whats your kernel version? that probibly should be 
filed against the kernel instead of the firmware.

japsu@proomu ~ % uname -a
Linux proomu 2.6.22.7-85.fc7 #1 SMP Fri Sep 21 19:53:05 EDT 2007 i686 i686 
i386 GNU/Linux


Comment 2 Matthias Saou 2007-10-22 12:21:16 UTC
Indeed... if this problem persists, please reopen this bug and reassign it to
the proper component, which is probably the kernel.