FreePBX Appliance 60 died - purchased new and transplanted hard drive - no ethernet

Hello,
I had a FreePBX Appliance 60 fail (main system board died) and we purchased a new one. The new one’s hardware was a bit different. I transplanted my SSD from the dead one to the new one and the system boots up but I have no access to the ethernet ports. Through working with AI I have discovered it’s a driver issue. I’m not sure why the NICs aren’t detected straight away.

I plugged in a couple of USB to ethernet adapters into the front USB ports to get the system running but I would really like to get those ports working. I ran yum update and it updated the kernel - I rebooted hoping it would fix the issue and it did not. I still cannot see the nics.

Any ideas?

Please post the output of
lspci -k

[root@pbx ~]# lspci -k
00:00.0 Host bridge: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series Host Bridge (rev 0d)
        Subsystem: Intel Corporation Device 7270
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 500 (rev 0d)
        Subsystem: Intel Corporation Device 2212
        Kernel driver in use: i915
        Kernel modules: i915
00:0f.0 Communication controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series Trusted Execution Engine (rev 0d)
        Subsystem: Intel Corporation Device 7270
        Kernel driver in use: mei_me
        Kernel modules: mei_me
00:0f.1 Communication controller: Intel Corporation Device 5a9c (rev 0d)
        Subsystem: Intel Corporation Device 7270
00:0f.2 Communication controller: Intel Corporation Device 5a9e (rev 0d)
        Subsystem: Intel Corporation Device 7270
00:12.0 SATA controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series SATA AHCI Controller (rev 0d)
        Subsystem: Intel Corporation Device 7270
        Kernel driver in use: ahci
        Kernel modules: ahci
00:13.0 PCI bridge: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port A #1 (rev fd)
        Kernel driver in use: pcieport
00:13.1 PCI bridge: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port A #2 (rev fd)
        Kernel driver in use: pcieport
00:13.2 PCI bridge: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port A #3 (rev fd)
        Kernel driver in use: pcieport
00:13.3 PCI bridge: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port A #4 (rev fd)
        Kernel driver in use: pcieport
00:14.0 PCI bridge: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port B #1 (rev fd)
        Kernel driver in use: pcieport
00:14.1 PCI bridge: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port B #2 (rev fd)
        Kernel driver in use: pcieport
00:15.0 USB controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series USB xHCI (rev 0d)
        Subsystem: Intel Corporation Device 7270
        Kernel driver in use: xhci_hcd
00:19.0 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series SPI Controller #1 (rev 0d)
        Subsystem: Intel Corporation Device 7270
        Kernel driver in use: intel-lpss
00:19.1 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series SPI Controller #2 (rev 0d)
        Subsystem: Intel Corporation Device 7270
        Kernel driver in use: intel-lpss
00:19.2 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series SPI Controller #3 (rev 0d)
        Subsystem: Intel Corporation Device 7270
        Kernel driver in use: intel-lpss
00:1a.0 Serial bus controller [0c80]: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series PWM Pin Controller (rev 0d)
        Subsystem: Intel Corporation Device 7270
00:1f.0 ISA bridge: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series Low Pin Count Interface (rev 0d)
        Subsystem: Intel Corporation Device 7270
        Kernel modules: lpc_ich
00:1f.1 SMBus: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series SMBus Controller (rev 0d)
        Subsystem: Intel Corporation Device 7270
        Kernel driver in use: i801_smbus
        Kernel modules: i2c_i801
01:00.0 Ethernet controller: Intel Corporation Device 15f3 (rev 03)
        Subsystem: Intel Corporation Device 0000
        Kernel modules: igc
02:00.0 Ethernet controller: Intel Corporation Device 15f3 (rev 03)
        Subsystem: Intel Corporation Device 0000
        Kernel modules: igc
04:00.0 Ethernet controller: Intel Corporation Device 15f3 (rev 03)
        Subsystem: Intel Corporation Device 0000
        Kernel modules: igc
05:00.0 PCI bridge: Pericom Semiconductor Device b304 (rev 01)
        Kernel driver in use: pcieport
06:01.0 PCI bridge: Pericom Semiconductor Device b304 (rev 01)
        Kernel driver in use: pcieport
06:02.0 PCI bridge: Pericom Semiconductor Device b304 (rev 01)
        Kernel driver in use: pcieport
07:00.0 PCI bridge: PLX Technology, Inc. PEX8112 x1 Lane PCI Express-to-PCI Bridge (rev aa)
08:04.0 Network controller: Sangoma Technologies Corp. A200/Remora FXO/FXS Analog AFT card
        Subsystem: Device a111:4013

So the devices are recognized and assigned the appropriate driver, though possibly too old a version. dmesg should show what the driver detected and didn’t like.

A search will show many users with this problem. One solution is to compile a current igc and install it as a kernel module. I saw one mention that this required disabling secure boot.

I had tried to compile an igb driver - should I be using igc? Do you know what one I should be trying to compile?

I think so, because that’s what the system selected. Though unlikely, it’s conceivable that the NIC was mis-identified.