missing em1 (missing second Ethernet interface), dual Intel NIC 82573



  • em1 seems not available (second NIC is not available)

    • interfaces / assignments --> only em0 available, but a second NIC is also exist on the hardware

    • list itempfsense version is: 2.4.3-RELEASE-p1 (the latest available at the moment) the issue exists with earlier versions too, most probably hardware related issue

    • The hardware is: 1U size device, originally it was a Citrix branch repeater. It is a Supermicro motherboard, integrated dual Intel NIC in a 1U size case.

    • The hardware is good, both NIC are available under Debian, for example. I have more than one similar hardware, the issue is the same on all available hardware boxes, therefore most probably this is a software configuration related issue.

    • em driver looks good, because one NIC is usable, and it looks stable.

    • Both NIC are somehow visible under pfsense OS (FreeBSD OS) but the second one is not usable.

    [2.4.3-RELEASE][admin@pfSense.localdomain]/: ifconfig em1 up

    ifconfig: interface em1 does not exist

    [2.4.3-RELEASE][admin@pfSense.localdomain]/: pciconf -lv | grep -B3 network

    none1@pci0:6:0:0: class=0x020000 card=0x109a15d9 chip=0x109a8086 rev=0x00 hdr=0x00
    vendor = 'Intel Corporation'
    device = '82573L Gigabit Ethernet Controller'
    class = network

    em0@pci0:7:0:0: class=0x020000 card=0x109a15d9 chip=0x109a8086 rev=0x00 hdr=0x00
    vendor = 'Intel Corporation'
    device = '82573L Gigabit Ethernet Controller'
    class = network

    [2.4.3-RELEASE][admin@pfSense.localdomain]/: dmesg | grep -i network

    em0: <Intel(R ) PRO/1000 Network Connection 7.6.1-k> port 0x4000-0x401f irq 16 at device 0.0 on pci1
    em0: <Intel(R ) PRO/1000 Network Connection 7.6.1-k> port 0x5000-0x501f irq 17 at device 0.0 on pci2

    [2.4.3-RELEASE][admin@pfSense.localdomain]/: ifconfig

    em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=4209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWTSO>
    ether 00:30:48:b2:30:ad
    hwaddr 00:30:48:b2:30:ad
    inet6 fe80::230:48ff:feb2:30ad%em0 prefixlen 64 scopeid 0x1
    inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
    lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
    inet 127.0.0.1 netmask 0xff000000
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    groups: lo
    enc0: flags=0<> metric 0 mtu 1536
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    groups: enc
    pflog0: flags=100<PROMISC> metric 0 mtu 33160
    groups: pflog
    pfsync0: flags=0<> metric 0 mtu 1500
    groups: pfsync
    syncpeer: 224.0.0.240 maxupd: 128 defer: on
    syncok: 1

    Both NIC have UTP cable connectivity. Physical link looks valid according to the LED indicator at the NIC as well as at the switch. UTP cables and the switch (ports) are good, the same cables and the same switch were functional some hours ago to install different computers.

    Both NIC are enabled in BIOS, not auto, definitely enabled.

    Probably something was not the best during the pfsense boot up / automated hardware detection / configuration. (pfsense was installed on the same device.)

    Would be great a hint, how could be possible manually configure the second NIC (em1).
    Thank you


  • Netgate Administrator

    The driver is failing to attach to the first NIC for some reason. The boot log might give some clue.
    It tries to create em0 ad fails so the second NIC gets created as em0 instead.

    There may not be much you can do about that.

    Steve



  • @stephenw10
    Hi Steve,
    Thank you very much, your hint was great.
    I found a solution.

    need to add a line to
    /boot/loader.conf
    hint.agp.0.disabled=1

    your advice was essential, I have checked the boot log in details, and there were:
    [...]
    pcib1: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0
    pcib1: failed to allocate initial I/O port window: 0-0xfff
    pcib1: failed to allocate initial memory window: 0-0xfffff
    pcib1: failed to allocate initial prefetch window: 0-0xfffff
    pcib1: [GIANT-LOCKED]
    pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.4 on pci0
    pcib2: failed to allocate initial memory window: 0xd0100000-0xd01fffff
    pcib2: [GIANT-LOCKED]
    pci1: <ACPI PCI bus> on pcib2
    em0: <Intel(R ) PRO/1000 Network Connection 7.6.1-k> port 0x4000-0x401f irq 16 at device 0.0 on pci1
    em0: Setup of Shared code failed, error -2
    device_attach: em0 attach returned 6
    pcib3: <ACPI PCI-PCI bridge> irq 17 at device 28.5 on pci0
    pcib3: failed to allocate initial memory window: 0xd0200000-0xd02fffff
    pcib3: [GIANT-LOCKED]
    pci2: <ACPI PCI bus> on pcib3
    em0: <Intel(R ) PRO/1000 Network Connection 7.6.1-k> port 0x5000-0x501f irq 17 at device 0.0 on pci2
    em0: Using an MSI interrupt
    em0: Ethernet address: 00:30:48:b2:30:ad
    em0: netmap queues/slots: TX 1/1024, RX 1/1024
    [...]
    as you described, the NIC initialization was not successful

    with the new error messages, I found some references

    10 years old one
    http://freebsd-net.freebsd.narkive.com/2v8JjpRv/anyone-seen-this-error-on-em

    3 years old one
    https://forum.netgate.com/topic/76552/pdsbm-ln2-1u-server-lan-ports-fail-in-rc-canidate-using-intel-82573-nic/65

    and there was a solution from
    Topper727
    Solved!
    hint.agp.0.disabled=1

    and it works me too

    It seems, the SuperMicro dual NIC motherboard is a good hardware but somehow incompatible with pfsense software setup.
    Motherboard was SuperMicro PDSBM-LN2 + CS045

    After the added line
    /boot/loader.conf
    hint.agp.0.disabled=1

    dmesg -a
    [...]
    pcib1: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0
    pcib1: failed to allocate initial I/O port window: 0-0xfff
    pcib1: failed to allocate initial memory window: 0-0xfffff
    pcib1: failed to allocate initial prefetch window: 0-0xfffff
    pcib1: [GIANT-LOCKED]
    pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.4 on pci0
    pcib2: [GIANT-LOCKED]
    pci1: <ACPI PCI bus> on pcib2
    em0: <Intel(R ) PRO/1000 Network Connection 7.6.1-k> port 0x4000-0x401f mem 0xd0100000-0xd011ffff irq 16 at device 0.0 on pci1
    em0: Using an MSI interrupt
    em0: Ethernet address: 00:30:48:b2:30:ac
    em0: netmap queues/slots: TX 1/1024, RX 1/1024
    pcib3: <ACPI PCI-PCI bridge> irq 17 at device 28.5 on pci0
    pcib3: [GIANT-LOCKED]
    pci2: <ACPI PCI bus> on pcib3
    em1: <Intel(R ) PRO/1000 Network Connection 7.6.1-k> port 0x5000-0x501f mem 0xd0200000-0xd021ffff irq 17 at device 0.0 on pci2
    em1: Using an MSI interrupt
    em1: Ethernet address: 00:30:48:b2:30:ad
    em1: netmap queues/slots: TX 1/1024, RX 1/1024
    [...]

    I am moderately happy with the existing "failed to allocate ..." message, but the two NIC are nicely functional furthermore there is no direct error message to pcib2 and pcib3 which could be the NIC 1 and NIC 2

    If you have any further advice ..., after this step forward, that could be great.

    Thank you again.


  • Netgate Administrator

    Oh, good result! 😃
    Looks like some resource conflict there then. If you don't need the AGP drivers there then using that hint is a perfectly good solution there. The actual 'correct' thing is probably to get a BIOS update that sets up those devices without a conflict but that seems... unlikely!

    Steve


 

© Copyright 2002 - 2018 Rubicon Communications, LLC | Privacy Policy