Subject: kern/24911: bce driver cannot initialize after WinXP has run.
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <werner@bit-1.de>
List: netbsd-bugs
Date: 03/25/2004 20:00:17
>Number:         24911
>Category:       kern
>Synopsis:       bce driver cannot initialize after WinXP has run.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Mar 25 20:01:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Werner Backes
>Release:        current
>Organization:
>Environment:
NetBSD firebird 1.6ZK NetBSD 1.6ZK (FIREBIRD) #1: Thu Mar 25 18:39:56 UTC 2004  root@firebird:/usr/obj/sys/arch/i386/compile/FIREBIRD i386

>Description:
This is an ASUS A7V8X with onboard Broadcom BCM4401 ethernet NIC.
When NetBSD is booted after a "hard" power-off (removing the power
plug or using the ATX power supply's power-switch), everything
works fine. The NIC is recognized and works as expected. I can reboot
as often as I like and the NIC still works as long as I only boot
NetBSD. But when I boot Windows XP, it lefts the NIC in a state from
which NetBSD cannot recover it. dmesg shows:


Mar 25 18:58:01 firebird /netbsd: bce0 at pci0 dev 9 function 0: Broadcom BCM4401 10/100 Ethernet
Mar 25 18:58:01 firebird /netbsd: bce0: interrupting at irq 9
Mar 25 18:58:01 firebird /netbsd: ukphy0 at bce0 phy 1: Generic IEEE 802.3u media interface
Mar 25 18:58:01 firebird /netbsd: bce0: Ethernet address 00:e0:18:9c:9f:34
Mar 25 18:58:02 firebird /netbsd: bce0: timed out disabling ethernet mac
Mar 25 18:58:02 firebird /netbsd: bce0: timed out writting pkt filter ctl
Mar 25 18:58:02 firebird /netbsd: bce0: timed out disabling ethernet mac
Mar 25 18:58:02 firebird /netbsd: bce0: timed out writting pkt filter ctl
Mar 25 18:58:02 firebird /netbsd: bce0: timed out disabling ethernet mac
Mar 25 18:58:02 firebird /netbsd: bce0: timed out writting pkt filter ctl

and the link will not come up. The only way get the NIC working again
with NetBSD is to totally remove power from the system. Soft power off
will not work. Booting WinXP several times doesn't make problems, only
NetBSD after XP has this problem. Another thing that seems to be related
to the problem: when switching on the power supply, the NIC has a link,
even if the machine is still "soft" powered off. I think this is to 
support wake on lan. When NetBSD is booted an then shutdown, the link
is still present after soft power off. In contrast, after booting and
shuting down WinXP, the link goes down and that is the state where Net-
BSD cannot initialize the NIC again. Sounds a bit like WinXP does
something nasty here, but I think NetBSD should be able to deal with
this?



>How-To-Repeat:
Boot WinXP on an ASUS A7V8X, boot NetBSD without powering off the machine
in between -> watch error messages during boot or when doing "ifconfig 
bce0 down/up". bce's link never comes up.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted: