Broadcom BCM5708 "SIOCSIFADDR: No such device"

Bug #394783 reported by Ronald McCollam
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
initramfs-tools (Ubuntu)
Fix Released
Medium
Andy Whitcroft
linux (Ubuntu)
Invalid
High
Andy Whitcroft

Bug Description

Broadcom BCM5708 network adapter does not work correctly on a fresh karmic install until after rmmod/modprobe of bnx2. This was not an issue for Jaunty:

ubuntu@ubuntu:~$ sudo ifup eth0
[sudo] password for ubuntu:
Internet Systems Consortium DHCP Client V3.1.2
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
eth0: ERROR while getting interface flags: No such device
Bind socket to interface: No such device
Failed to bring up eth0.
ubuntu@ubuntu:~$

ubuntu@ubuntu:~$ lsmod
Module Size Used by
lp 11844 0
parport 40464 1 lp
radeon 667552 1
iTCO_wdt 13456 0
iTCO_vendor_support 4292 1 iTCO_wdt
ttm 42224 1 radeon
i5000_edac 11216 0
edac_core 48524 3 i5000_edac
dell_wmi 3248 0
psmouse 57124 0
i5k_amb 7176 0
pcspkr 2944 0
serio_raw 6564 0
dcdbas 9104 0
shpchp 37724 0
ses 7488 0
enclosure 9920 1 ses
bnx2 77064 0
megaraid_sas 41692 2
fbcon 41216 70
tileblit 3104 1 fbcon
font 8832 1 fbcon
bitblit 6624 1 fbcon
softcursor 2336 1 bitblit
i915 210504 0
drm 192224 3 radeon,ttm,i915
i2c_algo_bit 7076 2 radeon,i915
video 23388 1 i915
output 3680 1 video
intel_agp 31568 0
ubuntu@ubuntu:~$ sudo rmmod bnx2
ubuntu@ubuntu:~$ sudo modprobe bnx2
ubuntu@ubuntu:~$ sudo ifup eth0
ifup: interface eth0 already configured
ubuntu@ubuntu:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:19:b9:f3:ba:c4
          inet6 addr: fe80::219:b9ff:fef3:bac4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B) TX bytes:596 (596.0 B)
          Interrupt:16 Memory:f8000000-f8012800

lo Link encap:Local Loopback
          inet addr:127.0.0.1 Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING MTU:16436 Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Once the module has been removed and reinserted, the network card functions properly.

Revision history for this message
Ronald McCollam (fader) wrote :

ubuntu@ubuntu:~$ uname -a
Linux ubuntu 2.6.31-1-server #13-Ubuntu SMP Fri Jun 26 17:46:36 UTC 2009 x86_64 GNU/Linux

ubuntu@ubuntu:~$ lspci
00:00.0 Host bridge: Intel Corporation 5000X Chipset Memory Controller Hub (rev 12)
00:02.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 2 (rev 12)
00:03.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 3 (rev 12)
00:04.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 4-5 (rev 12)
00:05.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 5 (rev 12)
00:06.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 6-7 (rev 12)
00:07.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 7 (rev 12)
00:10.0 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev 12)
00:10.1 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev 12)
00:10.2 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev 12)
00:11.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev 12)
00:13.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev 12)
00:15.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev 12)
00:16.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev 12)
00:1c.0 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (rev 09)
00:1d.0 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (rev 09)
00:1d.1 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (rev 09)
00:1d.2 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (rev 09)
00:1d.7 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset EHCI USB2 Controller (rev 09)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d9)
00:1f.0 ISA bridge: Intel Corporation 631xESB/632xESB/3100 Chipset LPC Interface Controller (rev 09)
00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller (rev 09)
01:00.0 PCI bridge: Intel Corporation 80333 Segment-A PCI Express-to-PCI Express Bridge
01:00.2 PCI bridge: Intel Corporation 80333 Segment-B PCI Express-to-PCI Express Bridge
02:0e.0 RAID bus controller: Dell PowerEdge Expandable RAID controller 5
04:00.0 PCI bridge: Broadcom EPB PCI-Express to PCI-X Bridge (rev c3)
05:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
06:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port (rev 01)
06:00.3 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge (rev 01)
07:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1 (rev 01)
07:01.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E2 (rev 01)
08:00.0 PCI bridge: Broadcom EPB PCI-Express to PCI-X Bridge (rev c3)
09:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
10:0d.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02)

Revision history for this message
Ronald McCollam (fader) wrote :
Download full text (50.9 KiB)

dmesg before rmmod/modprobe:

ubuntu@ubuntu:~$ dmesg
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.31-1-server (buildd@yellow) (gcc version 4.4.0 (Ubuntu 4.4.0-8ubuntu2) ) #13-Ubuntu SMP Fri Jun 26 17:46:36 UTC 2009 (Ubuntu 2.6.31-1.13-server)
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-2.6.31-1-server root=UUID=4e76a1fb-5491-4ec0-9a21-5f890cebc5c6 ro quiet splash
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
[ 0.000000] AMD AuthenticAMD
[ 0.000000] Centaur CentaurHauls
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
[ 0.000000] BIOS-e820: 0000000000100000 - 000000007fb50000 (usable)
[ 0.000000] BIOS-e820: 000000007fb50000 - 000000007fb66000 (reserved)
[ 0.000000] BIOS-e820: 000000007fb66000 - 000000007fb85c00 (ACPI data)
[ 0.000000] BIOS-e820: 000000007fb85c00 - 0000000080000000 (reserved)
[ 0.000000] BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
[ 0.000000] BIOS-e820: 00000000fe000000 - 0000000100000000 (reserved)
[ 0.000000] DMI 2.4 present.
[ 0.000000] last_pfn = 0x7fb50 max_arch_pfn = 0x400000000
[ 0.000000] MTRR default type: uncachable
[ 0.000000] MTRR fixed ranges enabled:
[ 0.000000] 00000-9FFFF write-back
[ 0.000000] A0000-BFFFF uncachable
[ 0.000000] C0000-D3FFF write-protect
[ 0.000000] D4000-EBFFF uncachable
[ 0.000000] EC000-FFFFF write-protect
[ 0.000000] MTRR variable ranges enabled:
[ 0.000000] 0 base 0000000000 mask 3F80000000 write-back
[ 0.000000] 1 base 007FC00000 mask 3FFFC00000 uncachable
[ 0.000000] 2 disabled
[ 0.000000] 3 disabled
[ 0.000000] 4 disabled
[ 0.000000] 5 disabled
[ 0.000000] 6 disabled
[ 0.000000] 7 disabled
[ 0.000000] e820 update range: 0000000000001000 - 0000000000006000 (usable) ==> (reserved)
[ 0.000000] Scanning 1 areas for low memory corruption
[ 0.000000] modified physical RAM map:
[ 0.000000] modified: 0000000000000000 - 0000000000001000 (usable)
[ 0.000000] modified: 0000000000001000 - 0000000000006000 (reserved)
[ 0.000000] modified: 0000000000006000 - 00000000000a0000 (usable)
[ 0.000000] modified: 0000000000100000 - 000000007fb50000 (usable)
[ 0.000000] modified: 000000007fb50000 - 000000007fb66000 (reserved)
[ 0.000000] modified: 000000007fb66000 - 000000007fb85c00 (ACPI data)
[ 0.000000] modified: 000000007fb85c00 - 0000000080000000 (reserved)
[ 0.000000] modified: 00000000e0000000 - 00000000f0000000 (reserved)
[ 0.000000] modified: 00000000fe000000 - 0000000100000000 (reserved)
[ 0.000000] initial memory mapped : 0 - 20000000
[ 0.000000] init_memory_mapping: 0000000000000000-000000007fb50000
[ 0.000000] Using x86 segment limits to approximate NX protection
[ 0.000000] 0000000000 - 007fa00000 page 2M
[ 0.000000] 007fa00000 - 007fb50000 page 4k
[ 0.000000] kernel direct mapping tables up to 7fb50000 @ 8000-c000
[ 0.000000] RAMDISK: 3790a000 - 37fef8e3
[ 0.000000] ACPI: RSDP 00000000000f1ce0 00024 (v02 DELL )...

Changed in linux (Ubuntu):
importance: Undecided → High
status: New → Triaged
description: updated
tags: added: regression-release
tags: added: regression-potential
removed: regression-release
Revision history for this message
Ronald McCollam (fader) wrote :
Download full text (47.9 KiB)

ubuntu@ubuntu:~$ sudo lspci -vnvn
00:00.0 Host bridge [0600]: Intel Corporation 5000X Chipset Memory Controller Hub [8086:25c0] (rev 12)
 Subsystem: Intel Corporation Device [8086:8086]
 Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
 Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 Latency: 0, Cache Line Size: 64 bytes
 Interrupt: pin A routed to IRQ 0
 Capabilities: [50] Power Management version 2
  Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
  Status: D0 PME-Enable- DSel=0 DScale=0 PME-
 Capabilities: [58] Message Signalled Interrupts: Mask- 64bit- Queue=0/1 Enable-
  Address: fee00000 Data: 0000
 Capabilities: [6c] Express (v1) Root Port (Slot-), MSI 00
  DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
   ExtTag- RBE- FLReset-
  DevCtl: Report errors: Correctable- Non-Fatal- Fatal+ Unsupported-
   RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+
   MaxPayload 128 bytes, MaxReadReq 128 bytes
  DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
  LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM L0s, Latency L0 unlimited, L1 unlimited
   ClockPM- Suprise+ LLActRep+ BwNot-
  LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
   ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
  LnkSta: Speed 2.5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-
  RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
  RootCap: CRSVisible-
  RootSta: PME ReqID 0000, PMEStatus- PMEPending-
 Capabilities: [100] Advanced Error Reporting <?>

