LINUX.ORG.RU

Ответ на: комментарий от sfedosenko

make install выдаёт ошибку:

cc1: some warnings being treated as errors

scripts/Makefile.build:297: /root/i40e-2.16.11/src/i40e_ethtool.o Error 1

Makefile:1881: /root/i40e-2.16.11/src] Error 2

Leaving directory /usr/src/linux-headers-5.15.39-3-pve

Makefile:69: default Error 2

galym
() автор топика
Ответ на: комментарий от galym

Там в архиве есть один милый, симпатичный файлик:

 cat ~/i40e-2.16.11/README 

И как оказалось, внутри файлика, не менее милая и симпатичная инструкция для создания модуля ядра:

Building and Installation
=========================
Note: RPM functionality has only been tested in Red Hat distributions.

To manually build the driver
----------------------------
1. Move the base driver tar file to the directory of your choice.
   For example, use '/home/username/i40e' or '/usr/local/src/i40e'.

2. Untar/unzip the archive, where <x.x.x> is the version number for the
   driver tar file:

   # tar zxf i40e-<x.x.x>.tar.gz

3. Change to the driver src directory, where <x.x.x> is the version number
   for the driver tar:

   # cd i40e-<x.x.x>/src/

4. Compile the driver module:

   # make install

   The binary will be installed as:
   /lib/modules/<KERNEL VER>/updates/drivers/net/ethernet/intel/i40e/i40e.ko

   The install location listed above is the default location. This may differ
   for various Linux distributions.

  NOTE: To gather and display additional statistics, use the
  I40E_ADD_PROBES pre-processor macro:
  # make CFLAGS_EXTRA=-DI40E_ADD_PROBES
  Please note that this additional statistics gathering can impact
  performance.

5. Load the module using the modprobe command.

   To check the version of the driver and then load it:

   # modinfo i40e
   # modprobe i40e [parameter=port1_value,port2_value]

   Alternately, make sure that any older i40e drivers are removed from the
   kernel before loading the new module:

   # rmmod i40e; modprobe i40e

6. Assign an IP address to the interface by entering the following,
   where <ethX> is the interface name that was shown in dmesg after modprobe:

   # ip address add <IP_address>/<netmask bits> dev <ethX>

7. Verify that the interface works. Enter the following, where IP_address
   is the IP address for another machine on the same subnet as the interface
   that is being tested:

   # ping <IP_address>

Note: For certain distributions like (but not limited to) Red Hat Enterprise
Linux 7, Ubuntu, and SUSE Linux Enterprise Server (SLES) 11, once the driver is
installed, you may need to update the initrd/initramfs file to prevent the OS
loading old versions of the i40e driver.
   For Red Hat distributions:
        # dracut --force

   For Ubuntu:
        # update-initramfs -u

И вы, конечно же, как опытный пользователь, не забудите установить все необходимое для сборки модуля ядра линукс для дебиан. Ибо прокс-шмокс основан на нем:

sudo apt install build-essential dkms linux-headers-$(uname -r)

И не ленитесь искать, например по ключевой фразе:

How to compile linux driver in debian
sfedosenko
()
Последнее исправление: sfedosenko (всего исправлений: 1)
Ответ на: комментарий от sfedosenko

Спасибо за ответ! Решил проблему с установки драйвера. Сейчас установлен новый драйвер, сервер перезагрузил. Но интерфейс все равно не поднимается. Сервер и коммутатор соединен с ДАК кабелем. Может быть проблема из этого?

ethtool -i enp94s0f0

driver: i40e version: 2.20.12 firmware-version: 6.01 0x800035da 1.1747.0 expansion-rom-version: bus-info: 000000.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: yes

galym
() автор топика