* [PATCH] r8152: add PID for the Lenovo OneLink+ Dock
@ 2022-08-24 16:13 JFLF
2022-08-24 16:19 ` Greg KH
0 siblings, 1 reply; 2+ messages in thread
From: JFLF @ 2022-08-24 16:13 UTC (permalink / raw)
To: oliver, davem, edumazet, kuba, pabeni, linux-usb, netdev, linux-kernel
Cc: JFLF
The Lenovo OneLink+ Dock contains an RTL8153 controller that behaves as
a broken CDC device by default. Add the custom Lenovo PID to the r8152
driver to support it properly.
Also, systems compatible with this dock provide a BIOS option to enable
MAC address passthrough (as per Lenovo document "ThinkPad Docking
Solutions 2017"). Add the custom PID to the MAC passthrough list too.
Tested on a ThinkPad 13 1st gen with the expected results:
passthrough disabled: Invalid header when reading pass-thru MAC addr
passthrough enabled: Using pass-thru MAC addr XX:XX:XX:XX:XX:XX
Signed-off-by: JFLF <jflf_kernel@gmx.com>
---
drivers/net/usb/cdc_ether.c | 7 +++++++
drivers/net/usb/r8152.c | 3 +++
2 files changed, 10 insertions(+)
diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c
index 2de09ad5b..e11f70911 100644
--- a/drivers/net/usb/cdc_ether.c
+++ b/drivers/net/usb/cdc_ether.c
@@ -777,6 +777,13 @@ static const struct usb_device_id products[] = {
},
#endif
+/* Lenovo ThinkPad OneLink+ Dock (based on Realtek RTL8153) */
+{
+ USB_DEVICE_AND_INTERFACE_INFO(LENOVO_VENDOR_ID, 0x3054, USB_CLASS_COMM,
+ USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
+ .driver_info = 0,
+},
+
/* ThinkPad USB-C Dock (based on Realtek RTL8153) */
{
USB_DEVICE_AND_INTERFACE_INFO(LENOVO_VENDOR_ID, 0x3062, USB_CLASS_COMM,
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index 0f6efaaba..e692a1576 100644
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -770,6 +770,7 @@ enum rtl8152_flags {
RX_EPROTO,
};
+#define DEVICE_ID_THINKPAD_ONELINK_PLUS_DOCK 0x3054
#define DEVICE_ID_THINKPAD_THUNDERBOLT3_DOCK_GEN2 0x3082
#define DEVICE_ID_THINKPAD_USB_C_DONGLE 0x720c
#define DEVICE_ID_THINKPAD_USB_C_DOCK_GEN2 0xa387
@@ -9584,6 +9585,7 @@ static bool rtl8152_supports_lenovo_macpassthru(struct usb_device *udev)
if (vendor_id == VENDOR_ID_LENOVO) {
switch (product_id) {
+ case DEVICE_ID_THINKPAD_ONELINK_PLUS_DOCK:
case DEVICE_ID_THINKPAD_THUNDERBOLT3_DOCK_GEN2:
case DEVICE_ID_THINKPAD_USB_C_DOCK_GEN2:
case DEVICE_ID_THINKPAD_USB_C_DOCK_GEN3:
@@ -9831,6 +9833,7 @@ static const struct usb_device_id rtl8152_table[] = {
REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x0927),
REALTEK_USB_DEVICE(VENDOR_ID_SAMSUNG, 0xa101),
REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x304f),
+ REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3054),
REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3062),
REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3069),
REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3082),
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] r8152: add PID for the Lenovo OneLink+ Dock
2022-08-24 16:13 [PATCH] r8152: add PID for the Lenovo OneLink+ Dock JFLF
@ 2022-08-24 16:19 ` Greg KH
0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2022-08-24 16:19 UTC (permalink / raw)
To: JFLF
Cc: oliver, davem, edumazet, kuba, pabeni, linux-usb, netdev, linux-kernel
On Wed, Aug 24, 2022 at 06:13:07PM +0200, JFLF wrote:
> The Lenovo OneLink+ Dock contains an RTL8153 controller that behaves as
> a broken CDC device by default. Add the custom Lenovo PID to the r8152
> driver to support it properly.
>
> Also, systems compatible with this dock provide a BIOS option to enable
> MAC address passthrough (as per Lenovo document "ThinkPad Docking
> Solutions 2017"). Add the custom PID to the MAC passthrough list too.
>
> Tested on a ThinkPad 13 1st gen with the expected results:
>
> passthrough disabled: Invalid header when reading pass-thru MAC addr
> passthrough enabled: Using pass-thru MAC addr XX:XX:XX:XX:XX:XX
>
> Signed-off-by: JFLF <jflf_kernel@gmx.com>
Again, we need a real name, thanks.
greg k-h
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-08-24 16:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-24 16:13 [PATCH] r8152: add PID for the Lenovo OneLink+ Dock JFLF
2022-08-24 16:19 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).