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,

Reply via email to