Re: USB_NET_AX8817X dependency on AX88796B_PHY

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Oct 15, 2023 at 2:55 PM Maciej Żenczykowski <maze@xxxxxxxxxx> wrote:
>
> I've received reports that an ethernet usb dongle doesn't work (google
> internal bug 304028301)...
>
> Investigation shows that we have 5.10 (GKI) with USB_NET_AX8817X=y and
> AX88796B_PHY not set.
> I *think* this configuration combination makes no sense?
> [note: I'm unsure how many different phy's this driver supports...]
>
> Obviously, we could simply turn it on 'manually'... but:
>
> commit dde25846925765a88df8964080098174495c1f10
> Author: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
> Date:   Mon Jun 7 10:27:22 2021 +0200
>
>     net: usb/phy: asix: add support for ax88772A/C PHYs
>
>     Add support for build-in x88772A/C PHYs
>
>     Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
>     Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
>     Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
>
> includes (as a side effect):
>
> drivers/net/usb/Kconfig
> @@ -164,6 +164,7 @@ config USB_NET_AX8817X
>         depends on USB_USBNET
>         select CRC32
>         select PHYLIB
> +       select AX88796B_PHY
>         default y
>
> which presumably makes this (particular problem) a non issue on 5.15+
>
> I'm guessing the above fix (ie. commit dde25846925765a88df8964080098174495c1f10)
> could (should?) simply be backported to older stable kernels?
>
> I've verified it cherrypicks cleanly and builds (on x86_64 5.10 gki),
> ie.
> $ git checkout android/kernel/common/android13-5.10
> $ git cherry-pick -x dde25846925765a88df8964080098174495c1f10
> $ make ARCH=x86_64 gki_defconfig
> $ egrep -i ax88796b < .config
> CONFIG_AX88796B_PHY=y
> $ make -j50
> ./drivers/net/phy/ax88796b.o gets built
>
> I've sourced a copy of the problematic hardware, but I'm hitting
> problems where on at least two (both my chromebook and 1 of the 2
> usb-c ports on my lenovo laptop) totally different usb
> controllers/ports it doesn't even usb enumerate (ie. nothing in dmesg,
> no show on lsusb), which is making testing difficult (unsure if I just
> got a bad sample)...

And actually looking longer at the logs:

usb 1-5: new high-speed USB device number 9 using xhci_hcd
usb 1-5: New USB device found, idVendor=0b95, idProduct=772b, bcdDevice= 0.02
usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-5: Product: AX88772C
usb 1-5: Manufacturer: ASIX Elec. Corp.
usb 1-5: SerialNumber: 000002
asix 1-5:1.0 (unnamed net_device) (uninitialized): PHY
[usb-001:009:10] driver [Asix Electronics AX88772C] (irq=POLL)
Asix Electronics AX88772C usb-001:009:10: attached PHY driver
(mii_bus:phy_addr=usb-001:009:10, irq=POLL)
asix 1-5:1.0 eth0: register 'asix' at usb-0000:00:14.0-5, ASIX
AX88772B USB 2.0 Ethernet, 14:ae:85:70:44:29
asix 1-5:1.0 enx14ae85704429: renamed from eth0
asix 1-5:1.0 enx14ae85704429: configuring for phy/internal link mode
usb 1-5: USB disconnect, device number 9
asix 1-5:1.0 enx14ae85704429: unregister 'asix' usb-0000:00:14.0-5,
ASIX AX88772B USB 2.0 Ethernet

It looks like the rest of that patch is needed too, since it is a AX88772C phy.

This means even with the option manually enabled, we'd still need to
cherrypick dde25846925765a88df8964080098174495c1f10
"net: usb/phy: asix: add support for ax88772A/C PHYs"
since apparently this is simply new(ish) hardware with built-in x88772C PHY.




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux