RHEL 7.2 Not recognizing Ethernet port
I've attempted to troubleshoot this one for 6 hours or more, and I cannot seem to resolve the issue. RHEL will not allow me to configure an eth0 port nor connect to the internet. I downloaded the .iso from RedHat's website and burned the image to a DVD. During DVD installation, it did not detect a network on the installation screen. However, the installation succeeded. RHEL is installed on a secondary hard drive. I performed a volume shrink, unformatted, and that is where I installed RHEL. My primary OS is Windows 10 which is located in my primary drive (Samsung SSD). The bootloader is modified and I have the option to select Win10 or RHEL 7.2 (using Grub2). The OS boots just fine, I get logged in, and I can do most of what I need minus having eth0 appear.
I did some searching and ran the following commands:
[name deleted@machine name deleted-RHEL ~]$ sudo lspci -k -vv | grep -i net -A20
[sudo] password for name deleted:
06:00.0 Ethernet controller: Qualcomm Atheros Device e0a1 (rev 10)
Subsystem: ASRock Incorporation Device e0a1
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 11
Region 0: Memory at df200000 (64-bit, non-prefetchable) [size=256K]
Region 2: I/O ports at c000 [size=128]
Capabilities: [40] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 4096 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
ExtTag- AttnBtn+ AttnInd+ PwrInd+ RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 256 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 unlimited
ClockPM+ Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
[name deleted@machine name deleted-RHEL ~]$ lsmod | egrep -i 'net|intel|e1000'
intel_powerclamp 18648 0
snd_hda_intel 35779 7
snd_hda_codec 137386 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_ca0132
snd_hda_core 57760 4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_codec_ca0132
intel_rapl 18773 0
kvm_intel 162153 0
snd_pcm 105835 5 snd_usb_audio,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_core
kvm 525259 1 kvm_intel
ghash_clmulni_intel 13259 0
aesni_intel 69884 0
lrw 13286 1 aesni_intel
snd 83425 30 snd_usb_audio,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_hda_codec_ca0132
glue_helper 13990 1 aesni_intel
ablk_helper 13597 1 aesni_intel
cryptd 20359 3 ghash_clmulni_intel,aesni_intel,ablk_helper
crc32c_intel 22079 1
[name deleted@machine name deleted-RHEL ~]$ lspci | grep -i net
06:00.0 Ethernet controller: Qualcomm Atheros Device e0a1 (rev 10)
[name deleted@machine name deleted-RHEL ~]$
I installed the 64-bit version of RHEL, if it matters.
Hardware:
i7-6700k
AsRock Z170 Gaming K6 Motherboard
Primary SSD Samsung 840 Pro (where Win10 lives)
Secondary HDD 3TB Platter (where RHEL lives)
Nvidia GTX 970
16GB DDR4
I'm trying to use RHEL to complete some certifications, but without the Internet, I'm basically hosed. Any help is much appreciated.
Attachments
Responses
The vendor:device ID pairing [1969:e0a1] tells me its driver is not in the current RHEL-7 kernel. I suppose you have an Atheros Killer2400 NIC that requires the alx kernel driver.
I found a couple of solutions/workarounds. here and here. If you are comfortable with rebuilding a kernel, the latter may be a preferable solution.
I created a patch that can be applied to the RHEL 7 kernel.
--- a/drivers/net/ethernet/atheros/alx/main.c.dist 2016-02-29 09:35:49.000000000 -0800
+++ b/drivers/net/ethernet/atheros/alx/main.c 2016-04-03 06:20:51.872482597 -0700
@@ -1601,6 +1601,7 @@ static const struct pci_device_id alx_pc
{ PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_AR8162),
.driver_data = ALX_DEV_QUIRK_MSI_INTX_DISABLE_BUG },
{ PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_AR8171) },
+ { PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_E2400) },
{ PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_AR8172) },
{}
};
--- a/drivers/net/ethernet/atheros/alx/reg.h.dist 2016-02-29 09:35:49.000000000 -0800
+++ b/drivers/net/ethernet/atheros/alx/reg.h 2016-04-03 06:22:22.521451129 -0700
@@ -39,6 +39,7 @@
#define ALX_DEV_ID_E2200 0xe091
#define ALX_DEV_ID_AR8162 0x1090
#define ALX_DEV_ID_AR8171 0x10A1
+#define ALX_DEV_ID_E2400 0xe0A1
#define ALX_DEV_ID_AR8172 0x10A0
/* rev definition,
I suggest you file a request at http://bugzilla.redhat.com and ask them to add your device to the alx driver.
Driver Update Program (DUP) requests must come from Original Equipment Manufacturers or Independent Hardware Vendors. We have not received a request to add DUP for alx.
Customers are welcome to ask their hardware vendor to request a DUP via the regular channels. There is a well-documented process which is shared with OEM/IHV partners.
Yes, this driver doesn't have support for your device in the RHEL kernel yet, so you'll need to either: load a kernel module which does support the hardware, or load an entire kernel which does support the device, or recompile the RHEL kernel with the patch Akemi mentioned.
ELRepo's kmod-alx may have support for this device, you'll have to ask ELRepo or inspect the kmod source.
You could also just run ELRepo's kernel-ml which is the latest upstream kernel compiled for EL, that should support the device.
This was added upstream by ethernet/atheros/alx: add Killer E2400 device ID so you could apply that patch (and any dependent patches) to the RHEL kernel SRPM and recompile. The CentOS Wiki has instructions for this, though I'm not sure if they're current for EL7.
Please note that none of these options are supported by Red Hat. If the kmod works, that is the least invasive option, as you're just loading a third-party driver for this device and maintaining the rest of RHEL intact.
ELRepo's kmod-alx has not yet been built for EL7. As Jamie pointed out, it would be the easiest solution. Dustin, if you submit a request at ELRepo's bug tracker, your wish may be granted. :)
Regarding the CentOS custom kernel wiki article, it is not ready for EL7. I've been meaning to update the page for ages... :(
Support for this device was added November 2015, so using compat-drivers from March 2013 probably won't work.
In the meantime, compat-drivers was renamed to backports.
It looks like it is in the latest stable backports release:
$ xzcat backports-4.4.2-1.tar.xz | strings| egrep "ALX_DEV_ID_E2400"
#define ALX_DEV_ID_E2400 0xe0a1
{ PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_E2400),
I have never used the upstream backports project, but they provide documentation at https://backports.wiki.kernel.org/index.php/Main_Page
Dustin,
There is a kmod package built just for you. :) I encourage you to give it a shot. This driver has a patch referenced by Jamie that adds support for the E2400. It is in ELRepo's testing repository.
(1) Set up the ELRepo repo.
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
(2) Install the kmod-alx package from the ELRepo Testing repo.
yum install --enablerepo=elrepo-testing kmod-alx
(3) Either load the module alx or reboot the system. If you see "kernel: alx: module verification failed: ...", don't worry. It has to do with Secure Boot.
(4) Run a 'modinfo alx' and check to see if the ELRepo's version is in use.
My bad, I overlooked the fact that you do not have network on your system.
On a computer that has internet access, download the following files and copy them to your RHEL machine:
https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
http://elrepo.org/linux/testing/el7/x86_64/RPMS/kmod-alx-0.0-1.el7.elrepo.x86_64.rpm
Then run:
rpm --import RPM-GPG-KEY-elrepo.org
rpm -Uvh kmod-alx-0.0-1.el7.elrepo.x86_64.rpm
Hope this works out for you.
[EDIT on 2016-04-22] kmod-alx for el7 is now in the main repository: http://elrepo.org/linux/elrepo/el7/x86_64/RPMS/kmod-alx-0.0-1.el7.elrepo.x86_64.rpm
That's right, enp6s0 is your network interface. It's called that because of systemd Predictable Naming.
You should now be able to add an IP address and default route to it with NetworkManager or the network initscripts. That's covered in Chapter 2. Configure IP Networking in the RHEL7 Networking Guide.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
