lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <f971d88e-be1f-494b-b754-e992adfe6321@gmail.com>
Date: Thu, 17 Oct 2024 21:27:35 +0200
From: Heiner Kallweit <hkallweit1@...il.com>
To: Luc Willems <luc.willems@...-m.be>
Cc: netdev@...r.kernel.org
Subject: Re: r8169 unknown chip XID 688

On 17.10.2024 20:14, Luc Willems wrote:
> install the firmware,
> - static ip assignment using /etc/network/interfaces seems to work ok
> , system reboots in normal time, and connectivity works using iperf3
> (short test)
> - dhcp ip assignment still fails , reboot seems to hang on waiting for
> dhcp client timeout , and after that a second ifdown/ifup sequences
> doesn't seem to work , even ip link show the link up and active
> 
Thanks for the retest. If it works with a static ip then it's unlikely
that the DHCP issue is related to the network driver. This happens on
an upper layer. Best check the DHCP traffic between this system and
the DHCP server with e.g. tcpdump.

> root@...mox-kernel:~# ifup ens16
> Internet Systems Consortium DHCP Client 4.4.3-P1
> Copyright 2004-2022 Internet Systems Consortium.
> All rights reserved.
> For info, please visit https://www.isc.org/software/dhcp/
> 
> Listening on LPF/ens16/10:ff:e0:6b:66:98
> Sending on   LPF/ens16/10:ff:e0:6b:66:98
> Sending on   Socket/fallback
> DHCPDISCOVER on ens16 to 255.255.255.255 port 67 interval 8
> DHCPDISCOVER on ens16 to 255.255.255.255 port 67 interval 7
> DHCPDISCOVER on ens16 to 255.255.255.255 port 67 interval 12
> DHCPDISCOVER on ens16 to 255.255.255.255 port 67 interval 12
> DHCPDISCOVER on ens16 to 255.255.255.255 port 67 interval 11
> DHCPDISCOVER on ens16 to 255.255.255.255 port 67 interval 11
> No DHCPOFFERS received.
> No working leases in persistent database - sleeping.
> root@...mox-kernel:~# ip l
> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
> mode DEFAULT group default qlen 1000
>    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
> 2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel
> state UP mode DEFAULT group default qlen 1000
>    link/ether bc:24:11:e6:79:8f brd ff:ff:ff:ff:ff:ff
>    altname enp0s18
> 3: ens16: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel
> state UP mode DEFAULT group default qlen 1000
>    link/ether 10:ff:e0:6b:66:98 brd ff:ff:ff:ff:ff:ff
>    altname enp0s16
> root@...mox-kernel:~#
> 
> using hotplug ens16 instead of auto ens16 in the interface seems to
> result in the interface staying down state.
> ethtool also doesn´t provide any useful info.
> 
> switching back to static ip, i can retrieve information using ethtool
> on the interface.
> 
> 
>  luc
> 
> 
> 
> 
> On Wed, Oct 16, 2024 at 7:44 AM Heiner Kallweit <hkallweit1@...il.com> wrote:
>>
>> On 14.10.2024 14:48, Luc Willems wrote:
>>> small correction, it took some time but dhcp has finally assigned an ip address
>>>
>>> I could run iperf3 on it, getting 2.35Gbits/sec for a short test.
>>> but after reboot i lost connectivity again , even switching to static
>>> ip did not provide a solution.
>>>
>>> so for the moment, not very stable.
>>> seems we need to wait to have specific firmware.
>>>
>> Firmware file has been submitted by Realtek, however it may take time until
>> the next linux-firmware release is published. In the meantime you can get the
>> firmware file from here:
>> https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtl_nic/rtl8125d-1.fw
>> Just place it under /lib/firmware/rtl_nic/
>>
>>>
>>>
>>>
>>>
>>> On Mon, Oct 14, 2024 at 2:31 PM Luc Willems <luc.willems@...-m.be> wrote:
>>>>
>>>> after last patch, i now have an ens16 interface but not able to assign
>>>> ip using static or dhcp
>>>>
>>>> [    0.586421] r8169 0000:00:10.0 eth0: RTL8125D, 10:ff:e0:6b:66:98,
>>>> XID 688, IRQ 46
>>>> [    0.586424] r8169 0000:00:10.0 eth0: jumbo features [frames: 9194
>>>> bytes, tx checksumming: ko]
>>>> [    0.789719] r8169 0000:00:10.0 ens16: renamed from eth0
>>>> [   13.583533] r8169 0000:00:10.0: firmware: failed to load
>>>> rtl_nic/rtl8125d-1.fw (-2)
>>>> [   13.583541] r8169 0000:00:10.0: firmware: failed to load
>>>> rtl_nic/rtl8125d-1.fw (-2)
>>>> [   13.583542] r8169 0000:00:10.0: Direct firmware load for
>>>> rtl_nic/rtl8125d-1.fw failed with error -2
>>>> [   13.583544] r8169 0000:00:10.0: Unable to load firmware
>>>> rtl_nic/rtl8125d-1.fw (-2)
>>>> [   13.609457] RTL8226B_RTL8221B 2.5Gbps PHY r8169-0-80:00: attached
>>>> PHY driver (mii_bus:phy_addr=r8169-0-80:00, irq=MAC)
>>>> [   13.737853] r8169 0000:00:10.0 ens16: Link is Down
>>>> [   16.937666] r8169 0000:00:10.0 ens16: Link is Up - 2.5Gbps/Full -
>>>> flow control rx/tx
>>>> root@...mox-kernel:~#
>>>>
>>>> On Mon, Oct 14, 2024 at 12:22 PM Heiner Kallweit <hkallweit1@...il.com> wrote:
>>>>>
>>>>> On 14.10.2024 02:05, Luc Willems wrote:
>>>>>> HI ,
>>>>>>
>>>>>> installed the patch on a debian-backports 6.10.11 kernel in a VM (KVM)
>>>>>> with the realtek injected using pci pass through.
>>>>>> i had to modify the patch a bit, removing the RTL_GIGA_MAC_VER_63
>>>>>> related entries because these don't seem to be in this kernel
>>>>>>
>>>>>> running this kernel gives me this result now
>>>>>>
>>>>>> root@...mox-kernel:~# uname -a
>>>>>> Linux prxmox-kernel 6.10+unreleased-amd64 #1 SMP PREEMPT_DYNAMIC
>>>>>> Debian 6.10.11-1~bpo12+1r8169p1 (2024-10- x86_64 GNU/Linux
>>>>>> root@...mox-kernel:~# dmesg |grep r8169
>>>>>> [    0.000000] Linux version 6.10+unreleased-amd64
>>>>>> (debian-kernel@...ts.debian.org) (x86_64-linux-gnu-gcc-12 (Debian
>>>>>> 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP
>>>>>> PREEMPT_DYNAMIC Debian 6.10.
>>>>>> 11-1~bpo12+1r8169p1 (2024-10-
>>>>>> [    0.585895] r8169 0000:00:10.0: no dedicated PHY driver found for
>>>>>> PHY ID 0x001cc841, maybe realtek.ko needs to be added to initramfs?
>>>>>> [    0.586010] r8169 0000:00:10.0: probe with driver r8169 failed with error -49
>>>>>>
>>>>>> root@...mox-kernel:~# modinfo r8169
>>>>>> filename:
>>>>>> /lib/modules/6.10+unreleased-amd64/kernel/drivers/net/ethernet/realtek/r8169.ko.xz
>>>>>> firmware:       rtl_nic/rtl8126a-2.fw
>>>>>> firmware:       rtl_nic/rtl8125d-1.fw
>>>>>> firmware:       rtl_nic/rtl8125b-2.fw
>>>>>> firmware:       rtl_nic/rtl8125a-3.fw
>>>>>> firmware:       rtl_nic/rtl8107e-2.fw
>>>>>> firmware:       rtl_nic/rtl8168fp-3.fw
>>>>>> firmware:       rtl_nic/rtl8168h-2.fw
>>>>>> firmware:       rtl_nic/rtl8168g-3.fw
>>>>>> firmware:       rtl_nic/rtl8168g-2.fw
>>>>>> firmware:       rtl_nic/rtl8106e-2.fw
>>>>>> firmware:       rtl_nic/rtl8106e-1.fw
>>>>>> firmware:       rtl_nic/rtl8411-2.fw
>>>>>> firmware:       rtl_nic/rtl8411-1.fw
>>>>>> firmware:       rtl_nic/rtl8402-1.fw
>>>>>> firmware:       rtl_nic/rtl8168f-2.fw
>>>>>> firmware:       rtl_nic/rtl8168f-1.fw
>>>>>> firmware:       rtl_nic/rtl8105e-1.fw
>>>>>> firmware:       rtl_nic/rtl8168e-3.fw
>>>>>> firmware:       rtl_nic/rtl8168e-2.fw
>>>>>> firmware:       rtl_nic/rtl8168e-1.fw
>>>>>> firmware:       rtl_nic/rtl8168d-2.fw
>>>>>> firmware:       rtl_nic/rtl8168d-1.fw
>>>>>> license:        GPL
>>>>>> softdep:        pre: realtek
>>>>>> description:    RealTek RTL-8169 Gigabit Ethernet driver
>>>>>> author:         Realtek and the Linux r8169 crew <netdev@...r.kernel.org>
>>>>>> alias:          pci:v000010ECd00003000sv*sd*bc*sc*i*
>>>>>> alias:          pci:v000010ECd00008126sv*sd*bc*sc*i*
>>>>>> alias:          pci:v000010ECd00008125sv*sd*bc*sc*i*
>>>>>> alias:          pci:v00000001d00008168sv*sd00002410bc*sc*i*
>>>>>> alias:          pci:v00001737d00001032sv*sd00000024bc*sc*i*
>>>>>> alias:          pci:v000016ECd00000116sv*sd*bc*sc*i*
>>>>>> alias:          pci:v00001259d0000C107sv*sd*bc*sc*i*
>>>>>> alias:          pci:v00001186d00004302sv*sd*bc*sc*i*
>>>>>> alias:          pci:v00001186d00004300sv*sd*bc*sc*i*
>>>>>> alias:          pci:v00001186d00004300sv00001186sd00004B10bc*sc*i*
>>>>>> alias:          pci:v000010ECd00008169sv*sd*bc*sc*i*
>>>>>> alias:          pci:v000010FFd00008168sv*sd*bc*sc*i*
>>>>>> alias:          pci:v000010ECd00008168sv*sd*bc*sc*i*
>>>>>> alias:          pci:v000010ECd00008167sv*sd*bc*sc*i*
>>>>>> alias:          pci:v000010ECd00008162sv*sd*bc*sc*i*
>>>>>> alias:          pci:v000010ECd00008161sv*sd*bc*sc*i*
>>>>>> alias:          pci:v000010ECd00008136sv*sd*bc*sc*i*
>>>>>> alias:          pci:v000010ECd00008129sv*sd*bc*sc*i*
>>>>>> alias:          pci:v000010ECd00002600sv*sd*bc*sc*i*
>>>>>> alias:          pci:v000010ECd00002502sv*sd*bc*sc*i*
>>>>>> depends:        libphy,mdio_devres
>>>>>> retpoline:      Y
>>>>>> intree:         Y
>>>>>> name:           r8169
>>>>>> vermagic:       6.10+unreleased-amd64 SMP preempt mod_unload modversions
>>>>>>
>>>>>> root@...mox-kernel:~# lsmod |grep real
>>>>>> realtek                45056  0
>>>>>> libphy                225280  3 r8169,mdio_devres,realtek
>>>>>> root@...mox-kernel:~#
>>>>>>
>>>>>> On Sun, Oct 13, 2024 at 10:44 AM Heiner Kallweit <hkallweit1@...il.com> wrote:
>>>>>>>
>>>>>>> On 12.10.2024 21:03, Luc Willems wrote:
>>>>>>>> using new gigabyte X870E AORUS ELITE WIFI7 board, running proxmox pve kernel
>>>>>>>>
>>>>>>>> Linux linux-s05 6.8.12-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-2
>>>>>>>> (2024-09-05T10:03Z) x86_64 GNU/Linux
>>>>>>>>
>>>>>>>> 11:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125
>>>>>>>> 2.5GbE Controller (rev 0c)
>>>>>>>>         Subsystem: Gigabyte Technology Co., Ltd RTL8125 2.5GbE Controller
>>>>>>>>         Flags: fast devsel, IRQ 43, IOMMU group 26
>>>>>>>>         I/O ports at e000 [size=256]
>>>>>>>>         Memory at dd900000 (64-bit, non-prefetchable) [size=64K]
>>>>>>>>         Memory at dd910000 (64-bit, non-prefetchable) [size=16K]
>>>>>>>>         Capabilities: [40] Power Management version 3
>>>>>>>>         Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
>>>>>>>>         Capabilities: [70] Express Endpoint, MSI 01
>>>>>>>>         Capabilities: [b0] MSI-X: Enable- Count=64 Masked-
>>>>>>>>         Capabilities: [d0] Vital Product Data
>>>>>>>>         Capabilities: [100] Advanced Error Reporting
>>>>>>>>         Capabilities: [148] Virtual Channel
>>>>>>>>         Capabilities: [164] Device Serial Number 01-00-00-00-68-4c-e0-00
>>>>>>>>         Capabilities: [174] Transaction Processing Hints
>>>>>>>>         Capabilities: [200] Latency Tolerance Reporting
>>>>>>>>         Capabilities: [208] L1 PM Substates
>>>>>>>>         Capabilities: [218] Vendor Specific Information: ID=0002 Rev=4
>>>>>>>> Len=100 <?>
>>>>>>>>         Kernel modules: r8169
>>>>>>>>
>>>>>>>> root@...ux-s05:/root# dmesg |grep r8169
>>>>>>>> [    6.353276] r8169 0000:11:00.0: error -ENODEV: unknown chip XID
>>>>>>>> 688, contact r8169 maintainers (see MAINTAINERS file)
>>>>>>>>
>>>>>>>
>>>>>>> Below is a patch with experimental support for RTL8125D. Could you
>>>>>>> please test it? Few notes:
>>>>>>> - Depending on the PHY ID of the integrated PHY you may receive an
>>>>>>>   error message that there's no dedicated PHY driver. Please forward the
>>>>>>>   error message with the PHY ID in this case.
>>>>>>> - As long as the firmware for this chip version isn't available, link
>>>>>>>   might be unstable or worst case completely missing. Driver will complain
>>>>>>>   about the missing firmware file, but this error message can be ignored for now.
>>>>>>>
>>>>>>> ---
>>>>>>>  drivers/net/ethernet/realtek/r8169.h          |  1 +
>>>>>>>  drivers/net/ethernet/realtek/r8169_main.c     | 23 +++++++++++++------
>>>>>>>  .../net/ethernet/realtek/r8169_phy_config.c   |  7 ++++++
>>>>>>>  3 files changed, 24 insertions(+), 7 deletions(-)
>>>>>>>
>>>>>>> diff --git a/drivers/net/ethernet/realtek/r8169.h b/drivers/net/ethernet/realtek/r8169.h
>>>>>>> index e2db944e6..be4c96226 100644
>>>>>>> --- a/drivers/net/ethernet/realtek/r8169.h
>>>>>>> +++ b/drivers/net/ethernet/realtek/r8169.h
>>>>>>> @@ -68,6 +68,7 @@ enum mac_version {
>>>>>>>         /* support for RTL_GIGA_MAC_VER_60 has been removed */
>>>>>>>         RTL_GIGA_MAC_VER_61,
>>>>>>>         RTL_GIGA_MAC_VER_63,
>>>>>>> +       RTL_GIGA_MAC_VER_64,
>>>>>>>         RTL_GIGA_MAC_VER_65,
>>>>>>>         RTL_GIGA_MAC_VER_66,
>>>>>>>         RTL_GIGA_MAC_NONE
>>>>>>> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
>>>>>>> index 1a2322824..dcd176a77 100644
>>>>>>> --- a/drivers/net/ethernet/realtek/r8169_main.c
>>>>>>> +++ b/drivers/net/ethernet/realtek/r8169_main.c
>>>>>>> @@ -56,6 +56,7 @@
>>>>>>>  #define FIRMWARE_8107E_2       "rtl_nic/rtl8107e-2.fw"
>>>>>>>  #define FIRMWARE_8125A_3       "rtl_nic/rtl8125a-3.fw"
>>>>>>>  #define FIRMWARE_8125B_2       "rtl_nic/rtl8125b-2.fw"
>>>>>>> +#define FIRMWARE_8125D_1       "rtl_nic/rtl8125d-1.fw"
>>>>>>>  #define FIRMWARE_8126A_2       "rtl_nic/rtl8126a-2.fw"
>>>>>>>  #define FIRMWARE_8126A_3       "rtl_nic/rtl8126a-3.fw"
>>>>>>>
>>>>>>> @@ -139,6 +140,7 @@ static const struct {
>>>>>>>         [RTL_GIGA_MAC_VER_61] = {"RTL8125A",            FIRMWARE_8125A_3},
>>>>>>>         /* reserve 62 for CFG_METHOD_4 in the vendor driver */
>>>>>>>         [RTL_GIGA_MAC_VER_63] = {"RTL8125B",            FIRMWARE_8125B_2},
>>>>>>> +       [RTL_GIGA_MAC_VER_64] = {"RTL8125D",            FIRMWARE_8125D_1},
>>>>>>>         [RTL_GIGA_MAC_VER_65] = {"RTL8126A",            FIRMWARE_8126A_2},
>>>>>>>         [RTL_GIGA_MAC_VER_66] = {"RTL8126A",            FIRMWARE_8126A_3},
>>>>>>>  };
>>>>>>> @@ -708,6 +710,7 @@ MODULE_FIRMWARE(FIRMWARE_8168FP_3);
>>>>>>>  MODULE_FIRMWARE(FIRMWARE_8107E_2);
>>>>>>>  MODULE_FIRMWARE(FIRMWARE_8125A_3);
>>>>>>>  MODULE_FIRMWARE(FIRMWARE_8125B_2);
>>>>>>> +MODULE_FIRMWARE(FIRMWARE_8125D_1);
>>>>>>>  MODULE_FIRMWARE(FIRMWARE_8126A_2);
>>>>>>>  MODULE_FIRMWARE(FIRMWARE_8126A_3);
>>>>>>>
>>>>>>> @@ -2099,10 +2102,7 @@ static void rtl_set_eee_txidle_timer(struct rtl8169_private *tp)
>>>>>>>                 tp->tx_lpi_timer = timer_val;
>>>>>>>                 r8168_mac_ocp_write(tp, 0xe048, timer_val);
>>>>>>>                 break;
>>>>>>> -       case RTL_GIGA_MAC_VER_61:
>>>>>>> -       case RTL_GIGA_MAC_VER_63:
>>>>>>> -       case RTL_GIGA_MAC_VER_65:
>>>>>>> -       case RTL_GIGA_MAC_VER_66:
>>>>>>> +       case RTL_GIGA_MAC_VER_61 ... RTL_GIGA_MAC_VER_66:
>>>>>>>                 tp->tx_lpi_timer = timer_val;
>>>>>>>                 RTL_W16(tp, EEE_TXIDLE_TIMER_8125, timer_val);
>>>>>>>                 break;
>>>>>>> @@ -2234,6 +2234,9 @@ static enum mac_version rtl8169_get_mac_version(u16 xid, bool gmii)
>>>>>>>                 { 0x7cf, 0x64a, RTL_GIGA_MAC_VER_66 },
>>>>>>>                 { 0x7cf, 0x649, RTL_GIGA_MAC_VER_65 },
>>>>>>>
>>>>>>> +               /* 8125D family. */
>>>>>>> +               { 0x7cf, 0x688, RTL_GIGA_MAC_VER_64 },
>>>>>>> +
>>>>>>>                 /* 8125B family. */
>>>>>>>                 { 0x7cf, 0x641, RTL_GIGA_MAC_VER_63 },
>>>>>>>
>>>>>>> @@ -2501,9 +2504,7 @@ static void rtl_init_rxcfg(struct rtl8169_private *tp)
>>>>>>>         case RTL_GIGA_MAC_VER_61:
>>>>>>>                 RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST);
>>>>>>>                 break;
>>>>>>> -       case RTL_GIGA_MAC_VER_63:
>>>>>>> -       case RTL_GIGA_MAC_VER_65:
>>>>>>> -       case RTL_GIGA_MAC_VER_66:
>>>>>>> +       case RTL_GIGA_MAC_VER_63 ... RTL_GIGA_MAC_VER_66:
>>>>>>>                 RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST |
>>>>>>>                         RX_PAUSE_SLOT_ON);
>>>>>>>                 break;
>>>>>>> @@ -3815,6 +3816,12 @@ static void rtl_hw_start_8125b(struct rtl8169_private *tp)
>>>>>>>         rtl_hw_start_8125_common(tp);
>>>>>>>  }
>>>>>>>
>>>>>>> +static void rtl_hw_start_8125d(struct rtl8169_private *tp)
>>>>>>> +{
>>>>>>> +       rtl_set_def_aspm_entry_latency(tp);
>>>>>>> +       rtl_hw_start_8125_common(tp);
>>>>>>> +}
>>>>>>> +
>>>>>>>  static void rtl_hw_start_8126a(struct rtl8169_private *tp)
>>>>>>>  {
>>>>>>>         rtl_set_def_aspm_entry_latency(tp);
>>>>>>> @@ -3863,6 +3870,7 @@ static void rtl_hw_config(struct rtl8169_private *tp)
>>>>>>>                 [RTL_GIGA_MAC_VER_53] = rtl_hw_start_8117,
>>>>>>>                 [RTL_GIGA_MAC_VER_61] = rtl_hw_start_8125a_2,
>>>>>>>                 [RTL_GIGA_MAC_VER_63] = rtl_hw_start_8125b,
>>>>>>> +               [RTL_GIGA_MAC_VER_64] = rtl_hw_start_8125d,
>>>>>>>                 [RTL_GIGA_MAC_VER_65] = rtl_hw_start_8126a,
>>>>>>>                 [RTL_GIGA_MAC_VER_66] = rtl_hw_start_8126a,
>>>>>>>         };
>>>>>>> @@ -3880,6 +3888,7 @@ static void rtl_hw_start_8125(struct rtl8169_private *tp)
>>>>>>>         /* disable interrupt coalescing */
>>>>>>>         switch (tp->mac_version) {
>>>>>>>         case RTL_GIGA_MAC_VER_61:
>>>>>>> +       case RTL_GIGA_MAC_VER_64:
>>>>>>>                 for (i = 0xa00; i < 0xb00; i += 4)
>>>>>>>                         RTL_W32(tp, i, 0);
>>>>>>>                 break;
>>>>>>> diff --git a/drivers/net/ethernet/realtek/r8169_phy_config.c b/drivers/net/ethernet/realtek/r8169_phy_config.c
>>>>>>> index cf29b1208..6b70f23c8 100644
>>>>>>> --- a/drivers/net/ethernet/realtek/r8169_phy_config.c
>>>>>>> +++ b/drivers/net/ethernet/realtek/r8169_phy_config.c
>>>>>>> @@ -1104,6 +1104,12 @@ static void rtl8125b_hw_phy_config(struct rtl8169_private *tp,
>>>>>>>         rtl8125b_config_eee_phy(phydev);
>>>>>>>  }
>>>>>>>
>>>>>>> +static void rtl8125d_hw_phy_config(struct rtl8169_private *tp,
>>>>>>> +                                  struct phy_device *phydev)
>>>>>>> +{
>>>>>>> +       r8169_apply_firmware(tp);
>>>>>>> +}
>>>>>>> +
>>>>>>>  static void rtl8126a_hw_phy_config(struct rtl8169_private *tp,
>>>>>>>                                    struct phy_device *phydev)
>>>>>>>  {
>>>>>>> @@ -1160,6 +1166,7 @@ void r8169_hw_phy_config(struct rtl8169_private *tp, struct phy_device *phydev,
>>>>>>>                 [RTL_GIGA_MAC_VER_53] = rtl8117_hw_phy_config,
>>>>>>>                 [RTL_GIGA_MAC_VER_61] = rtl8125a_2_hw_phy_config,
>>>>>>>                 [RTL_GIGA_MAC_VER_63] = rtl8125b_hw_phy_config,
>>>>>>> +               [RTL_GIGA_MAC_VER_64] = rtl8125d_hw_phy_config,
>>>>>>>                 [RTL_GIGA_MAC_VER_65] = rtl8126a_hw_phy_config,
>>>>>>>                 [RTL_GIGA_MAC_VER_66] = rtl8126a_hw_phy_config,
>>>>>>>         };
>>>>>>> --
>>>>>>> 2.47.0
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> Thanks for testing. For PHY ID 0x001cc841 there's no PHY driver yet.
>>>>> Following isn't a proper patch but just a quick hack to see whether
>>>>> it makes your NIC work. Could you please apply this change on top
>>>>> and re-test?
>>>>>
>>>>> diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
>>>>> index 166f6a728..1bb8139cb 100644
>>>>> --- a/drivers/net/phy/realtek.c
>>>>> +++ b/drivers/net/phy/realtek.c
>>>>> @@ -1348,7 +1348,7 @@ static struct phy_driver realtek_drvs[] = {
>>>>>                 .read_mmd       = rtl822x_read_mmd,
>>>>>                 .write_mmd      = rtl822x_write_mmd,
>>>>>         }, {
>>>>> -               PHY_ID_MATCH_EXACT(0x001cc840),
>>>>> +               PHY_ID_MATCH_EXACT(0x001cc841),
>>>>>                 .name           = "RTL8226B_RTL8221B 2.5Gbps PHY",
>>>>>                 .get_features   = rtl822x_get_features,
>>>>>                 .config_aneg    = rtl822x_config_aneg,
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> T.M.M BV
>>>> Luc Willems
>>>> Schoolblok 7
>>>> 2275 Lille
>>>>
>>>>
>>>> mobile: 0478/959140
>>>> email: luc.willems@...-m.be
>>>
>>>
>>>
>>
> 
> 


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