Re: [PATCH 1/2] net: asix: add 0b95:1790 to AX88179A device list

From: Christian Hewitt
Date: Sat Feb 10 2024 - 14:12:01 EST


> On 10 Feb 2024, at 10:20 pm, Grant Grundler <grundler@xxxxxxxxxx> wrote:
>
> On Mon, Feb 5, 2024 at 2:40 AM Christian Hewitt
> <christianshewitt@xxxxxxxxx> wrote:
>>
>> Add a generic AX88179A entry for the 0b95:1790 device id:
>>
>> kernel: usb 2-1: New USB device found, idVendor=0b95, idProduct=1790, bcdDevice= 2.00
>> kernel: usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
>> kernel: usb 2-1: Product: AX88179A
>> kernel: usb 2-1: Manufacturer: ASIX
>> kernel: usb 2-1: SerialNumber: 00D24DC0
>> kernel: asix 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32
>> kernel: asix: probe of 2-1:1.0 failed with error -32
>> kernel: ax88179_178a 2-1:1.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x0040: -32
>> kernel: ax88179_178a 2-1:1.0 eth1: register 'ax88179_178a' at usb-0000:01:00.0-1, ASIX AX88179 USB 3.0 Gigabit Ethernet, 20:7b:d2:d2:4d:c0
>>
>> Signed-off-by: Christian Hewitt <christianshewitt@xxxxxxxxx>
>> ---
>> The change is tested by a LibreELEC (distro) user who reports the NIC to be working
>> fine (and logs support this) but the "Failed to read reg index 0x0000: -32" errors
>> suggest ax88178_info might not be the correct choice. I'm not a serious coder so I
>> need to "ask the audience" for suggestions on what more might be needed?
>>
>> drivers/net/usb/asix_devices.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/net/usb/asix_devices.c b/drivers/net/usb/asix_devices.c
>> index f7cff58fe044..9a7b1136cd98 100644
>> --- a/drivers/net/usb/asix_devices.c
>> +++ b/drivers/net/usb/asix_devices.c
>> @@ -1506,6 +1506,10 @@ static const struct usb_device_id products [] = {
>> // ASIX AX88178 10/100/1000
>> USB_DEVICE (0x0b95, 0x1780),
>> .driver_info = (unsigned long) &ax88178_info,
>> +}, {
>> + // ASIX AX88179A 10/100/1000
>> + USB_DEVICE(0x0b95, 0x1790),
>> + .driver_info = (unsigned long)&ax88178_info,
>> }, {
>
> Hi Christian!
> Seems like there are two problems here:
> 1) The USB output is telling you this device is a AX88179A : the
> changes most likely should be in ax88179_178a.c using the
> ax881798_info:
> https://elixir.bootlin.com/linux/latest/source/drivers/net/usb/ax88179_178a.c#L1690

Yup, having sent the patch some git grep’ing showed me the newer driver
already has the ID for the card included.

> 2) What Andrew Lunn said. I'll add the asix driver should not be
> probing (or claiming) this device - or at least be quiet about it when
> it does.

So the problem now is .. I have both drivers enabled in kernel config:

https://github.com/LibreELEC/LibreELEC.tv/blob/master/projects/RPi/devices/RPi5/linux/linux.aarch64.conf#L2324-L2325

And This is a Linux 6.6.10 kernel boot (without this patch):

https://paste.libreelec.tv/oriented-mastodon.log

The card is visible on the USB bus but why isn’t the correct (newer)
driver probing? ¯\_(ツ)_/¯

Christian