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.
Filed under: FreeBSD
Nice, some rare reference to running FreeBSD on this popular Intel platform. Yuval: some OpenBSD folks reported problems with recognizing both LAN cards at the same time: how is it with FreeBSD? Is there any (other) hardware part which is not recognized under FreeBSD 8?
cheers
michele
@Michele: Indeed, I had difficulties finding references to running FreeBSD on this popular Intel platform. I decided to take the risk and it worked well for my client’s needs. I am not aware of other hardware not being recognized, but I have not tested much. The box is just a departmental server, no fancy hardware attached.