Issue compiling aqc111.ko module for Proxmox 6.2-4/ Kernel 5.4.41-1

dtk31883

Member
Feb 24, 2020
12
0
21
41
New to linux/compiling and I need help with compiling aqc111.ko module from manufacture driver in Kernel 5.4.41-1

I installed PVE headers 5.4.41-1, and build-essentials (headers and build-essential complied successfully under 5.3)

Attempted to run make with 5.4.41-1 and was prompted for flex and bison and installed missing items.

But receive new error/unclear message:

root@pve1:/opt/Linux# make
make -C /lib/modules/5.4.41-1-pve/build SUBDIRS=/opt/Linux modules
make[1]: Entering directory '/usr/src/linux-headers-5.4.41-1-pve'
scripts/kconfig/conf --syncconfig Kconfig
Kconfig:36: can't open file "Documentation/Kconfig"
make[3]: *** [scripts/kconfig/Makefile:73: syncconfig] Error 1
make[2]: *** [Makefile:594: syncconfig] Error 2
make[1]: *** [Makefile:704: include/config/auto.conf.cmd] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.4.41-1-pve'
make: *** [Makefile:26: default] Error 2

issue seems to be:
scripts/kconfig/conf --syncconfig Kconfig
Kconfig:36: can't open file "Documentation/Kconfig"

Am I missing something to compile the module in 5.4.41-1?

Thanks
 
New to linux/compiling and I need help with compiling aqc111.ko module from manufacture driver in Kernel 5.4.41-1

I installed PVE headers 5.4.41-1, and build-essentials (headers and build-essential complied successfully under 5.3)

Attempted to run make with 5.4.41-1 and was prompted for flex and bison and installed missing items.

But receive new error/unclear message:

root@pve1:/opt/Linux# make
make -C /lib/modules/5.4.41-1-pve/build SUBDIRS=/opt/Linux modules
make[1]: Entering directory '/usr/src/linux-headers-5.4.41-1-pve'
scripts/kconfig/conf --syncconfig Kconfig
Kconfig:36: can't open file "Documentation/Kconfig"
make[3]: *** [scripts/kconfig/Makefile:73: syncconfig] Error 1
make[2]: *** [Makefile:594: syncconfig] Error 2
make[1]: *** [Makefile:704: include/config/auto.conf.cmd] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.4.41-1-pve'
make: *** [Makefile:26: default] Error 2

issue seems to be:
scripts/kconfig/conf --syncconfig Kconfig
Kconfig:36: can't open file "Documentation/Kconfig"

Am I missing something to compile the module in 5.4.41-1?

Thanks
Is there a link where the archive with acq111 and it's make file etc can be downloaded from?
 
I think I may have figured out the issue. I did more research and reviewed some notes. I reviewed/edited the manufacture/original makefile and noticed that the it was using subdirs= . I have updated all subdirs= with M= for the new 5.4 kernel accordingly. Compiled successfully after making changes and will test new module with hardware. I will post updated if there are any issues.

Thanks for the follow up
 
I was able to compile the aqc111 driver thanks to the info here. If I do an "iperf3 -c XXX.XXX.XXX.XXX" transfer I get rates at about 2.75 Gbits/s transfer speed and it works reliably time after time. But when I transfer in the reverse direction, with iperf3 -c XXX.XXX.XXX.XXXX -R it initially gives me 2 transfers at about 2.35 Gbit/s then crashes the network. If I try to ping a LAN address, it says address not found.
I read somewhere else about a conflict with the cdc_ether driver, and indeed "lsmod | grep cdc" showed that the cdc_ether driver was loading along with the aqc111 driver. I recompiled the cdc_ether driver to blacklist it's loading with aqc111 and that seemed to work. Now "lsmod" showed the aqc111 driver was loading on its own. However with iperf3 transfers I still have a problem. With my system as the client (-c) it works just fine as before. However if I do iperf3 in reverse (-R) i initially I get more ( 6-7) successful transfers, but at a much lower rate ( 635 bits/s or there abouts) and then the system crashes the network as before.

Does anyone have any ideas what I'm doing wrong or how to further diagnose this ?
 
I use ethtool to turn on the lower power 5g setting and turn off the thermal throttling setting with the new drivers. The qnap 5gbe nic seems to overheat and crash if not set. I also force it to 5g with ethtool. Please forward the info about the cdc_ether driver I would like to know more about the conflicting driver issue. I haven't had a chance to run an iperf test but please forward me your results with the ethtool changes. I no longer have any issues with the nic with these setting changes (ie crashes or dropped packets).
 
Last edited:
I use ethtool to turn on the lower power 5g setting and turn off the thermal throttling setting with the new drivers. The qnap 5gbe nic seems to overheat and crash if not set. I also force it to 5g with ethtool. Please forward the info about the cdc_ether driver I would like to know more about the conflicting driver issue. I haven't had a chance to run an iperf test but please forward me your results with the ethtool changes. I no longer have any issues with the nic with these setting changes (ie crashes or dropped packets).
What are the actual commands to set "lower power 5g " and "thermal throttling " by ethtool?
 
set settings command:
ethtool --set-priv-flags enx123456789 "Low Power 5G" on
ethtool --set-priv-flags enx123456789 "Themal throttling" off

Show settings command:
ethtool --show-priv-flags enx123456789

Private flags for enx123456789:
Low Power 5G : on
Thermal throttling: off

Add command to config file /etc/network/interfaces under each interface for adding settings at boot:

auto enx123456789
iface enx123456789 inet static
address 192.168.1.1/24
post-up ethtool --set-priv-flags enx123456789 "Low Power 5G" on
post-up ethtool --set-priv-flags enx123456789 "Thermal throttling" off
 
I'm running Proxmox 6.4 with Kernel 5.11.21-1-pve and having some issues with getting the QNAP QNA-UC5G1T to work with my setup.

@Patrick01 Can you be more specific about how to block cdc_ether from loading. It seems my system also is suffering from this behaviour.

Code:
lsmod | grep cdc
cdc_ether              20480  0
usbnet                 49152  2 aqc111,cdc_ether

The driver seems to be integrated in the kernel 5.11.21-1-pve because dmesg shows me that it is loaded.

Code:
dmesg -w | grep aqc111
[    6.238235] usbcore: registered new interface driver aqc111
[    6.252829] aqc111 2-4:1.0 eth0: register 'aqc111' at usb-0000:00:15.0-4, QNAP QNA-UC5G1T USB to 5GbE Adapter, 23:5e:fe:52:e1:cd
[    6.672519] aqc111 2-4:1.0 enx245ebe42e1cd: renamed from eth0
[   15.947972] aqc111 2-4:1.0 enx245ebe42e1cd: Link Speed 5000, USB 3

Code:
modinfo aqc111
filename:       /lib/modules/5.11.21-1-pve/kernel/drivers/net/usb/aqc111.ko
license:        GPL
description:    Aquantia AQtion USB to 5/2.5GbE Controllers
srcversion:     805F75F56CEA39674F19E04
alias:          usb:v1C04p0015d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v1C04p0015d*dc*dsc*dp*icFFisc*ip*in*
alias:          usb:v20F4pE05Ad*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v20F4pE05Ad*dc*dsc*dp*icFFisc*ip*in*
alias:          usb:v0B95p2791d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v0B95p2791d*dc*dsc*dp*icFFisc*ip*in*
alias:          usb:v0B95p2790d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v0B95p2790d*dc*dsc*dp*icFFisc*ip*in*
alias:          usb:v2ECApC101d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v2ECApC101d*dc*dsc*dp*icFFisc*ip*in*
depends:        usbnet
retpoline:      Y
intree:         Y
name:           aqc111
vermagic:       5.11.21-1-pve SMP mod_unload modversions

@dtk31883 But when I try to set the Private flags for enx245ebe42e1cd I'm getting a response that No private flags defined. How is this possible? Do I have to compile the driver from marvell.com and unload the inbuilt kernel driver? How do I do this?

Code:
ethtool --set-priv-flags enx245ebe42e1cd "Low Power 5G" on
No private flags defined
ethtool --set-priv-flags enx245ebe42e1cd "Thermal throttling" off
No private flags defined
 
Last edited:
I'm running Proxmox 6.4 with Kernel 5.11.21-1-pve and having some issues with getting the QNAP QNA-UC5G1T to work with my setup.

@Patrick01 Can you be more specific about how to block cdc_ether from loading. It seems my system also is suffering from this behaviour.

Code:
lsmod | grep cdc
cdc_ether              20480  0
usbnet                 49152  2 aqc111,cdc_ether

The driver seems to be integrated in the kernel 5.11.21-1-pve because dmesg shows me that it is loaded.

Code:
dmesg -w | grep aqc111
[    6.238235] usbcore: registered new interface driver aqc111
[    6.252829] aqc111 2-4:1.0 eth0: register 'aqc111' at usb-0000:00:15.0-4, QNAP QNA-UC5G1T USB to 5GbE Adapter, 23:5e:fe:52:e1:cd
[    6.672519] aqc111 2-4:1.0 enx245ebe42e1cd: renamed from eth0
[   15.947972] aqc111 2-4:1.0 enx245ebe42e1cd: Link Speed 5000, USB 3

