Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#690845: ethtool: incorrect WoL detection on Broadcom NX II rev < 12

28 views
Skip to first unread message

Teodor

unread,
Oct 18, 2012, 10:00:02 AM10/18/12
to
Package: ethtool
Version: 1:2.6.34-3
Severity: normal
Tags: upstream

Hi,

On Broadcom NX II rev < 12 network interfaces it's not possible to activate
WoL using 'ethtool' (it can only be done from the MBA Configuration Menu).

However, even if "Pre-boot Wake On LAN" was enabled 'ethtool' doesn't
see this change:
Supports Wake-on: d
Wake-on: d

I've just tested that WoL works for this system.

Cheers


-- System Information:
Debian Release: 6.0.6
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages ethtool depends on:
ii libc6 2.11.3-4 Embedded GNU C Library: Shared lib

ethtool recommends no packages.

ethtool suggests no packages.

-- no debconf information


--
To UNSUBSCRIBE, email to debian-bugs-...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Ben Hutchings

unread,
Oct 18, 2012, 10:40:03 AM10/18/12
to
On Thu, 2012-10-18 at 07:47 -0600, Teodor wrote:
> Package: ethtool
> Version: 1:2.6.34-3
> Severity: normal
> Tags: upstream
>
> Hi,
>
> On Broadcom NX II rev < 12 network interfaces it's not possible to activate
> WoL using 'ethtool' (it can only be done from the MBA Configuration Menu).
>
> However, even if "Pre-boot Wake On LAN" was enabled 'ethtool' doesn't
> see this change:
> Supports Wake-on: d
> Wake-on: d
>
> I've just tested that WoL works for this system.

ethtool just reports what the driver tells it, so this isn't an ethtool
bug.

Which kernel version are you using (package name and version) and have
you installed a different version of the bnx2 driver?

Ben.

--
Ben Hutchings
Anthony's Law of Force: Don't force it, get a larger hammer.
signature.asc

Teodor MICU

unread,
Oct 18, 2012, 1:10:02 PM10/18/12
to
2012/10/18 Ben Hutchings <b...@decadent.org.uk>:
> ethtool just reports what the driver tells it, so this isn't an ethtool
> bug.

I thought this might be a driver problem just like setting WoL is not
supported by the driver for rev < 12 on these cards.

> Which kernel version are you using (package name and version) and have
> you installed a different version of the bnx2 driver?

Linux version 2.6.32-5-amd64 (Debian 2.6.32-46)

# modinfo bnx2
filename: /lib/modules/2.6.32-5-amd64/kernel/drivers/net/bnx2.ko
firmware: bnx2/bnx2-rv2p-09ax-5.0.0.j3.fw
firmware: bnx2/bnx2-rv2p-09-5.0.0.j3.fw
firmware: bnx2/bnx2-mips-09-5.0.0.j3.fw
firmware: bnx2/bnx2-rv2p-06-5.0.0.j3.fw
firmware: bnx2/bnx2-mips-06-5.0.0.j3.fw
version: 2.0.2

I'm using the package from backports (0.35~bpo60+1) for the 3.2
kernel, but I think the common files are identical.

All these packages are from Debian Linux 6.0.6, no custom
installations were done.

Cheers

Ben Hutchings

unread,
Oct 18, 2012, 9:40:01 PM10/18/12
to
Teodor MICU reported that:
> On Broadcom NX II rev < 12 network interfaces it's not possible to activate
> WoL using 'ethtool' (it can only be done from the MBA Configuration Menu).
>
> However, even if "Pre-boot Wake On LAN" was enabled 'ethtool' doesn't
> see this change:
> Supports Wake-on: d
> Wake-on: d
>
> I've just tested that WoL works for this system.

He's been using Linux 2.6.32 and Linux 3.2, but there don't seem to have
been any later changes to WoL support in bnx2.

Is there any possibility that this could be fixed?
signature.asc

Michael Chan

unread,
Oct 19, 2012, 3:50:01 PM10/19/12
to
On Fri, 2012-10-19 at 02:30 +0100, Ben Hutchings wrote:
> Teodor MICU reported that:
> > On Broadcom NX II rev < 12 network interfaces it's not possible to activate
> > WoL using 'ethtool' (it can only be done from the MBA Configuration Menu).
> >
> > However, even if "Pre-boot Wake On LAN" was enabled 'ethtool' doesn't
> > see this change:
> > Supports Wake-on: d
> > Wake-on: d
> >
> > I've just tested that WoL works for this system.
>
> He's been using Linux 2.6.32 and Linux 3.2, but there don't seem to have
> been any later changes to WoL support in bnx2.
>
Teodor MICU, please provide lspci -vvv and ethtool -i eth? on the
Broadcom bnx2 device. Thanks.

Teodor MICU

unread,
Oct 22, 2012, 4:00:02 AM10/22/12
to
2012/10/19 Michael Chan <mc...@broadcom.com>:
> Teodor MICU, please provide lspci -vvv and ethtool -i eth? on the
> Broadcom bnx2 device. Thanks.

Here it is:

# ethtool -i eth0
driver: bnx2
version: 2.0.2
firmware-version: 5.0.4 ipms 1.6.0
bus-info: 0000:04:00.0

Thanks
pa_eth0.txt
pa_lspci.txt

Michael Chan

unread,
Oct 22, 2012, 7:00:01 PM10/22/12
to
On Mon, 2012-10-22 at 10:52 +0300, Teodor MICU wrote:
> 08:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708
> Gigabit Ethernet (rev 11)

It is 5708 B1, and due to some hardware limitations, ethtool initiated
WoL is not supported. Here's the code fragment in bnx2.c:

if ((CHIP_ID(bp) == CHIP_ID_5708_A0) ||
(CHIP_ID(bp) == CHIP_ID_5708_B0) ||
(CHIP_ID(bp) == CHIP_ID_5708_B1) ||
!(REG_RD(bp, BNX2_PCI_CONFIG_3) & BNX2_PCI_CONFIG_3_VAUX_PRESET)) {
bp->flags |= BNX2_FLAG_NO_WOL;
bp->wol = 0;

Ben Hutchings

unread,
Oct 22, 2012, 9:50:01 PM10/22/12
to
On Mon, 2012-10-22 at 15:54 -0700, Michael Chan wrote:
> On Mon, 2012-10-22 at 10:52 +0300, Teodor MICU wrote:
> > 08:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708
> > Gigabit Ethernet (rev 11)
>
> It is 5708 B1, and due to some hardware limitations, ethtool initiated
> WoL is not supported.
[...]

Well we knew that much! Is the problem that the system firmware 'owns'
the WoL control registers so the host can't safely change them? Is it
possible to *read* the WoL configuration, if not to change it?

(If even that is not possible, the correct thing to do might be for
ETHTOOL_GWOL to return 'don't know' (EOPNOTSUPP) for this device. But
since ethtool_ops::get_wol (and various other operations) can't return
an error, that would require you to define a separate instance of
ethtool_ops with get_wol = NULL. I should look at fixing that...)

Ben.

--
Ben Hutchings
Humour is the best antidote to reality.
signature.asc

Michael Chan

unread,
Oct 22, 2012, 10:30:02 PM10/22/12
to
On Tue, 2012-10-23 at 02:45 +0100, Ben Hutchings wrote:
> Well we knew that much! Is the problem that the system firmware 'owns'
> the WoL control registers so the host can't safely change them? Is it
> possible to *read* the WoL configuration, if not to change it?

It's a hardware problem and I don't understand all the details. There
is an internal PCIX to PCIE bridge on this chip and it gates the NIC's
PME event. During S5 reset, the bridge gets reset by the BIOS and the
WoL setting done by the driver will no longer work. Newer chip revs
have fixed the problem in hardware.

The driver reads the pre-boot WoL setting from NVRAM and it becomes the
ethtool WoL default setting. Apparently, it is also not working in this
case. I know that it doesn't work on some LOM designs as the setting is
actually in BIOS NVRAM as opposed to NIC NVRAM.

Ben Hutchings

unread,
Oct 24, 2012, 10:30:02 AM10/24/12
to
On Mon, 2012-10-22 at 19:18 -0700, Michael Chan wrote:
> On Tue, 2012-10-23 at 02:45 +0100, Ben Hutchings wrote:
> > Well we knew that much! Is the problem that the system firmware 'owns'
> > the WoL control registers so the host can't safely change them? Is it
> > possible to *read* the WoL configuration, if not to change it?
>
> It's a hardware problem and I don't understand all the details. There
> is an internal PCIX to PCIE bridge on this chip and it gates the NIC's
> PME event. During S5 reset, the bridge gets reset by the BIOS and the
> WoL setting done by the driver will no longer work. Newer chip revs
> have fixed the problem in hardware.
>
> The driver reads the pre-boot WoL setting from NVRAM and it becomes the
> ethtool WoL default setting. Apparently, it is also not working in this
> case. I know that it doesn't work on some LOM designs as the setting is
> actually in BIOS NVRAM as opposed to NIC NVRAM.

Thanks for the explanation. This does seem to be unfixable, then,
unfortunately.

Ben.

--
Ben Hutchings
Never attribute to conspiracy what can adequately be explained by stupidity.
signature.asc
0 new messages