On Mon, Mar 02, 2020 at 04:04:46PM +0100, David Demelier wrote:
>
> >Synopsis: cdce0 unable to acquire a lease if laptop boots docked to
> >station
> >Category: kernel
> >Environment:
> System : OpenBSD 6.6
> Details : OpenBSD 6.6 (GENERIC.MP) #5: Sun Feb 16 01:56:11 MST 2020
>
> [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>
> Architecture: OpenBSD.amd64
> Machine : amd64
> >Description:
>
> Hello,
>
> I have a onelink+ dock that I connect to my Thinkpad x1 Carbon 4th (2016). It
> has a USB ethernet interface detected correctly by cdce(4) driver.
>
> I realized that dhclient is unable to acquire a lease from it if I boot my
> laptop *already* docked. Otherwise, if I boot my laptop with OpenBSD and wait
> until it's finished and *then* dock it into the station, the cdce driver
> appears
> and dhclient will acquire a lease if ran simply with `dhclient cdce0`.
>
> What's interesting is that ifconfig output is different when docking after the
> boot.
The OneLink+ is based on a RTL8153 chipset, could you try this patch? Thanks.
Index: sys/dev/usb/if_ure.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/if_ure.c,v
retrieving revision 1.13
diff -u -p -u -p -r1.13 if_ure.c
--- sys/dev/usb/if_ure.c 7 Dec 2019 08:45:28 -0000 1.13
+++ sys/dev/usb/if_ure.c 4 Mar 2020 02:23:09 -0000
@@ -71,6 +71,7 @@ int uredebug = 0;
#endif
const struct usb_devno ure_devs[] = {
+ { USB_VENDOR_LENOVO, USB_PRODUCT_LENOVO_ONELINKPLUS },
{ USB_VENDOR_LENOVO, USB_PRODUCT_LENOVO_DOCK_ETHERNET },
{ USB_VENDOR_REALTEK, USB_PRODUCT_REALTEK_RTL8152 },
{ USB_VENDOR_REALTEK, USB_PRODUCT_REALTEK_RTL8153 },
Index: sys/dev/usb/usbdevs
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdevs,v
retrieving revision 1.711
diff -u -p -u -p -r1.711 usbdevs
--- sys/dev/usb/usbdevs 23 Feb 2020 11:52:10 -0000 1.711
+++ sys/dev/usb/usbdevs 4 Mar 2020 02:23:09 -0000
@@ -2531,6 +2531,7 @@ product LEADTEK 9531 0x2101 9531 GPS
/* Lenovo products */
product LENOVO AX88179 0x304b AX88179
+product LENOVO ONELINKPLUS 0x3054 OneLink+ Dock
product LENOVO DOCK_ETHERNET 0x3062 USB-C Dock Ethernet
product LENOVO ETHERNET 0x7203 USB 2.0 Ethernet
Index: sys/dev/usb/usbdevs.h
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdevs.h,v
retrieving revision 1.723
diff -u -p -u -p -r1.723 usbdevs.h
--- sys/dev/usb/usbdevs.h 23 Feb 2020 11:52:44 -0000 1.723
+++ sys/dev/usb/usbdevs.h 4 Mar 2020 02:23:09 -0000
@@ -1,4 +1,4 @@
-/* $OpenBSD: usbdevs.h,v 1.723 2020/02/23 11:52:44 jasper Exp $ */
+/* $OpenBSD$ */
/*
* THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
@@ -2538,6 +2538,7 @@
/* Lenovo products */
#define USB_PRODUCT_LENOVO_AX88179 0x304b /* AX88179 */
+#define USB_PRODUCT_LENOVO_ONELINKPLUS 0x3054 /* OneLink+
Dock */
#define USB_PRODUCT_LENOVO_DOCK_ETHERNET 0x3062 /*
USB-C Dock Ethernet */
#define USB_PRODUCT_LENOVO_ETHERNET 0x7203 /* USB 2.0
Ethernet */
Index: sys/dev/usb/usbdevs_data.h
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdevs_data.h,v
retrieving revision 1.717
diff -u -p -u -p -r1.717 usbdevs_data.h
--- sys/dev/usb/usbdevs_data.h 23 Feb 2020 11:52:45 -0000 1.717
+++ sys/dev/usb/usbdevs_data.h 4 Mar 2020 02:23:09 -0000
@@ -1,4 +1,4 @@
-/* $OpenBSD: usbdevs_data.h,v 1.717 2020/02/23 11:52:45 jasper Exp $
*/
+/* $OpenBSD$ */
/*
* THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
@@ -5556,6 +5556,10 @@ const struct usb_known_product usb_known
{
USB_VENDOR_LENOVO, USB_PRODUCT_LENOVO_AX88179,
"AX88179",
+ },
+ {
+ USB_VENDOR_LENOVO, USB_PRODUCT_LENOVO_ONELINKPLUS,
+ "OneLink+ Dock",
},
{
USB_VENDOR_LENOVO, USB_PRODUCT_LENOVO_DOCK_ETHERNET,