8

I am running a Ubuntu server machine (Dell Poweredge R410) with a Broadcom NetXtreme II BCM5716 Ethernet controller (2 ethernet ports, wired). I recently decided to upgrade the machine from 14.04 to 16.04 (using do-release-uprade with no additional options). Which was a huge mistake. At first booting did not succeed unless using recovery mode, however, through recovery mode I can boot with linux kernel 3.0.0-17 without issues (proceed with normal boot). Which is a kernel from ubuntu 11 (List of Ubuntu Versions with Corresponding Linux Kernel Version)?. Regardless, I can start the machine, but it appears I cannot activate the networking. As the server is in a server farm which is not easy to reach for me, I'd like to get the networking up and do further debugging from home. Any suggestions are warmly welcome, I've included all (community) info and what I've tried so far below. Everything is hand-typed (as I have no network on the server), so apologies if typos. I am willing to try additional suggestions and have copied the home drive to an external hard drive. If a complete fresh install of ubuntu 16.04 server is my best solution, please let me know as well (although I'd rather avoid it).

System info

lsb_release -a

Distributor ID: Ubuntu
Description:    Ubuntu 16.04.2 LTS
Release:        16.04
Codename:       xenial

uname -a

Linux [servername] 3.0.0-17-server #30-Ubuntu [system date and time] x86_64 x86_64 x86_64 GNU/Linux

cat /etc/network/interfaces

#This file describes the network interfaces available on your system
#and how to activate them. For more information, see interfaces (5)

#The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

ip link and ifconfig -a only list the loopback interface. dmesg | grep eth0 returns nothing

in lspci -v I see for my two ethernet ports:

01:00.0 Ethernet controoler: Broadcom corporation NetXtreme II BCM5716 Gigabit ethernet (rev20)
    DeviceName: Embedded NIC 1
    Subsystem: Dell PowerEdge R410 BCM5716 Gigabit Ethernet
    Flags: fast devsel, IRQ 36
    Memory at da000000 (64 bit, non-prefetchable) [size=32M]
    Capabilities: [48] Power Management version 3
    Capabilities: [50] Vital Product Data
    Capabilities: [58] MSI: Enable-Count=1/16 Maskable- 64bit+
    Capabilities: [a0] MSI-X: Enable- Count=9 Masked-
    Capabilities: [ac] Express Endpoint, MSI 00
    Capabilities: [100] Device serial Number [serial number]
    Capabilities: [110] Advanced error reporting
    Capabilities: [150] Power Budgeting <?>
    Capabilities: [160] Virtual Channel
    Kernel modules: bnx2
01:00.1 Ethernet controoler: Broadcom corporation NetXtreme II BCM5716 Gigabit ethernet (rev20)
    DeviceName: Embedded NIC 2
    Subsystem: Dell PowerEdge R410 BCM5716 Gigabit Ethernet
    Flags: fast devsel, IRQ 48
    Memory at dc000000 (64 bit, non-prefetchable) [size=32M]
    Capabilities: [48] Power Management version 3
    Capabilities: [50] Vital Product Data
    Capabilities: [58] MSI: Enable-Count=1/16 Maskable- 64bit+
    Capabilities: [a0] MSI-X: Enable- Count=9 Masked-
    Capabilities: [ac] Express Endpoint, MSI 00
    Capabilities: [100] Device serial Number [serial number]
    Capabilities: [110] Advanced error reporting
    Capabilities: [150] Power Budgeting <?>
    Capabilities: [160] Virtual Channel
    Kernel modules: bnx2

journalctcl -b states an error for getting hardwer adress for "eth0": No such device as well as a permision denied error to create socket for "eth0" and ultimately failed to raise network interfaces.

lshw -C network shows that the devices are unclaimed:

*-network:0 UNCLAIMED
   description: Ethernet controller
   product: NetXtreme II BCM5716 Gigabit controller
   vendor: Broadcom Corporation
   physcial id: 0
   bus info: pci@0000:01:00.0
   version: 20
   width: 64 bits
   clock: 33 MHz
   capabilities: pm vpd msi msix pciexpress cap_list
   configuration: latency=0
   resources: memory: [memory adress]

and something comparable for the other network port

What I have tried so far

  1. rmmod bnx2 and subsequently modprobe bxn2 results in errors in dmesg: Can't load firmware file bnx2/bnx2-mips-09-6.2.1a.fw which leads in the disabling of the PCI INT (both of them). There is indeed no such directory even in /lib/firmware, only a bxn2x folder which does not have such files avai
  2. add bce to /etc/modules had no effect

Other posts checked in search of a solution

FM Kerckhof
  • 201
  • 1
  • 3
  • 10

2 Answers2

5

This is an Ubuntu bug that should be reported to Launchpad by running ubuntu-bug linux-firmware.

The problem is that the 3.3+ kernels require new firmware files. The files are available in upstream linux-firmware git, but are not backported to Ubuntu linux-firmware package.

A workaround is to download the upstream git and take firmware form there.

Clone the git repo by

git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

and copy the bnx2 directory to /lib/firmware on your server.

Threre is already a bug report on this issue.

It is marked as "fixed", but it is actually not any more. I don't see the bnx2 firmware in any of the supported linux-firmware packages. So I suggest to make a new bug report.

Pilot6
  • 90,100
  • 91
  • 213
  • 324
  • Thanks for the suggestion. I will have to clone it on another machine and bring it on a stick to the data center (as I have no networking whatsoever on that server). Reporting to launchpad will only be possible after I restore networking. I will get back to you, but it might be a while. – FM Kerckhof Jul 11 '17 at 10:16
  • 1
    in the end, again the same result happened after adding the bnx2 folder to /lib/firmware. Hence, I had no other resort as to backup the home drives and start anew with a fresh install of Ubuntu server 16.04.3. Now of course, I need to reinstall all software, but at least the machine is properly online again. – FM Kerckhof Sep 29 '17 at 18:12
  • Just thought I'd add this worked for me with an old Dell PowerEdge 1950 and Ubuntu 18.04.3. I created a new FAT USB stick and copied the appropriate .fw files to the USB stick. Then I manually mounted USB stick during installer (using Alt+F2 to get to a shell) and copied those .fw files into /lib/firmware/bnx2/*.fw and then the installer could fetch an IP from DHCPv4 and install continued! – Scott Willeke Jun 02 '19 at 16:59
  • Thanks for the answer! same thing happen with old ibm x3550 model. i will update the status later. – sailfish009 Jul 26 '19 at 01:02
2

We had this same issue. Only thing that solved it was to update the kernel to something above 4.9.0. We went with 4.9.73. Steps:

  • Go to the Ubuntu kernel website
  • Download 3 debs to a folder somewhere (adjusting for system type)

    • linux-headers-4.9.73-040973_4.9.73-040973.201712291730_all.deb
    • linux-image-4.9.73-040973-generic_4.9.73-040973.201712291730_amd64.deb
    • linux-headers-4.9.73-040973-generic_4.9.73-040973.201712291730_amd64.deb
  • Install the debs and run update-grub:

    cd /path/to/folder/where/you/put/the/debs
    sudo dpkg -i *.deb
    sudo update-grub
    reboot
    
  • Drink beer to celebrate your greatness

Situation solution starting point: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1643558

Zanna
  • 70,465
SVig
  • 21