From: Birger Koblitz <mail@birger-koblitz.de>
To: Jianhui Xu <neuromoments@gmail.com>
Cc: andrew+netdev@lunn.ch, andrew@lunn.ch, davem@davemloft.net,
edumazet@google.com, hkallweit1@gmail.com, kuba@kernel.org,
linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org,
linux@armlinux.org.uk, netdev@vger.kernel.org, pabeni@redhat.com
Subject: Re: [PATCH net-next v6 00/13] ax88179_178a: Add support for AX88179A-based chips
Date: Sun, 9 Aug 2026 06:33:42 +0200 [thread overview]
Message-ID: <2eeb01b5-7d3d-425e-9865-4e2fe1614e67@birger-koblitz.de> (raw)
In-Reply-To: <20260809013628.3165246-1-neuromoments@gmail.com>
Hi Jianhui,
thanks for testing this so thoroughly, again!
On 09/08/2026 03:36, Jianhui Xu wrote:
> Hi Birger,
>
> I tested v6 on the same ASIX AX88179B adapter (USB 0b95:1790,
> bcdDevice 0x0200, firmware 1.3.0.0).
>
> The 13 patches applied to net-next commit
> df13c1df8147675470213ffff29dd5762fa321f5 and built successfully as
> 7.2.0-rc3-ax88179b-v6. The full build and focused W=1 builds for ax88179.o
> and ax88796b.o were clean.
>
> All 13 fresh direct-kernel QEMU starts completed a new DHCPDISCOVER at
> 1000baseT/Full without reloading the driver. This includes five functional
> runs and the eight independent suspend/resume runs described below, so
> I did not reproduce the v5 cold zero-RX failure.
>
> However, I reproduced the intermittent 100-Mbit carrier-without-RX problem
> in two of the five functional runs. In both failures, advertise 0x008
> negotiated 100baseT/Full and reported carrier, but ARP remained incomplete,
> bound pings to both the gateway and test host failed, and the RX counter
> did not move (60 to 60 and 61 to 61) while TX increased. The same
> transition passed in the other three runs.
So the bottom line is that everything works, except that there are spurious
failures with 100baseT/Full links where RX is disabled after the link
was established. I have so far not seen this myself, but will test with more
and different adapters as link partners in order to reproduce the issue. I tested
the 100MBit connections mainly with a AX88772E 100MBit adapter (UGREEN CR110),
which has the same firmware (1.3.0.0) as your and my AX88179B adapter. You did
not mention which device is used on the other side of the Ethernet link (or maybe
I missed that), could you specify this?
> An immediate readback in mac_link_up() was not sufficient. An exact build
> with that diagnostic reproduced zero RX after an EEE restore, showing that
> AX_MEDIUM_RECEIVE_EN can be lost after mac_link_up() has returned.
The only way this could be coming from the driver that I see is via a call to
ax88179a_stop(), which would clear exactly that bit.
Have you traced this and can exclude that this function is called somehow?
If this is not the case, this would mean there is a bug in the firmware
of the adapter which clears AX_MEDIUM_RECEIVE_EN in some cases for 100baseT/Full,
which seems to be what you also seem to suspect based on your proposed patch.
> As an experiment, I therefore added a delayed check one second after
> link-up. If carrier is still present and AX_MEDIUM_RECEIVE_EN is clear, the
> worker restores the bit and verifies it by readback. The work is cancelled
> on link-down and synchronously cancelled during stop, suspend, and detach.
If this can indeed be attributed to a bug in the firmware of the adapters, I would
add your patch to the series with an "Authored-by" you, as this sounds like a
good solution for this issue.
Birger
next prev parent reply other threads:[~2026-08-09 4:33 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-06 19:35 [PATCH net-next v6 00/13] ax88179_178a: Add support for AX88179A-based chips Birger Koblitz
2026-08-06 19:35 ` [PATCH net-next v6 01/13] ax88179_178a: Fix endianness of pause watermark register Birger Koblitz
2026-08-06 19:36 ` [PATCH net-next v6 02/13] ax88179_178a: Split driver into library and device specific code Birger Koblitz
2026-08-09 0:57 ` Jianhui Xu
2026-08-09 3:39 ` Birger Koblitz
2026-08-06 19:36 ` [PATCH net-next v6 03/13] ax88179_178a: Add netdev2data() convenience function Birger Koblitz
2026-08-06 19:36 ` [PATCH net-next v6 04/13] ax88179_178a: Add HW support for AX179A-based chips Birger Koblitz
2026-08-06 19:36 ` [PATCH net-next v6 05/13] ax88179_178a: Add EEE configuration support for AX88179A MACs Birger Koblitz
2026-08-06 19:36 ` [PATCH net-next v6 06/13] ax88179_178a: Add EEE configuration support for AX88179A PHYs Birger Koblitz
2026-08-06 19:36 ` [PATCH net-next v6 07/13] ax88179_178a: Add VLAN offload support for AX88179A Birger Koblitz
2026-08-06 19:36 ` [PATCH net-next v6 08/13] ax88179_178a: Add AX179A/AX279 multicast configuration Birger Koblitz
2026-08-06 19:36 ` [PATCH net-next v6 09/13] ax88179_178a: Add Suspend/resume support for AX88179A/772D/279 Birger Koblitz
2026-08-06 19:36 ` [PATCH net-next v6 10/13] ax88179_178a: Add ethtool get_drvinfo Birger Koblitz
2026-08-06 19:36 ` [PATCH net-next v6 11/13] ax88179_178a: Update driver name and information Birger Koblitz
2026-08-06 19:36 ` [PATCH net-next v6 12/13] ax88179_178a: Add support for AX88179A/772D/279 EEPROM access Birger Koblitz
2026-08-06 19:36 ` [PATCH net-next v6 13/13] ax88796b: Add support for AX88772D, AX88179A and AX88279 Birger Koblitz
2026-08-09 1:36 ` [PATCH net-next v6 00/13] ax88179_178a: Add support for AX88179A-based chips Jianhui Xu
2026-08-09 4:33 ` Birger Koblitz [this message]
2026-08-10 1:35 ` Jianhui Xu
2026-08-10 10:43 ` Birger Koblitz
2026-08-10 13:25 ` Andrew Lunn
2026-08-10 16:17 ` Birger Koblitz
2026-08-10 17:35 ` Andrew Lunn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2eeb01b5-7d3d-425e-9865-4e2fe1614e67@birger-koblitz.de \
--to=mail@birger-koblitz.de \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=neuromoments@gmail.com \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox