AQC113 не работает на Debian 12.

Вопрос или проблема

Debian GNU/Linux 12 (bookworm) x86_64
Ядро: 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64 GNU/Linux

Установлен 10G AQtion Ethernet Controller с чипом AQC113C на pcie x4.

Не удаётся включить драйвер для AQC113. Здесь есть AQC111, но не AQC113. Команда modprobe atlantic не помогает.

# uname -a
    Linux ***** 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64 GNU/Linux
# lsmod | grep atlantic
    atlantic              245760  0
    macsec                 61440  1 atlantic
# modinfo aqc113
    modinfo: ERROR: Module aqc113 not found.
# modinfo aqc111
filename:       /lib/modules/6.1.0-28-amd64/kernel/drivers/net/usb/aqc111.ko
license:        GPL
description:    Aquantia AQtion USB to 5/2.5GbE Controllers
alias:          usb:v1C04p0015d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v1C04p0015d*dc*dsc*dp*icFFisc*ip*in*
alias:          usb:v20F4pE05Ad*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v20F4pE05Ad*dc*dsc*dp*icFFisc*ip*in*
alias:          usb:v0B95p2791d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v0B95p2791d*dc*dsc*dp*icFFisc*ip*in*
alias:          usb:v0B95p2790d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v0B95p2790d*dc*dsc*dp*icFFisc*ip*in*
alias:          usb:v2ECApC101d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v2ECApC101d*dc*dsc*dp*icFFisc*ip*in*
depends:        usbnet,usbcore
retpoline:      Y
intree:         Y
name:           aqc111
vermagic:       6.1.0-28-amd64 SMP preempt mod_unload modversions
sig_id:         PKCS#7
signer:         Debian Secure Boot CA
sig_key:        32:A0:28:7F:84:1A:03:6F:A3:93:C1:E0:65:C4:3A:E6:B2:42:26:43
sig_hashalgo:   sha256
signature:      17:5F:68:C5:6F:6E:F3:F8:2D:78:C4:8A:6C:EC:37:E0:4A:E9:41:CE:
                43:94:53:5E:BE:E6:7C:85:99:48:E0:43:E6:B3:0F:76:F8:47:E6:CF:
                8B:B1:A7:03:68:AB:BC:51:0C:1B:82:99:CC:24:65:32:24:B5:8E:91:
                0F:BA:3E:73:F3:C7:6B:09:AF:FC:9F:1B:A7:6E:21:5A:50:98:99:A9:
                66:CF:95:88:BF:6B:31:FB:2D:7C:42:68:D8:92:DF:18:15:82:63:59:
                E7:55:3E:AF:4C:BE:D6:D1:09:79:83:AD:CA:8A:F4:6E:A4:E5:D4:2F:
                8C:59:1E:D9:F1:7E:43:4E:F0:D6:7B:0A:C8:04:79:5A:96:EB:61:AC:
                A3:65:42:2E:D3:86:F5:DE:18:C4:71:52:C6:5D:82:6B:19:4B:CA:99:
                4F:F8:53:2C:B0:C8:EE:0D:38:74:C1:3D:D9:19:58:57:B6:BE:9A:ED:
                DC:BD:03:4E:A3:B2:9B:79:16:92:7D:47:61:F4:9C:44:67:E9:05:58:
                B1:1B:E5:E8:DF:EA:2C:18:BD:E1:30:9C:69:B3:E4:CF:DA:A4:79:BA:
                4C:35:14:54:06:8B:E2:6F:79:DB:9B:72:C4:C7:B9:CD:AC:7A:89:DC:
                AC:4B:6B:8D:8B:76:4A:DC:83:F9:F7:C9:A8:E4:84:E1

Проблемы с ошибками сборки драйверов AQtion-2.5.5 “слишком много аргументов для функции ‘netif_napi_add'”. Пробовал ядро 6.13.0-rc5-custom, те же проблемы. Как мне запустить контроллер Ethernet AQC113?

Сборка драйвера v2.5.12 (18-07-24) скаченного с официального сайта Marvell.

