FS#58174 - [linux] Regression in aquantia ethernet driver in Linux 4.16 - no link detected

Attached to Project: Arch Linux
Opened by Aliaksandr Stelmachonak (ava1ar) - Monday, 09 April 2018, 04:34 GMT
Last edited by Jan Alexander Steffens (heftig) - Thursday, 19 April 2018, 09:18 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To Tobias Powalowski (tpowa)
Jan Alexander Steffens (heftig)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: With kernel 4.16 my Aquantia AQC107 not reporting link when ethernet cable is connected. 4.15.15 works fine.

Additional info:
* linux-4.16

Steps to reproduce:
Install linux 4.15.15, сheck ethtool status and ensure "Link detected: yes" is reported. Upgrade kernel to 4.16, reboot and check ethtool again - you will get ""Link detected: no" for same adapter.
This task depends upon

Closed by  Jan Alexander Steffens (heftig)
Thursday, 19 April 2018, 09:18 GMT
Reason for closing:  Fixed
Additional comments about closing:  4.16.2-2
Comment by Aliaksandr Stelmachonak (ava1ar) - Monday, 09 April 2018, 04:35 GMT
I might need to submit bug upstream or bisect the changes in order to find bad commit - the hardware is pretty rare :(
Comment by Aliaksandr Stelmachonak (ava1ar) - Monday, 09 April 2018, 06:46 GMT
Looks like it works fine for cold boot, but doesn't work after reboot. It may be related, that my card is connected via the Thunderbolt box and there were recent changes in driver in upstream related to TB connectivity.
Comment by Giovanni Di Grezia (xgiovio) - Wednesday, 11 April 2018, 23:53 GMT
Hello, i want to report my experience to help to sort out this problem.
I have 2 Aquantia 10Gbit card. One with Windows, the other on Linux.
Using the latest driver from aquantia website for windows (2.1) I had the same problems the original poster is describing. Working on cold boot but disconnected link on reboot.
At beginning i thought it was a driver problem but in the end it was an incompatibility with the firmware. In fact, these card are shipped with an old firmware. I updated the firmware on both of them and now the latest version driver works without problem on windows. From this experience i think that the latest merged drivers on linux 4.16 could be the latest from aquantia and maybe incompatibile with your card firware.
To update the firmware i used windows, you have to install manually al old driver (1.42), the driver installation updates also the firmware. After that you can use the latest driver.
For any info send me an email to xgiovio@gmail.com
I will help you if the problem is the same.
Cheers
Comment by Giovanni Di Grezia (xgiovio) - Wednesday, 11 April 2018, 23:57 GMT
Just a little note. On linux centos 7.4 I'm right now on 4.16-1 and the card link works on reboots. I have the same AQC107 (The asus XG )
Comment by Aliaksandr Stelmachonak (ava1ar) - Thursday, 12 April 2018, 00:07 GMT
Thanks, Giovanni! I will try to update the firmware and check if it helps. Did you update firmware for the card you are using in your Linux machine or it works fine with original firmware? Do you know how to check the installed firmware version? Which versions you had before the upgrade?
Comment by Giovanni Di Grezia (xgiovio) - Thursday, 12 April 2018, 09:52 GMT
I had problems on the windows machine like i said before so i updated both cards. I did both on windows because it was the only method i found. The firmware version was old, i don't remember but it was something less then 1.4. Now it is 1.5.69.
I used Aquantia AQtion Network Adapter Drivers Version 1.41.006.255 WHQL with manual install in windows 10 (manual install using device manager ). Then the firmware was updated. Then you can use the latest drivers. On centos i can see the firmware version using the command 'ethtool -i eth0' (replace the network card id).
Let me know
Comment by Aliaksandr Stelmachonak (ava1ar) - Friday, 13 April 2018, 14:35 GMT
Looks like I have firmware version 1.5.44 in my card. Still need to find a windows machine to perform the firmware update. Aquantia for sure needs to make it possible to do from Linux...
Comment by Aliaksandr Stelmachonak (ava1ar) - Saturday, 14 April 2018, 18:38 GMT
Got the windows, played with different version on driver there and finally got the firmware updated (I got 2.1 and 1.42 initially, but non of them seems to have the update firmware action - then I found 1.41.006.255, which was reporting incompatibility during installation, which I ignored and looks like this is the only driver which does actually firmware update). After I got 1.5.69, I tried to use 4.16 kernel and looks like it is working fine now! Thanks again, Giovanni!!!

The way how Aquantia manages firmware update process and the hidden dependency of drivers functionality on firmware version is unacceptable. They must release firmware update tool for linux and make driver to report incompatible firmware, so the user know, what he needs to do!

I think I will close the bug, since it is not related to arch in any way.
Comment by Jan Alexander Steffens (heftig) - Saturday, 14 April 2018, 18:45 GMT
This commit in linux 4.17 seems relevant: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cce96d1883dae4b79f44890e5118243d806da286

Can you test a kernel with it applied?
Comment by Aliaksandr Stelmachonak (ava1ar) - Saturday, 14 April 2018, 19:06 GMT
Hi, Jan.

I just updated firmware on my card and original issue is not reproducible anymore. However, I should have another card somewhere - if it has the older firmware with the issue, I will try the path with the 4.16 kernel and let you know if it helps.
Comment by Aliaksandr Stelmachonak (ava1ar) - Sunday, 15 April 2018, 05:29 GMT
Confirmed. Mentioned patch fixes the problem with no link after reboot on card with firmware 1.5.44. Patch applies clearly on top of the 4.16, so if possible it will be nice to include it to the arch kernel till 4.17 with the fix is released.
Comment by Jan Alexander Steffens (heftig) - Sunday, 15 April 2018, 11:01 GMT
Thanks for testing.

Loading...