[elrepo] CentOS 7.9 driver for Lenovo P620 NIC

Phil Perry phil at elrepo.org
Sat Oct 16 08:03:59 EDT 2021


On 16/10/2021 12:52, Phil Perry wrote:
> On 16/10/2021 11:57, James Pearson wrote:
>> I'm trying to install CentOS 7.9 via PXE on a Lenovo P620 that has a 
>> single Aquantia 10Gb NIC
>>
>> The installer (Anaconda) fails to start and the installer kernel reports:
>>
>>   atlantic: Bad FW version detected: 4020028
>>
>> Installing the box by adding a 2nd NIC works fine and lspci reports:
>>
>>    01:00.0 Ethernet controller [0200]: Aquantia Corp. AQC107 
>> NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] [1d6a:07b1] (rev 02)
>>
>> After a bit of googling, it looks like Lenovo PCs with this NIC 
>> use/require 'version 4' of the firmware - which is not supported by 
>> the EL 7.9 atlantic driver (not supported until EL 8.4)
>>
>> Lenovo provide Linux driver source which builds fine on EL 7.9 - and I 
>> can insmod the new kernel module fine and it finds the NIC etc
>>
>> However, I'm struggling to build an installer driver disk image and 
>> get the CentOS 7.9 installer to use it
>>
>> I've created my own 'kmod-atlantic' RPM - based on other similar 
>> ElRepo SRPMS and it appears the installer attempts to use it - but it 
>> gives warnings like:
>>
>>   [   11.087251] atlantic: loading out-of-tree module taints kernel.
>>   [   11.090231] atlantic: module verification failed: signature 
>> and/or required key missing - tainting kernel
>>
> 
> This messaging is perfectly normal - it's basically just telling you 
> that you've loaded a 3rd party module and that it either isn't signed 
> for Secure Boot or that the key it has been signed with hasn't been 
> imported on your system.
> 
>> but doesn't seem to use the newer module?
>>

Forgot to add/ask - is SecureBoot enabled on your system? If so, then 
the module will be prevented from loading if it isn't signed with a SB 
key and that key imported into your system.

Running 'modinfo' on the driver module will tell you the full filename 
path of the driver in use. If it contains 'extra' or weak-updates' in 
the path then it's your module that's loaded, e.g:

/lib/modules/3.10.0-1160.45.1.el7.x86_64/weak-updates/module_name/module_name.ko

If it contains '/kernel/drivers/' in the path then it's the distro 
kernel driver that is in use.

The depmod .conf file is used to override the default kernel module with 
your 3rd party kmod module.

>> Can anyone give me some pointers to what I need to do to get the newer 
>> kernel module to load in the installer?
>>
> 
> To load the module during installation, you need to create a Driver 
> Update Disk (DUD) from your kmod package. This takes the form of an ISO 
> image you can burn to CD/DVD or USB stick and pass to the installer 
> (anaconda).
> 
> We have written a script that we use to do the job (below) which you are 
> welcome to use:
> 
> https://github.com/elrepo/elrepo-scripts/blob/master/mkdd.sh
> 
> Simply run the script from the same dir that contains your kmod RPM and 
> SRPM. Note you should build your kmod RPM against the same kernel 
> version that is used on the installation media.
> 
> This video explains how to use a Driver Update Disk (DUD) when 
> installing CentOS/RHEL:
> 
> https://www.youtube.com/watch?v=4fOAuXiynYM
> 
>> Thanks
>>
>> James Pearson
> 
> 
> _______________________________________________
> elrepo mailing list
> elrepo at lists.elrepo.org
> http://lists.elrepo.org/mailman/listinfo/elrepo



More information about the elrepo mailing list