root@debvm:/# cd /opt/
root@debvm:/opt# wget https://www.marvell.com/content/dam/marvell/en/drivers/07-18-24_Marvell_Linux_2.5.12.zip
--2025-01-02 15:14:29--  https://www.marvell.com/content/dam/marvell/en/drivers/07-18-24_Marvell_Linux_2.5.12.zip
Resolving www.marvell.com (www.marvell.com)... 104.94.100.138, 104.94.100.99
Connecting to www.marvell.com (www.marvell.com)|104.94.100.138|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: ‘07-18-24_Marvell_Linux_2.5.12.zip’

07-18-24_Marvell_Linux_2.5.12.zip                               [ <=>                                                                                                                                     ] 242.83K  --.-KB/s    in 0.1s

2025-01-02 15:14:30 (2.41 MB/s) - ‘07-18-24_Marvell_Linux_2.5.12.zip’ saved [248654]

root@debvm:/opt# 7zz x 07-18-24_Marvell_Linux_2.5.12.zip

7-Zip (z) 22.01 (x64) : Copyright (c) 1999-2022 Igor Pavlov : 2022-07-15
 64-bit locale=en_US.UTF-8 Threads:128

Scanning the drive for archives:
1 file, 248654 bytes (243 KiB)

Extracting archive: 07-18-24_Marvell_Linux_2.5.12.zip
--
Path = 07-18-24_Marvell_Linux_2.5.12.zip
Type = zip
Physical Size = 248654

Everything is Ok

Folders: 1
Files: 3
Size:       280443
Compressed: 248654
root@debvm:/opt# ls -l
total 248
drwxr-xr-x 2 root root   4096 Sep 19 05:00 07-18-24_Marvell_Linux_2.5.12
-rw-r--r-- 1 root root 248654 Dec  6 08:34 07-18-24_Marvell_Linux_2.5.12.zip
root@debvm:/opt# cd ./07-18-24_Marvell_Linux_2.5.12/
root@debvm:/opt/07-18-24_Marvell_Linux_2.5.12# ls
atlantic.tar.gz  README.txt  Release_Notes_Linux_2.5.12.txt
root@debvm:/opt/07-18-24_Marvell_Linux_2.5.12# tar -zxf atlantic.tar.gz
root@debvm:/opt/07-18-24_Marvell_Linux_2.5.12#
root@debvm:/opt/07-18-24_Marvell_Linux_2.5.12# uname -a
Linux debvm 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64 GNU/Linux
root@debvm:/opt/07-18-24_Marvell_Linux_2.5.12#
root@debvm:/opt/07-18-24_Marvell_Linux_2.5.12# apt install apt linux-headers-6.1.0-28-amd64 build-essential
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
apt is already the newest version (2.6.1).
linux-headers-6.1.0-28-amd64 is already the newest version (6.1.119-1).
build-essential is already the newest version (12.9).
The following package was automatically installed and is no longer required:
  linux-image-6.1.0-27-amd64
Use 'apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
root@debvm:/opt/07-18-24_Marvell_Linux_2.5.12# cd ./Linux/
root@debvm:/opt/07-18-24_Marvell_Linux_2.5.12/Linux# ls
aq_cfg.h     aq_dash.c           aq_drvinfo.h  aq_filters.h   aq_macsec.c  aq_nic.c       aq_phy.c  aq_ring.c   aq_sysfs.h  aq_tsn.h    build-deb.sh  Kbuild         kunit       release_notes.txt
aq_common.h  aq_dash.h           aq_ethtool.c  aq_hw.h        aq_macsec.h  aq_nic.h       aq_phy.h  aq_ring.h   aq_trace.c  aq_utils.h  dkms.sh       Kbuild.cflags  macsec      rpm-src.spec
aq_compat.c  aq_dash_internal.h  aq_ethtool.h  aq_hw_utils.c  aq_main.c    aq_pci_func.c  aq_ptp.c  aq_rss.h    aq_trace.h  aq_vec.c    hw_atl        Kbuild.kunit   Makefile    ver.h
aq_compat.h  aq_drvinfo.c        aq_filters.c  aq_hw_utils.h  aq_main.h    aq_pci_func.h  aq_ptp.h  aq_sysfs.c  aq_tsn.c    aq_vec.h    hw_atl2       Kconfig        README.txt
root@debvm:/opt/07-18-24_Marvell_Linux_2.5.12/Linux# make
make -j4 -C /lib/modules/6.1.0-28-amd64/build M="/opt/07-18-24_Marvell_Linux_2.5.12/Linux" modules
make[1]: Entering directory '/usr/src/linux-headers-6.1.0-28-amd64'
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_main.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_nic.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_pci_func.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_vec.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_ring.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_ptp.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_filters.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_hw_utils.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_ethtool.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_drvinfo.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_trace.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_phy.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_compat.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_tsn.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_sysfs.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/hw_atl/hw_atl_a0.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/hw_atl/hw_atl_b0.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/hw_atl/hw_atl_utils.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/hw_atl/hw_atl_utils_fw2x.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/hw_atl/hw_atl_llh.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/hw_atl/hw_atl_fw_hostboot.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/hw_atl/hw_atl_fw_image.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/hw_atl2/hw_atl2_llh.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/hw_atl2/hw_atl2.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/hw_atl2/hw_atl2_utils.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/hw_atl2/hw_atl2_utils_fw.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/hw_atl2/hw_atl2_fw_hostboot.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/macsec/macsec_api.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_dash.o
  CC [M]  /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.o
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_dev_open’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:297:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  297 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_dev_stop’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:312:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  312 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_add_secy’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:475:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  475 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_upd_secy’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:502:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  502 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_del_secy’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:554:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  554 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_add_txsa’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:617:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  617 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_upd_txsa’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:648:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  648 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_del_txsa’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:699:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  699 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_add_rxsc’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:799:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  799 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_upd_rxsc’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:829:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  829 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_del_rxsc’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:897:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  897 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_add_rxsa’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:974:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  974 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_upd_rxsa’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:1005:16: error: ‘struct macsec_context’ has no member named ‘prepare’
 1005 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_del_rxsa’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:1057:16: error: ‘struct macsec_context’ has no member named ‘prepare’
 1057 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_get_dev_stats’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:1073:16: error: ‘struct macsec_context’ has no member named ‘prepare’
 1073 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_get_tx_sc_stats’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:1103:16: error: ‘struct macsec_context’ has no member named ‘prepare’
 1103 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_get_tx_sa_stats’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:1137:16: error: ‘struct macsec_context’ has no member named ‘prepare’
 1137 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_get_rx_sc_stats’:
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c:1179:16: error: ‘struct macsec_context’ has no member named ‘prepare’
 1179 |         if (ctx->prepare)
      |                ^~
/opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.c: In function ‘aq_mdo_get_rx_sa_stats’:
/opt/07-18-24_Marvell_LINUX_2.5.12/Linux/aq_macsec.c:1129:16: error: ‘struct macsec_context’ has no member named ‘prepare’
 1229 |         if (ctx->prepare)
      |                ^~
make[2]: *** [/usr/src/linux-headers-6.1.0-28-common/scripts/Makefile.build:255: /opt/07-18-24_Marvell_Linux_2.5.12/Linux/aq_macsec.o] Error 1
make[2]: *** Ожидание завершения заданий...
make[1]: *** [/usr/src/linux-headers-6.1.0-28-common/Makefile:2034: /opt/07-18-24_Marvell_Linux_2.5.12/Linux] Error 2
make[1]: выход из каталога '/usr/src/linux-headers-6.1.0-28-amd64'
make: *** [Makefile:36: all] Error 2

Сборка драйвера v2.5.5 из git (игнорировать ошибки)

root@debvm:/opt# git clone https://github.com/Aquantia/AQtion
Cloning into 'AQtion'...
remote: Enumerating objects: 597, done.
remote: Counting objects: 100% (55/55), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 597 (delta 47), reused 43 (delta 43), pack-reused 542 (from 1)
Receiving objects: 100% (597/597), 586.56 KiB | 2.33 MiB/s, done.
Resolving deltas: 100% (451/451), done.
root@debvm:/opt# cd ./AQtion/
root@debvm:/opt/AQtion# ls
aq_cfg.h     aq_dash.c           aq_drvinfo.h  aq_filters.h   aq_macsec.c  aq_nic.c       aq_phy.c  aq_ring.c   aq_sysfs.h  aq_tsn.h    build-deb.sh  Kbuild         kunit      README.txt
aq_common.h  aq_dash.h           aq_ethtool.c  aq_hw.h        aq_macsec.h  aq_nic.h       aq_phy.h  aq_ring.h   aq_trace.c  aq_utils.h  dkms.sh       Kbuild.cflags  macsec     rpm-src.spec
aq_compat.c  aq_dash_internal.h  aq_ethtool.h  aq_hw_utils.c  aq_main.c    aq_pci_func.c  aq_ptp.c  aq_rss.h    aq_trace.h  aq_vec.c    hw_atl        Kbuild.kunit   Makefile   ver.h
aq_compat.h  aq_drvinfo.c        aq_filters.c  aq_hw_utils.h  aq_main.h    aq_pci_func.h  aq_ptp.h  aq_sysfs.c  aq_tsn.c    aq_vec.h    hw_atl2       Kconfig        README.md
root@debvm:/opt/AQtion# make -i
make -j4 -C /lib/modules/6.1.0-28-amd64/build M="/opt/AQtion" modules
make[1]: вход в каталог '/usr/src/linux-headers-6.1.0-28-amd64'
  CC [M]  /opt/AQtion/aq_vec.o
  CC [M]  /opt/AQtion/aq_ring.o
  CC [M]  /opt/AQtion/aq_ptp.o
  CC [M]  /opt/AQtion/aq_filters.o
/opt/AQtion/aq_ptp.c: In function ‘aq_ptp_init’:
/opt/AQtion/aq_ptp.c:2130:9: error: too many arguments to function ‘netif_napi_add’
 2130 |         netif_napi_add(aq_nic_get_ndev(aq_nic), &aq_ptp->napi,
      |         ^~~~~~~~~~~~~~
In file included from /usr/src/linux-headers-6.1.0-28-common/include/linux/etherdevice.h:21,
                 from /opt/AQtion/aq_common.h:14,
                 from /opt/AQtion/aq_hw_utils.h:15,
                 from /opt/AQtion/aq_ptp.c:19:
/usr/src/linux-headers-6.1.0-28-common/include/linux/netdevice.h:2575:1: note: declared here
 2575 | netif_napi_add(struct net_device *dev, struct napi_struct *napi,
      | ^~~~~~~~~~~~~~
make[2]: [/usr/src/linux-headers-6.1.0-28-common/scripts/Makefile.build:255: /opt/AQtion/aq_ptp.o] Error 1 (ignored)
/usr/src/linux-headers-6.1.0-28-common/scripts/check-local-export: nm failed
Прервано
make[2]: [/usr/src/linux-headers-6.1.0-28-common/scripts/Makefile.build:255: /opt/AQtion/aq_ptp.o] Error 143 (ignored)
  CC [M]  /opt/AQtion/aq_hw_utils.o
/opt/AQtion/aq_vec.c: In function ‘aq_vec_alloc’:
/opt/AQtion/aq_vec.c:126:9: error: too many arguments to function ‘netif_napi_add’
  126 |         netif_napi_add(aq_nic_get_ndev(aq_nic), &self->napi,
      |         ^~~~~~~~~~~~~~
In file included from /usr/src/linux-headers-6.1.0-28-common/include/linux/etherdevice.h:21,
                 from /opt/AQtion/aq_common.h:14,
                 from /opt/AQtion/aq_vec.h:15,
                 from /opt/AQtion/aq_vec.c:12:
/usr/src/linux-headers-6.1.0-28-common/include/linux/netdevice.h:2575:1: note: declared here
 2575 | netif_napi_add(struct net_device *dev, struct napi_struct *napi,
      | ^~~~~~~~~~~~~~
make[2]: [/usr/src/linux-headers-6.1.0-28-common/scripts/Makefile.build:255: /opt/AQtion/aq_vec.o] Error 1 (ignored)
/usr/src/linux-headers-6.1.0-28-common/scripts/check-local-export: nm failed
Прервано
make[2]: [/usr/src/linux-headers-6.1.0-28-common/scripts/Makefile.build:255: /opt/AQtion/aq_vec.o] Error 143 (ignored)
  CC [M]  /opt/AQtion/aq_ethtool.o
  CC [M]  /opt/AQtion/aq_drvinfo.o
  CC [M]  /opt/AQtion/aq_trace.o
  CC [M]  /opt/AQtion/aq_phy.o
  CC [M]  /opt/AQtion/aq_compat.o
  CC [M]  /opt/AQtion/aq_tsn.o
  CC [M]  /opt/AQtion/aq_sysfs.o
  CC [M]  /opt/AQtion/hw_atl/hw_atl_a0.o
  CC [M]  /opt/AQtion/hw_atl/hw_atl_b0.o
  CC [M]  /opt/AQtion/hw_atl/hw_atl_utils.o
  CC [M]  /opt/AQtion/hw_atl/hw_atl_utils_fw2x.o
  CC [M]  /opt/AQtion/hw_atl/hw_atl_llh.o
  CC [M]  /opt/AQtion/hw_atl/hw_atl_fw_hostboot.o
  CC [M]  /opt/AQtion/hw_atl/hw_atl_fw_image.o
  CC [M]  /opt/AQtion/hw_atl2/hw_atl2_llh.o
  CC [M]  /opt/AQtion/hw_atl2/hw_atl2.o
  CC [M]  /opt/AQtion/hw_atl2/hw_atl2_utils.o
  CC [M]  /opt/AQtion/hw_atl2/hw_atl2_utils_fw.o
  CC [M]  /opt/AQtion/hw_atl2/hw_atl2_fw_hostboot.o
  CC [M]  /opt/AQtion/macsec/macsec_api.o
  CC [M]  /opt/AQtion/aq_dash.o
  CC [M]  /opt/AQtion/aq_macsec.o
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_dev_open’:
/opt/AQtion/aq_macsec.c:296:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  296 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_dev_stop’:
/opt/AQtion/aq_macsec.c:310:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  310 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_add_secy’:
/opt/AQtion/aq_macsec.c:472:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  472 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_upd_secy’:
/opt/AQtion/aq_macsec.c:498:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  498 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_del_secy’:
/opt/AQtion/aq_macsec.c:549:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  549 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_add_txsa’:
/opt/AQtion/aq_macsec.c:611:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  611 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_upd_txsa’:
/opt/AQtion/aq_macsec.c:641:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  641 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_del_txsa’:
/opt/AQtion/aq_macsec.c:691:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  691 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_add_rxsc’:
/opt/AQtion/aq_macsec.c:790:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  790 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_upd_rxsc’:
/opt/AQtion/aq_macsec.c:819:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  819 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_del_rxsc’:
/opt/AQtion/aq_macsec.c:886:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  886 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_add_rxsa’:
/opt/AQtion/aq_macsec.c:962:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  962 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_upd_rxsa’:
/opt/AQtion/aq_macsec.c:992:16: error: ‘struct macsec_context’ has no member named ‘prepare’
  992 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_del_rxsa’:
/opt/AQtion/aq_macsec.c:1043:16: error: ‘struct macsec_context’ has no member named ‘prepare’
 1043 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_get_dev_stats’:
/opt/AQtion/aq_macsec.c:1058:16: error: ‘struct macsec_context’ has no member named ‘prepare’
 1058 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_get_tx_sc_stats’:
/opt/AQtion/aq_macsec.c:1087:16: error: ‘struct macsec_context’ has no member named ‘prepare’
 1087 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_get_tx_sa_stats’:
/opt/AQtion/aq_macsec.c:1120:16: error: ‘struct macsec_context’ has no member named ‘prepare’
 1120 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_get_rx_sc_stats’:
/opt/AQtion/aq_macsec.c:1161:16: error: ‘struct macsec_context’ has no member named ‘prepare’
 1161 |         if (ctx->prepare)
      |                ^~
/opt/AQtion/aq_macsec.c: In function ‘aq_mdo_get_rx_sa_stats’:
/opt/AQtion/aq_macsec.c:1210:16: error: ‘struct macsec_context’ has no member named ‘prepare’
 1210 |         if (ctx->prepare)
      |                ^~
make[2]: [/usr/src/linux-headers-6.1.0-28-common/scripts/Makefile.build:255: /opt/AQtion/aq_macsec.o] Error 1 (ignored)
/usr/src/linux-headers-6.1.0-28-common/scripts/check-local-export: nm failed
Прервано
make[2]: [/usr/src/linux-headers-6.1.0-28-common/scripts/Makefile.build:255: /opt/AQtion/aq_macsec.o] Error 143 (ignored)
  LD [M]  /opt/AQtion/atlantic.o
ld: cannot find /opt/AQtion/aq_vec.o: No such file or directory
ld: cannot find /opt/AQtion/aq_ptp.o: No such file or directory
ld: cannot find /opt/AQtion/aq_macsec.o: No such file or directory
make[2]: [/usr/src/linux-headers-6.1.0-28-common/scripts/Makefile.build:468: /opt/AQtion/atlantic.o] Error 1 (ignored)

Ответ или решение

Чтобы решить проблему с недоступностью драйвера для AQC113 на Debian 12, давайте подробно разберемся в вашем сценарии и предложим решение. Вам нужно установить и настроить драйвер для чипа Aquantia AQC113C.

  1. Текущая ситуация:

    • У вас установлена версия ядра 6.1.0-28-amd64.
    • Сетевая карта 10G AQtion Ethernet с чипом AQC113C не работает.
    • Драйвер atlantic установлен, но вашей карты он не поддерживает.
    • Вы столкнулись с ошибками при компиляции драйверов версии 2.5.12 и 2.5.5.
  2. Анализ проблемы:

    • Судя по выводам, AQC113C не поддерживается текущим модулем atlantic, что может быть связано с отсутствием поддержки этого чипа в дефолтной версии драйвера.
    • PCIE 10G адаптер нуждается в специфическом драйвере, который может быть не включен в вашу версию Debian по умолчанию.
  3. Предлагаемые решения:

    А. Проверка системной поддержки:

    • Убедитесь, что ваше ядро действительно поддерживает этот Ethernet чип. Можно проверить, не заблокирован ли этот чип в вашем ядре или не исключён ли он разработчиками Debian по умолчанию.

    Б. Обновление ядра Linux:

    • Попробуйте обновить ядро до более новой версии, где может быть добавлена поддержка вашего устройства. Использование более свежего ядра 6.2 или выше может оказаться полезным.

    В. Сборка драйвера из исходников с изменениями:

    • Поскольку во время сборки драйвера у вас возникают ошибки, возможно, необходимо внести изменения в драйвер, чтобы он компилировался корректно с вашим ядром. Измените вызов netif_napi_add в файле aq_ptp.c и aq_vec.c, чтобы передать ему только допустимое количество аргументов.

    Г. Сообщество и поддержка производителя:

    • Обратитесь за помощью на поддержку Marvell или профильные сообщества, такие как GitHub, где уже рассмотрены подобные кейсы. Возможно, кто-то уже обновил драйвер для поддержки вашей версии ядра.

    Д. Альтернативные методы:

    • Рассмотрите возможность использования универсальных драйверов, которые могут лишь частично поддерживать вашу карту, пока не будет окончательно решена проблема.
  4. Заключение:

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

Эти шаги должны помочь вам активировать и использовать вашу сетевую карту на Debian 12. Однако для критически важных систем рекомендую протестировать изменения в изолированных средах перед внедрением в рабочую среду.

Оцените материал
Добавить комментарий

Капча загружается...