I got it working, and confirmed the bug, only problem is it will get overwritten with the next patch, and others cant use the fix.
Hopefully this is a quick fix for a proc dev. This is how i did it When you try to compile the drivers you get ./r8152-2.15.0/r8152.c:18530:25: error: initialization of ‘int (*)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *)’ from incompatible pointer type ‘int (*)(struct net_device *, struct ethtool_coalesce *)’ [-Werror=incompatible-pointer-types] 18530 | .get_coalesce = rtl8152_get_coalesce, | ^~~~~~~~~~~~~~~~~~~~ ./r8152-2.15.0/r8152.c:18530:25: note: (near initialization for ‘ops.get_coalesce’) ./r8152-2.15.0/r8152.c:18531:25: error: initialization of ‘int (*)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *)’ from incompatible pointer type ‘int (*)(struct net_device *, struct ethtool_coalesce *)’ [-Werror=incompatible-pointer-types] 18531 | .set_coalesce = rtl8152_set_coalesce, I had a look at the code and googled (i cant code in C or C++ btw) This site had similar code https://sbexr.rabexc.org/latest/sources/26/53bfa290b96570.html#0000e00100031001 so i made the following changes to the realtek code. not sure if it right or performant, but it now compiles # diff ./r8152.c ../r8152-2.15.0/r8152.c 18339,18341c18339 < struct ethtool_coalesce *coalesce, < struct kernel_ethtool_coalesce *, < struct netlink_ext_ack *) --- > struct ethtool_coalesce *coalesce) 18360,18363c18358 < struct ethtool_coalesce *coalesce, < struct kernel_ethtool_coalesce *, < struct netlink_ext_ack *) < --- > struct ethtool_coalesce *coalesce) make install copied the code , but throws the following error, looks to do with code signing ??? Any way i ignored it At main.c:160: - SSL error:02001002:system library:fopen:No such file or directory: ../crypto/bio/bss_file.c:69 - SSL error:2006D080:BIO routines:BIO_new_file:no such file: ../crypto/bio/bss_file.c:76 sign-file: certs/signing_key.pem: No such file or directory I ran # sudo depmod -a # sudo update-initramfs -u as requested by the drivers readme file rebooted ethtool -s enx5c857e38e9b7 autoneg on advertise 0x80000000002f now works ethtool enx5c857e38e9b7 Settings for enx5c857e38e9b7: Supported ports: [ MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full 2500baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full 2500baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full 2500baseT/Full Link partner advertised pause frame use: No Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 2500Mb/s Duplex: Full Auto-negotiation: on Port: MII PHYAD: 32 Transceiver: internal Supports Wake-on: pumbg Wake-on: g Current message level: 0x00007fff (32767) drv probe link timer ifdown ifup rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol Link detected: yes checking the version # modinfo /lib/modules/5.15.0-25-generic/kernel/drivers/net/usb/r8152.ko filename: /lib/modules/5.15.0-25-generic/kernel/drivers/net/usb/r8152.ko version: v2.15.0 (2021/04/15) license: GPL -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1969211 Title: Out of date driver with no capabilities for 2.5Gb full duplex To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1969211/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs