Intel PCI-e NIC stopped being recognized in unRAID


Recommended Posts

I'm running unRAID Pro 6.9.2 on a 184TB server with 28 data drives, two parity drives, and a 1 TB SSD cache drive.  I rebooted the array yesterday and now I can connect to the server.  I'm using an Intel CT Gigabit PCI-e ethernet controller that has worked fine for as long as I can remember.  I tried using a different Intel adapter in the same slot and still nothing.  I had a two-port SATA controller in a PCI-e x1 slot for my cache drive so I pulled that and installed the NIC in the slot.  Booted up and still no connection.  I tried the onboard Realtek ethernet controller and it works fine.  For some reason it seems that unRAID is either no longer recognizing the adapter or it's just not loading the drivers.  I checked the System Devices under the Tools tab and both the Intel PCI-e NIC and the onboard Realtek NIC are both shown so I'm stumped as to why one works and the other one doesn't.  I upgraded the unRAID OS to version 6.10.1-rc1 to see if that would help but still get the same result.  I've attached the log file for anyone that can decipher it.tower-syslog-20210901-2036.zip

Edited by captain_video
Link to comment

It's attached to the end of the first post.

 

Sorry, that's the syslog file not the diagnostics.  I'll run it and upload the file

tower-diagnostics-20210901-1713.zip

 

I'm using an Asus A88X-PRO motherboard with an AMD A10-7700K Radeon R7 CPU and 32 GB of DDR3 memory.  I'm using three 8-port SATA controllers plus the six onboard SATA internal ports for the data drives and dual parity drives and currently one external eSATA port for the cache drive.  I plan to connect the 2nd eSATA port to an empty slot in the server rack to use for pre-clearing new drives.  I have a 24-bay Supermicro rack and an 8-bay Supermicro rack all running off the ASUS motherboard via the onboard SATA ports and 8-port controllers.

Edited by captain_video
Link to comment

I installed a new (refurbished) Intel CT Gigabit adapter and disabled the onboard Realtek ethernet controller.  When it boots up I get the message that it can't find eth0 so it can't set up the IP address even though the ethernet cable is connected to the Intel NIC.  I have it set up with a static IP in a range that I set up outside of the DHCP range of addresses used by the router.  I re-enabled the Realtek controller and now it works, but it's still refusing to recognize the intel NIC.  This is confusing because I never had any issues with using an Intel NIC before and all of a sudden unRAID is just refusing to recognize it.

Link to comment

ethtool says that it is seeing a two port Intel card and a RealTek NIC.  It has assigned eth0 with a driver of r8169.   That card has a link detected which means it is talking to a switch.  It says that it has found assignments for eth1 and eth2 with a driver of e1000e.  No links for either port.

 

Look at the lights on the card after you plug in the cat5 cable.  Are they what the manual says they should be? 

 

You could have a bad card...

 

Edited by Frank1940
Link to comment

I have tried four different cards in the two PCIe x1 slots.  Looking at the System Devices tab in unRAID it shows the Intel NIC as shown below.

 

image.png.aa2d8a30fdd401735b0ba516ae8f82e3.png

 

If I go into the UEFI BIOS and disable the onboard Realtek controller it won't connect or show any activity lights on the Intel controller with the ethernet cable attached.  I get an error message at the very end of the boot screen saying it can't find eth0.  I was looking at the network-rules.cfg file and it shows the following info:

 

# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="40:16:7e:a7:e4:85", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x107d (e1000e)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:17:0d:ab:58", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x8086:0x10d3 (e1000e)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1b:21:53:c4:cf", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
 

I'm wondering if I manually edit the file and swap etho and eth1 in the NAME attribute if it will then look for the Intel controller.  I'll give that a try and see if it works.

 

The LEDs on the Intel NIC do come on when I have the Realtek controller enabled and the ethernet cable plugged into the Intel card, but it doesn't have any connection, probably because it's only working with etho and not eth1.  If I disable the Realtek onboard controller and plug the cable into the Intel card I get no activity lights at all.

 

I'll try the manual edit of the network-rules.cfg file and report back.

Link to comment

OK, I just edited the network-rules.cfg file and renamed etho to eth1 and vice versa and swapped the position in the file so the group with eth0 was at the top followed by eth1.  I booted it up with the ethernet cable connected to the Intel NIC and still got the error message that it could not find eth0.  I did not disable the onboard Realtek controller when I did this so maybe it automatically scans onboard devices before PCI ports.  In any case, the server is working with the Realtek controller and I'm not seeing any effect on file transfers or steaming of 4k videos so I guess if it ain't broke, don't fix it.

 

Thanks for everyone's inputs.  I'll probably still work on it when I have more time, but for now I'll just go with what's working.

Link to comment
  • 2 weeks later...

Just wanted to update everyone on the situation.  I was finally able to get the Intel NIC recognized in my server.  I had to stop the array and then go into the Settings tab and select Network Settings.  Scroll down to the area for Interface Rules and then swap the MAC addresses for the devices for eth0 and eth1 using the drop down menus.  I hit apply, but once that was done the network interface no longer functioned since the ethernet cable on the server was still connected to the onboard NIC.  I suppose I could have just swapped the cable between the onboard NIC and the Intel NIC, but I opted to shutdown the server using the keyboard and monitor attached directly to the server.  Once the server was shut down I swapped the cable and powered it back up again.  Once it booted I had activity LEDs on the Intel NIC showing a connection. 

 

I reconnected to the server from my PC via the web GUI and all is working well again.  I had been getting transfer rates between my PC and the server at around 78 MBS using the Intel NIC whereas it dropped down to about 40 MBS using the onboard NIC.

 

This whole thing came about when I swapped my USB flash drive with the unRAID files to a different USB port.  I could not get the system to boot until I went in and moved the flash drive back to the top of the boot order.  I can only assume that somehow the onboard NIC was automatically reconfigured as eth0 when that happened.

Edited by captain_video
Solved
  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.