Giter Site home page Giter Site logo

aquantia / aqtion Goto Github PK

View Code? Open in Web Editor NEW
81.0 12.0 28.0 636 KB

Aquantia AQC multigigabit NIC linux driver (atlantic) - development preview

Home Page: https://www.aquantia.com

Makefile 0.42% C 99.14% Shell 0.44%
driver ethtool linux kernel 10gbit 10gbase-t

aqtion's Introduction

AQUANTIA AQtion (atlantic) linux driver

This is a latest development preview of aquantia's atlantic linux kernel driver for AQtion family of multigigabit adapters. Please read technical details in README.txt

Notice this is an experimental software. For stable driver version please either visit http://www.aquantia.com or take the driver bundled with your linux kernel.

Being experimental, it has the following agreement and limitations:

AQUANTIA SOFTWARE LICENSE AGREEMENT – EXPERIMENTAL USE SOFTWARE

The terms of this Aquantia Software License Agreement (“Agreement”) govern and control your use of the Aquantia software and associated materials (collectively, “Software”) available for download at this site.

IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING.

Do not copy, install, or use this Software until you, on behalf of the company, partnership or business entity that you represent (“You”) have carefully read the following terms and conditions. By copying, installing, or otherwise using the Software, You agree to be bound by the terms of this Agreement. If You do not agree to the terms of this Agreement, do not copy, install, or use the Software.

EXPERIMENTAL NATURE OF THE SOFTWARE; DISCLAIMER OF WARRANTIES

YOU ACKNOWLEDGE AND UNDERSTAND THAT YOU ARE RECEIVING A VERSION OF THE SOFTWARE THAT IS IN AN UNTESTED, EXPERIMENTAL FORM AND MAY CONTAIN SIGNIFICANT ERRORS, OMISSIONS, AND PROBLEMS. THE SOFTWARE IS PROVID¬ED "AS IS." AQUANTIA DIS¬CLAIMS ALL WAR-RAN¬TIES OF ANY KIND, EXPRESS OR IMPLIED, IN¬CLUDING, BUT NOT LIMITED TO, WAR¬RAN¬TIES OF PERFOR¬MANCE OR MER¬CHANTABILI¬TY OR FITNESS FOR A PARTICU¬LAR PURPOSE OR WARRANTY AGAINST INFRINGEMENT. YOU BEAR ALL RISK RELAT¬ING TO USE OF THE SOFTWARE AND THE QUALITY AND PERFORMANCE OF THE SOFTWARE. Aquantia does not warrant that the Soft¬ware will meet your require¬ments, operate without interruption or be error free. Aquantia further does not warrant or assume responsibility for the accuracy or completeness of any information, text, graphics, links, or other items contained within the Software.

LICENSE

Subject to all of the terms and conditions of this Agreement, Aquantia grants to You a non-exclusive, non-assignable, copyrighted license to use the Software for evaluation purposes only. As part of such use, You may copy the Software onto a single computer for your personal use, and You may make one back-up copy of the Software, provided that You retain all proprietary rights notices included in the original version.

LICENSE RESTRICTIONS

You may NOT: (i) use or copy the Software except as provided in this Agreement; (ii) rent or lease the Software to any third party; (iii) assign this Agreement or transfer the Software without the express written consent of Aquantia; (iv) modify, adapt, or translate the Software in whole or in part except as provided in this Agreement; (v) reverse engineer, decompile, or disassemble the Software; (vi) attempt to modify or tamper with the normal function of a license manager that regulates usage of the Software; (vii) distribute, sublicense or transfer any components of the Software. PRODUCTION USE OF THE SOFTWARE IS NOT PERMITTED.

NO OTHER RIGHTS

No rights or licenses are granted by Aquantia to You, expressly or by implication, with respect to any proprietary information or patent, copyright, mask work, trademark, trade secret, or other intellectual property right owned or controlled by Aquantia, except for the limited, evaluation license to the Software as expressly provided in this Agreement.

OWNERSHIP OF SOFTWARE AND COPYRIGHTS

The Software is licensed, not sold. Title to all copies of the Software remains with Aquantia. The Software is copyrighted and protected by the laws of the United States and other countries and international treaty provisions. You may not remove any copyright notices from the Software. You agree to prevent any unauthorized copying of the Software. Aquantia may make changes to the Software, or to items referenced therein, at any time without notice, but is not obligated to support or update the Software.

FEEDBACK

You agree that Aquantia may, at its sole discretion, use any and all feedback you provide, including without limitation, any flaws, errors, bugs, anomalies, problems, suggestions for improvement or other modifications and any other feedback with respect to the Software (collectively, “Feedback”) without any payment of royalties or other liabilities or obligations. You represent, warrant and covenant that you have the right to provide Feedback to Aquantia.

LIMITATION OF LIABILITY

IN NO EVENT SHALL AQUANTIA OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES OF ANY KIND WHATSOEVER, WHETHER DIRECT, INCIDENTIAL, CONSEQUENTIAL, PUNITIVE OR OTHERWISE (INCLUDING, WITHOUT LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION, OR LOST INFORMATION) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF AQUANTIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR LIMITATION OF LIABILITY FOR IMPLIED WARRANTIES OR CONSEQUENTIAL OR INCIDENTAL DAMAGES, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. YOU MAY ALSO HAVE OTHER LEGAL RIGHTS THAT VARY FROM JURISDICTION TO JURISDICTION. In the event that the above exclusion does not apply, You agree that Aquantia’s entire liability for any and all claims of any kind whatsoever in connection with the Software or this Agreement shall be limited to $100.

TERMINATION OF THIS AGREEMENT

Aquantia may terminate this Agreement at any time if You violate its terms. Upon termination, You will immediately destroy the Software or return all copies of the Software to Aquantia.

APPLICABLE LAWS

Claims arising under this Agreement shall be governed by the laws of the State of California, without regard to principles of conflict of laws. You agree that the terms of the United Nations Convention on Contracts for the International Sale of Goods does not apply to this Agreement. You may not export the Software in violation of applicable export laws and regulations. Aquantia is not obligated under any other agreements unless they are in writing and signed by an authorized representative of Aquantia.

aqtion's People

Contributors

cail avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aqtion's Issues

Link down/up cycling occasionally fails to re-establish connection

I'll try to keep this short...
I have two PC's each with a "Aquantia Corp. AQC107" PCI-E card and direct eth connection between the two (no switches, etc).
One PC runs Windows 10 x64 (desktop), the other Debian x64 bookworm/sid on the 6.0.0 debian kernel (server).
The server is up 24/7, the deskop is on/off every day.

driver: atlantic
version: 6.0.0-6-amd64
firmware-version: 3.1.58
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: yes

Occasionally (say 25% of the time), the Linux server end of the Ethernet link is not reestablished after booting the Windows PC.
The only way ive found to re-establish the connection (without re-booting the Linux server) is to run the following script:

brctl delif br0 enp2s0
sleep 5s
ip link set enp2s0 down
sleep 20s
rmmod atlantic
sleep 15s
modprobe atlantic
sleep 15s
ip link set enp2s0 up
sleep 10s
brctl addif br0 enp2s0
brctl show

When I do so, most of the time the eth link then becomes operational.
Sometimes when I do run the script, i get segfaults in the kernel log, and the link does not come up.
It's pretty random.

Below is a section of the kernel log over a few days showing the link going up and down successfully, a fail, the segfaults that sometimes occur when running that script, and then the link coming up ok again.

Please let me know if i can provide an information that would help diagnose the issue.

[Jan 6 07:46] atlantic 0000:02:00.0 enp2s0: atlantic: link change old 0 new 10000
[  +0.001392] br0: port 1(enp2s0) entered blocking state
[  +0.000007] br0: port 1(enp2s0) entered forwarding state
[Jan 6 23:44] atlantic 0000:02:00.0 enp2s0: atlantic: link change old 10000 new 0
[  +0.000356] br0: port 1(enp2s0) entered disabled state
[Jan 7 06:33] XFS (sdb1): Mounting V5 Filesystem
[  +0.247521] XFS (sdb1): Ending clean mount
[Jan 7 06:36] XFS (sdb1): Unmounting Filesystem
[Jan 7 11:49] device enp2s0 left promiscuous mode
[  +0.000090] br0: port 1(enp2s0) entered disabled state
[Jan 7 11:50] atlantic 0000:02:00.0 enp2s0: renamed from eth0
[  +6.152662] atlantic 0000:02:00.0 enp2s0: atlantic: link change old 0 new 10000
[  +0.001463] IPv6: ADDRCONF(NETDEV_CHANGE): enp2s0: link becomes ready
[ +18.838382] br0: port 1(enp2s0) entered blocking state
[  +0.000010] br0: port 1(enp2s0) entered disabled state
[  +0.000130] device enp2s0 entered promiscuous mode
[  +0.000118] br0: port 1(enp2s0) entered blocking state
[  +0.000005] br0: port 1(enp2s0) entered forwarding state
[Jan 8 01:11] atlantic 0000:02:00.0 enp2s0: atlantic: link change old 10000 new 0
[  +0.000222] br0: port 1(enp2s0) entered disabled state
[Jan 9 09:16] device enp2s0 left promiscuous mode
[  +0.000072] br0: port 1(enp2s0) entered disabled state
[Jan 9 09:17] atlantic 0000:02:00.0 enp2s0: renamed from eth0
[  +0.626151] ip: page allocation failure: order:6, mode:0x40dc0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null),[email protected],mems_allowed=0
[  +0.000014] CPU: 3 PID: 2675215 Comm: ip Not tainted 6.0.0-6-amd64 #1  Debian 6.0.12-1
[  +0.000003] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./Z68 Extreme3 Gen3, BIOS P2.30 06/29/2012
[  +0.000002] Call Trace:
[  +0.000003]  <TASK>
[  +0.000003]  dump_stack_lvl+0x44/0x5c
[  +0.000007]  warn_alloc+0x151/0x170
[  +0.000004]  ? __alloc_pages_direct_compact+0x221/0x330
[  +0.000004]  __alloc_pages_slowpath.constprop.0+0xd4f/0xdb0
[  +0.000005]  __alloc_pages+0x305/0x330
[  +0.000003]  kmalloc_order+0x2a/0xa0
[  +0.000003]  kmalloc_order_trace+0x19/0x90
[  +0.000004]  aq_ring_alloc+0x22/0xb0 [atlantic]
[  +0.000011]  aq_vec_ring_alloc+0xea/0x1a0 [atlantic]
[  +0.000009]  aq_nic_init+0x114/0x1d0 [atlantic]
[  +0.000009]  aq_ndev_open+0x16/0x70 [atlantic]
[  +0.000007]  __dev_open+0xf4/0x1a0
[  +0.000003]  __dev_change_flags+0x1d1/0x240
[  +0.000003]  dev_change_flags+0x22/0x60
[  +0.000002]  do_setlink+0x802/0x12b0
[  +0.000004]  ? __nla_validate_parse+0x5f/0xbc0
[  +0.000004]  __rtnl_newlink+0x61d/0x9b0
[  +0.000004]  rtnl_newlink+0x43/0x70
[  +0.000003]  rtnetlink_rcv_msg+0x14e/0x3b0
[  +0.000002]  ? copy_user_generic_string+0x2c/0x50
[  +0.000003]  ? rtnl_calcit.isra.0+0x140/0x140
[  +0.000002]  netlink_rcv_skb+0x51/0x100
[  +0.000003]  netlink_unicast+0x242/0x390
[  +0.000003]  netlink_sendmsg+0x250/0x4c0
[  +0.000002]  sock_sendmsg+0x5f/0x70
[  +0.000003]  ____sys_sendmsg+0x267/0x2b0
[  +0.000003]  ? copy_msghdr_from_user+0x7d/0xc0
[  +0.000003]  ___sys_sendmsg+0x9a/0xe0
[  +0.000006]  __sys_sendmsg+0x76/0xc0
[  +0.000003]  do_syscall_64+0x3a/0xc0
[  +0.000003]  entry_SYSCALL_64_after_hwframe+0x63/0xcd
[  +0.000004] RIP: 0033:0x7f1ef032a980
[  +0.000002] Code: 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 66 2e 0f 1f 84 00 00 00 00 00 90 80 3d 61 fc 0c 00 00 74 17 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 89 54
[  +0.000002] RSP: 002b:00007ffcd4d14b88 EFLAGS: 00000202 ORIG_RAX: 000000000000002e
[  +0.000002] RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007f1ef032a980
[  +0.000002] RDX: 0000000000000000 RSI: 00007ffcd4d14bf0 RDI: 0000000000000003
[  +0.000001] RBP: 0000000000000003 R08: 0000000063bb4804 R09: 000055b3a271a2a0
[  +0.000001] R10: 00007ffcd4d14614 R11: 0000000000000202 R12: 0000000063bb4805
[  +0.000002] R13: 000055b3a23cd020 R14: 0000000000000001 R15: 0000000000000000
[  +0.000002]  </TASK>
[  +0.000001] Mem-Info:
[  +0.000002] active_anon:261668 inactive_anon:260792 isolated_anon:0
               active_file:1009753 inactive_file:1700165 isolated_file:0
               unevictable:12496 dirty:1628 writeback:0
               slab_reclaimable:457046 slab_unreclaimable:98768
               mapped:40468 shmem:3580 pagetables:3633 bounce:0
               kernel_misc_reclaimable:0
               free:105615 free_pcp:0 free_cma:0
[  +0.000004] Node 0 active_anon:1046672kB inactive_anon:1043168kB active_file:4039012kB inactive_file:6800660kB unevictable:49984kB isolated(anon):0kB isolated(file):0kB mapped:161872kB dirty:6512kB writeback:0kB shmem:14320kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 1232896kB writeback_tmp:0kB kernel_stack:7444kB pagetables:14532kB all_unreclaimable? no
[  +0.000005] Node 0 DMA free:13312kB boost:0kB min:60kB low:72kB high:84kB reserved_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15984kB managed:15360kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[  +0.000004] lowmem_reserve[]: 0 3404 15873 15873 15873
[  +0.000004] Node 0 DMA32 free:108820kB boost:0kB min:14480kB low:18100kB high:21720kB reserved_highatomic:0KB active_anon:32100kB inactive_anon:165536kB active_file:734420kB inactive_file:1723652kB unevictable:6476kB writepending:636kB present:3588416kB managed:3522880kB mlocked:6476kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[  +0.000005] lowmem_reserve[]: 0 0 12469 12469 12469
[  +0.000003] Node 0 Normal free:300328kB boost:0kB min:53036kB low:66292kB high:79548kB reserved_highatomic:0KB active_anon:1014572kB inactive_anon:877904kB active_file:3304804kB inactive_file:5076852kB unevictable:43508kB writepending:5876kB present:13096960kB managed:12776472kB mlocked:43500kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[  +0.000004] lowmem_reserve[]: 0 0 0 0 0
[  +0.000004] Node 0 DMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 1*1024kB (U) 2*2048kB (UM) 2*4096kB (M) = 13312kB
[  +0.000010] Node 0 DMA32: 8954*4kB (UME) 3797*8kB (UME) 1108*16kB (UME) 683*32kB (UME) 48*64kB (UME) 4*128kB (ME) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 109360kB
[  +0.000012] Node 0 Normal: 14237*4kB (UME) 16737*8kB (UME) 4860*16kB (UME) 980*32kB (UME) 12*64kB (UME) 1*128kB (M) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 300860kB
[  +0.000012] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
[  +0.000002] 2720017 total pagecache pages
[  +0.000002] 5572 pages in swap cache
[  +0.000001] Free swap  = 3838088kB
[  +0.000001] Total swap = 4095996kB
[  +0.000002] 4175340 pages RAM
[  +0.000001] 0 pages HighMem/MovableOnly
[  +0.000001] 96662 pages reserved
[  +0.000001] 0 pages hwpoisoned
[ +14.840069] ip: page allocation failure: order:6, mode:0x40dc0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null),cpuset=user.slice,mems_allowed=0
[  +0.000012] CPU: 5 PID: 2675424 Comm: ip Not tainted 6.0.0-6-amd64 #1  Debian 6.0.12-1
[  +0.000003] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./Z68 Extreme3 Gen3, BIOS P2.30 06/29/2012
[  +0.000001] Call Trace:
[  +0.000003]  <TASK>
[  +0.000003]  dump_stack_lvl+0x44/0x5c
[  +0.000006]  warn_alloc+0x151/0x170
[  +0.000005]  ? __alloc_pages_direct_compact+0x221/0x330
[  +0.000003]  __alloc_pages_slowpath.constprop.0+0xd4f/0xdb0
[  +0.000004]  __alloc_pages+0x305/0x330
[  +0.000003]  kmalloc_order+0x2a/0xa0
[  +0.000003]  kmalloc_order_trace+0x19/0x90
[  +0.000004]  aq_ring_alloc+0x22/0xb0 [atlantic]
[  +0.000010]  aq_vec_ring_alloc+0xea/0x1a0 [atlantic]
[  +0.000008]  aq_nic_init+0x114/0x1d0 [atlantic]
[  +0.000008]  aq_ndev_open+0x16/0x70 [atlantic]
[  +0.000006]  __dev_open+0xf4/0x1a0
[  +0.000003]  __dev_change_flags+0x1d1/0x240
[  +0.000003]  dev_change_flags+0x22/0x60
[  +0.000002]  do_setlink+0x802/0x12b0
[  +0.000003]  ? __nla_validate_parse+0x5f/0xbc0
[  +0.000003]  __rtnl_newlink+0x61d/0x9b0
[  +0.000004]  rtnl_newlink+0x43/0x70
[  +0.000002]  rtnetlink_rcv_msg+0x14e/0x3b0
[  +0.000002]  ? copy_user_generic_string+0x2c/0x50
[  +0.000003]  ? rtnl_calcit.isra.0+0x140/0x140
[  +0.000002]  netlink_rcv_skb+0x51/0x100
[  +0.000003]  netlink_unicast+0x242/0x390
[  +0.000002]  netlink_sendmsg+0x250/0x4c0
[  +0.000003]  sock_sendmsg+0x5f/0x70
[  +0.000003]  ____sys_sendmsg+0x267/0x2b0
[  +0.000002]  ? copy_msghdr_from_user+0x7d/0xc0
[  +0.000003]  ___sys_sendmsg+0x9a/0xe0
[  +0.000005]  __sys_sendmsg+0x76/0xc0
[  +0.000003]  do_syscall_64+0x3a/0xc0
[  +0.000002]  entry_SYSCALL_64_after_hwframe+0x63/0xcd
[  +0.000003] RIP: 0033:0x7fefd7eb2980
[  +0.000003] Code: 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 66 2e 0f 1f 84 00 00 00 00 00 90 80 3d 61 fc 0c 00 00 74 17 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 89 54
[  +0.000001] RSP: 002b:00007ffdf12afaa8 EFLAGS: 00000202 ORIG_RAX: 000000000000002e
[  +0.000003] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007fefd7eb2980
[  +0.000001] RDX: 0000000000000000 RSI: 00007ffdf12afb10 RDI: 0000000000000003
[  +0.000001] RBP: 0000000000000002 R08: 0000000063bb4813 R09: 000056170f2aa2a0
[  +0.000001] R10: 00007ffdf12af534 R11: 0000000000000202 R12: 0000000063bb4814
[  +0.000001] R13: 000056170e47b020 R14: 0000000000000001 R15: 0000000000000000
[  +0.000002]  </TASK>
[  +0.000001] Mem-Info:
[  +0.000002] active_anon:261706 inactive_anon:256596 isolated_anon:0
               active_file:1010126 inactive_file:1701493 isolated_file:0
               unevictable:12496 dirty:2098 writeback:1
               slab_reclaimable:457045 slab_unreclaimable:98575
               mapped:42662 shmem:3587 pagetables:3399 bounce:0
               kernel_misc_reclaimable:0
               free:108996 free_pcp:0 free_cma:0
[  +0.000004] Node 0 active_anon:1046824kB inactive_anon:1026384kB active_file:4040504kB inactive_file:6805972kB unevictable:49984kB isolated(anon):0kB isolated(file):0kB mapped:170648kB dirty:8392kB writeback:4kB shmem:14348kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 1232896kB writeback_tmp:0kB kernel_stack:7104kB pagetables:13596kB all_unreclaimable? no
[  +0.000003] Node 0 DMA free:13312kB boost:0kB min:60kB low:72kB high:84kB reserved_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15984kB managed:15360kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[  +0.000005] lowmem_reserve[]: 0 3404 15873 15873 15873
[  +0.000003] Node 0 DMA32 free:114984kB boost:0kB min:14480kB low:18100kB high:21720kB reserved_highatomic:0KB active_anon:32100kB inactive_anon:159360kB active_file:735196kB inactive_file:1723228kB unevictable:6476kB writepending:452kB present:3588416kB managed:3522880kB mlocked:6476kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[  +0.000004] lowmem_reserve[]: 0 0 12469 12469 12469
[  +0.000003] Node 0 Normal free:307688kB boost:0kB min:53036kB low:66292kB high:79548kB reserved_highatomic:0KB active_anon:1014724kB inactive_anon:867024kB active_file:3305504kB inactive_file:5082744kB unevictable:43508kB writepending:7684kB present:13096960kB managed:12776472kB mlocked:43500kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[  +0.000004] lowmem_reserve[]: 0 0 0 0 0
[  +0.000003] Node 0 DMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 1*1024kB (U) 2*2048kB (UM) 2*4096kB (M) = 13312kB
[  +0.000009] Node 0 DMA32: 8943*4kB (UME) 4106*8kB (UME) 1182*16kB (UME) 726*32kB (UME) 60*64kB (UME) 6*128kB (ME) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 115372kB
[  +0.000011] Node 0 Normal: 15461*4kB (UME) 17014*8kB (UME) 4880*16kB (UME) 966*32kB (UME) 14*64kB (UME) 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 307844kB
[  +0.000010] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
[  +0.000001] 2721748 total pagecache pages
[  +0.000001] 5572 pages in swap cache
[  +0.000001] Free swap  = 3838088kB
[  +0.000000] Total swap = 4095996kB
[  +0.000001] 4175340 pages RAM
[  +0.000001] 0 pages HighMem/MovableOnly
[  +0.000000] 96662 pages reserved
[  +0.000001] 0 pages hwpoisoned
[ +10.003121] br0: port 1(enp2s0) entered blocking state
[  +0.000008] br0: port 1(enp2s0) entered disabled state
[  +0.000088] device enp2s0 entered promiscuous mode
[Jan 9 09:55] device enp2s0 left promiscuous mode
[  +0.000048] br0: port 1(enp2s0) entered disabled state
[Jan 9 09:56] atlantic 0000:02:00.0 enp2s0: renamed from eth0
[  +0.596643] ip: page allocation failure: order:6, mode:0x40dc0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null),[email protected],mems_allowed=0
[  +0.000014] CPU: 1 PID: 2745610 Comm: ip Not tainted 6.0.0-6-amd64 #1  Debian 6.0.12-1
[  +0.000002] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./Z68 Extreme3 Gen3, BIOS P2.30 06/29/2012
[  +0.000002] Call Trace:
[  +0.000002]  <TASK>
[  +0.000003]  dump_stack_lvl+0x44/0x5c
[  +0.000006]  warn_alloc+0x151/0x170
[  +0.000005]  ? __alloc_pages_direct_compact+0x221/0x330
[  +0.000003]  __alloc_pages_slowpath.constprop.0+0xd4f/0xdb0
[  +0.000004]  __alloc_pages+0x305/0x330
[  +0.000003]  kmalloc_order+0x2a/0xa0
[  +0.000003]  kmalloc_order_trace+0x19/0x90
[  +0.000003]  aq_ring_alloc+0x22/0xb0 [atlantic]
[  +0.000012]  aq_vec_ring_alloc+0xea/0x1a0 [atlantic]
[  +0.000008]  aq_nic_init+0x114/0x1d0 [atlantic]
[  +0.000008]  aq_ndev_open+0x16/0x70 [atlantic]
[  +0.000006]  __dev_open+0xf4/0x1a0
[  +0.000003]  __dev_change_flags+0x1d1/0x240
[  +0.000002]  dev_change_flags+0x22/0x60
[  +0.000002]  do_setlink+0x802/0x12b0
[  +0.000004]  ? __nla_validate_parse+0x5f/0xbc0
[  +0.000004]  __rtnl_newlink+0x61d/0x9b0
[  +0.000003]  rtnl_newlink+0x43/0x70
[  +0.000002]  rtnetlink_rcv_msg+0x14e/0x3b0
[  +0.000002]  ? copy_user_generic_string+0x2c/0x50
[  +0.000003]  ? rtnl_calcit.isra.0+0x140/0x140
[  +0.000002]  netlink_rcv_skb+0x51/0x100
[  +0.000003]  netlink_unicast+0x242/0x390
[  +0.000002]  netlink_sendmsg+0x250/0x4c0
[  +0.000002]  sock_sendmsg+0x5f/0x70
[  +0.000003]  ____sys_sendmsg+0x267/0x2b0
[  +0.000003]  ? copy_msghdr_from_user+0x7d/0xc0
[  +0.000002]  ___sys_sendmsg+0x9a/0xe0
[  +0.000005]  __sys_sendmsg+0x76/0xc0
[  +0.000004]  do_syscall_64+0x3a/0xc0
[  +0.000002]  entry_SYSCALL_64_after_hwframe+0x63/0xcd
[  +0.000003] RIP: 0033:0x7fe0a60af980
[  +0.000003] Code: 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 66 2e 0f 1f 84 00 00 00 00 00 90 80 3d 61 fc 0c 00 00 74 17 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 89 54
[  +0.000001] RSP: 002b:00007ffc9cacd3e8 EFLAGS: 00000202 ORIG_RAX: 000000000000002e
[  +0.000003] RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007fe0a60af980
[  +0.000001] RDX: 0000000000000000 RSI: 00007ffc9cacd450 RDI: 0000000000000003
[  +0.000001] RBP: 0000000000000003 R08: 0000000063bb512b R09: 000055ea3e2442a0
[  +0.000001] R10: 00007ffc9cacce74 R11: 0000000000000202 R12: 0000000063bb512c
[  +0.000001] R13: 000055ea3c64c020 R14: 0000000000000001 R15: 0000000000000000
[  +0.000002]  </TASK>
[  +0.000001] Mem-Info:
[  +0.000002] active_anon:261537 inactive_anon:263183 isolated_anon:0
               active_file:1024560 inactive_file:1655471 isolated_file:0
               unevictable:12495 dirty:2065 writeback:0
               slab_reclaimable:456177 slab_unreclaimable:99423
               mapped:42225 shmem:3637 pagetables:3727 bounce:0
               kernel_misc_reclaimable:0
               free:120782 free_pcp:194 free_cma:0
[  +0.000004] Node 0 active_anon:1046148kB inactive_anon:1052732kB active_file:4098240kB inactive_file:6621884kB unevictable:49980kB isolated(anon):0kB isolated(file):0kB mapped:168900kB dirty:8260kB writeback:0kB shmem:14548kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 1232896kB writeback_tmp:0kB kernel_stack:7440kB pagetables:14908kB all_unreclaimable? no
[  +0.000004] Node 0 DMA free:13312kB boost:0kB min:60kB low:72kB high:84kB reserved_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15984kB managed:15360kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[  +0.000004] lowmem_reserve[]: 0 3404 15873 15873 15873
[  +0.000003] Node 0 DMA32 free:166032kB boost:4096kB min:18576kB low:22196kB high:25816kB reserved_highatomic:0KB active_anon:25796kB inactive_anon:165464kB active_file:748612kB inactive_file:1668024kB unevictable:0kB writepending:576kB present:3588416kB managed:3522880kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[  +0.000004] lowmem_reserve[]: 0 0 12469 12469 12469
[  +0.000003] Node 0 Normal free:304288kB boost:4096kB min:57132kB low:70388kB high:83644kB reserved_highatomic:0KB active_anon:1020352kB inactive_anon:887268kB active_file:3349308kB inactive_file:4953940kB unevictable:49980kB writepending:7684kB present:13096960kB managed:12776472kB mlocked:49972kB bounce:0kB free_pcp:328kB local_pcp:0kB free_cma:0kB
[  +0.000004] lowmem_reserve[]: 0 0 0 0 0
[  +0.000003] Node 0 DMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 1*1024kB (U) 2*2048kB (UM) 2*4096kB (M) = 13312kB
[  +0.000010] Node 0 DMA32: 10406*4kB (UME) 4740*8kB (UME) 1879*16kB (UME) 1031*32kB (UME) 285*64kB (UME) 44*128kB (ME) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 166472kB
[  +0.000010] Node 0 Normal: 11311*4kB (UME) 13227*8kB (UME) 6031*16kB (UME) 1281*32kB (UME) 184*64kB (UME) 30*128kB (M) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 304164kB
[  +0.000011] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
[  +0.000001] 2690187 total pagecache pages
[  +0.000001] 5576 pages in swap cache
[  +0.000001] Free swap  = 3838088kB
[  +0.000000] Total swap = 4095996kB
[  +0.000001] 4175340 pages RAM
[  +0.000001] 0 pages HighMem/MovableOnly
[  +0.000000] 96662 pages reserved
[  +0.000001] 0 pages hwpoisoned
[ +14.882583] ip: page allocation failure: order:6, mode:0x40dc0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null),cpuset=user.slice,mems_allowed=0
[  +0.000018] CPU: 7 PID: 2747081 Comm: ip Not tainted 6.0.0-6-amd64 #1  Debian 6.0.12-1
[  +0.000004] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./Z68 Extreme3 Gen3, BIOS P2.30 06/29/2012
[  +0.000003] Call Trace:
[  +0.000003]  <TASK>
[  +0.000003]  dump_stack_lvl+0x44/0x5c
[  +0.000008]  warn_alloc+0x151/0x170
[  +0.000005]  ? __alloc_pages_direct_compact+0x221/0x330
[  +0.000003]  __alloc_pages_slowpath.constprop.0+0xd4f/0xdb0
[  +0.000004]  __alloc_pages+0x305/0x330
[  +0.000004]  kmalloc_order+0x2a/0xa0
[  +0.000003]  kmalloc_order_trace+0x19/0x90
[  +0.000003]  aq_ring_alloc+0x22/0xb0 [atlantic]
[  +0.000018]  aq_vec_ring_alloc+0xea/0x1a0 [atlantic]
[  +0.000014]  aq_nic_init+0x114/0x1d0 [atlantic]
[  +0.000008]  aq_ndev_open+0x16/0x70 [atlantic]
[  +0.000007]  __dev_open+0xf4/0x1a0
[  +0.000003]  __dev_change_flags+0x1d1/0x240
[  +0.000003]  dev_change_flags+0x22/0x60
[  +0.000002]  do_setlink+0x802/0x12b0
[  +0.000003]  ? __nla_validate_parse+0x5f/0xbc0
[  +0.000004]  __rtnl_newlink+0x61d/0x9b0
[  +0.000004]  rtnl_newlink+0x43/0x70
[  +0.000002]  rtnetlink_rcv_msg+0x14e/0x3b0
[  +0.000002]  ? copy_user_generic_string+0x2c/0x50
[  +0.000003]  ? rtnl_calcit.isra.0+0x140/0x140
[  +0.000002]  netlink_rcv_skb+0x51/0x100
[  +0.000003]  netlink_unicast+0x242/0x390
[  +0.000002]  netlink_sendmsg+0x250/0x4c0
[  +0.000003]  sock_sendmsg+0x5f/0x70
[  +0.000003]  ____sys_sendmsg+0x267/0x2b0
[  +0.000002]  ? copy_msghdr_from_user+0x7d/0xc0
[  +0.000003]  ___sys_sendmsg+0x9a/0xe0
[  +0.000005]  __sys_sendmsg+0x76/0xc0
[  +0.000004]  do_syscall_64+0x3a/0xc0
[  +0.000002]  entry_SYSCALL_64_after_hwframe+0x63/0xcd
[  +0.000004] RIP: 0033:0x7fc568eba980
[  +0.000003] Code: 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 66 2e 0f 1f 84 00 00 00 00 00 90 80 3d 61 fc 0c 00 00 74 17 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 89 54
[  +0.000002] RSP: 002b:00007fff0016d388 EFLAGS: 00000202 ORIG_RAX: 000000000000002e
[  +0.000002] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007fc568eba980
[  +0.000001] RDX: 0000000000000000 RSI: 00007fff0016d3f0 RDI: 0000000000000003
[  +0.000001] RBP: 0000000000000002 R08: 0000000063bb513a R09: 0000562b3303e2a0
[  +0.000002] R10: 00007fff0016ce14 R11: 0000000000000202 R12: 0000000063bb513b
[  +0.000001] R13: 0000562b3172b020 R14: 0000000000000001 R15: 0000000000000000
[  +0.000002]  </TASK>
[  +0.000001] Mem-Info:
[  +0.000002] active_anon:261305 inactive_anon:257049 isolated_anon:0
               active_file:1024437 inactive_file:1647173 isolated_file:0
               unevictable:12495 dirty:1081 writeback:0
               slab_reclaimable:456150 slab_unreclaimable:99102
               mapped:40820 shmem:3388 pagetables:3325 bounce:0
               kernel_misc_reclaimable:0
               free:137390 free_pcp:48 free_cma:0
[  +0.000004] Node 0 active_anon:1045220kB inactive_anon:1028196kB active_file:4097748kB inactive_file:6588692kB unevictable:49980kB isolated(anon):0kB isolated(file):0kB mapped:163280kB dirty:4324kB writeback:0kB shmem:13552kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 1232896kB writeback_tmp:0kB kernel_stack:6816kB pagetables:13300kB all_unreclaimable? no
[  +0.000004] Node 0 DMA free:13312kB boost:0kB min:60kB low:72kB high:84kB reserved_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15984kB managed:15360kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[  +0.000004] lowmem_reserve[]: 0 3404 15873 15873 15873
[  +0.000004] Node 0 DMA32 free:176200kB boost:0kB min:14480kB low:18100kB high:21720kB reserved_highatomic:0KB active_anon:25796kB inactive_anon:165448kB active_file:748216kB inactive_file:1658996kB unevictable:0kB writepending:256kB present:3588416kB managed:3522880kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[  +0.000004] lowmem_reserve[]: 0 0 12469 12469 12469
[  +0.000003] Node 0 Normal free:360048kB boost:0kB min:53036kB low:66292kB high:79548kB reserved_highatomic:0KB active_anon:1019424kB inactive_anon:862748kB active_file:3349532kB inactive_file:4929612kB unevictable:49980kB writepending:4068kB present:13096960kB managed:12776472kB mlocked:49972kB bounce:0kB free_pcp:192kB local_pcp:0kB free_cma:0kB
[  +0.000005] lowmem_reserve[]: 0 0 0 0 0
[  +0.000003] Node 0 DMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 1*1024kB (U) 2*2048kB (UM) 2*4096kB (M) = 13312kB
[  +0.000010] Node 0 DMA32: 10736*4kB (UME) 4803*8kB (UME) 1958*16kB (UME) 1071*32kB (UME) 358*64kB (UME) 50*128kB (UME) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 176280kB
[  +0.000011] Node 0 Normal: 16734*4kB (UME) 16134*8kB (UME) 6423*16kB (UME) 1378*32kB (UME) 209*64kB (UME) 31*128kB (ME) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 360216kB
[  +0.000015] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
[  +0.000003] 2681616 total pagecache pages
[  +0.000001] 5577 pages in swap cache
[  +0.000001] Free swap  = 3838088kB
[  +0.000001] Total swap = 4095996kB
[  +0.000001] 4175340 pages RAM
[  +0.000002] 0 pages HighMem/MovableOnly
[  +0.000001] 96662 pages reserved
[  +0.000001] 0 pages hwpoisoned
[Jan 9 09:57] br0: port 1(enp2s0) entered blocking state
[  +0.000010] br0: port 1(enp2s0) entered disabled state
[  +0.000159] device enp2s0 entered promiscuous mode
[Jan 9 09:58] device enp2s0 left promiscuous mode
[  +0.000034] br0: port 1(enp2s0) entered disabled state
[ +40.788192] atlantic 0000:02:00.0 enp2s0: renamed from eth0
[Jan 9 09:59] br0: port 1(enp2s0) entered blocking state
[  +0.000009] br0: port 1(enp2s0) entered disabled state
[  +0.000154] device enp2s0 entered promiscuous mode
[ +31.499798] atlantic 0000:02:00.0 enp2s0: atlantic: link change old 0 new 10000
[  +0.001499] IPv6: ADDRCONF(NETDEV_CHANGE): enp2s0: link becomes ready
[  +0.000075] br0: port 1(enp2s0) entered blocking state
[  +0.000005] br0: port 1(enp2s0) entered forwarding state

Kernel version of atlantic doesn't work with ASUS XC-100C v2 (based on AQC113CS), but this repo works

Hey there,

I am using lastest linux kernel (v6.2.2), and device initialization fails with following error:

[    7.473717] atlantic 0000:03:00.0: enabling device (0000 -> 0002)
[    7.674201] atlantic: Boot code hanged
[    7.674370] atlantic: probe of 0000:03:00.0 failed with error -110

However after loading this version of driver (after fixing compilation errors) everything works:

[92939.969084] atlantic: loading out-of-tree module taints kernel.
[92939.969240] atlantic: module verification failed: signature and/or required key missing - tainting kernel
[92939.977050] atlantic 0000:03:00.0 (unnamed net_device) (uninitialized): Hardware revision 0x0
[92940.013760] atlantic: Detect ATL2FW 1030012
[92940.019446] atlantic 0000:03:00.0 enp3s0: renamed from eth0

However this has few issues:

  • Kernel is tainted
  • periodic debug output

Is there any way to fix AQC113CS support in mainline Linux kernel?
I am asking there because Marvell people here are also responsible for mainline linux atlantic module.

net-misc/AQtion-2.5.5: too many arguments to function ‘netif_napi_add'

Full build log

�[32m * �[39;49;00mPackage:    net-misc/AQtion-2.5.5:0
�[32m * �[39;49;00mRepository: hougeapps-overlay
�[32m * �[39;49;00mMaintainer: [email protected]
�[32m * �[39;49;00mUSE:        abi_x86_64 amd64 elibc_glibc kernel_linux userland_GNU
�[32m * �[39;49;00mFEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox
 �[32m*�[0m Determining the location of the kernel source code
 �[32m*�[0m Found kernel source directory:
 �[32m*�[0m     /usr/src/linux
 �[32m*�[0m Found sources for kernel version:
 �[32m*�[0m     6.1.1-lqx3
 �[32m*�[0m Checking for suitable kernel configuration options ...
 �[31;01m*�[0m   CONFIG_AQTION:	 should not be set. But it is.
�[A�[120C �[34;01m[ �[31;01m!!�[34;01m ]�[0m
 �[33;01m*�[0m Please check to make sure these options are set correctly.
 �[33;01m*�[0m Failure to do so may cause unexpected problems.
>>> Unpacking source...
>>> Unpacking AQtion-2.5.5.tar.gz to /var/tmp/portage/net-misc/AQtion-2.5.5/work
>>> Source unpacked in /var/tmp/portage/net-misc/AQtion-2.5.5/work
>>> Preparing source in /var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45 ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45 ...
ln: failed to create symbolic link 'Module.symvers': File exists
 �[32m*�[0m Preparing atlantic module
make -j48 HOSTCC=x86_64-pc-linux-gnu-gcc 'LDFLAGS=-m elf_x86_64' all 
make -j4 -C /usr/src/linux M="/var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45" modules
make[1]: Entering directory '/usr/src/linux-6.1.1-liquorix-r1'
make[1]: warning: -j4 forced in submake: resetting jobserver mode.
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (Gentoo 12.2.1_p20221224 p7) 12.2.1 20221224
  You are using:           x86_64-pc-linux-gnu-gcc (Gentoo 12.2.1_p20221224 p7) 12.2.1 20221224
  CC [M]  /var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45/aq_main.o
  CC [M]  /var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45/aq_nic.o
  CC [M]  /var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45/aq_pci_func.o
  CC [M]  /var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45/aq_vec.o
�[01m�[K/var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45/aq_vec.c:�[m�[K In function ‘�[01m�[Kaq_vec_alloc�[m�[K’:
�[01m�[K/var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45/aq_vec.c:126:9:�[m�[K �[01;31m�[Kerror: �[m�[Ktoo many arguments to function ‘�[01m�[Knetif_napi_add�[m�[K’
  126 |         �[01;31m�[Knetif_napi_add�[m�[K(aq_nic_get_ndev(aq_nic), &self->napi,
      |         �[01;31m�[K^~~~~~~~~~~~~~�[m�[K
In file included from �[01m�[K./include/linux/etherdevice.h:21�[m�[K,
                 from �[01m�[K/var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45/aq_common.h:14�[m�[K,
                 from �[01m�[K/var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45/aq_vec.h:15�[m�[K,
                 from �[01m�[K/var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45/aq_vec.c:12�[m�[K:
�[01m�[K./include/linux/netdevice.h:2562:1:�[m�[K �[01;36m�[Knote: �[m�[Kdeclared here
 2562 | �[01;36m�[Knetif_napi_add�[m�[K(struct net_device *dev, struct napi_struct *napi,
      | �[01;36m�[K^~~~~~~~~~~~~~�[m�[K
make[2]: *** [scripts/Makefile.build:250: /var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45/aq_vec.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1990: /var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45] Error 2
make[1]: Leaving directory '/usr/src/linux-6.1.1-liquorix-r1'
make: *** [Makefile:36: all] Error 2
 �[31;01m*�[0m ERROR: net-misc/AQtion-2.5.5::hougeapps-overlay failed (compile phase):
 �[31;01m*�[0m   emake failed
 �[31;01m*�[0m 
 �[31;01m*�[0m If you need support, post the output of `emerge --info '=net-misc/AQtion-2.5.5::hougeapps-overlay'`,
 �[31;01m*�[0m the complete build log and the output of `emerge -pqv '=net-misc/AQtion-2.5.5::hougeapps-overlay'`.
 �[31;01m*�[0m The complete build log is located at '/var/tmp/portage/net-misc/AQtion-2.5.5/temp/build.log'.
 �[31;01m*�[0m The ebuild environment file is located at '/var/tmp/portage/net-misc/AQtion-2.5.5/temp/environment'.
 �[31;01m*�[0m Working directory: '/var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45'
 �[31;01m*�[0m S: '/var/tmp/portage/net-misc/AQtion-2.5.5/work/AQtion-340d608726cbfa04b6046d74a362e788e1e17d45'

Solo10G SFP+ (Thunderbolt 3 Edition): does not wake up, need to plug/unplug

Dear all,

First of all, thanks for the hard work.

My Solo10G SFP+ is connected to a Lenovo Thinkpad Thunderbolt 3 dock
When starting-up my GNU/Linux station, the Solo10G SFP+ is not detected.
I need to plug/unplug the Solo10G thunderbolt cable a number of times to force detection.
All hardware have the latest firmwares available.
Thunderbolt is configured in secure mode and all hardware is enables: dock and Solo10G SFP+.
Detection works under Windoze without problem (I am not a Win user).

Is there a workaround as on the long run it may hinder the thunderbolt cable?
The best would be a command that would force detection and/or waking-up.

I am using Debian testing stock kernel, please let me know if I need to reinstall your kernel module.
The reason is that I am booting in secure mode and I wonder whether installing a custom module is possible.

My kernel is:
Linux x280 5.16.0-6-amd64 #1 SMP PREEMPT Debian 5.16.18-1 (2022-03-29) x86_64 GNU/Linux

sudo  ethtool enp10s0
Settings for enp10s0:
	Supported ports: [ FIBRE ]
	Supported link modes:   100baseT/Full
	                        1000baseT/Full
	                        10000baseT/Full
	                        2500baseT/Full
	                        5000baseT/Full
	Supported pause frame use: Symmetric Receive-only
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  100baseT/Full
	                        1000baseT/Full
	                        10000baseT/Full
	                        2500baseT/Full
	                        5000baseT/Full
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 10000Mb/s
	Duplex: Full
	Auto-negotiation: on
	Port: FIBRE
	PHYAD: 0
	Transceiver: internal
	Supports Wake-on: pg
	Wake-on: g
        Current message level: 0x00000005 (5)
                               drv link
	Link detected: yes

Kind regards,
Kellogs

Support for esxi 7.0

If trying to install on a esxi 7.0 host a message is displayed saying the vmkapi 2.3.0.0 is missing in the ImageProfile.
Can you release a new version supporting esxi 7.0? Would be supper cool. Thanks.

Out of bounds error

Bugs in aq_nic.c on lines:
329
592
652
1088
1570

++i, aq_vec = self->aq_vec[i]

aq_vec = self->aq_vec[i] should be put inside the loop.

Thanks

`atlantic` won’t build with kernel `5.18`

There are (at least) two errors:

/var/lib/dkms/atlantic/2.5.3/build/aq_sysfs.c:65:10: error: ‘struct kobj_type’ has no member named ‘default_attrs’
   65 |         .default_attrs = bar_attrs,
      |          ^~~~~~~~~~~~~
/var/lib/dkms/atlantic/2.5.3/build/aq_sysfs.c:65:26: error: initialization of ‘const struct sysfs_ops *’ from incompatible pointer type ‘struct attribute **’ [-Werror=incompatible-pointer-types]
   65 |         .default_attrs = bar_attrs,
      |                          ^~~~~~~~~
/var/lib/dkms/atlantic/2.5.3/build/aq_sysfs.c:65:26: note: (near initialization for ‘bar_type.sysfs_ops’)
/var/lib/dkms/atlantic/2.5.3/build/aq_sysfs.c:211:10: error: ‘struct kobj_type’ has no member named ‘default_attrs’
  211 |         .default_attrs = memreg_attrs,
      |          ^~~~~~~~~~~~~
/var/lib/dkms/atlantic/2.5.3/build/aq_sysfs.c:211:26: error: initialization of ‘const struct sysfs_ops *’ from incompatible pointer type ‘struct attribute **’ [-Werror=incompatible-pointer-types]
  211 |         .default_attrs = memreg_attrs,
      |                          ^~~~~~~~~~~~
/var/lib/dkms/atlantic/2.5.3/build/aq_sysfs.c:211:26: note: (near initialization for ‘memreg_type.sysfs_ops’)
/var/lib/dkms/atlantic/2.5.3/build/aq_macsec.c: In function ‘aq_set_txsc’:
/var/lib/dkms/atlantic/2.5.3/build/aq_macsec.c:332:63: warning: passing argument 2 of ‘aq_ether_addr_to_mac’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  332 |         aq_ether_addr_to_mac(tx_class_rec.mac_sa, secy->netdev->dev_addr);
      |                                                   ~~~~~~~~~~~~^~~~~~~~~~
/var/lib/dkms/atlantic/2.5.3/build/aq_macsec.c:39:61: note: expected ‘unsigned char *’ but argument is of type ‘const unsigned char *’
   39 | static void aq_ether_addr_to_mac(u32 mac[2], unsigned char *emac)
      |                                              ~~~~~~~~~~~~~~~^~~~
/var/lib/dkms/atlantic/2.5.3/build/aq_pci_func.c: In function ‘aq_pci_func_init’:
/var/lib/dkms/atlantic/2.5.3/build/aq_pci_func.c:133:15: error: implicit declaration of function ‘pci_set_dma_mask’ [-Werror=implicit-function-declaration]
  133 |         err = pci_set_dma_mask(pdev, DMA_BIT_MASK(64));
      |               ^~~~~~~~~~~~~~~~
/var/lib/dkms/atlantic/2.5.3/build/aq_pci_func.c:135:23: error: implicit declaration of function ‘pci_set_consistent_dma_mask’ [-Werror=implicit-function-declaration]
  135 |                 err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64));
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~

link detection broken

Hello,

under Ubuntu 18.04. and kernel 4.15.16-041516-generic i've a problem to integrate the atlantic driver in the System under one system. (AMD N54L).

When configured and integrated as boot mechanism in initrd it is not possible for the driver to find a link of the network card.

The workaround at the moment is to load the kernel version of the atlantic driver 1.6.13.0-kern (which is broken for me when used under load), then rmmod atlantic and insmod atlantic.ko from the 2.0.6 version of this driver.
This is the only situation i got the network link of the network card.

With the delivered kernel driver the link works normally.

Best Regards
Thomas

AQC113: wake-on-lan not work after the driver being used

I have compiled the driver as module atlantic.ko, if I have not loaded it, then my board can wake on LAN normally.
But if I load it and set the interface up, then my board can not wake on LAN after poweroff.
How can I debug it? Anyone can help?

Possible issue with the HW_ATL_B0_TXD_CTL_CMD_* bit definitions

#define HW_ATL_B0_TXD_CTL_CMD_X (0x3FC00000)

`#define HW_ATL_B0_TXD_CTL_CMD_X (0x3FC00000)

#define HW_ATL_B0_TXD_CTL_CMD_VLAN BIT(22)
#define HW_ATL_B0_TXD_CTL_CMD_FCS BIT(23)
#define HW_ATL_B0_TXD_CTL_CMD_IPCSO BIT(24)
#define HW_ATL_B0_TXD_CTL_CMD_TUCSO BIT(25)
#define HW_ATL_B0_TXD_CTL_CMD_LSO BIT(26)
#define HW_ATL_B0_TXD_CTL_CMD_WB BIT(27)
#define HW_ATL_B0_TXD_CTL_CMD_VXLAN BIT(28)

#define HW_ATL_B0_TXD_CTL_CMD_IPV6 BIT(21)
#define HW_ATL_B0_TXD_CTL_CMD_TCP BIT(22)`

In the process of trying to understand how the descriptors get created, this was noticed. There seems to be an overlap on bit 22 with HW_ATL_B0_TXD_CTL_CMD_TCP and HW_ATL_B0_TXD_CTL_CMD_VLAN? Also, a quick search doesn't return a used reference to HW_ATL_B0_TXD_CTL_CMD_X, but if this is supposed to represent a mask for the corresponding ctl cmd bits, then it is only covers bits [29:22].

Packets dropped

While using this version of the driver I noticed there was a high number of packets dropped using Fedora 29. I was transferring about 70 gig worth of data via SMB and noticed over 429k packets were dropped before I ended the transfer and reverted to the kernel's driver implementation. This is using kernel 5.0.5-200.fc29.x86_64 and an Asus XG-C100C(Atlantic 107). Reverting to the kernels implementation I lost about 1 MB/s in through put but there were no dropped packets. This card is currently connected at a 1Gbs link. I have hardware arriving that will enable the card to run at full speed. It is connected to a Cisco SG300 52-52 using Cat5E

macos driver source

Could a Marvell affiliate release the source code for the AQtion drivers for macOS? specifically for the aqc111u. the only public macOS drivers are broken on modern Apple Silicon Macs since they need to be re-compiled for arm64e

IPv6 routing doesn't work with LRO and GRO switched off (or on)

I'm using an AQC107 device on an ASRock x570 Creator with kernel 5.9.11 and ArchLinux. Based on this howto I thought that disabling LRO and GRO would make routing possible. Unfortunately, IPv6 routing doesn't work at all; for traffic both from and to the atlantic-driven interface. (Well, actually, when I left ping running for an entire day, ~10 packets made it through somehow. That's not many, out of ~86400.)

IPv4 routing works, however, even with LRO and GRO on.

IPv6 across one hop works fine as well, tested with both 10 Gb/s and 1 Gb/s links.

The same machine has other ethernet cards (USB and PCIe) and runs a hostapd WiFi AP. IPv6 routing works flawlessly for all those other interfaces, with pretty much the same configuration. The only difference from the other interfaces (in the .link file for systemd-networkd) would be:

GenericReceiveOffload=false
LargeReceiveOffload=false

But as already mentioned, this^^^ makes no difference in terms of IPv6 routing, which just doesn't work. (Of course I tried to set it directly with ethtool to double-check.)

Module versions I've tried:

  • the default one in the mainline kernel
  • 2.4.7 from this package
  • 2.4.10 (by just tweaking the package)

I would have never thought that this could be a driver-related issue, but considering the fact that all the other interfaces route IPv6 just fine with the same configuration, an issue with this driver appears to be quite plausible.

From a tcpdump standpoint, packets heading out do appear on the incoming atlantic LAN interface, but then they don't appear on the WAN interface at all. Yet ip route get shows reasonable values and routing works fine from/to all other LAN interfaces. (Of course I've tried to disable nftables and all possible culprits a gazillion times.)

Temperature sensor

Hello,

When I compile/install the marvell driver (2.4.3) I loose the temperature, whereas the driver in-kernel is able to show the temperature when running sensors on kernel 5.6 :

eth0-pci-0200
Adapter: PCI adapter
PHY Temperature:  +49.7°C

  *-network
       description: Ethernet interface
       product: AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion]
       vendor: Aquantia Corp.
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: eth0
       version: 02
       serial: 
       size: 10Gbit/s
       capacity: 10Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress pm msix msi bus_master cap_list rom ethernet physical tp 100bt-fd 1000bt-fd 10000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=atlantic driverversion=5.6.15-1.el7.elrepo.x86_645.6.1 duplex=full firmware=3.1.109 ip=192.168.3.3 latency=0 link=yes multicast=yes port=twisted pair speed=10Gbit/s
       resources: irq:17 memory:efc40000-efc4ffff memory:efc50000-efc50fff memory:ef800000-efbfffff memory:efc00000-efc3ffff

driver: atlantic
version: 5.6.15-1.el7.elrepo.x86_645.6.1
firmware-version: 3.1.109
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: yes

Thanks

Poor performance on debian

Hello,

I've got a debian machine with both an AQC107 10GigE card, and also some Realtek 1GigE boards.
scp of a large file from this machine to a client has throughput of about 100Mbyte / sec on the 1GigE Realtek interfaces (ie saturating the gigabit) but only about 30 Mbyte / sec on the ACQ107. The link is up at 10GigE.

The machine is acting as a router. LRO and GRO are off (by ethtool) on all interfaces

I do notice during the scp using the atlantic card, ksoftirqd is using 100% of a CPU core. During the scp using a realtek card, ksoftirqd uses about 1% of a CPU core.

OK, I'm not expecting scp to necessarily saturate the 10GigE connection, but having it run a factor of 3 slower on the 10GigE card than a 1GigE card is disappointing to say the least, and the ksoftirqd behavior suggested to me something about the way interrupts and the driver are configured.

I've google around a lot and not found anything helpful. The driver readme notes suggest that the driver should be compiled with LRO disabled when using in a router, but also provides instructions for disabling it with ethtool. Am I correct in understanding that disabling LRO and GRO using ethtool is equivalent, or do I really need to rebuild the driver with is disabled at compile time?

Any other hints or suggestions on getting at least GigE performance out of this much appreciated. I'm running stock debian kernel and the bundles driver:

# uname -a
Linux ventus 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64 GNU/Linux
# ethtool -i enp4s0
driver: atlantic
version: 2.0.3.0-kern
firmware-version: 3.1.71
expansion-rom-version: 
bus-info: 0000:04:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
# ethtool -k enp4s0 | fgrep receive-offload
generic-receive-offload: off
large-receive-offload: off

Many thanks for any suggestions or pointers,
Paul

Q Regarding LRO (AQC113)

  1. Is LRO still an issue with recent kernels (5.x and newer)?

  2. Should forwarding/routing/bridging be disabled for the Aquantia adapter only or in general?

Thanks,
-pompfe

Licensing contradiction?

Hi

Thank you Aquantia for providing this repository for your AQtion network cards. I'm a bit confused under which terms this code is published:

  • Readme.md: AQUANTIA SOFTWARE LICENSE AGREEMENT – EXPERIMENTAL USE SOFTWARE (basically denies rights for modification, decompilation etc.)
  • README.txt: Says GPLv2
  • Various license headers in the source code: GPLv2

The main impression is that the source code is under GPLv2 yet there is that rather stern warning and licensing terms mentioned in README.md.

Please clarify the licensing terms for this repository. - Thank you :-)

Kernel Panic & memory problems

Hello,

i've identified on all my systems with the Asus XG-C100C PCIe/XG network card and the atlantic driver a lot of strange problems under Ubuntu 16.04 and 18.04 (lts) with the newest kernel versions. ( 4.15.15-041515-generic, 4.15.16-041516-generic, linux-image-4.15.0-13-generic)

So i've updated to the newest driver 2.0.6. but the problems are still there.

After a short time when some traffic is comming over the network i got a lot of messages with: "general protection fault: 0000 [#3] SMP NOPTI" with a call trace and randomly a lot of programms and modules (samba, ext4, network, etc.) crashes and randomly the kernel crashes too. I searched a lot of time where this problem is coming from and identified the atlantic driver as source of the evil.

Under Windows (dual boot system) everything works normal.
modinfo-atlantic.txt

crash-4.15.15-041515-generic.txt
crash-4.15.16-041516-generic.txt

On RedHat they identified a equivalent problem some month before.

When you give me some hints what you need for debugging i will send you everything.

The Sytems are:
AMD Turion(tm) II Neo N54L Dual-Core Processor
and
AMD FX(tm)-8120 Eight-Core Processor

cannot compile under Kubuntu 21.04

I'm trying to compile the drivers under Kubuntu 21.04 with kernel 5.11.0-17-generic.

sudo make fails with the following error trail.

Hope I'm not missing anything trivial

In file included from /home/phil/aquantia/AQtion-master/aq_ptp.c:20:
/home/phil/aquantia/AQtion-master/aq_nic.h:210:51: warning: ‘struct ethtool_regs’ declared inside parameter list will not be visible outside of this definition or declaration
  210 | int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p);
      |                                                   ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:227:18: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  227 |           struct ethtool_link_ksettings *cmd);
      |                  ^~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:229:23: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  229 |          const struct ethtool_link_ksettings *cmd);
      |                       ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_ptp.c:25:
/home/phil/aquantia/AQtion-master/aq_filters.h:25:30: error: field ‘aq_fsp’ has incomplete type
   25 |  struct ethtool_rx_flow_spec aq_fsp;
      |                              ^~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:30:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   30 | int aq_add_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:31:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   31 | int aq_del_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:32:55: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   32 | int aq_get_rxnfc_rule(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd);
      |                                                       ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:33:60: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   33 | int aq_get_rxnfc_all_rules(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd,
      |                                                            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_ptp.c: In function ‘aq_ptp_dpath_enable’:
/home/phil/aquantia/AQtion-master/aq_ptp.c:1065:9: error: variable ‘cmd’ has initializer but incomplete type
 1065 |  struct ethtool_rxnfc cmd = { 0 };
      |         ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1065:31: warning: excess elements in struct initializer
 1065 |  struct ethtool_rxnfc cmd = { 0 };
      |                               ^
/home/phil/aquantia/AQtion-master/aq_ptp.c:1065:31: note: (near initialization for ‘cmd’)
/home/phil/aquantia/AQtion-master/aq_ptp.c:1065:23: error: storage size of ‘cmd’ isn’t known
 1065 |  struct ethtool_rxnfc cmd = { 0 };
      |                       ^~~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1079:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1079 |     fsp->ring_cookie = rx_queue;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1080:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1080 |     fsp->flow_type = UDP_V4_FLOW;
      |        ^~
In file included from /home/phil/aquantia/AQtion-master/aq_main.h:14,
                 from /home/phil/aquantia/AQtion-master/aq_main.c:10:
/home/phil/aquantia/AQtion-master/aq_nic.h:210:51: warning: ‘struct ethtool_regs’ declared inside parameter list will not be visible outside of this definition or declaration
  210 | int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p);
      |                                                   ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:227:18: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  227 |           struct ethtool_link_ksettings *cmd);
      |                  ^~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:229:23: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  229 |          const struct ethtool_link_ksettings *cmd);
      |                       ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_main.c:19:
/home/phil/aquantia/AQtion-master/aq_filters.h:25:30: error: field ‘aq_fsp’ has incomplete type
   25 |  struct ethtool_rx_flow_spec aq_fsp;
      |                              ^~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:30:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   30 | int aq_add_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:31:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   31 | int aq_del_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:32:55: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   32 | int aq_get_rxnfc_rule(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd);
      |                                                       ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:33:60: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   33 | int aq_get_rxnfc_all_rules(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd,
      |                                                            ^~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_main.h:14,
                 from /home/phil/aquantia/AQtion-master/aq_pci_func.c:15:
/home/phil/aquantia/AQtion-master/aq_nic.h:210:51: warning: ‘struct ethtool_regs’ declared inside parameter list will not be visible outside of this definition or declaration
  210 | int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p);
      |                                                   ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:227:18: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  227 |           struct ethtool_link_ksettings *cmd);
      |                  ^~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:229:23: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  229 |          const struct ethtool_link_ksettings *cmd);
      |                       ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_pci_func.c:23:
/home/phil/aquantia/AQtion-master/aq_filters.h:25:30: error: field ‘aq_fsp’ has incomplete type
   25 |  struct ethtool_rx_flow_spec aq_fsp;
      |                              ^~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:30:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   30 | int aq_add_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:31:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   31 | int aq_del_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:32:55: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   32 | int aq_get_rxnfc_rule(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd);
      |                                                       ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:33:60: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   33 | int aq_get_rxnfc_all_rules(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd,
      |                                                            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1080:22: error: ‘UDP_V4_FLOW’ undeclared (first use in this function)
 1080 |     fsp->flow_type = UDP_V4_FLOW;
      |                      ^~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1080:22: note: each undeclared identifier is reported only once for each function it appears in
/home/phil/aquantia/AQtion-master/aq_ptp.c:1081:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1081 |     fsp->h_u.udp_ip4_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1083:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1083 |     fsp->m_u.udp_ip4_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1097:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1097 |     fsp->ring_cookie = rx_queue;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1098:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1098 |     fsp->flow_type = UDP_V4_FLOW;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1099:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1099 |     fsp->h_u.udp_ip4_spec.psrc = 0;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1100:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1100 |     fsp->m_u.udp_ip4_spec.psrc = 0;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1101:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1101 |     fsp->h_u.udp_ip4_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1103:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1103 |     fsp->m_u.udp_ip4_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1105:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1105 |     fsp->h_u.udp_ip4_spec.ip4dst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1107:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1107 |     fsp->m_u.udp_ip4_spec.ip4dst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1122:26: error: invalid application of ‘sizeof’ to incomplete type ‘struct ethtool_rx_flow_spec’
 1122 |     memset(fsp, 0, sizeof(*fsp));
      |                          ^
/home/phil/aquantia/AQtion-master/aq_ptp.c:1123:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1123 |     fsp->ring_cookie = rx_queue;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1124:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1124 |     fsp->flow_type = UDP_V6_FLOW;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1124:22: error: ‘UDP_V6_FLOW’ undeclared (first use in this function)
 1124 |     fsp->flow_type = UDP_V6_FLOW;
      |                      ^~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1125:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1125 |     fsp->h_u.udp_ip6_spec.psrc = 0;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1126:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1126 |     fsp->m_u.udp_ip6_spec.psrc = 0;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1127:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1127 |     fsp->h_u.udp_ip6_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1129:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1129 |     fsp->m_u.udp_ip6_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1131:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1131 |     fsp->h_u.udp_ip6_spec.ip6dst[0] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1133:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1133 |     fsp->m_u.udp_ip6_spec.ip6dst[0] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1135:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1135 |     fsp->h_u.udp_ip6_spec.ip6dst[3] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1137:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1137 |     fsp->m_u.udp_ip6_spec.ip6dst[3] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1150:26: error: invalid application of ‘sizeof’ to incomplete type ‘struct ethtool_rx_flow_spec’
 1150 |     memset(fsp, 0, sizeof(*fsp));
      |                          ^
/home/phil/aquantia/AQtion-master/aq_ptp.c:1151:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1151 |     fsp->ring_cookie = rx_queue;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1152:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1152 |     fsp->flow_type = UDP_V6_FLOW;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1153:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1153 |     fsp->h_u.udp_ip6_spec.psrc = 0;
      |        ^~
make[2]: *** [scripts/Makefile.build:287: /home/phil/aquantia/AQtion-master/aq_pci_func.o] Errore 1
/home/phil/aquantia/AQtion-master/aq_ptp.c:1154:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1154 |     fsp->m_u.udp_ip6_spec.psrc = 0;
      |        ^~
make[2]: *** Attesa per i processi non terminati....
/home/phil/aquantia/AQtion-master/aq_ptp.c:1155:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1155 |     fsp->h_u.udp_ip6_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1157:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1157 |     fsp->m_u.udp_ip6_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1159:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1159 |     fsp->h_u.udp_ip6_spec.ip6dst[0] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1161:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1161 |     fsp->m_u.udp_ip6_spec.ip6dst[0] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1163:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1163 |     fsp->h_u.udp_ip6_spec.ip6dst[3] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1165:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1165 |     fsp->m_u.udp_ip6_spec.ip6dst[3] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1179:26: error: invalid application of ‘sizeof’ to incomplete type ‘struct ethtool_rx_flow_spec’
 1179 |     memset(fsp, 0, sizeof(*fsp));
      |                          ^
/home/phil/aquantia/AQtion-master/aq_ptp.c:1180:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1180 |     fsp->ring_cookie = rx_queue;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1181:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1181 |     fsp->flow_type = UDP_V4_FLOW;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1182:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1182 |     fsp->h_u.udp_ip4_spec.psrc = 0;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1183:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1183 |     fsp->m_u.udp_ip4_spec.psrc = 0;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1184:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1184 |     fsp->h_u.udp_ip4_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1186:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1186 |     fsp->m_u.udp_ip4_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1188:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1188 |     fsp->h_u.udp_ip4_spec.ip4dst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1190:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1190 |     fsp->m_u.udp_ip4_spec.ip4dst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1065:23: warning: unused variable ‘cmd’ [-Wunused-variable]
 1065 |  struct ethtool_rxnfc cmd = { 0 };
      |                       ^~~
make[2]: *** [scripts/Makefile.build:287: /home/phil/aquantia/AQtion-master/aq_ptp.o] Errore 1
make[2]: *** [scripts/Makefile.build:287: /home/phil/aquantia/AQtion-master/aq_main.o] Errore 1
In file included from /home/phil/aquantia/AQtion-master/aq_nic.c:24:
/home/phil/aquantia/AQtion-master/aq_nic.h:210:51: warning: ‘struct ethtool_regs’ declared inside parameter list will not be visible outside of this definition or declaration
  210 | int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p);
      |                                                   ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:227:18: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  227 |           struct ethtool_link_ksettings *cmd);
      |                  ^~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:229:23: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  229 |          const struct ethtool_link_ksettings *cmd);
      |                       ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_nic.c:33:
/home/phil/aquantia/AQtion-master/aq_filters.h:25:30: error: field ‘aq_fsp’ has incomplete type
   25 |  struct ethtool_rx_flow_spec aq_fsp;
      |                              ^~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:30:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   30 | int aq_add_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:31:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   31 | int aq_del_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:32:55: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   32 | int aq_get_rxnfc_rule(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd);
      |                                                       ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:33:60: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   33 | int aq_get_rxnfc_all_rules(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd,
      |                                                            ^~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_common.h:19,
                 from /home/phil/aquantia/AQtion-master/aq_nic.h:13,
                 from /home/phil/aquantia/AQtion-master/aq_nic.c:24:
/home/phil/aquantia/AQtion-master/aq_nic.c: In function ‘aq_nic_cfg_start’:
/home/phil/aquantia/AQtion-master/aq_cfg.h:74:26: error: ‘WAKE_MAGIC’ undeclared (first use in this function); did you mean ‘AAFS_MAGIC’?
   74 | #define AQ_CFG_WOL_MODES WAKE_MAGIC
      |                          ^~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:151:13: note: in expansion of macro ‘AQ_CFG_WOL_MODES’
  151 |  cfg->wol = AQ_CFG_WOL_MODES;
      |             ^~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_cfg.h:74:26: note: each undeclared identifier is reported only once for each function it appears in
   74 | #define AQ_CFG_WOL_MODES WAKE_MAGIC
      |                          ^~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:151:13: note: in expansion of macro ‘AQ_CFG_WOL_MODES’
  151 |  cfg->wol = AQ_CFG_WOL_MODES;
      |             ^~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c: At top level:
/home/phil/aquantia/AQtion-master/aq_nic.c:977:51: warning: ‘struct ethtool_regs’ declared inside parameter list will not be visible outside of this definition or declaration
  977 | int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p)
      |                                                   ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:977:5: error: conflicting types for ‘aq_nic_get_regs’
  977 | int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p)
      |     ^~~~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_nic.c:24:
/home/phil/aquantia/AQtion-master/aq_nic.h:210:5: note: previous declaration of ‘aq_nic_get_regs’ was here
  210 | int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p);
      |     ^~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c: In function ‘aq_nic_get_regs’:
/home/phil/aquantia/AQtion-master/aq_nic.c:985:6: error: invalid use of undefined type ‘struct ethtool_regs’
  985 |  regs->version = 1;
      |      ^~
/home/phil/aquantia/AQtion-master/aq_nic.c: At top level:
/home/phil/aquantia/AQtion-master/aq_nic.c:1090:18: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
 1090 |           struct ethtool_link_ksettings *cmd)
      |                  ^~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1089:6: error: conflicting types for ‘aq_nic_get_link_ksettings’
 1089 | void aq_nic_get_link_ksettings(struct aq_nic_s *self,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_nic.c:24:
/home/phil/aquantia/AQtion-master/aq_nic.h:226:6: note: previous declaration of ‘aq_nic_get_link_ksettings’ was here
  226 | void aq_nic_get_link_ksettings(struct aq_nic_s *self,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c: In function ‘aq_nic_get_link_ksettings’:
/home/phil/aquantia/AQtion-master/aq_nic.c:1095:6: error: invalid use of undefined type ‘struct ethtool_link_ksettings’
 1095 |   cmd->base.port = PORT_FIBRE;
      |      ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1095:20: error: ‘PORT_FIBRE’ undeclared (first use in this function)
 1095 |   cmd->base.port = PORT_FIBRE;
      |                    ^~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1097:6: error: invalid use of undefined type ‘struct ethtool_link_ksettings’
 1097 |   cmd->base.port = PORT_TP;
      |      ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1097:20: error: ‘PORT_TP’ undeclared (first use in this function); did you mean ‘IPPROTO_TP’?
 1097 |   cmd->base.port = PORT_TP;
      |                    ^~~~~~~
      |                    IPPROTO_TP
/home/phil/aquantia/AQtion-master/aq_nic.c:1099:5: error: invalid use of undefined type ‘struct ethtool_link_ksettings’
 1099 |  cmd->base.duplex = DUPLEX_UNKNOWN;
      |     ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1099:21: error: ‘DUPLEX_UNKNOWN’ undeclared (first use in this function); did you mean ‘AGP_UNKNOWN’?
 1099 |  cmd->base.duplex = DUPLEX_UNKNOWN;
      |                     ^~~~~~~~~~~~~~
      |                     AGP_UNKNOWN
/home/phil/aquantia/AQtion-master/aq_nic.c:1101:6: error: invalid use of undefined type ‘struct ethtool_link_ksettings’
 1101 |   cmd->base.duplex = self->link_status.full_duplex ?
      |      ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1102:8: error: ‘DUPLEX_FULL’ undeclared (first use in this function)
 1102 |        DUPLEX_FULL : DUPLEX_HALF;
      |        ^~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1102:22: error: ‘DUPLEX_HALF’ undeclared (first use in this function)
 1102 |        DUPLEX_FULL : DUPLEX_HALF;
      |                      ^~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1103:5: error: invalid use of undefined type ‘struct ethtool_link_ksettings’
 1103 |  cmd->base.autoneg = self->aq_nic_cfg.is_autoneg;
      |     ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1105:2: error: implicit declaration of function ‘ethtool_link_ksettings_zero_link_mode’ [-Werror=implicit-function-declaration]
 1105 |  ethtool_link_ksettings_zero_link_mode(cmd, supported);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1105:45: error: ‘supported’ undeclared (first use in this function); did you mean ‘dma_supported’?
 1105 |  ethtool_link_ksettings_zero_link_mode(cmd, supported);
      |                                             ^~~~~~~~~
      |                                             dma_supported
/home/phil/aquantia/AQtion-master/aq_nic.c:1108:3: error: implicit declaration of function ‘ethtool_link_ksettings_add_link_mode’ [-Werror=implicit-function-declaration]
 1108 |   ethtool_link_ksettings_add_link_mode(cmd, supported,
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1109:12: error: invalid suffix "baseT_Full" on integer constant
 1109 |            10000baseT_Full);
      |            ^~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1114:12: error: invalid suffix "baseT_Full" on integer constant
 1114 |            5000baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1118:12: error: invalid suffix "baseT_Full" on integer constant
 1118 |            2500baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1122:12: error: invalid suffix "baseT_Full" on integer constant
 1122 |            1000baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1126:12: error: invalid suffix "baseT_Half" on integer constant
 1126 |            1000baseT_Half);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1130:12: error: invalid suffix "baseT_Full" on integer constant
 1130 |            100baseT_Full);
      |            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1134:12: error: invalid suffix "baseT_Half" on integer constant
 1134 |            100baseT_Half);
      |            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1138:12: error: invalid suffix "baseT_Full" on integer constant
 1138 |            10baseT_Full);
      |            ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1142:12: error: invalid suffix "baseT_Half" on integer constant
 1142 |            10baseT_Half);
      |            ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1146:12: error: ‘Pause’ undeclared (first use in this function)
 1146 |            Pause);
      |            ^~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1148:12: error: ‘Asym_Pause’ undeclared (first use in this function)
 1148 |            Asym_Pause);
      |            ^~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1151:55: error: ‘Autoneg’ undeclared (first use in this function)
 1151 |  ethtool_link_ksettings_add_link_mode(cmd, supported, Autoneg);
      |                                                       ^~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1154:56: error: ‘FIBRE’ undeclared (first use in this function)
 1154 |   ethtool_link_ksettings_add_link_mode(cmd, supported, FIBRE);
      |                                                        ^~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1156:56: error: ‘TP’ undeclared (first use in this function)
 1156 |   ethtool_link_ksettings_add_link_mode(cmd, supported, TP);
      |                                                        ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1158:45: error: ‘advertising’ undeclared (first use in this function)
 1158 |  ethtool_link_ksettings_zero_link_mode(cmd, advertising);
      |                                             ^~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1165:12: error: invalid suffix "baseT_Full" on integer constant
 1165 |            10000baseT_Full);
      |            ^~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1169:12: error: invalid suffix "baseT_Full" on integer constant
 1169 |            5000baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1173:12: error: invalid suffix "baseT_Full" on integer constant
 1173 |            2500baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1177:12: error: invalid suffix "baseT_Full" on integer constant
 1177 |            1000baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1181:12: error: invalid suffix "baseT_Half" on integer constant
 1181 |            1000baseT_Half);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1185:12: error: invalid suffix "baseT_Full" on integer constant
 1185 |            100baseT_Full);
      |            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1189:12: error: invalid suffix "baseT_Half" on integer constant
 1189 |            100baseT_Half);
      |            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1193:12: error: invalid suffix "baseT_Full" on integer constant
 1193 |            10baseT_Full);
      |            ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1197:12: error: invalid suffix "baseT_Half" on integer constant
 1197 |            10baseT_Half);
      |            ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1214:45: error: ‘lp_advertising’ undeclared (first use in this function)
 1214 |  ethtool_link_ksettings_zero_link_mode(cmd, lp_advertising);
      |                                             ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1219:12: error: invalid suffix "baseT_Full" on integer constant
 1219 |            10000baseT_Full);
      |            ^~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1223:12: error: invalid suffix "baseT_Full" on integer constant
 1223 |            5000baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1227:12: error: invalid suffix "baseT_Full" on integer constant
 1227 |            2500baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1231:12: error: invalid suffix "baseT_Full" on integer constant
 1231 |            1000baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1235:12: error: invalid suffix "baseT_Half" on integer constant
 1235 |            1000baseT_Half);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1239:12: error: invalid suffix "baseT_Full" on integer constant
 1239 |            100baseT_Full);
      |            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1243:12: error: invalid suffix "baseT_Half" on integer constant
 1243 |            100baseT_Half);
      |            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1247:12: error: invalid suffix "baseT_Full" on integer constant
 1247 |            10baseT_Full);
      |            ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1251:12: error: invalid suffix "baseT_Half" on integer constant
 1251 |            10baseT_Half);
      |            ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c: At top level:
/home/phil/aquantia/AQtion-master/aq_nic.c:1263:23: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
 1263 |          const struct ethtool_link_ksettings *cmd)
      |                       ^~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1262:5: error: conflicting types for ‘aq_nic_set_link_ksettings’
 1262 | int aq_nic_set_link_ksettings(struct aq_nic_s *self,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_nic.c:24:
/home/phil/aquantia/AQtion-master/aq_nic.h:228:5: note: previous declaration of ‘aq_nic_set_link_ksettings’ was here
  228 | int aq_nic_set_link_ksettings(struct aq_nic_s *self,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c: In function ‘aq_nic_set_link_ksettings’:
/home/phil/aquantia/AQtion-master/aq_nic.c:1265:20: error: invalid use of undefined type ‘const struct ethtool_link_ksettings’
 1265 |  int fduplex = (cmd->base.duplex == DUPLEX_FULL);
      |                    ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1265:37: error: ‘DUPLEX_FULL’ undeclared (first use in this function)
 1265 |  int fduplex = (cmd->base.duplex == DUPLEX_FULL);
      |                                     ^~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1266:17: error: invalid use of undefined type ‘const struct ethtool_link_ksettings’
 1266 |  u32 speed = cmd->base.speed;
      |                 ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1270:26: error: ‘SPEED_1000’ undeclared (first use in this function); did you mean ‘SPEED_5000’?
 1270 |  if (!fduplex && speed > SPEED_1000) {
      |                          ^~~~~~~~~~
      |                          SPEED_5000
/home/phil/aquantia/AQtion-master/aq_nic.c:1275:9: error: invalid use of undefined type ‘const struct ethtool_link_ksettings’
 1275 |  if (cmd->base.autoneg == AUTONEG_ENABLE) {
      |         ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1275:27: error: ‘AUTONEG_ENABLE’ undeclared (first use in this function)
 1275 |  if (cmd->base.autoneg == AUTONEG_ENABLE) {
      |                           ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1280:8: error: ‘SPEED_10’ undeclared (first use in this function); did you mean ‘SPEED_5000’?
 1280 |   case SPEED_10:
      |        ^~~~~~~~
      |        SPEED_5000
/home/phil/aquantia/AQtion-master/aq_nic.c:1284:8: error: ‘SPEED_100’ undeclared (first use in this function); did you mean ‘SPEED_5000’?
 1284 |   case SPEED_100:
      |        ^~~~~~~~~
      |        SPEED_5000
/home/phil/aquantia/AQtion-master/aq_nic.c:1293:8: error: ‘SPEED_2500’ undeclared (first use in this function); did you mean ‘SPEED_5000’?
 1293 |   case SPEED_2500:
      |        ^~~~~~~~~~
      |        SPEED_5000
/home/phil/aquantia/AQtion-master/aq_nic.c:1301:8: error: ‘SPEED_10000’ undeclared (first use in this function); did you mean ‘SPEED_5000’?
 1301 |   case SPEED_10000:
      |        ^~~~~~~~~~~
      |        SPEED_5000
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:287: /home/phil/aquantia/AQtion-master/aq_nic.o] Errore 1
make[1]: *** [Makefile:1837: /home/phil/aquantia/AQtion-master] Errore 2
make: *** [Makefile:36: all] Errore 2

Wake-on-magic-packet with zeroed out SecureOn password?

Hi.

I'm wondering if the driver is not properly configuring the firmware to wake on a magic packet, if an optional zeroed out SecureOn password is present at the end of the packet (00:00:00:00:00:00)?

It appears I can wake a machine via etherwake 00:17:b6:00:aa:bb but not etherwake -p 00:00:00:00:00:00 00:17:b6:00:aa:bb. (Ignore that my MAC is not valid as I've replaced the last 2 bytes with aa:bb.)

The reason I'm running into this use case is that I'd like to rely on an Apple device to send a magic packet, and it appears it always send out zeroed out 6-byte password?

https://github.com/Apple-FOSS-Mirror/mDNSResponder/blob/b1b926e85440b53182d26715ece2fb67eac24f9e/mDNSMacOSX/helper.c#L2368

IO_PAGE_FAULT with GRO and LRO switched off

Driver version is 2.3.4, kernel 5.3.0-26-generic (Ubuntu 18.0.4.3). Compile and installation no problem.
Options are being switched off with:
ethtool -K enp8s0 gro off and
ethtool -K enp8s0 lro off.

However, following error messages are being logged as well as machine stops suddenly:
Jan 28 00:06:01 ds9 kernel: [ 1022.662280] atlantic 0000:08:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0000 address=0xfefff000 flags=0x0070]

RSS limit according to cores does not work

I'm using a Odroid H2+. When using the driver I'm getting the following result:

            CPU0       CPU1       CPU2       CPU3       
 128:          0          0          0    1710005  IR-PCI-MSI 524288-edge      enp1s0
 129:    2216316          0          0          0  IR-PCI-MSI 524289-edge      enp1s0
 130:          0          0          0    3127524  IR-PCI-MSI 524290-edge      enp1s0
 131:          0    2855864          0          0  IR-PCI-MSI 524291-edge      enp1s0
 132:          0         17          0          0  IR-PCI-MSI 524292-edge      enp1s0
 133:          0          0          0          0  IR-PCI-MSI 524293-edge      enp1s0
 134:          0          0          0          0  IR-PCI-MSI 524294-edge      enp1s0

This means one core is not even used.

This should be something like this:

`egrep 'CPU|eth0' /proc/interrupts
            CPU0       CPU1       CPU2       CPU3       
 129:   29144060          0          0          0  IR-PCI-MSI 524288-edge      eth0
 131:          0   25511547          0          0  IR-PCI-MSI 524289-edge      eth0
 132:          0          0   40776464          0  IR-PCI-MSI 524290-edge      eth0
 134:          0          0          0   17121614  IR-PCI-MSI 524291-edge      eth0`

I have also tried to manually limit to 4 queues and did the whole make and install process again but nothing changes.

Settings in aq_cfg.h:
#define AQ_CFG_VECS_DEF 4U
#define AQ_CFG_NUM_RSS_QUEUES_DEF AQ_CFG_VECS_DEF

AQC113: Why does HW PTP timestamping not show up with upstream Linux driver?

With kernel 6.1 and its atlantic driver, AQC113 does not seem to support PTP. And it does not have the aq_enable_ptp module parameter. I checked the upstream code and PTP is force-enabled instead of reading this parameter. So everything should be set up for PTP, yet it is not there.

When I build 2.5.5 version from here, after a few fixes for the other bugs, I could normally load the driver with aq_enable_ptp and ethtool -T was satisfied and showed up the HW timestamping features. What should I do to get the same from the upstream kernel driver?

Builds fail with `5.15` kernels

I'm using this ArchLinux package. The DKMS build fails this way:

/var/lib/dkms/atlantic/2.4.14/build/aq_ethtool.c:1473:32: error: initialization of ‘int (*)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *)’ from incompatible pointer type ‘int (*)(struct net_device *, struct ethtool_coalesce *)’ [-Werror=incompatible-pointer-types]
 1473 |         .get_coalesce        = aq_ethtool_get_coalesce,
      |                                ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/atlantic/2.4.14/build/aq_ethtool.c:1473:32: note: (near initialization for ‘aq_ethtool_ops.get_coalesce’)
/var/lib/dkms/atlantic/2.4.14/build/aq_ethtool.c:1474:32: error: initialization of ‘int (*)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *)’ from incompatible pointer type ‘int (*)(struct net_device *, struct ethtool_coalesce *)’ [-Werror=incompatible-pointer-types]
 1474 |         .set_coalesce        = aq_ethtool_set_coalesce,
      |                                ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/atlantic/2.4.14/build/aq_ethtool.c:1474:32: note: (near initialization for ‘aq_ethtool_ops.set_coalesce’)

Is this a known issue? Is there an update?

Asus XG-C100F won't detect SFP-10G-SR transceiver

I've compiled and installed this module and unfortunately an Asus XG-C100F card won't detect a SFP-10G-SR (FS.COM "Generic") transceiver. It's my understanding that these should be compatible. Any suggestions?

# ethtool enp6s0
Settings for enp6s0:
	Supported ports: [ FIBRE ]
	Supported link modes:   100baseT/Full
	                        1000baseT/Full
	                        10000baseT/Full
	                        2500baseT/Full
	                        5000baseT/Full
	Supported pause frame use: Symmetric Receive-only
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  100baseT/Full
	                        1000baseT/Full
	                        10000baseT/Full
	                        2500baseT/Full
	                        5000baseT/Full
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: Unknown!
	Duplex: Unknown! (255)
	Auto-negotiation: on
	Port: FIBRE
	PHYAD: 0
	Transceiver: internal
	Supports Wake-on: pg
	Wake-on: g
        Current message level: 0x00000005 (5)
                               drv link
	Link detected: no
# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.10
Release:	20.10
Codename:	groovy
# uname -a
Linux hera 5.8.0-33-generic #36-Ubuntu SMP Wed Dec 9 09:14:40 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
# modinfo atlantic | head
filename:       /lib/modules/5.8.0-33-generic/updates/dkms/atlantic.ko
description:    Marvell (Aquantia) Corporation(R) Network Driver
author:         Marvell
version:        2.4.10.0
license:        GPL v2
firmware:       mrvl/91B1.fw
firmware:       mrvl/87B1.fw
firmware:       mrvl/80B1.fw
srcversion:     645AFFA53090DE964B4BBED
alias:          pci:v00001D6Ad000093C0sv*sd*bc*sc*i*

Thank you in advance!

Build issue when DKMS compiling with 6.1.x source

DKMS make.log for atlantic-2.5.5.0 for kernel 6.1.6 (x86_64)
lun. 16 janv. 2023 16:04:15 CET
make : on entre dans le répertoire « /usr/src/linux-headers-6.1.6 »
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_main.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_nic.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_pci_func.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_vec.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_ring.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_ptp.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_filters.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_hw_utils.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_ethtool.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_drvinfo.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_trace.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_phy.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_compat.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_tsn.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_sysfs.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/hw_atl/hw_atl_a0.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/hw_atl/hw_atl_b0.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/hw_atl/hw_atl_utils.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/hw_atl/hw_atl_utils_fw2x.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/hw_atl/hw_atl_fw_hostboot.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/hw_atl/hw_atl_llh.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/hw_atl/hw_atl_fw_image.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/hw_atl2/hw_atl2_llh.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/hw_atl2/hw_atl2.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/hw_atl2/hw_atl2_utils.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/hw_atl2/hw_atl2_utils_fw.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/hw_atl2/hw_atl2_fw_hostboot.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/macsec/macsec_api.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_dash.o
CC [M] /var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.o
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_dev_open’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:296:9: error: ‘struct macsec_context’ has no member named ‘prepare’
296 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_dev_stop’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:310:9: error: ‘struct macsec_context’ has no member named ‘prepare’
310 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_add_secy’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:472:9: error: ‘struct macsec_context’ has no member named ‘prepare’
472 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_upd_secy’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:498:9: error: ‘struct macsec_context’ has no member named ‘prepare’
498 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_del_secy’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:549:9: error: ‘struct macsec_context’ has no member named ‘prepare’
549 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_add_txsa’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:611:9: error: ‘struct macsec_context’ has no member named ‘prepare’
611 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_upd_txsa’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:641:9: error: ‘struct macsec_context’ has no member named ‘prepare’
641 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_del_txsa’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:691:9: error: ‘struct macsec_context’ has no member named ‘prepare’
691 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_add_rxsc’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:790:9: error: ‘struct macsec_context’ has no member named ‘prepare’
790 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_upd_rxsc’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:819:9: error: ‘struct macsec_context’ has no member named ‘prepare’
819 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_del_rxsc’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:886:9: error: ‘struct macsec_context’ has no member named ‘prepare’
886 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_add_rxsa’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:962:9: error: ‘struct macsec_context’ has no member named ‘prepare’
962 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_upd_rxsa’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:992:9: error: ‘struct macsec_context’ has no member named ‘prepare’
992 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_del_rxsa’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:1043:9: error: ‘struct macsec_context’ has no member named ‘prepare’
1043 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_get_dev_stats’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:1058:9: error: ‘struct macsec_context’ has no member named ‘prepare’
1058 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_get_tx_sc_stats’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:1087:9: error: ‘struct macsec_context’ has no member named ‘prepare’
1087 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_get_tx_sa_stats’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:1120:9: error: ‘struct macsec_context’ has no member named ‘prepare’
1120 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_get_rx_sc_stats’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:1161:9: error: ‘struct macsec_context’ has no member named ‘prepare’
1161 | if (ctx->prepare)
| ^~
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c: In function ‘aq_mdo_get_rx_sa_stats’:
/var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.c:1210:9: error: ‘struct macsec_context’ has no member named ‘prepare’
1210 | if (ctx->prepare)
| ^~
make[1]: *** [scripts/Makefile.build:250 : /var/lib/dkms/atlantic/2.5.5.0/build/aq_macsec.o] Erreur 1
make[1]: *** Attente des tâches non terminées....
make: *** [Makefile:1992 : /var/lib/dkms/atlantic/2.5.5.0/build] Erreur 2
make : on quitte le répertoire « /usr/src/linux-headers-6.1.6 »

atlantic driver fails to load on Kernel 5.16.4 for XG-C100F SFP+

Feb 1 23:13:13 mypc kernel: [ 8.090504] RIP: 0010:aq_nic_start+0x363/0x370 [atlantic]
Feb 1 23:13:13 mypc kernel: [ 8.090509] Code: cc 50 c0 e8 4f fa a1 d9 41 89 c4 85 c0 0f 88 57 fd ff ff 41 8b 8d 94 01 00 00 b8 01 00 00 00 d3 e0 41 09 85 f8 05 00 00 eb 84 <0f> 0b 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5
Feb 1 23:13:13 mypc kernel: [ 8.090510] RSP: 0018:ffffad63c25bf468 EFLAGS: 00010202
Feb 1 23:13:13 mypc kernel: [ 8.090512] RAX: 0000000000000008 RBX: 0000000000000008 RCX: ffff96f1a15b6000
Feb 1 23:13:13 mypc kernel: [ 8.090513] RDX: 0000000000000010 RSI: ffffad63c18e5be8 RDI: ffff96f19fbbe428
Feb 1 23:13:13 mypc kernel: [ 8.090513] RBP: ffffad63c25bf480 R08: 0000000020000800 R09: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.090514] R10: 0000000000000000 R11: 000000000000003f R12: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.090514] R13: ffff96f1a15b6980 R14: 0000000000000001 R15: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.090515] FS: 00007f8425114140(0000) GS:ffff97006ea00000(0000) knlGS:0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.090516] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Feb 1 23:13:13 mypc kernel: [ 8.090517] CR2: 00007fa0f0df9710 CR3: 0000000109a5c000 CR4: 0000000000750ef0
Feb 1 23:13:13 mypc kernel: [ 8.090517] PKRU: 55555554
Feb 1 23:13:13 mypc kernel: [ 8.090518] Call Trace:
Feb 1 23:13:13 mypc kernel: [ 8.090519]
Feb 1 23:13:13 mypc kernel: [ 8.090521] aq_ndev_open+0x49/0x70 [atlantic]
Feb 1 23:13:13 mypc kernel: [ 8.090524] __dev_open+0xef/0x180
Feb 1 23:13:13 mypc kernel: [ 8.090527] __dev_change_flags+0x188/0x1e0
Feb 1 23:13:13 mypc kernel: [ 8.090528] dev_change_flags+0x26/0x60
Feb 1 23:13:13 mypc kernel: [ 8.090529] do_setlink+0x908/0xc40
Feb 1 23:13:13 mypc kernel: [ 8.090531] ? __nla_validate_parse+0x4c/0x1a0
Feb 1 23:13:13 mypc kernel: [ 8.090533] __rtnl_newlink+0x597/0xa10
Feb 1 23:13:13 mypc kernel: [ 8.090534] ? __nla_put+0x20/0x30
Feb 1 23:13:13 mypc kernel: [ 8.090535] ? pskb_expand_head+0x75/0x310
Feb 1 23:13:13 mypc kernel: [ 8.090537] ? security_sock_rcv_skb+0x2f/0x50
Feb 1 23:13:13 mypc kernel: [ 8.090539] ? netlink_deliver_tap+0x49/0x240
Feb 1 23:13:13 mypc kernel: [ 8.090541] ? sk_filter_trim_cap+0xbf/0x220
Feb 1 23:13:13 mypc kernel: [ 8.090542] ? skb_queue_tail+0x48/0x50
Feb 1 23:13:13 mypc kernel: [ 8.090544] ? sock_def_readable+0x50/0x80
Feb 1 23:13:13 mypc kernel: [ 8.090545] ? __netlink_sendskb+0x42/0x50
Feb 1 23:13:13 mypc kernel: [ 8.090547] ? netlink_unicast+0x213/0x250
Feb 1 23:13:13 mypc kernel: [ 8.090548] ? rtnl_getlink+0x376/0x400
Feb 1 23:13:13 mypc kernel: [ 8.090550] ? security_capable+0x3d/0x60
Feb 1 23:13:13 mypc kernel: [ 8.090552] ? kmem_cache_alloc_trace+0x193/0x470
Feb 1 23:13:13 mypc kernel: [ 8.090554] rtnl_newlink+0x49/0x70
Feb 1 23:13:13 mypc kernel: [ 8.090555] rtnetlink_rcv_msg+0x160/0x3b0
Feb 1 23:13:13 mypc kernel: [ 8.090557] ? __mark_inode_dirty+0x105/0x350
Feb 1 23:13:13 mypc kernel: [ 8.090559] ? rtnl_calcit.isra.0+0x130/0x130
Feb 1 23:13:13 mypc kernel: [ 8.090561] netlink_rcv_skb+0x55/0x100
Feb 1 23:13:13 mypc kernel: [ 8.090562] rtnetlink_rcv+0x15/0x20
Feb 1 23:13:13 mypc kernel: [ 8.090563] netlink_unicast+0x1a8/0x250
Feb 1 23:13:13 mypc kernel: [ 8.090565] netlink_sendmsg+0x245/0x490
Feb 1 23:13:13 mypc kernel: [ 8.090566] ? _copy_from_user+0x2b/0x60
Feb 1 23:13:13 mypc kernel: [ 8.090567] sock_sendmsg+0x65/0x70
Feb 1 23:13:13 mypc kernel: [ 8.090568] ____sys_sendmsg+0x218/0x290
Feb 1 23:13:13 mypc kernel: [ 8.090569] ? copy_msghdr_from_user+0x5c/0x90
Feb 1 23:13:13 mypc kernel: [ 8.090570] ? addrconf_sysctl_forward+0x111/0x280
Feb 1 23:13:13 mypc kernel: [ 8.090572] ? _copy_from_iter+0x92/0x590
Feb 1 23:13:13 mypc kernel: [ 8.090574] ___sys_sendmsg+0x81/0xc0
Feb 1 23:13:13 mypc kernel: [ 8.090575] ? mntput_no_expire+0x53/0x260
Feb 1 23:13:13 mypc kernel: [ 8.090576] ? __call_rcu+0xac/0x270
Feb 1 23:13:13 mypc kernel: [ 8.090578] ? call_rcu+0xe/0x10
Feb 1 23:13:13 mypc kernel: [ 8.090580] ? __fget_light+0xc5/0x100
Feb 1 23:13:13 mypc kernel: [ 8.090582] __sys_sendmsg+0x62/0xb0
Feb 1 23:13:13 mypc kernel: [ 8.090583] __x64_sys_sendmsg+0x1f/0x30
Feb 1 23:13:13 mypc kernel: [ 8.090584] do_syscall_64+0x5c/0xc0
Feb 1 23:13:13 mypc kernel: [ 8.090586] ? do_syscall_64+0x69/0xc0
Feb 1 23:13:13 mypc kernel: [ 8.090587] ? asm_exc_page_fault+0x8/0x30
Feb 1 23:13:13 mypc kernel: [ 8.090589] entry_SYSCALL_64_after_hwframe+0x44/0xae
Feb 1 23:13:13 mypc kernel: [ 8.090590] RIP: 0033:0x7f842612a3fd
Feb 1 23:13:13 mypc kernel: [ 8.090592] Code: 28 89 54 24 1c 48 89 74 24 10 89 7c 24 08 e8 fa a4 f6 ff 8b 54 24 1c 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 33 44 89 c7 48 89 44 24 08 e8 3e a5 f6 ff 48
Feb 1 23:13:13 mypc kernel: [ 8.090593] RSP: 002b:00007ffe82ca9510 EFLAGS: 00000293 ORIG_RAX: 000000000000002e
Feb 1 23:13:13 mypc kernel: [ 8.090594] RAX: ffffffffffffffda RBX: 000000000000000c RCX: 00007f842612a3fd
Feb 1 23:13:13 mypc kernel: [ 8.090595] RDX: 0000000000000000 RSI: 00007ffe82ca9550 RDI: 000000000000000c
Feb 1 23:13:13 mypc kernel: [ 8.090595] RBP: 000055bf626d4030 R08: 0000000000000000 R09: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.090596] R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.090596] R13: 00007ffe82ca96a0 R14: 00007ffe82ca969c R15: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.090597]
Feb 1 23:13:13 mypc kernel: [ 8.090598] Modules linked in: vboxdrv(OE) intel_rapl_msr intel_rapl_common bnep snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi snd_usb_audio snd_hda_codec snd_usbmidi_lib snd_hda_core edac_mce_amd binfmt_misc uvcvideo iwlmvm snd_hwdep snd_seq_midi videobuf2_vmalloc btusb kvm_amd snd_seq_midi_event videobuf2_memops videobuf2_v4l2 mac80211 snd_rawmidi eeepc_wmi btrtl videobuf2_common kvm snd_seq libarc4 videodev snd_pcm asus_wmi btbcm snd_seq_device platform_profile btintel sparse_keymap nls_iso8859_1 mc joydev input_leds corsair_cpro rapl snd_timer video bluetooth iwlwifi wmi_bmof efi_pstore snd ucsi_ccg typec_ucsi ecdh_generic ecc k10temp ccp typec soundcore cfg80211 mac_hid sch_fq_codel msr parport_pc ppdev lp parport sunrpc ip_tables x_tables autofs4 dm_crypt raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear system76_io(OE)
Feb 1 23:13:13 mypc kernel: [ 8.090620] system76_acpi(OE) hid_generic uas usbhid usb_storage hid amdgpu iommu_v2 gpu_sched drm_ttm_helper mxm_wmi ttm crct10dif_pclmul drm_kms_helper crc32_pclmul ghash_clmulni_intel syscopyarea sysfillrect sysimgblt aesni_intel fb_sys_fops igb atlantic cec crypto_simd nvme r8169 rc_core ahci dca cryptd xhci_pci drm i2c_piix4 macsec i2c_designware_pci libahci i2c_algo_bit xhci_pci_renesas realtek nvme_core wmi
Feb 1 23:13:13 mypc kernel: [ 8.090631] ---[ end trace 96a2807216b1f270 ]---
Feb 1 23:13:13 mypc kernel: [ 8.091152] ------------[ cut here ]------------
Feb 1 23:13:13 mypc kernel: [ 8.091153] Voluntary context switch within RCU read-side critical section!
Feb 1 23:13:13 mypc kernel: [ 8.091155] WARNING: CPU: 0 PID: 1386 at kernel/rcu/tree_plugin.h:316 rcu_note_context_switch+0x462/0x4a0
Feb 1 23:13:13 mypc kernel: [ 8.091158] Modules linked in: vboxdrv(OE) intel_rapl_msr intel_rapl_common bnep snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi snd_usb_audio snd_hda_codec snd_usbmidi_lib snd_hda_core edac_mce_amd binfmt_misc uvcvideo iwlmvm snd_hwdep snd_seq_midi videobuf2_vmalloc btusb kvm_amd snd_seq_midi_event videobuf2_memops videobuf2_v4l2 mac80211 snd_rawmidi eeepc_wmi btrtl videobuf2_common kvm snd_seq libarc4 videodev snd_pcm asus_wmi btbcm snd_seq_device platform_profile btintel sparse_keymap nls_iso8859_1 mc joydev input_leds corsair_cpro rapl snd_timer video bluetooth iwlwifi wmi_bmof efi_pstore snd ucsi_ccg typec_ucsi ecdh_generic ecc k10temp ccp typec soundcore cfg80211 mac_hid sch_fq_codel msr parport_pc ppdev lp parport sunrpc ip_tables x_tables autofs4 dm_crypt raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear system76_io(OE)
Feb 1 23:13:13 mypc kernel: [ 8.091179] system76_acpi(OE) hid_generic uas usbhid usb_storage hid amdgpu iommu_v2 gpu_sched drm_ttm_helper mxm_wmi ttm crct10dif_pclmul drm_kms_helper crc32_pclmul ghash_clmulni_intel syscopyarea sysfillrect sysimgblt aesni_intel fb_sys_fops igb atlantic cec crypto_simd nvme r8169 rc_core ahci dca cryptd xhci_pci drm i2c_piix4 macsec i2c_designware_pci libahci i2c_algo_bit xhci_pci_renesas realtek nvme_core wmi
Feb 1 23:13:13 mypc kernel: [ 8.091189] CPU: 0 PID: 1386 Comm: NetworkManager Tainted: G D OE 5.16.4-051604-generic #202201310852-Ubuntu
Feb 1 23:13:13 mypc kernel: [ 8.091190] Hardware name: ASUS System Product Name/ROG CROSSHAIR VIII HERO (WI-FI), BIOS 3801 07/30/2021
Feb 1 23:13:13 mypc kernel: [ 8.091191] RIP: 0010:rcu_note_context_switch+0x462/0x4a0
Feb 1 23:13:13 mypc kernel: [ 8.091191] Code: 08 48 89 86 40 08 00 00 4c 89 86 48 08 00 00 49 89 10 e9 84 fe ff ff 48 c7 c7 e0 29 3c 9b c6 05 de 73 fe 01 01 e8 81 0e ab 00 <0f> 0b e9 ec fb ff ff 0f 0b e9 7e fd ff ff 0f 0b e9 60 fd ff ff 0f
Feb 1 23:13:13 mypc kernel: [ 8.091192] RSP: 0018:ffffad63c25bee18 EFLAGS: 00010086
Feb 1 23:13:13 mypc kernel: [ 8.091193] RAX: 0000000000000000 RBX: ffff97006ea31f00 RCX: 0000000000000027
Feb 1 23:13:13 mypc kernel: [ 8.091194] RDX: 0000000000000027 RSI: 00000000ffffdfff RDI: ffff97006ea20988
Feb 1 23:13:13 mypc kernel: [ 8.091195] RBP: ffffad63c25bee38 R08: ffff97006ea20980 R09: ffffad63c25bec00
Feb 1 23:13:13 mypc kernel: [ 8.091196] R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.091196] R13: ffff96f18ce74c80 R14: ffff96f18ce74c80 R15: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.091197] FS: 00007f8425114140(0000) GS:ffff97006ea00000(0000) knlGS:0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.091198] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Feb 1 23:13:13 mypc kernel: [ 8.091199] CR2: 00007fa0f0df9710 CR3: 0000000109a5c000 CR4: 0000000000750ef0
Feb 1 23:13:13 mypc kernel: [ 8.091199] PKRU: 55555554
Feb 1 23:13:13 mypc kernel: [ 8.091200] Call Trace:
Feb 1 23:13:13 mypc kernel: [ 8.091200]
Feb 1 23:13:13 mypc kernel: [ 8.091201] __schedule+0xbb/0x7f0
Feb 1 23:13:13 mypc kernel: [ 8.091203] ? ttwu_do_activate+0xb6/0x510
Feb 1 23:13:13 mypc kernel: [ 8.091206] schedule+0x55/0xd0
Feb 1 23:13:13 mypc kernel: [ 8.091207] schedule_timeout+0x200/0x290
Feb 1 23:13:13 mypc kernel: [ 8.091208] wait_for_completion+0x8b/0xf0
Feb 1 23:13:13 mypc kernel: [ 8.091209] virt_efi_query_variable_info+0x146/0x160
Feb 1 23:13:13 mypc kernel: [ 8.091212] efi_query_variable_store+0x53/0x190
Feb 1 23:13:13 mypc kernel: [ 8.091214] ? vsnprintf+0x71/0x4e0
Feb 1 23:13:13 mypc kernel: [ 8.091216] efivar_entry_set_safe+0xbf/0x210
Feb 1 23:13:13 mypc kernel: [ 8.091219] efi_pstore_write+0x125/0x1a0 [efi_pstore]
Feb 1 23:13:13 mypc kernel: [ 8.091221] pstore_dump+0x11c/0x300
Feb 1 23:13:13 mypc kernel: [ 8.091223] ? vprintk_emit+0xf9/0x230
Feb 1 23:13:13 mypc kernel: [ 8.091225] kmsg_dump+0x4e/0x70
Feb 1 23:13:13 mypc kernel: [ 8.091227] oops_exit+0x27/0x30
Feb 1 23:13:13 mypc kernel: [ 8.091228] oops_end+0x68/0xd0
Feb 1 23:13:13 mypc kernel: [ 8.091230] die+0x43/0x50
Feb 1 23:13:13 mypc kernel: [ 8.091231] do_trap+0xd7/0x100
Feb 1 23:13:13 mypc kernel: [ 8.091232] do_error_trap+0x77/0xa0
Feb 1 23:13:13 mypc kernel: [ 8.091233] ? aq_nic_start+0x363/0x370 [atlantic]
Feb 1 23:13:13 mypc kernel: [ 8.091237] exc_invalid_op+0x53/0x70
Feb 1 23:13:13 mypc kernel: [ 8.091238] ? aq_nic_start+0x363/0x370 [atlantic]
Feb 1 23:13:13 mypc kernel: [ 8.091241] asm_exc_invalid_op+0x12/0x20
Feb 1 23:13:13 mypc kernel: [ 8.091243] RIP: 0010:aq_nic_start+0x363/0x370 [atlantic]
Feb 1 23:13:13 mypc kernel: [ 8.091246] Code: cc 50 c0 e8 4f fa a1 d9 41 89 c4 85 c0 0f 88 57 fd ff ff 41 8b 8d 94 01 00 00 b8 01 00 00 00 d3 e0 41 09 85 f8 05 00 00 eb 84 <0f> 0b 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5
Feb 1 23:13:13 mypc kernel: [ 8.091247] RSP: 0018:ffffad63c25bf468 EFLAGS: 00010202
Feb 1 23:13:13 mypc kernel: [ 8.091247] RAX: 0000000000000008 RBX: 0000000000000008 RCX: ffff96f1a15b6000
Feb 1 23:13:13 mypc kernel: [ 8.091248] RDX: 0000000000000010 RSI: ffffad63c18e5be8 RDI: ffff96f19fbbe428
Feb 1 23:13:13 mypc kernel: [ 8.091249] RBP: ffffad63c25bf480 R08: 0000000020000800 R09: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.091249] R10: 0000000000000000 R11: 000000000000003f R12: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.091250] R13: ffff96f1a15b6980 R14: 0000000000000001 R15: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.091251] ? aq_nic_start+0x9c/0x370 [atlantic]
Feb 1 23:13:13 mypc kernel: [ 8.091254] aq_ndev_open+0x49/0x70 [atlantic]
Feb 1 23:13:13 mypc kernel: [ 8.091257] __dev_open+0xef/0x180
Feb 1 23:13:13 mypc kernel: [ 8.091259] __dev_change_flags+0x188/0x1e0
Feb 1 23:13:13 mypc kernel: [ 8.091260] dev_change_flags+0x26/0x60
Feb 1 23:13:13 mypc kernel: [ 8.091261] do_setlink+0x908/0xc40
Feb 1 23:13:13 mypc kernel: [ 8.091262] ? __nla_validate_parse+0x4c/0x1a0
Feb 1 23:13:13 mypc kernel: [ 8.091264] __rtnl_newlink+0x597/0xa10
Feb 1 23:13:13 mypc kernel: [ 8.091265] ? __nla_put+0x20/0x30
Feb 1 23:13:13 mypc kernel: [ 8.091266] ? pskb_expand_head+0x75/0x310
Feb 1 23:13:13 mypc kernel: [ 8.091268] ? security_sock_rcv_skb+0x2f/0x50
Feb 1 23:13:13 mypc kernel: [ 8.091270] ? netlink_deliver_tap+0x49/0x240
Feb 1 23:13:13 mypc kernel: [ 8.091271] ? sk_filter_trim_cap+0xbf/0x220
Feb 1 23:13:13 mypc kernel: [ 8.091272] ? skb_queue_tail+0x48/0x50
Feb 1 23:13:13 mypc kernel: [ 8.091273] ? sock_def_readable+0x50/0x80
Feb 1 23:13:13 mypc kernel: [ 8.091275] ? __netlink_sendskb+0x42/0x50
Feb 1 23:13:13 mypc kernel: [ 8.091276] ? netlink_unicast+0x213/0x250
Feb 1 23:13:13 mypc kernel: [ 8.091277] ? rtnl_getlink+0x376/0x400
Feb 1 23:13:13 mypc kernel: [ 8.091280] ? security_capable+0x3d/0x60
Feb 1 23:13:13 mypc kernel: [ 8.091281] ? kmem_cache_alloc_trace+0x193/0x470
Feb 1 23:13:13 mypc kernel: [ 8.091283] rtnl_newlink+0x49/0x70
Feb 1 23:13:13 mypc kernel: [ 8.091284] rtnetlink_rcv_msg+0x160/0x3b0
Feb 1 23:13:13 mypc kernel: [ 8.091286] ? __mark_inode_dirty+0x105/0x350
Feb 1 23:13:13 mypc kernel: [ 8.091288] ? rtnl_calcit.isra.0+0x130/0x130
Feb 1 23:13:13 mypc kernel: [ 8.091290] netlink_rcv_skb+0x55/0x100
Feb 1 23:13:13 mypc kernel: [ 8.091291] rtnetlink_rcv+0x15/0x20
Feb 1 23:13:13 mypc kernel: [ 8.091292] netlink_unicast+0x1a8/0x250
Feb 1 23:13:13 mypc kernel: [ 8.091294] netlink_sendmsg+0x245/0x490
Feb 1 23:13:13 mypc kernel: [ 8.091295] ? _copy_from_user+0x2b/0x60
Feb 1 23:13:13 mypc kernel: [ 8.091296] sock_sendmsg+0x65/0x70
Feb 1 23:13:13 mypc kernel: [ 8.091297] ____sys_sendmsg+0x218/0x290
Feb 1 23:13:13 mypc kernel: [ 8.091298] ? copy_msghdr_from_user+0x5c/0x90
Feb 1 23:13:13 mypc kernel: [ 8.091299] ? addrconf_sysctl_forward+0x111/0x280
Feb 1 23:13:13 mypc kernel: [ 8.091301] ? _copy_from_iter+0x92/0x590
Feb 1 23:13:13 mypc kernel: [ 8.091303] ___sys_sendmsg+0x81/0xc0
Feb 1 23:13:13 mypc kernel: [ 8.091304] ? mntput_no_expire+0x53/0x260
Feb 1 23:13:13 mypc kernel: [ 8.091305] ? __call_rcu+0xac/0x270
Feb 1 23:13:13 mypc kernel: [ 8.091306] ? call_rcu+0xe/0x10
Feb 1 23:13:13 mypc kernel: [ 8.091308] ? __fget_light+0xc5/0x100
Feb 1 23:13:13 mypc kernel: [ 8.091310] __sys_sendmsg+0x62/0xb0
Feb 1 23:13:13 mypc kernel: [ 8.091311] __x64_sys_sendmsg+0x1f/0x30
Feb 1 23:13:13 mypc kernel: [ 8.091312] do_syscall_64+0x5c/0xc0
Feb 1 23:13:13 mypc kernel: [ 8.091313] ? do_syscall_64+0x69/0xc0
Feb 1 23:13:13 mypc kernel: [ 8.091314] ? asm_exc_page_fault+0x8/0x30
Feb 1 23:13:13 mypc kernel: [ 8.091315] entry_SYSCALL_64_after_hwframe+0x44/0xae
Feb 1 23:13:13 mypc kernel: [ 8.091317] RIP: 0033:0x7f842612a3fd
Feb 1 23:13:13 mypc kernel: [ 8.091318] Code: 28 89 54 24 1c 48 89 74 24 10 89 7c 24 08 e8 fa a4 f6 ff 8b 54 24 1c 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 33 44 89 c7 48 89 44 24 08 e8 3e a5 f6 ff 48
Feb 1 23:13:13 mypc kernel: [ 8.091318] RSP: 002b:00007ffe82ca9510 EFLAGS: 00000293 ORIG_RAX: 000000000000002e
Feb 1 23:13:13 mypc kernel: [ 8.091319] RAX: ffffffffffffffda RBX: 000000000000000c RCX: 00007f842612a3fd
Feb 1 23:13:13 mypc kernel: [ 8.091320] RDX: 0000000000000000 RSI: 00007ffe82ca9550 RDI: 000000000000000c
Feb 1 23:13:13 mypc kernel: [ 8.091320] RBP: 000055bf626d4030 R08: 0000000000000000 R09: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.091321] R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.091322] R13: 00007ffe82ca96a0 R14: 00007ffe82ca969c R15: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.091323]
Feb 1 23:13:13 mypc kernel: [ 8.091323] ---[ end trace 96a2807216b1f271 ]---
Feb 1 23:13:13 mypc kernel: [ 8.239615] RIP: 0010:aq_nic_start+0x363/0x370 [atlantic]
Feb 1 23:13:13 mypc kernel: [ 8.239622] Code: cc 50 c0 e8 4f fa a1 d9 41 89 c4 85 c0 0f 88 57 fd ff ff 41 8b 8d 94 01 00 00 b8 01 00 00 00 d3 e0 41 09 85 f8 05 00 00 eb 84 <0f> 0b 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5
Feb 1 23:13:13 mypc kernel: [ 8.239624] RSP: 0018:ffffad63c25bf468 EFLAGS: 00010202
Feb 1 23:13:13 mypc kernel: [ 8.239625] RAX: 0000000000000008 RBX: 0000000000000008 RCX: ffff96f1a15b6000
Feb 1 23:13:13 mypc kernel: [ 8.239626] RDX: 0000000000000010 RSI: ffffad63c18e5be8 RDI: ffff96f19fbbe428
Feb 1 23:13:13 mypc kernel: [ 8.239627] RBP: ffffad63c25bf480 R08: 0000000020000800 R09: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.239627] R10: 0000000000000000 R11: 000000000000003f R12: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.239628] R13: ffff96f1a15b6980 R14: 0000000000000001 R15: 0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.239629] FS: 00007f8425114140(0000) GS:ffff97006eec0000(0000) knlGS:0000000000000000
Feb 1 23:13:13 mypc kernel: [ 8.239630] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Feb 1 23:13:13 mypc kernel: [ 8.239631] CR2: 00007f97ec008008 CR3: 0000000109a5c000 CR4: 0000000000750ee0

BUG: kernel NULL pointer dereference, address: 0000000000000008

lis 16 19:01:52 r6 systemd[1]: Finished Suspend.
lis 16 19:01:52 r6 systemd[1]: systemd-suspend.service: Consumed 2.774s CPU time.
lis 16 19:01:52 r6 systemd[1]: Stopped target Sleep.
lis 16 19:01:52 r6 systemd[1]: Reached target Suspend.
lis 16 19:01:52 r6 systemd-logind[4628]: Operation 'sleep' finished.
lis 16 19:01:52 r6 NetworkManager[4886]: <info>  [1637085712.5737] manager: sleep: wake requested (sleeping: yes  enabled: yes)
lis 16 19:01:52 r6 upowerd[4632]: TI:19:01:52        Acquired inhibitor lock (7)
lis 16 19:01:52 r6 upowerd[4632]: TI:19:01:52        Woke up from sleep; about to refresh devices
lis 16 19:01:52 r6 upowerd[4632]: TI:19:01:52        Polling will be resumed
lis 16 19:01:52 r6 ModemManager[4736]: <info>  [sleep-monitor] system is resuming
lis 16 19:01:52 r6 NetworkManager[4886]: <info>  [1637085712.5738] device (enp6s0): state change: unavailable -> unmanaged (reason 'sleeping', sys-iface-state: 'managed')
lis 16 19:01:52 r6 NetworkManager[4886]: <info>  [1637085712.6037] device (enp6s0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
lis 16 19:01:52 r6 systemd[1]: Starting NVIDIA system resume actions...
lis 16 19:01:52 r6 systemd[1]: Stopped target Suspend.
lis 16 19:01:52 r6 suspend[10954]: nvidia-resume.service
lis 16 19:01:52 r6 logger[10954]: <13>Nov 16 19:01:52 suspend: nvidia-resume.service
lis 16 19:01:52 r6 systemd[1]: nvidia-resume.service: Deactivated successfully.
lis 16 19:01:52 r6 systemd[1]: Finished NVIDIA system resume actions.
lis 16 19:01:52 r6 NetworkManager[4886]: <info>  [1637085712.6306] device (enp5s0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
lis 16 19:01:53 r6 kernel: BUG: kernel NULL pointer dereference, address: 0000000000000008
lis 16 19:01:53 r6 kernel: #PF: supervisor read access in kernel mode
lis 16 19:01:53 r6 kernel: #PF: error_code(0x0000) - not-present page
lis 16 19:01:53 r6 kernel: PGD 0 P4D 0 
lis 16 19:01:53 r6 kernel: Oops: 0000 [#1] SMP NOPTI
lis 16 19:01:53 r6 kernel: CPU: 2 PID: 4886 Comm: NetworkManager Tainted: P           OE     5.13.0-21-generic #21-Ubuntu
lis 16 19:01:53 r6 kernel: Hardware name: System manufacturer System Product Name/PRIME X570-PRO, BIOS 4021 08/09/2021
lis 16 19:01:53 r6 kernel: RIP: 0010:aq_ring_rx_fill+0xd5/0x210 [atlantic]
lis 16 19:01:53 r6 kernel: Code: 24 31 d2 83 c0 01 41 3b 44 24 28 48 0f 43 c2 41 89 44 24 24 41 83 ef 01 0f 84 fc 00 00 00 48 8d 1c 40 48 c1 e3 04 49 03 1c 24 <48> 8b 43 08 48 c7 43 28 00 08 00 00 48 85 c0 75 81 49 8b 44 24 10
lis 16 19:01:53 r6 kernel: RSP: 0018:ffffb92282827368 EFLAGS: 00010246
lis 16 19:01:53 r6 kernel: RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
lis 16 19:01:53 r6 kernel: RDX: 0000000000000000 RSI: 0000000000006100 RDI: ffff98cecec0e798
lis 16 19:01:53 r6 kernel: RBP: ffffb922828273a0 R08: 0000000000000000 R09: 0000000000008000
lis 16 19:01:53 r6 kernel: R10: 00000000ffffffff R11: fffffb56040428c0 R12: ffff98cecec0e798
lis 16 19:01:53 r6 kernel: R13: 0000000000001000 R14: 0000000000000000 R15: 00000000ffffffff
lis 16 19:01:53 r6 kernel: FS:  00007f54971ba140(0000) GS:ffff98dd4ea80000(0000) knlGS:0000000000000000
lis 16 19:01:53 r6 kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
lis 16 19:01:53 r6 kernel: CR2: 0000000000000008 CR3: 0000000122536000 CR4: 0000000000750ee0
lis 16 19:01:53 r6 kernel: PKRU: 55555554
lis 16 19:01:53 r6 kernel: Call Trace:
lis 16 19:01:53 r6 kernel:  ? hw_atl_b0_hw_ring_rx_init+0x10e/0x120 [atlantic]
lis 16 19:01:53 r6 kernel:  aq_vec_init+0x91/0xf0 [atlantic]
lis 16 19:01:53 r6 kernel:  aq_nic_init+0xfd/0x1e0 [atlantic]
lis 16 19:01:53 r6 kernel:  aq_ndev_open+0x1c/0x70 [atlantic]
lis 16 19:01:53 r6 kernel:  __dev_open+0xef/0x1a0
lis 16 19:01:53 r6 kernel:  __dev_change_flags+0x1a3/0x210
lis 16 19:01:53 r6 kernel:  ? __snmp6_fill_stats64.constprop.0+0xe7/0x110
lis 16 19:01:53 r6 kernel:  dev_change_flags+0x26/0x60
lis 16 19:01:53 r6 kernel:  do_setlink+0x284/0xc40
lis 16 19:01:53 r6 kernel:  ? __nla_validate_parse+0x4c/0x1a0
lis 16 19:01:53 r6 kernel:  __rtnl_newlink+0x605/0xa00
lis 16 19:01:53 r6 kernel:  ? security_sock_rcv_skb+0x2f/0x50
lis 16 19:01:53 r6 kernel:  ? skb_queue_tail+0x43/0x50
lis 16 19:01:53 r6 kernel:  ? sock_def_readable+0x4b/0x80
lis 16 19:01:53 r6 kernel:  ? __netlink_sendskb+0x62/0x80
lis 16 19:01:53 r6 kernel:  ? netlink_unicast+0x2f3/0x330
lis 16 19:01:53 r6 kernel:  ? rtnl_getlink+0x392/0x410
lis 16 19:01:53 r6 kernel:  ? kmem_cache_alloc_trace+0xfb/0x240
lis 16 19:01:53 r6 kernel:  rtnl_newlink+0x49/0x70
lis 16 19:01:53 r6 kernel:  rtnetlink_rcv_msg+0x139/0x370
lis 16 19:01:53 r6 kernel:  ? slab_pre_alloc_hook.constprop.0+0x96/0xe0
lis 16 19:01:53 r6 kernel:  ? rtnl_calcit.isra.0+0x130/0x130
lis 16 19:01:53 r6 kernel:  netlink_rcv_skb+0x55/0x100
lis 16 19:01:53 r6 kernel:  rtnetlink_rcv+0x15/0x20
lis 16 19:01:53 r6 kernel:  netlink_unicast+0x21d/0x330
lis 16 19:01:53 r6 kernel:  netlink_sendmsg+0x246/0x490
lis 16 19:01:53 r6 kernel:  sock_sendmsg+0x65/0x70
lis 16 19:01:53 r6 kernel:  ____sys_sendmsg+0x24e/0x290
lis 16 19:01:53 r6 kernel:  ? import_iovec+0x31/0x40
lis 16 19:01:53 r6 kernel:  ? sendmsg_copy_msghdr+0x7b/0xa0
lis 16 19:01:53 r6 kernel:  ___sys_sendmsg+0x81/0xc0
lis 16 19:01:53 r6 kernel:  ? kvfree+0x2a/0x30
lis 16 19:01:53 r6 kernel:  ? kvfree+0x2a/0x30
lis 16 19:01:53 r6 kernel:  ? __fget_files+0x5f/0x90
lis 16 19:01:53 r6 kernel:  ? __fget_light+0x32/0x80
lis 16 19:01:53 r6 kernel:  __sys_sendmsg+0x62/0xb0
lis 16 19:01:53 r6 kernel:  __x64_sys_sendmsg+0x1d/0x20
lis 16 19:01:53 r6 kernel:  do_syscall_64+0x61/0xb0
lis 16 19:01:53 r6 kernel:  ? exit_to_user_mode_loop+0xec/0x160
lis 16 19:01:53 r6 kernel:  ? exit_to_user_mode_prepare+0x37/0xb0
lis 16 19:01:53 r6 kernel:  ? syscall_exit_to_user_mode+0x27/0x50
lis 16 19:01:53 r6 kernel:  ? __x64_sys_close+0x11/0x40
lis 16 19:01:53 r6 kernel:  ? do_syscall_64+0x6e/0xb0
lis 16 19:01:53 r6 kernel:  ? do_syscall_64+0x6e/0xb0
lis 16 19:01:53 r6 kernel:  ? sysvec_call_function+0x4e/0x90
lis 16 19:01:53 r6 kernel:  ? asm_sysvec_call_function+0xa/0x20
lis 16 19:01:53 r6 kernel:  entry_SYSCALL_64_after_hwframe+0x44/0xae
lis 16 19:01:53 r6 kernel: RIP: 0033:0x7f54981d03fd
lis 16 19:01:53 r6 kernel: Code: 28 89 54 24 1c 48 89 74 24 10 89 7c 24 08 e8 fa a4 f6 ff 8b 54 24 1c 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 33 44 89 c7 48 89 44 24 08 e8 3e a5 f6 ff 48
lis 16 19:01:53 r6 kernel: RSP: 002b:00007fff2ac06630 EFLAGS: 00000293 ORIG_RAX: 000000000000002e
lis 16 19:01:53 r6 kernel: RAX: ffffffffffffffda RBX: 00000000000000b0 RCX: 00007f54981d03fd
lis 16 19:01:53 r6 kernel: RDX: 0000000000000000 RSI: 00007fff2ac06670 RDI: 000000000000000c
lis 16 19:01:53 r6 kernel: RBP: 00005648aeb6d030 R08: 0000000000000000 R09: 0000000000000000
lis 16 19:01:53 r6 kernel: R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000000
lis 16 19:01:53 r6 kernel: R13: 00007fff2ac067c0 R14: 00007fff2ac067bc R15: 0000000000000000
lis 16 19:01:53 r6 kernel: Modules linked in: atlantic nf_conntrack_netbios_ns nf_conntrack_broadcast xt_CHECKSUM xt_MASQUERADE nf_nat_tftp ip6t_rpfilter nft_chain_nat nf_nat nf_conntrack_tftp xt_CT bridge stp llc ip_set binfmt_misc ip6t_REJECT nf_reject_ipv6 xt_hl snd_hda_codec_realtek intel_rapl_msr ip6_tables snd_hda_codec_generic intel_rapl_common ledtrig_audio ip6t_rt edac_mce_amd snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi kvm_amd snd_usb_audio snd_hda_codec snd_usbmidi_lib snd_hda_core mc kvm snd_hwdep snd_pcm rapl snd_seq_midi snd_seq_midi_event snd_rawmidi eeepc_wmi ipt_REJECT snd_seq nf_reject_ipv4 wmi_bmof mxm_wmi snd_seq_device xt_LOG snd_timer efi_pstore nf_log_syslog zenpower(OE) k10temp ccp snd nft_limit joydev input_leds soundcore xt_limit mac_hid xt_addrtype nvidia_uvm(POE) xt_tcpudp xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nft_compat nft_counter sch_fq_codel nf_tables nct6775 hwmon_vid nfnetlink msr parport_pc ppdev lp parport sunrpc ip_tables
lis 16 19:01:53 r6 kernel:  x_tables autofs4 btrfs blake2b_generic zstd_compress dm_crypt raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear hid_generic usbhid hid nvidia_drm(POE) nvidia_modeset(POE) nvidia(POE) mfd_aaeon asus_wmi sparse_keymap video drm_kms_helper crct10dif_pclmul syscopyarea crc32_pclmul sysfillrect ghash_clmulni_intel sysimgblt aesni_intel fb_sys_fops cec crypto_simd rc_core cryptd igb ahci dca macsec libahci drm nvme i2c_algo_bit xhci_pci i2c_piix4 xhci_pci_renesas nvme_core wmi [last unloaded: atlantic]
lis 16 19:01:53 r6 kernel: CR2: 0000000000000008
lis 16 19:01:53 r6 kernel: ---[ end trace 9cf65ec46006a312 ]---
lis 16 19:01:53 r6 kernel: RIP: 0010:aq_ring_rx_fill+0xd5/0x210 [atlantic]
lis 16 19:01:53 r6 kernel: Code: 24 31 d2 83 c0 01 41 3b 44 24 28 48 0f 43 c2 41 89 44 24 24 41 83 ef 01 0f 84 fc 00 00 00 48 8d 1c 40 48 c1 e3 04 49 03 1c 24 <48> 8b 43 08 48 c7 43 28 00 08 00 00 48 85 c0 75 81 49 8b 44 24 10
lis 16 19:01:53 r6 kernel: RSP: 0018:ffffb92282827368 EFLAGS: 00010246
lis 16 19:01:53 r6 kernel: RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
lis 16 19:01:53 r6 kernel: RDX: 0000000000000000 RSI: 0000000000006100 RDI: ffff98cecec0e798
lis 16 19:01:53 r6 kernel: RBP: ffffb922828273a0 R08: 0000000000000000 R09: 0000000000008000
lis 16 19:01:53 r6 kernel: R10: 00000000ffffffff R11: fffffb56040428c0 R12: ffff98cecec0e798
lis 16 19:01:53 r6 kernel: R13: 0000000000001000 R14: 0000000000000000 R15: 00000000ffffffff
lis 16 19:01:53 r6 kernel: FS:  00007f54971ba140(0000) GS:ffff98dd4ea80000(0000) knlGS:0000000000000000
lis 16 19:01:53 r6 kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
lis 16 19:01:53 r6 kernel: CR2: 0000000000000008 CR3: 0000000122536000 CR4: 0000000000750ee0
lis 16 19:01:53 r6 kernel: PKRU: 55555554

Add support for Clear Linux

It would be very helpful to be able to build the atlantic kernel module without dependency on using mandrake/suse/redhat/debian.
Currently there is no way to build the module or use the DKMS build script unless you are using one of those 4 distributions.
Clear Linux for example requires a bunch of manual script modification.

Gigabit SFP module shows link up with correct rate, but doesn't receive any octets/packets

Hi,

I have a QNAP T310G1S (AQC100, PCIe over thunderbolt) running on an Intel NUC with Ubuntu 20.04. I am trying to use it with a gigabit (not 10G) SFP module. SFPs are Finisar FTLF8524P2BNV which I have tested as working with two Marvell 88E1111-based adapters as well as a Realtek-based switch (RTL9303).

As far as I can tell, the AQC100 is supposed to work with 1G adapters, as there are notes like this in the firmware changelog:

3.1.109
21 February 2020
-------------
Bug fix:
Fixed TX Datapath stuck caused by flow control
Enhancement:
[AQC-100]
Improved 1G optic link up time <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Changes:
LEDs interface now uses register 0x31C instead of 0x37C

Though I am not sure how to check the firmware version of the device.

Here is the module info:

filename:       /lib/modules/5.4.0-90-generic/kernel/drivers/net/ethernet/aquantia/atlantic/atlantic.ko
description:    aQuantia Corporation(R) Network Driver
author:         aQuantia
version:        5.4.0-90-generic-kern
license:        GPL v2
srcversion:     49C6E8981415B4E809ED675
alias:          pci:v00001D6Ad000092B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000091B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000089B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000088B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000087B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000080B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000012B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000011B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000009B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000008B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000007B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000000B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad0000D109sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad0000D108sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad0000D107sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad0000D100sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad00000001sv*sd*bc*sc*i*
depends:
retpoline:      Y
intree:         Y
name:           atlantic
vermagic:       5.4.0-90-generic SMP mod_unload modversions
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        39:76:0F:24:EA:8B:04:F4:F1:6A:A6:B7:5B:FC:76:15:B6:68:0D:E5
sig_hashalgo:   sha512
signature:      7F:63:10:30:84:64:D0:A7:EC:82:5D:12:CD:EA:87:4A:B4:93:13:26:
		5A:57:2A:83:5E:06:0A:BE:27:5D:4D:AD:E9:85:F0:70:E9:2D:94:EF:
		29:48:C6:B8:DE:36:96:87:48:20:34:72:21:52:2E:00:DC:FD:02:36:
		E8:2B:0C:FA:84:A7:C1:9B:58:6C:66:D3:FF:21:F1:C9:AE:23:A2:A2:
		1B:A8:C3:E7:1B:5A:C5:58:51:E4:0F:7D:55:BB:AF:7F:AD:52:2F:6F:
		49:2E:BB:4C:86:16:36:83:26:F3:09:7D:96:10:EF:DE:FE:27:3D:02:
		A4:43:F8:84:52:24:0E:CA:43:36:3F:7A:79:32:B8:17:FC:60:CB:AB:
		39:44:0B:4F:1A:D9:5A:BD:91:2B:E9:21:23:73:2E:D7:8D:C6:79:02:
		89:03:72:D1:96:EB:B1:22:64:EC:93:DF:16:5A:FC:B5:7F:28:3E:05:
		00:9C:97:3C:F6:7D:53:93:A6:1E:22:32:5E:98:E9:3C:1F:EC:37:F5:
		FB:56:CB:98:01:F7:03:24:DB:11:37:EA:16:A7:E9:3F:4B:1B:EF:0C:
		F8:98:CD:14:18:65:23:0B:50:01:DB:C6:F5:61:C8:6A:B0:D3:25:CA:
		97:FD:98:E6:A5:A9:71:55:C9:86:8B:57:6B:F7:A2:49:C5:C9:E2:46:
		74:E4:00:EE:A6:96:2C:90:C5:63:7D:B5:FA:E0:63:B8:0F:44:00:5D:
		25:90:14:3E:8C:1C:AD:1C:FB:B9:BB:06:4C:AA:72:0C:94:80:C0:4B:
		CF:C5:1D:7B:00:0B:C0:36:75:E7:A5:0B:51:2A:E8:22:4E:69:09:D4:
		6D:FF:27:ED:2E:9C:82:9D:FA:2D:2F:F7:39:F9:08:19:6D:6A:C8:BF:
		45:92:F4:72:B3:FE:B2:6F:1A:46:7C:40:BB:EF:8B:DE:D5:BF:18:76:
		A2:E8:1C:AD:0F:FC:41:50:6D:E9:FE:0D:75:F8:D3:5C:39:0E:2E:6C:
		08:AF:6A:7E:02:86:86:67:86:BF:E2:22:E8:6C:C8:67:30:DA:06:AC:
		B2:39:F1:D5:EC:6E:92:52:2C:F2:E8:D7:7B:A3:AD:75:FD:4F:86:AB:
		C5:B4:C3:73:36:50:A7:6E:FB:28:79:67:6A:74:94:86:17:73:82:13:
		C2:A1:93:08:08:49:7C:D4:61:08:EB:BD:AB:FE:05:7B:1E:82:F9:52:
		37:0A:EC:A4:BC:88:21:AC:40:5E:68:56:C7:6D:A9:16:81:53:90:79:
		3C:91:38:94:B6:BD:EB:6E:72:96:A9:1A:17:C5:D3:7B:C4:50:CF:76:
		29:25:00:81:3F:3B:B9:FF:F3:67:39:50
parm:           aq_itr:Interrupt throttling mode (uint)
parm:           aq_itr_tx:TX interrupt throttle rate (uint)
parm:           aq_itr_rx:RX interrupt throttle rate (uint)

The link rate is correctly detected by ethtool

Settings for ens1:
	Supported ports: [ FIBRE ]
	Supported link modes:   100baseT/Full
	                        1000baseT/Full
	                        10000baseT/Full
	                        2500baseT/Full
	                        5000baseT/Full
	Supported pause frame use: Symmetric
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  100baseT/Full
	                        1000baseT/Full
	                        10000baseT/Full
	                        2500baseT/Full
	                        5000baseT/Full
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 1000Mb/s
	Duplex: Full
	Port: FIBRE
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: g
	Wake-on: d
	Link detected: yes

and if I unplug the fibre, then the link correctly goes down:

Settings for ens1:
	Supported ports: [ FIBRE ]
	Supported link modes:   100baseT/Full
	                        1000baseT/Full
	                        10000baseT/Full
	                        2500baseT/Full
	                        5000baseT/Full
	Supported pause frame use: Symmetric
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  100baseT/Full
	                        1000baseT/Full
	                        10000baseT/Full
	                        2500baseT/Full
	                        5000baseT/Full
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: Unknown!
	Duplex: Full
	Port: FIBRE
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: g
	Wake-on: d
	Link detected: no

I also get messages like this in dmesg when I unplug/replug:

[ 4495.900997] atlantic: link change old 1000 new 0
[ 4519.835802] atlantic: link change old 0 new 1000

The problem appears to be related to the fact that there are no inbound packets appearing (toward the AQC100) according to ethtool -s:

NIC statistics:
     InPackets: 0
     InUCast: 0
     InMCast: 0
     InBCast: 0
     InErrors: 0
     OutPackets: 29
     OutUCast: 0
     OutMCast: 23
     OutBCast: 6
     InUCastOctets: 0
     OutUCastOctets: 0
     InMCastOctets: 0
     OutMCastOctets: 3664
     InBCastOctets: 0
     OutBCastOctets: 384
     InOctets: 0
     OutOctets: 4048
     InPacketsDma: 0
     OutPacketsDma: 29
     InOctetsDma: 0
     OutOctetsDma: 3812
     InDroppedDma: 0
     Queue[0] InPackets: 0
     Queue[0] OutPackets: 0
     Queue[0] Restarts: 0
     Queue[0] InJumboPackets: 0
     Queue[0] InLroPackets: 0
     Queue[0] InErrors: 0
     Queue[1] InPackets: 0
     Queue[1] OutPackets: 3
     Queue[1] Restarts: 0
     Queue[1] InJumboPackets: 0
     Queue[1] InLroPackets: 0
     Queue[1] InErrors: 0
     Queue[2] InPackets: 0
     Queue[2] OutPackets: 15
     Queue[2] Restarts: 0
     Queue[2] InJumboPackets: 0
     Queue[2] InLroPackets: 0
     Queue[2] InErrors: 0
     Queue[3] InPackets: 0
     Queue[3] OutPackets: 0
     Queue[3] Restarts: 0
     Queue[3] InJumboPackets: 0
     Queue[3] InLroPackets: 0
     Queue[3] InErrors: 0
     Queue[4] InPackets: 0
     Queue[4] OutPackets: 3
     Queue[4] Restarts: 0
     Queue[4] InJumboPackets: 0
     Queue[4] InLroPackets: 0
     Queue[4] InErrors: 0
     Queue[5] InPackets: 0
     Queue[5] OutPackets: 0
     Queue[5] Restarts: 0
     Queue[5] InJumboPackets: 0
     Queue[5] InLroPackets: 0
     Queue[5] InErrors: 0
     Queue[6] InPackets: 0
     Queue[6] OutPackets: 8
     Queue[6] Restarts: 0
     Queue[6] InJumboPackets: 0
     Queue[6] InLroPackets: 0
     Queue[6] InErrors: 0
     Queue[7] InPackets: 0
     Queue[7] OutPackets: 0
     Queue[7] Restarts: 0
     Queue[7] InJumboPackets: 0
     Queue[7] InLroPackets: 0
     Queue[7] InErrors: 0

I assume that it knows the link is up because it can exchange ordered sets with the other end of the link and perform clock recovery. I have checked and the other end of the link (Marvell 88E1111) is indeed transmitting packets, but it also reports zero packets received.

Are there any known quirks with a configuration like this that I need to be aware of to get it to work?

Solo10G SFP+ (Thunderbolt 3 Edition): A lot of dmesg stacktrace errors

I got Solo10G SFP+ (Thunderbolt 3 Edition) and it seems like working properly but my dmesg is full off stacktrace errors when i connect it.

$ lsb_release -a 
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.10
Release:	20.10
Codename:	groovy

$ uname -a
Linux xps 5.8.0-48-generic #54-Ubuntu SMP Fri Mar 19 14:25:20 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ sudo modinfo atlantic 
filename:       /lib/modules/5.8.0-48-generic/updates/dkms/atlantic.ko
description:    Marvell (Aquantia) Corporation(R) Network Driver
author:         Marvell
version:        2.4.10.0
license:        GPL v2
firmware:       mrvl/91B1.fw
firmware:       mrvl/87B1.fw
firmware:       mrvl/80B1.fw
srcversion:     85990593A7F718CBEAF2DB2
alias:          pci:v00001D6Ad000093C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000094C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000011C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000012C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000034C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000014C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000000C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000004C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000092B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000091B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000089B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000088B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000087B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000080B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000012B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000011B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000009B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000008B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000007B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000000B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad0000D109sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad0000D108sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad0000D107sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad0000D100sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad00000001sv*sd*bc*sc*i*
depends:        crc-itu-t,macsec
retpoline:      Y
name:           atlantic
vermagic:       5.8.0-48-generic SMP mod_unload modversions 
sig_id:         PKCS#7
signer:         ubuntu Secure Boot Module Signature key
sig_key:        0C:40:9B:A6:38:F4:57:25:30:9D:86:0F:7B:CA:2F:F5:0D:74:DB:6C
sig_hashalgo:   sha512
signature:      87:E4:66:8E:4A:F1:33:8A:3C:0A:0D:08:CF:B4:8D:D5:F1:ED:21:97:
		5C:CE:63:B9:51:B7:96:20:89:31:41:4E:B0:85:5A:1D:E9:FE:44:98:
		D9:39:39:B3:BF:61:7E:5B:87:24:DC:8D:E9:86:A8:89:51:D7:8F:41:
		17:70:76:A3:41:71:D0:06:BF:DF:E2:65:B5:9F:C2:05:8B:AD:A0:19:
		16:40:D1:8D:E0:D2:3B:E1:FD:A2:56:39:80:81:C5:04:F2:54:81:BC:
		99:E7:EC:FC:4F:01:A2:F8:66:F6:B4:E2:23:06:AF:D9:EA:64:1B:2E:
		71:05:6B:89:06:25:F5:35:C2:BE:F7:A5:E2:47:8C:44:15:76:B2:17:
		36:95:3C:8A:24:BC:0B:D2:3E:CC:2A:A3:A6:8C:BE:AD:B5:42:A7:4A:
		9F:31:B0:C6:2E:7C:4A:65:73:CB:51:B0:7E:9F:EA:B0:83:91:66:9F:
		96:70:8E:64:12:A6:40:7B:68:84:B1:EE:50:D5:14:C7:7B:66:A6:4A:
		3E:8C:48:44:89:37:B0:D1:B4:8D:A2:A7:1A:EC:C9:E4:BE:AB:C8:78:
		49:DC:64:B0:70:E6:DF:C9:3A:42:34:5A:6A:D1:C2:21:57:81:97:16:
		D1:7B:F8:40:ED:42:07:FE:51:45:52:ED:76:48:4A:44
parm:           aq_ptp_offset_forced:Force to use the driver parameters (uint)
parm:           aq_ptp_offset_100:PTP offset for 100M (uint)
parm:           aq_ptp_offset_1000:PTP offset for 1G (uint)
parm:           aq_ptp_offset_2500:PTP offset for 2,5G (uint)
parm:           aq_ptp_offset_5000:PTP offset for 5G (uint)
parm:           aq_ptp_offset_10000:PTP offset for 10G (uint)
parm:           aq_ptp_gpio_hightime:PTP GPIO high time (uint)
parm:           sleep_delay:uint
parm:           aq_itr:Interrupt throttling mode (uint)
parm:           aq_itr_tx:TX interrupt throttle rate (uint)
parm:           aq_itr_rx:RX interrupt throttle rate (uint)
parm:           aq_rxpageorder:RX page order override (uint)
parm:           aq_rx_refill_thres:RX refill threshold (uint)
parm:           aq_fw_did:Use FW image for this DID (array of uint)
parm:           aq_fw_sid:Use provisioning data for this SID (array of uint)
parm:           aq_force_host_boot:Force host boot (array of uint)
parm:           aq_enable_wa:Quirk bits to enable HW workarounds (int)
parm:           aq_enable_ptp:Enable PTP (bool)

Xg-c100f

Quickly wondering, will this work for the Asus XG-C100F? It worked for the xg-c100c but will it work for the f?

Atlantic AQtion driver installed on Ubuntu 20.04.3 for QNAP QXG-5G1T-111C - Connection drops

I have a 3 Gbps connection up & down. QXG-5G1T-111C is hitting the speeds. My motherboard is a - ASUS Rog Strix Z370G, CPU - i7 8700k 6 core CPU.

I use git clone https://github.com/Aquantia/AQtion.git and followed the README.txt file. Everything went ok, but blobs were missing with the final command: sudo make install. The output is below. The driver is installed with 5.13.0-28-generic and drops out 5 - 10 times a day, but only on ubuntu. Windows 10 & 11 is driver works fine!

W: Possible missing firmware /lib/firmware/mrvl/91B1.fw for module atlantic
W: Possible missing firmware /lib/firmware/mrvl/87B1.fw for module atlantic
W: Possible missing firmware /lib/firmware/mrvl/80B1.fw for module atlantic

05:00.0 Ethernet controller: Aquantia Corp. AQC111 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] (rev 02

PCI_information
)

Can you please help this is so annoying that the connection drops out? All drivers do the same on Linux. This issue even happens with a fresh install of ubuntu 20.04.3, the card is a QNAP QXG-5G1T-111C, work out of the box. But keeps dropping connection. This is why I have tried this driver

Kernel crash on Debian 10

Hi,

I just tried the 2.4.3.0_207 driver from the Marvell website on my laptop and the module crashes in insmod. Running Debian 10 with the QNAP QNA-T310G1S (AQC107 chip).

[691436.778002] ------------[ cut here ]------------
[691436.778005] WARNING: CPU: 6 PID: 239155 at net/ethtool/common.c:348 ethtool_check_ops+0x14/0x20
[691436.778005] Modules linked in: atlantic(OE+) ptp pps_core macsec crc_itu_t exfat sd_mod sg uas usb_storage cpuid ctr ccm tun xt_MASQUERADE nf_conntrack_netlink xfrm_user xfrm_algo nft_chain_nat nf_nat br_netfilter bridge stp llc vmnet(OE) fuse vboxnetadp(OE) vmw_vsock_vmci_transport vsock vboxnetflt(OE) vmw_vmci vmmon(OE) vboxdrv(OE) typec_displayport ipmi_devintf ipmi_msghandler overlay bnep wacom hid_multitouch nf_log_ipv6 ip6t_REJECT nf_reject_ipv6 ip6_tables xt_state nf_log_ipv4 nf_log_common nft_limit dell_rbtn nft_counter ipt_REJECT nf_reject_ipv4 x86_pkg_temp_thermal intel_powerclamp snd_sof_pci xt_multiport snd_hda_codec_hdmi snd_sof_intel_hda_common snd_sof_intel_hda xt_tcpudp snd_sof_intel_byt snd_sof_intel_ipc xt_LOG snd_sof xt_limit snd_sof_xtensa_dsp rtsx_pci_sdmmc xt_recent snd_soc_skl xt_addrtype mmc_core snd_soc_hdac_hda xt_conntrack kvm_intel nf_conntrack iwlmvm snd_hda_ext_core nf_defrag_ipv6 snd_soc_sst_ipc nf_defrag_ipv4 iTCO_wdt snd_soc_sst_dsp nft_compat
[691436.778023]  iTCO_vendor_support mei_wdt dell_laptop snd_soc_acpi_intel_match dell_wmi nf_tables watchdog snd_hda_codec_realtek i2c_designware_platform snd_soc_acpi i2c_designware_core kvm dell_smbios nfnetlink mac80211 snd_hda_codec_generic intel_rapl_msr irqbypass intel_wmi_thunderbolt wmi_bmof mxm_wmi nls_ascii dell_wmi_descriptor crc32_pclmul snd_soc_core ledtrig_audio libarc4 dcdbas nls_cp437 dell_smm_hwmon snd_compress ghash_clmulni_intel rapl vfat efi_pstore fat intel_cstate iwlwifi snd_hda_intel intel_uncore snd_intel_dspcfg snd_hda_codec efivars pcspkr snd_usb_audio cfg80211 rtsx_pci snd_hda_core snd_usbmidi_lib i2c_i801 snd_hwdep snd_rawmidi snd_seq_device cdc_ether snd_pcm usbnet r8152 snd_timer snd soundcore mii tpm_crb thunderbolt ahci libahci libata scsi_mod cdc_acm btusb uvcvideo btrtl btbcm btintel videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 bluetooth videobuf2_common videodev mc drbg ansi_cprng ecdh_generic ecc rfkill intel_lpss_pci mei_me intel_lpss idma64 mei
[691436.778041]  mfd_core processor_thermal_device intel_rapl_common intel_soc_dts_iosf intel_pch_thermal ucsi_acpi typec_ucsi typec i2c_hid button battery tpm_tis tpm_tis_core int3403_thermal int340x_thermal_zone tpm int3400_thermal wmi dell_smo8800 intel_hid acpi_thermal_rel ac acpi_pad rng_core sparse_keymap bbswitch(OE) coretemp nfsd ecryptfs parport_pc auth_rpcgss ppdev nfs_acl lockd lp grace parport sunrpc efivarfs ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 hid_logitech_hidpp dm_crypt dm_mod raid10 raid456 libcrc32c crc32c_generic async_raid6_recov async_memcpy async_pq async_xor xor async_tx hid_logitech_dj raid6_pq raid1 raid0 multipath linear md_mod hid_generic usbhid hid joydev i915 crc32c_intel i2c_algo_bit drm_kms_helper xhci_pci xhci_hcd cec nvme aesni_intel drm usbcore psmouse glue_helper nvme_core libaes crypto_simd cryptd evdev t10_pi serio_raw crc_t10dif crct10dif_generic crct10dif_pclmul crct10dif_common usb_common video [last unloaded: atlantic]
[691436.778059] CPU: 6 PID: 239155 Comm: insmod Tainted: G     U  W  OE     5.7.0-2-amd64 #1 Debian 5.7.10-1
[691436.778059] Hardware name: Dell Inc. Precision 5540/0FMYX6, BIOS 1.8.1 07/03/2020
[691436.778060] RIP: 0010:ethtool_check_ops+0x14/0x20
[691436.778061] Code: bc f4 ff ff ff eb e6 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 0f 1f 44 00 00 31 c0 48 83 7f 70 00 74 0d 8b 17 85 d2 75 07 <0f> 0b b8 ea ff ff ff c3 0f 1f 40 00 0f 1f 44 00 00 4c 8b 8f f8 01
[691436.778061] RSP: 0018:ffffb0ec05f4ba60 EFLAGS: 00010246
[691436.778062] RAX: 0000000000000000 RBX: ffff93a5fe15a6c0 RCX: 0000000000000040
[691436.778063] RDX: 0000000000000000 RSI: 00000000fffffe01 RDI: ffffffffc1893c80
[691436.778063] RBP: ffff93a5e7b47000 R08: ffff93a6193fa1c8 R09: ffff93a6193fa1c8
[691436.778063] R10: 0000000000000dc0 R11: 0000000000000000 R12: ffff93a5fe15a740
[691436.778064] R13: ffffffffb3ef3c80 R14: 0000000000000020 R15: ffff93a5e7b47000
[691436.778064] FS:  00007f6c4f2fd540(0000) GS:ffff93a61c580000(0000) knlGS:0000000000000000
[691436.778065] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[691436.778065] CR2: 000017d6080bb000 CR3: 000000068aafc001 CR4: 00000000003606e0
[691436.778065] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[691436.778066] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[691436.778066] Call Trace:
[691436.778069]  register_netdevice+0x6a/0x580
[691436.778071]  register_netdev+0x1c/0x40
[691436.778078]  aq_nic_ndev_register+0x214/0x230 [atlantic]
[691436.778083]  aq_pci_probe+0x35b/0x3f0 [atlantic]
[691436.778085]  local_pci_probe+0x42/0x80
[691436.778086]  pci_device_probe+0x104/0x1a0
[691436.778088]  really_probe+0x147/0x3c0
[691436.778089]  driver_probe_device+0xb6/0x100
[691436.778090]  device_driver_attach+0x53/0x60
[691436.778091]  __driver_attach+0x8a/0x150
[691436.778091]  ? device_driver_attach+0x60/0x60
[691436.778092]  ? device_driver_attach+0x60/0x60
[691436.778093]  bus_for_each_dev+0x78/0xc0
[691436.778094]  bus_add_driver+0x14d/0x1f0
[691436.778095]  driver_register+0x6c/0xc0
[691436.778096]  ? 0xffffffffc0a47000
[691436.778100]  aq_ndev_init_module+0x49/0x1000 [atlantic]
[691436.778102]  do_one_initcall+0x46/0x200
[691436.778104]  ? _cond_resched+0x15/0x30
[691436.778105]  ? kmem_cache_alloc_trace+0x161/0x220
[691436.778106]  ? do_init_module+0x23/0x230
[691436.778107]  do_init_module+0x5c/0x230
[691436.778108]  load_module+0x234c/0x24f0
[691436.778110]  ? __do_sys_finit_module+0xaa/0x110
[691436.778110]  __do_sys_finit_module+0xaa/0x110
[691436.778112]  do_syscall_64+0x52/0x180
[691436.778113]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[691436.778114] RIP: 0033:0x7f6c4f41ea79
[691436.778115] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d e7 53 0c 00 f7 d8 64 89 01 48
[691436.778115] RSP: 002b:00007ffdaf29d4a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
[691436.778116] RAX: ffffffffffffffda RBX: 0000562c136a2780 RCX: 00007f6c4f41ea79
[691436.778116] RDX: 0000000000000000 RSI: 0000562c1315a358 RDI: 0000000000000003
[691436.778116] RBP: 0000000000000000 R08: 0000000000000000 R09: 00007f6c4f4e8640
[691436.778117] R10: 0000000000000003 R11: 0000000000000246 R12: 0000562c1315a358
[691436.778117] R13: 0000000000000000 R14: 0000562c136a2760 R15: 0000000000000000
[691436.778118] ---[ end trace 43f1e3ec81833543 ]---

The adapter works just fine with the mainline Linux driver but that one lacks PTP support.
Any help is greatly appreciated!

Thanks!

Kernel panic after resume from suspend

I have a strange issue with all kernels past 5.4 on Manjaro with this module.
A few seconds after resuming from suspend I get this error:

Nov 23 22:01:55 **** kernel: BUG: kernel NULL pointer dereference, address: 0000000000000008
Nov 23 22:01:55 **** kernel: #PF: supervisor read access in kernel mode
Nov 23 22:01:55 **** kernel: #PF: error_code(0x0000) - not-present page
Nov 23 22:01:55 **** kernel: PGD 0 P4D 0 
Nov 23 22:01:55 **** kernel: Oops: 0000 [#1] PREEMPT SMP NOPTI
Nov 23 22:01:55 **** kernel: CPU: 0 PID: 1551 Comm: NetworkManager Tainted: P           OE     5.9.10-1-MANJARO #1
Nov 23 22:01:55 **** kernel: Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./X370 Professional Gaming, BIOS P3.30 01/15/2018
Nov 23 22:01:55 **** kernel: RIP: 0010:aq_ring_rx_fill+0xd1/0x200 [atlantic]
Nov 23 22:01:55 **** kernel: Code: 45 24 ba 00 00 00 00 83 c0 01 3b 45 28 48 0f 43 c2 89 45 24 41 83 ee 01 0f 84 f3 00 00 00 48 8d 1c 40 48 c1 e3 04 48 03 5d 00 <48> 8b 43 08 48 c7 43 28 00 08 00 00 48 85 c0 75 85 48 8b 45 10 31
Nov 23 22:01:55 **** kernel: RSP: 0018:ffffa4e5955af390 EFLAGS: 00010246
Nov 23 22:01:55 **** kernel: RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
Nov 23 22:01:55 **** kernel: RDX: 0000000000000000 RSI: 0000000000006100 RDI: ffffa03b126d83b8
Nov 23 22:01:55 **** kernel: RBP: ffffa03b126d83b8 R08: 0000000000000000 R09: 0000000000008000
Nov 23 22:01:55 **** kernel: R10: 00000000ffffffff R11: fffffa337cc292c0 R12: 0000000000001000
Nov 23 22:01:55 **** kernel: R13: 0000000000000000 R14: 00000000ffffffff R15: 0000000000000000
Nov 23 22:01:55 **** kernel: FS:  00007f1d5f2e48c0(0000) GS:ffffa03b1ee00000(0000) knlGS:0000000000000000
Nov 23 22:01:55 **** kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Nov 23 22:01:55 **** kernel: CR2: 0000000000000008 CR3: 0000000fa5e8e000 CR4: 00000000003506f0
Nov 23 22:01:55 **** kernel: Call Trace:
Nov 23 22:01:55 **** kernel:  aq_vec_init+0x8c/0xf0 [atlantic]
Nov 23 22:01:55 **** kernel:  aq_nic_init+0xc3/0x1c0 [atlantic]
Nov 23 22:01:55 **** kernel:  aq_ndev_open+0x19/0x60 [atlantic]
Nov 23 22:01:55 **** kernel:  __dev_open+0xfb/0x1b0
Nov 23 22:01:55 **** kernel:  __dev_change_flags+0x1a5/0x210
Nov 23 22:01:55 **** kernel:  dev_change_flags+0x21/0x60
Nov 23 22:01:55 **** kernel:  do_setlink+0x2bc/0x1160
Nov 23 22:01:55 **** kernel:  ? __nla_validate_parse+0x5f/0x910
Nov 23 22:01:55 **** kernel:  __rtnl_newlink+0x65f/0x9e0
Nov 23 22:01:55 **** kernel:  rtnl_newlink+0x44/0x70
Nov 23 22:01:55 **** kernel:  rtnetlink_rcv_msg+0x13e/0x390
Nov 23 22:01:55 **** kernel:  ? rtnl_calcit.isra.0+0x120/0x120
Nov 23 22:01:55 **** kernel:  netlink_rcv_skb+0x75/0x140
Nov 23 22:01:55 **** kernel:  netlink_unicast+0x242/0x340
Nov 23 22:01:55 **** kernel:  netlink_sendmsg+0x243/0x480
Nov 23 22:01:55 **** kernel:  sock_sendmsg+0x5e/0x60
Nov 23 22:01:55 **** kernel:  ____sys_sendmsg+0x25a/0x2a0
Nov 23 22:01:55 **** kernel:  ? copy_msghdr_from_user+0x6e/0xa0
Nov 23 22:01:55 **** kernel:  ___sys_sendmsg+0x97/0xe0
Nov 23 22:01:55 **** kernel:  __sys_sendmsg+0x81/0xd0
Nov 23 22:01:55 **** kernel:  do_syscall_64+0x33/0x40
Nov 23 22:01:55 **** kernel:  entry_SYSCALL_64_after_hwframe+0x44/0xa9
Nov 23 22:01:55 **** kernel: RIP: 0033:0x7f1d5fff0ddd
Nov 23 22:01:55 **** kernel: Code: 28 89 54 24 1c 48 89 74 24 10 89 7c 24 08 e8 4a ee ff ff 8b 54 24 1c 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 33 44 89 c7 48 89 44 24 08 e8 9e ee ff ff 48
Nov 23 22:01:55 **** kernel: RSP: 002b:00007ffd242d4bc0 EFLAGS: 00000293 ORIG_RAX: 000000000000002e
Nov 23 22:01:55 **** kernel: RAX: ffffffffffffffda RBX: 000056439a8ca030 RCX: 00007f1d5fff0ddd
Nov 23 22:01:55 **** kernel: RDX: 0000000000000000 RSI: 00007ffd242d4c00 RDI: 000000000000000c
Nov 23 22:01:55 **** kernel: RBP: 0000000000000051 R08: 0000000000000000 R09: 0000000000000000
Nov 23 22:01:55 **** kernel: R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000000
Nov 23 22:01:55 **** kernel: R13: 00007ffd242d4d50 R14: 00007ffd242d4d4c R15: 0000000000000000
Nov 23 22:01:55 **** kernel: Modules linked in: fuse cmac algif_hash algif_skcipher af_alg bnep nct6775 hwmon_vid dm_crypt cbc encrypted_keys trusted tpm squashfs input_leds joydev mousedev hid_plantronics hid_steam btusb btrtl btbcm btintel bluetooth ecdh_generic ecc hid_generic nls_iso8859_1 nls_cp437 vfat fat loop snd_usb_audio snd_usbmidi_lib usbhid snd_rawmidi snd_seq_device hid wmi_bmof mxm_wmi edac_mce_amd kvm_amd amdgpu kvm zfs(POE) irqbypass crct>
Nov 23 22:01:55 **** kernel:  pinctrl_amd gpio_amdpt acpi_cpufreq zcommon(POE) znvpair(POE) spl(OE) uinput vboxnetflt(OE) vboxnetadp(OE) nfsd vboxdrv(OE) auth_rpcgss nfs_acl lockd grace videodev drm sunrpc mc sg crypto_user agpgart nfs_ssc ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 uas usb_storage crc32c_intel xhci_pci sr_mod xhci_hcd cdrom
Nov 23 22:01:55 **** kernel: CR2: 0000000000000008
Nov 23 22:01:55 **** kernel: ---[ end trace 08ae79741d9a6dcf ]---
Nov 23 22:01:55 **** kernel: RIP: 0010:aq_ring_rx_fill+0xd1/0x200 [atlantic]
Nov 23 22:01:55 **** kernel: Code: 45 24 ba 00 00 00 00 83 c0 01 3b 45 28 48 0f 43 c2 89 45 24 41 83 ee 01 0f 84 f3 00 00 00 48 8d 1c 40 48 c1 e3 04 48 03 5d 00 <48> 8b 43 08 48 c7 43 28 00 08 00 00 48 85 c0 75 85 48 8b 45 10 31
Nov 23 22:01:55 **** kernel: RSP: 0018:ffffa4e5955af390 EFLAGS: 00010246
Nov 23 22:01:55 **** kernel: RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
Nov 23 22:01:55 **** kernel: RDX: 0000000000000000 RSI: 0000000000006100 RDI: ffffa03b126d83b8
Nov 23 22:01:55 **** kernel: RBP: ffffa03b126d83b8 R08: 0000000000000000 R09: 0000000000008000
Nov 23 22:01:55 **** kernel: R10: 00000000ffffffff R11: fffffa337cc292c0 R12: 0000000000001000
Nov 23 22:01:55 **** kernel: R13: 0000000000000000 R14: 00000000ffffffff R15: 0000000000000000
Nov 23 22:01:55 **** kernel: FS:  00007f1d5f2e48c0(0000) GS:ffffa03b1ee00000(0000) knlGS:0000000000000000
Nov 23 22:01:55 **** kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Nov 23 22:01:55 **** kernel: CR2: 0000000000000008 CR3: 0000000fa5e8e000 CR4: 00000000003506f0

I tried it with every stable kernel after 5.4 and get the same. 5.4 however is rock solid.

If I run sudo rmmod atlantic before I suspend, this error does not happen.

I should add that soon after this the whole system freezes up, and also shutdown does never finsh

Driver does not work on Ubuntu 18.04.3 LTS

sudo apt-get install ./atlantic_1578154949.deb 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'atlantic' instead of './atlantic_1578154949.deb'
The following packages were automatically installed and are no longer required:
  cmake-data gsfonts-x11 libappindicator1 libaudclient2 libglade2-0 libgsoap-2.8.60 libid3tag0 libimlib2 libindicator7 libllvm7
  libllvm7:i386 liblua5.1-0 libmotif-common librhash0 libuv1 libvncserver1 libxm4 libxmmsclient6 python-appindicator python-gconf
  python-glade2 python-gobject python-gobject-2 python-gtk2 python-pexpect python-ptyprocess python-xdg
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed
  atlantic
0 to upgrade, 1 to newly install, 0 to remove and 19 not to upgrade.
Need to get 0 B/95.6 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 /home/rasmus/Downloads/AQtion/atlantic_1578154949.deb atlantic all 1578154949 [95.6 kB]
Selecting previously unselected package atlantic.
(Reading database ... 372982 files and directories currently installed.)
Preparing to unpack .../AQtion/atlantic_1578154949.deb ...
rmmod: ERROR: Module atlantic is not currently loaded
Unpacking atlantic (1578154949) ...
Setting up atlantic (1578154949) ...
make -j4 -C /lib/modules/4.15.0-72-generic/build M=/var/build_aq_drv/1578154949/Linux modules
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-72-generic'
  CC [M]  /var/build_aq_drv/1578154949/Linux/aq_main.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/aq_nic.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/aq_pci_func.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/aq_vec.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/aq_ring.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/aq_ptp.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/aq_filters.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/aq_hw_utils.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/aq_ethtool.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/aq_drvinfo.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/hw_atl/hw_atl_a0.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/hw_atl/hw_atl_b0.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/hw_atl/hw_atl_utils.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/hw_atl/hw_atl_utils_fw2x.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/aq_trace.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/aq_phy.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/hw_atl/hw_atl_llh.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/hw_atl/hw_atl_fw_hostboot.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/hw_atl/hw_atl_fw_image.o
  CC [M]  /var/build_aq_drv/1578154949/Linux/aq_compat.o
  LD [M]  /var/build_aq_drv/1578154949/Linux/atlantic.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /var/build_aq_drv/1578154949/Linux/atlantic.mod.o
  LD [M]  /var/build_aq_drv/1578154949/Linux/atlantic.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-72-generic'
insmod: ERROR: could not insert module atlantic.ko: Unknown symbol in module
dpkg: error processing package atlantic (--configure):
 installed atlantic package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 atlantic
E: Sub-process /usr/bin/dpkg returned an error code (1)

Bridged with 1Gb Interface - Connection drops

I built a router based on Ubuntu 18.04. I've got 3 NIC's in this router PC. Asus XG-C100C, intel integrated 1Gb plus a 1 port Intel NIC in a PCIE slot.

The integrated NIC is plugged into my fibre modem, and the Asus and Intel PCIE cards are bridged together. This works pretty well, but I often get random disconnects on the Asus XG 10Gb card. It is plugged into my Windows 10 PC which also has an Asus XG-C100C NIC to facilitate 10Gb transfers between my windows PC and the Ubuntu router.

I've disabled LRO and GRO, enabled STP and set MTU to 9000 for all bridges and their interfaces. None of these have made any difference. Last night I discovered this driver and decided to try it instead of the driver available on the Aquantia website. Both drivers exhibit this issue.

Any hints on troubleshooting and narrowing down the problem would be appreciated. Thanks for all your hard work this driver appears to get slightly better throughput than the Aquantia provided driver. Attached is the output of journalctl when this disconnect happens.

Apr 17 09:46:02 kknd systemd-networkd[974]: enp1s0: Lost carrier
Apr 17 09:46:02 kknd systemd-timesyncd[832]: Network configuration changed, trying to establish connection.
Apr 17 09:46:02 kknd kernel: atlantic 0000:01:00.0 enp1s0: atlantic: link change old 10000 new 0
Apr 17 09:46:02 kknd kernel: br0: port 2(enp1s0) entered disabled state

I've also made a post on reddit, here is a link to that as well, may have some useful information.
https://www.reddit.com/r/HomeNetworking/comments/be1boe/ubuntu_server_1804_router_bridged_aqn107/

Edit: Output of ethtool -i

driver: atlantic
version: 2.2.3.0
firmware-version: 1.5.44
expansion-rom-version:
bus-info: 0000:01:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: yes

PTP support on AQC107

Hi,

I'm trying to get PTP working on a QNAP QNA-T310G1S adapter which uses the AQC107 chip but ethtool returns no support whatsoever:

ethtool -T ens4
Time stamping parameters for ens4:
Capabilities:
        software-transmit
        software-receive
        software-system-clock
PTP Hardware Clock: none
Hardware Transmit Timestamp Modes: none
Hardware Receive Filter Modes: none

This is with module build from master here and 5.7.10-1 kernel. Chip is on firmware 3.1.109, ethtool is version 5.8

driver: atlantic
version: 5.7.0-2-amd642.4.7.0
firmware-version: 3.1.109
expansion-rom-version: 
bus-info: 0000:0a:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: yes

Is there anything I can do to troubleshoot this?
Thanks!

Network statistics update interval

If i try to read /sys/class/net/enp7s0/statistics/rx_bytes it give the same value if called multiple times in the same second.

Is there a way to change the statistics update interval?

I'm using:

  • Ethernet controller [0200]: Aquantia Corp. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] [1d6a:d107] (rev 02)
  • Linux 5.18.3
  • Manjaro

Version 2.2.7 crashes on link up

On Ubuntu 18.04, after loading the atlantic kernel module, it's impossible to bring the NIC into a link up state. Issuing the following command:

sudo ip link set up dev enp60s0

segfaults the ip command and the following kernel panic is printed on dmesg:

[ 2959.858742] kernel BUG at ./include/linux/netdevice.h:502!
[ 2959.858752] invalid opcode: 0000 [#1] SMP NOPTI
[ 2959.858753] Modules linked in: atlantic(OE) ptp pps_core crc_itu_t hid_generic hidp thunderbolt rfcomm vmnet(OE) vmw_vsock_vmci_transport vsock vmw_vmci vmmon(OE) cmac bnep arc4 binfmt_misc nls_iso8859_1 snd_hda_codec_hdmi snd_soc_skl snd_soc_skl_ipc snd_hda_codec_realtek snd_hda_ext_core snd_hda_codec_generic snd_soc_sst_dsp snd_soc_sst_ipc snd_soc_acpi snd_soc_core joydev snd_compress ac97_bus snd_pcm_dmaengine snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_pcm intel_rapl hid_multitouch x86_pkg_temp_thermal intel_powerclamp coretemp snd_seq_midi kvm_intel snd_seq_midi_event wmi_bmof dell_wmi dell_laptop kvm intel_wmi_thunderbolt snd_rawmidi irqbypass dell_smbios crct10dif_pclmul crc32_pclmul ath10k_pci dell_wmi_descriptor ath10k_core ghash_clmulni_intel dcdbas pcbc snd_seq ath mac80211
[ 2959.858797]  snd_seq_device snd_timer aesni_intel aes_x86_64 snd crypto_simd glue_helper i915 cfg80211 cryptd rtsx_pci_ms memstick input_leds intel_cstate intel_rapl_perf uvcvideo serio_raw soundcore drm_kms_helper drm btusb videobuf2_vmalloc videobuf2_memops btrtl btbcm videobuf2_v4l2 i2c_algo_bit btintel videobuf2_core fb_sys_fops bluetooth shpchp syscopyarea videodev mei_me idma64 media virt_dma ecdh_generic sysfillrect mei intel_lpss_pci sysimgblt intel_lpss processor_thermal_device intel_soc_dts_iosf intel_pch_thermal wmi video int3400_thermal int3403_thermal mac_hid acpi_thermal_rel intel_hid int340x_thermal_zone acpi_pad sparse_keymap sch_fq_codel parport_pc ppdev lp parport sunrpc ip_tables x_tables autofs4 rtsx_pci_sdmmc nvme psmouse nvme_core rtsx_pci i2c_hid hid pinctrl_sunrisepoint [last unloaded: atlantic]
[ 2959.858844] CPU: 4 PID: 9490 Comm: ip Tainted: G           OE    4.15.0-66-generic #75-Ubuntu
[ 2959.858846] Hardware name: Dell Inc. XPS 13 9370/0F6P3V, BIOS 1.11.1 07/11/2019
[ 2959.858856] RIP: 0010:aq_vec_start+0xa4/0xb0 [atlantic]
[ 2959.858858] RSP: 0018:ffffb4d7c3f77620 EFLAGS: 00010246
[ 2959.858860] RAX: 0000000000000000 RBX: ffff915a4674c000 RCX: 0000000000000005
[ 2959.858861] RDX: 0000000000000000 RSI: ffffb4d7c4565b08 RDI: ffff915a4674f000
[ 2959.858863] RBP: ffffb4d7c3f77638 R08: 00000000a0000800 R09: 0000000000000000
[ 2959.858864] R10: 0000000000000000 R11: 00000000000000e9 R12: ffff915a4674c628
[ 2959.858866] R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000001
[ 2959.858868] FS:  00007f0bf38c80c0(0000) GS:ffff915aee500000(0000) knlGS:0000000000000000
[ 2959.858869] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 2959.858871] CR2: 00007f0bf2dc8240 CR3: 00000003ce052005 CR4: 00000000003606e0
[ 2959.858872] Call Trace:
[ 2959.858880]  aq_nic_start+0x93/0x310 [atlantic]
[ 2959.858885]  aq_ndev_open+0x43/0x50 [atlantic]
[ 2959.858890]  __dev_open+0xd3/0x160
[ 2959.858893]  __dev_change_flags+0x17e/0x1c0
[ 2959.858896]  dev_change_flags+0x29/0x60
[ 2959.858899]  do_setlink+0x337/0xed0
[ 2959.858904]  ? nla_parse+0x35/0x110
[ 2959.858907]  rtnl_newlink+0x5f3/0x930
[ 2959.858913]  ? security_capset+0x10/0x90
[ 2959.858916]  ? ns_capable_common+0x68/0x80
[ 2959.858918]  ? ns_capable+0x13/0x20
[ 2959.858921]  rtnetlink_rcv_msg+0x221/0x2b0
[ 2959.858924]  ? _cond_resched+0x19/0x40
[ 2959.858927]  ? rtnl_calcit.isra.25+0x110/0x110
[ 2959.858929]  netlink_rcv_skb+0x54/0x130
[ 2959.858932]  rtnetlink_rcv+0x15/0x20
[ 2959.858935]  netlink_unicast+0x19e/0x240
[ 2959.858938]  netlink_sendmsg+0x2d1/0x3d0
[ 2959.858942]  sock_sendmsg+0x3e/0x50
[ 2959.858944]  ___sys_sendmsg+0x2a0/0x2f0
[ 2959.858947]  ? sock_destroy_inode+0x2f/0x40
[ 2959.858950]  ? destroy_inode+0x3e/0x60
[ 2959.858953]  ? evict+0x139/0x1a0
[ 2959.858956]  ? iput+0x19c/0x230
[ 2959.858959]  ? dentry_free+0x4d/0x90
[ 2959.858961]  ? __dentry_kill+0x129/0x170
[ 2959.858963]  ? dput.part.26+0x1bd/0x200
[ 2959.858966]  __sys_sendmsg+0x54/0x90
[ 2959.858968]  ? __sys_sendmsg+0x54/0x90
[ 2959.858971]  SyS_sendmsg+0x12/0x20
[ 2959.858975]  do_syscall_64+0x73/0x130
[ 2959.858978]  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
[ 2959.858980] RIP: 0033:0x7f0bf2ddad04
[ 2959.858981] RSP: 002b:00007ffe7ced1848 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
[ 2959.858983] RAX: ffffffffffffffda RBX: 000000005db8680c RCX: 00007f0bf2ddad04
[ 2959.858985] RDX: 0000000000000000 RSI: 00007ffe7ced18a0 RDI: 0000000000000003
[ 2959.858986] RBP: 0000000000000000 R08: 0000000000000010 R09: 00007ffe7ced1940
[ 2959.858987] R10: 0000000000000015 R11: 0000000000000246 R12: 0000000000000000
[ 2959.858989] R13: 000055f7d081c020 R14: 00007ffe7ced2078 R15: 00007ffe7ced1928
[ 2959.858991] Code: 41 5c 41 5d 5d c3 31 c0 48 8b 93 38 04 00 00 83 e2 01 74 17 f0 80 a3 38 04 00 00 fe f0 80 a3 38 04 00 00 f7 5b 41 5c 41 5d 5d c3 <0f> 0b 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 
[ 2959.859028] RIP: aq_vec_start+0xa4/0xb0 [atlantic] RSP: ffffb4d7c3f77620

Missing FW blobs

Hi! Congratulations on being acquired by Marvell?! Hopefully that won't affect this repository...

I'm wondering where these FW blobs are hosted?

AQtion/aq_common.h

Lines 56 to 58 in e024a85

#define AQ_FW_AQC100X "aquantia/80B1.fw"
#define AQ_FW_AQC10XX "aquantia/87B1.fw"
#define AQ_FW_AQC11XX "aquantia/91B1.fw"

Thanks!

Unknown symbol macsec_pn_wrapped (err -2)

Compiled driver with ./dkms.sh install command on Ubuntu 20.14 with Linux headers 5.8.0.50.
sudo modprobe atlantic shows error in dmesg:
atlantic: Unknown symbol macsec_pn_wrapped (err -2)

Worked previously in kernel 4.4 on same system.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.