00:02.0 PCI bridge [0604]: Intel Corporation 5000 Series Chipset PCI Express x4 Port 2 [8086:25e2] (rev 12)
 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+
 Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 Latency: 0, Cache Line Size: 64 bytes
 Bus: primary=00, secondary=06, subordinate=0b, sec-latency=0
 Memory behind bridge: f2000000-f7ffffff
 Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
 BridgeCtl: Parity+ SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
  PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
 Capabilities: [50] Power Management version 2
  Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
  Status: D0 PME-Enable- DSel=0 DScale=0 PME-
 Capabilities: [58] Message Signalled Interrupts: Mask- 64bit- Queue=0/1 Enable+
  Address: fee0f00c Data: 4151
 Capabilities: [6c] Express (v1) Root Port (Slot-), MSI 00
  DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
   ExtTag- RBE- FLReset-
  DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
   RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+
   MaxPayload 128 bytes, MaxReadReq 128 bytes
  DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
  LnkCap: Port #2, Speed 2.5GT/s, Width x4, ASPM L0s, Latency L0 unlimited, L1 unlimited
   ClockPM- Suprise+ LLActRep+ BwNot-
  LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retra...

Andy Whitcroft (apw)
Changed in linux (Ubuntu):
assignee: nobody → Andy Whitcroft (apw)
status: Triaged → In Progress
Revision history for this message
Andy Whitcroft (apw) wrote :

This is very likely a duplicate of or realted to bug #384861. We can see from the dmesg that we are failing to load the firmware:

  [ 62.880046] bnx2: Can't load firmware file "bnx2/bnx2-mips-06-4.6.16.fw"
  [ 62.880117] bnx2 0000:05:00.0: PCI INT A disabled
  [ 62.880143] bnx2: probe of 0000:05:00.0 failed with error -2
  [ 62.880500] bnx2 0000:09:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
  [ 63.490019] bnx2 0000:09:00.0: firmware: requesting bnx2/bnx2-mips-06-4.6.16.fw
  [ 123.500040] bnx2: Can't load firmware file "bnx2/bnx2-mips-06-4.6.16.fw"
  [ 123.500143] bnx2 0000:09:00.0: PCI INT A disabled
  [ 123.500163] bnx2: probe of 0000:09:00.0 failed with error -2

I will note that on my machine the initrd does contain this firmware:

  apw@dm$ zcat /boot/initrd.img-2.6.31-1-generic | cpio -t | grep bnx2/
  lib/firmware/2.6.31-1-generic/bnx2/bnx2-rv2p-09-4.6.15.fw
  lib/firmware/2.6.31-1-generic/bnx2/bnx2-mips-09-4.6.17.fw
  lib/firmware/2.6.31-1-generic/bnx2/bnx2-rv2p-06-4.6.16.fw
  lib/firmware/2.6.31-1-generic/bnx2/bnx2-mips-06-4.6.16.fw
  46789 blocks

So could we confirm that you have this firmware in your initrds.

We are expecting firmware to be loaded by udev much as it just loaded the module itself using the rule below:

  apw@dm$ cat /lib/udev/rules.d/50-firmware.rules
  # do not edit this file, it will be overwritten on update

  # firmware-class requests, copies files into the kernel
  SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh"

However we do not deem to have firmware.sh in lib/udev in the initrd. Fail.

  apw@dm$ ls lib/udev
  ata_id edd_id path_id rules.d scsi_id usb_id vol_id

So this is a udev issue. Will see if we can sort that.

Changed in udev (Ubuntu):
assignee: nobody → Andy Whitcroft (apw)
status: New → In Progress
importance: Undecided → Medium
Revision history for this message
Andy Whitcroft (apw) wrote :

Ok this appears to be a udev issue, so closing off the kernel task Invalid.

Changed in linux (Ubuntu):
status: In Progress → Invalid
Revision history for this message
Andy Whitcroft (apw) wrote :

Attached is a debdiff for udev to include the udev firmware loader.

Revision history for this message
Andy Whitcroft (apw) wrote :

Bah, udev is in bzr, pushed to a bzr branch (see associated branch above).

Revision history for this message
Andy Whitcroft (apw) wrote :

Seems that actually we really don't want to support firmware in the initramfs, so lets just prevent this module going into the initramfs. Shoving over to initramfs-tools.

affects: udev (Ubuntu) → initramfs-tools (Ubuntu)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package initramfs-tools - 0.92bubuntu34

---------------
initramfs-tools (0.92bubuntu34) karmic; urgency=low

  * Remove bnx2 from the initramfs; it needs firmware, and at this stage we
    only support network modules that don't need firmware loading (LP:
    #394783).

 -- Colin Watson <email address hidden> Tue, 07 Jul 2009 11:45:58 +0100

Changed in initramfs-tools (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.