• Subscribe

    Subscribe to This Week In Panospace by eMail.
    Subscribe in a reader
  • License

    Creative Commons License
    This work is © 2008-2012
    by Yuval Levy
    and licensed under a
    Creative Commons License.
  • Entries

    August 2010
    M T W T F S S
    « Jul   Sep »
     1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031  
  • Archives

FreeBSD 8.1 Intel Ethernet Driver

I’ve updated a few FreeBSD servers in the last days.  They all went smooth with one exception: a pretty recent, state of the art small business custom server based on Intel’s S3420GPLC motherboard and an LGA1156 Xeon CPU.

The code built fast from source but after rebooting with the new 8.1 kernel I could no longer connect to the machine.  Not practical when the machine is 1000 Km away and unattended.  I waited the next day to guide an employee on location in the process of booting with the old kernel (straight forward).  Then I went about investigating the issue.

# cat messages | grep em0

FreeBSD 8.1 (not working):

Aug 26 23:51:10 synapse kernel: em0:  port 0x2040-0x205f mem 0xb1a00000-0xb1a1ffff,0xb1a25000-0xb1a25fff irq 20 at device 25.0 on pci0
Aug 26 23:51:10 synapse kernel: em0: Using MSI interrupt
Aug 26 23:51:10 synapse kernel: em0: [FILTER]
Aug 26 23:51:10 synapse kernel: em0: Ethernet address: 00:15:17:__:__:29

FreeBSD 8.0 (working):

Aug 27 11:24:57 synapse kernel: em0:  port 0x1000-0x101f mem 0xb1900000-0xb191ffff,0xb1920000-0xb1923fff irq 16 at device 0.0 on pci2
Aug 27 11:24:57 synapse kernel: em0: Using MSIX interrupts
Aug 27 11:24:57 synapse kernel: em0: [ITHREAD]
Aug 27 11:24:57 synapse kernel: em0: Ethernet address: 00:15:17:__:__:28
Aug 27 11:24:59 synapse kernel: em0: link state changed to UP

The board has two on-board ethernet interfaces and it seems that between FreeBSD 8.0 and 8.1 em0 has changed assignment from one to the other.  The physical cable is still connected to the same interface.  The interface being configured by FreeBSD 8.1 has no cable attached hence I can’t connect.

To verify:

# cat messages | grep em1

only FreeBSD 8.1 showed em1, and indeed with the ethernet address assigned to em0 by FreeBSD 8.0:

Aug 26 23:51:10 synapse kernel: em1:  port 0x1000-0x101f mem 0xb1900000-0xb191ffff,0xb1920000-0xb1923fff irq 16 at device 0.0 on pci2
Aug 26 23:51:10 synapse kernel: em1: Using MSIX interrupts with 5 vectors
Aug 26 23:51:10 synapse kernel: em1: [ITHREAD]
Aug 26 23:51:10 synapse kernel: em1: Ethernet address: 00:15:17:__:__:28

After editing /etc/rc.conf to configure em1 instead of em0 I was able to reboot the 8.1 kernel and connect.