Code:
modinfo aqc111
filename:       /lib/modules/5.11.21-1-pve/kernel/drivers/net/usb/aqc111.ko
license:        GPL
description:    Aquantia AQtion USB to 5/2.5GbE Controllers
srcversion:     805F75F56CEA39674F19E04
alias:          usb:v1C04p0015d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v1C04p0015d*dc*dsc*dp*icFFisc*ip*in*
alias:          usb:v20F4pE05Ad*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v20F4pE05Ad*dc*dsc*dp*icFFisc*ip*in*
alias:          usb:v0B95p2791d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v0B95p2791d*dc*dsc*dp*icFFisc*ip*in*
alias:          usb:v0B95p2790d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v0B95p2790d*dc*dsc*dp*icFFisc*ip*in*
alias:          usb:v2ECApC101d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v2ECApC101d*dc*dsc*dp*icFFisc*ip*in*
depends:        usbnet
retpoline:      Y
intree:         Y
name:           aqc111
vermagic:       5.11.21-1-pve SMP mod_unload modversions

@dtk31883 But when I try to set the Private flags for enx245ebe42e1cd I'm getting a response that No private flags defined. How is this possible? Do I have to compile the driver from marvell.com and unload the inbuilt kernel driver? How do I do this?

Code:
ethtool --set-priv-flags enx245ebe42e1cd "Low Power 5G" on
No private flags defined
ethtool --set-priv-flags enx245ebe42e1cd "Themal throttling" off
No private flags defined
Tristank,

Sorry for the late reply. Run ethool -i enx123456789 to confirm aqc111.ko version 1.3.3.0 is loaded then run ethool command with priv-flags to set settings. Confirm aqc111.ko version 1.3.3.0 is loaded. If it is not loaded check the aqc111.ko you built. Use insmod or modprobe to load the driver depending on where you stored the aqc111.ko file.

Also, if you have not compiled the aqc111.ko download the 1.3.3.0 from marvels download page and follow instruction on how to compile. Also refer to original solution to update makefile for your kernal and install makefile requirements (kernal headers, flex, bison) for compiling.

Sidenote - I am currently using dkms to automatically rebuild and load the driver after an kernal update. dkms is suppose to update and replace the driver after a kernal update but I have to still load the driver manually with dkms. I am having an issue when dkms is replacing the driver after the kernal update. If anyone is more familary with dkms please let me know how your configs are setup to replace the module after a kernal update followed by a system reboot. dkms seem be loading both the new module and old because of the way proxmox is updated with both kernal installed. I have to remove the old module and reboot a second time to load the new module. I believe I am missing a step in my dkms setup but I might be wrong and dkms may not be recommend for proxmox.
 
Last edited:
Just updated to Proxmox 8 and I am having issues again compiling the marvell adapters with the new 6.5.11-7 kernel.
I am getting a new error.
make -C /lib/modules/6.5.11-7-pve/build M=/opt/AQ_USBDongle_LinuxDriver_1.3.3.0/Linux modules
make[1]: Entering directory '/usr/src/linux-headers-6.5.11-7-pve'
make[3]: *** No rule to make target '/opt/AQ_USBDongle_LinuxDriver_1.3.3.0/Linux/aqc111.ko', needed by '/opt/AQ_USBDongle_LinuxDriver_1.3.3.0/Linux/modules.order'. Stop.
make[2]: *** [/usr/src/linux-headers-6.5.11-7-pve/Makefile:2039: /opt/AQ_USBDongle_LinuxDriver_1.3.3.0/Linux] Error 2
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.5.11-7-pve'
make: *** [Makefile:26: default] Error 2

It look like something to do with rules to make aqc111.ko needed by the modules.order file
I found the modules.order file in the proxmox-headers location /lib/modules/6.5.11-7-pve/modules.order. I see all the other .ko file paths for other devices but could not find the path for aqc111.ko in the modules.order file. Not sure what else it could be.

Please advise on any updates or suggestion reguarding the makefile or proxmox-headers.

Thanks
 
Just updated to Proxmox 8 and I am having issues again compiling the marvell adapters with the new 6.5.11-7 kernel.
I am getting a new error.
make -C /lib/modules/6.5.11-7-pve/build M=/opt/AQ_USBDongle_LinuxDriver_1.3.3.0/Linux modules
make[1]: Entering directory '/usr/src/linux-headers-6.5.11-7-pve'
make[3]: *** No rule to make target '/opt/AQ_USBDongle_LinuxDriver_1.3.3.0/Linux/aqc111.ko', needed by '/opt/AQ_USBDongle_LinuxDriver_1.3.3.0/Linux/modules.order'. Stop.
make[2]: *** [/usr/src/linux-headers-6.5.11-7-pve/Makefile:2039: /opt/AQ_USBDongle_LinuxDriver_1.3.3.0/Linux] Error 2
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.5.11-7-pve'
make: *** [Makefile:26: default] Error 2

It look like something to do with rules to make aqc111.ko needed by the modules.order file
I found the modules.order file in the proxmox-headers location /lib/modules/6.5.11-7-pve/modules.order. I see all the other .ko file paths for other devices but could not find the path for aqc111.ko in the modules.order file. Not sure what else it could be.

Please advise on any updates or suggestion reguarding the makefile or proxmox-headers.

Thanks
Did you find a solution for this? I run into the same issue
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!