Subject: Re: kern/36022: [4.0_BETA2] bge(4) fails to initialize
To: None <gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,>
From: Andreas Wrede <andreas@planix.com>
List: netbsd-bugs
Date: 07/20/2007 17:53:03
[repost: previous post got truncated at first line containing a  
single period]

A recent pull-up to the 4.0 branch "improved" the situation somewhat  
(for some random value of "improved"):

  bge0 at pci5 dev 9 function 0: Broadcom BCM5704C Dual Gigabit Ethernet
  bge0: interrupting at ioapic2 pin 0 (irq 11)
-bge0: firmware handshake timed out, val = 4b657654
-bge0: RX CPU self-diagnostics failed!
-bge0: chip initialization failed
+bge0: ASIC BCM5704 A3 (0x2003), Ethernet address 00:e0:81:30:d6:7c
+brgphy0 at bge0 phy 1: BCM5704 1000BASE-T media interface, rev. 0
+brgphy0: using BCM5704 DSP patch
+brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,  
1000baseT-FDX, auto
  bge1 at pci5 dev 9 function 1: Broadcom BCM5704C Dual Gigabit Ethernet
  bge1: interrupting at ioapic2 pin 1 (irq 10)
-bge1: firmware handshake timed out, val = 4b657654
-bge1: RX CPU self-diagnostics failed!
-bge1: chip initialization failed
+bge1: ASIC BCM5704 A3 (0x2003), Ethernet address 00:e0:81:30:d6:7d
+brgphy1 at bge1 phy 1: BCM5704 1000BASE-T media interface, rev. 0
+brgphy1: using BCM5704 DSP patch
+brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,  
1000baseT-FDX, auto


Trying to use the device results in:

# ifconfig bge0 up
# ifconfig bge1 up
[ after a short while...]
bge0: PHY read timed out
bge0: PHY read timed out
bge0: PHY read timed out
bge0: PHY read timed out
bge0: PHY read timed out
bge1: PHY read timed out
bge0: PHY read timed out
bge0: PHY read timed out
bge1: PHY read timed out
bge1: PHY read timed out
[scrolling quickly....]
..
..
# ifconfig bge0 down
bge0: PHY read timed out
bge0: block failed to stop: reg 0x468, bit 0x00000002
bge0: block failed to stop: reg 0x2c00, bit 0x00000002
bge0: block failed to stop: reg 0x2000, bit 0x00000002
bge0: block failed to stop: reg 0x3400, bit 0x00000002
bge0: block failed to stop: reg 0x2400, bit 0x00000002
bge0: block failed to stop: reg 0x2800, bit 0x00000002
bge0: block failed to stop: reg 0x3000, bit 0x00000002
bge0: block failed to stop: reg 0x1400, bit 0x00000002
bge0: block failed to stop: reg 0x1800, bit 0x00000002
bge0: block failed to stop: reg 0xc00, bit 0x00000002
bge0: block failed to stop: reg 0x4800, bit 0x00000002
bge0: block failed to stop: reg 0x1000, bit 0x00000002
bge0: block failed to stop: reg 0x6400, bit 0x00000002
bge0: block failed to stop: reg 0x1c00, bit 0x00000002
bge0: block failed to stop: reg 0x3c00, bit 0x00000002
bge0: block failed to stop: reg 0x4c00, bit 0x00000002
bge0: block failed to stop: reg 0x3800, bit 0x00000002
bge0: block failed to stop: reg 0x4400, bit 0x00000002
bge0: block failed to stop: reg 0x4000, bit 0x00000002
bge1: PHY read timed out
bge1: PHY read timed out
[now only bge1 messages scolling quickly....]
..
..
# ifconfig bge1 down
bge1: PHY read timed out
bge1: block failed to stop: reg 0x468, bit 0x00000002
bge1: block failed to stop: reg 0x2c00, bit 0x00000002
bge1: block failed to stop: reg 0x2000, bit 0x00000002
bge1: block failed to stop: reg 0x3400, bit 0x00000002
bge1: block failed to stop: reg 0x2400, bit 0x00000002
bge1: block failed to stop: reg 0x2800, bit 0x00000002
bge1: block failed to stop: reg 0x3000, bit 0x00000002
bge1: block failed to stop: reg 0x1400, bit 0x00000002
bge1: block failed to stop: reg 0x1800, bit 0x00000002
bge1: block failed to stop: reg 0xc00, bit 0x00000002
bge1: block failed to stop: reg 0x4800, bit 0x00000002
bge1: block failed to stop: reg 0x1000, bit 0x00000002
bge1: block failed to stop: reg 0x6400, bit 0x00000002
bge1: block failed to stop: reg 0x1c00, bit 0x00000002

[ all is quiet ]

# ifconfig bge0
bge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
          
capabilities=3f00<IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM 
_Rx,UDP4CSUM_Tx>
          
enabled=3f00<IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,U 
DP4CSUM_Tx>
         address: 00:e0:81:30:d6:7c
         media: Ethernet autoselect
         status: no carrier
         inet6 fe80::2e0:81ff:fe30:d67c%bge0 prefixlen 64 scopeid 0x3
# ifconfig bge1
bge1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
          
capabilities=3f00<IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM 
_Rx,UDP4CSUM_Tx>
          
enabled=3f00<IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,U 
DP4CSUM_Tx>
         address: 00:e0:81:30:d6:7d
         media: Ethernet autoselect
         status: no carrier
         inet6 fe80::2e0:81ff:fe30:d67d%bge1 prefixlen 64 scopeid 0x4