[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#677638: laptop-mode-tools: Breaks wired network when running on battery



On Saturday 11 August 2012 09:57 AM, David Smith wrote:
> I can confirm this bug in Wheezy.  I believe laptop-mode-tools may be
> enabling excessive power management on the ethernet adapter which has
> some icky side-effects of not detecting when the cable is physically
> plugged/unplugged. 
>
> I had laptop-mode in Debian Lenny, and it didn't have this problem. 
> Now that I upgraded to Wheezy, I'm experiencing this problem.   I
> didn't use Squeeze.
>

I am not convinced this is a laptop-mode-tools bug. On my freshly booted
box (with kernel 3.4), I get these error message.

Aug 11 14:52:22 champaran kernel: [   29.929273] e1000e 0000:00:19.0:
eth0: Error reading PHY register
Aug 11 14:52:22 champaran kernel: [   30.724107] e1000e 0000:00:19.0:
eth0: Error reading PHY register
Aug 11 14:52:23 champaran kernel: [   31.519012] e1000e 0000:00:19.0:
eth0: Error reading PHY register
Aug 11 14:52:24 champaran kernel: [   32.314118] e1000e 0000:00:19.0:
eth0: Error reading PHY register
Aug 11 14:52:24 champaran kernel: [   32.666749] e1000e 0000:00:19.0:
eth0: Hardware Error
Aug 11 14:52:24 champaran kernel: [   32.666749] e1000e 0000:00:19.0:
eth0: Hardware Error
Aug 11 14:52:25 champaran kernel: [   33.222707] e1000e 0000:00:19.0:
eth0: Hardware Error
Aug 11 14:52:25 champaran kernel: [   33.222707] e1000e 0000:00:19.0:
eth0: Hardware Error

In my opinion, there are bugs with this hardware/driver.

> I fixed the bug by removing only the laptop-mode-tools package,
> although I'm sure it probably has a negative impact on my battery life.
laptop-mode-tools could just be the tool able to uncover this bug.
Looking at the code, this above mentioned error seems to be triggered
during a device reset:

/**
 * e1000e_reset - bring the hardware into a known good state
 *
 * This function boots the hardware and enables some settings that
 * require a configuration cycle of the hardware - those cannot be
 * set/changed during runtime. After reset the device needs to be
 * properly configured for Rx, Tx etc.
 */
void e1000e_reset(struct e1000_adapter *adapter)
{
        struct e1000_mac_info *mac = &adapter->hw.mac;
        struct e1000_fc_info *fc = &adapter->hw.fc;
        struct e1000_hw *hw = &adapter->hw;
............

        ew32(WUC, 0);

        if (mac->ops.init_hw(hw))
                e_err("Hardware Error\n");
..................



For this actual issue reported in this bug, I haven't been able to
reproduce it.

And regarding Ben's comment about autoneg, I will check with the
previous author of laptop-mode-tools on why it was added. If not needed,
it'll be knocked off in the next release.

-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System


Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: