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  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Mon, 16 Jun 2014 18:26:27 +0200
From:	ExactCODE <rene@...ctcode.com>
To:	linux-net@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH] Microsoft Sufrace Dock USB Ethernet

Currently the cdc_ether driver is matched for the Microsoft Surface Dock USB port,
however it does not work and will not send/receive any packets. Instead using the
r8152 driver explicitly appears to work fine for me, so far.

 Signed-off-by: René Rebe <rene@...ctcode.com>

--- linux-3.15/drivers/net/usb/cdc_ether.c.orig	2014-06-16 18:01:08.153110776 +0200
+++ linux-3.15/drivers/net/usb/cdc_ether.c	2014-06-16 18:03:21.465111094 +0200
@@ -659,6 +659,13 @@
 	.driver_info = 0,
 },
 
+/* Microsoft Surface Dock Ethernet Adapter */
+{
+	USB_DEVICE_AND_INTERFACE_INFO(0x045e, 0x07ab, USB_CLASS_COMM,
+			USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
+	.driver_info = 0,
+},
+
 /* Samsung USB Ethernet Adapters */
 {
 	USB_DEVICE_AND_INTERFACE_INFO(SAMSUNG_VENDOR_ID, 0xa101, USB_CLASS_COMM,
--- linux-3.15/drivers/net/usb/r8152.c.orig	2014-06-16 18:00:54.873110744 +0200
+++ linux-3.15/drivers/net/usb/r8152.c	2014-06-16 18:04:45.721111295 +0200
@@ -459,6 +459,9 @@
 #define PRODUCT_ID_RTL8152		0x8152
 #define PRODUCT_ID_RTL8153		0x8153
 
+#define VENDOR_ID_MICROSOFT		0x045e
+#define PRODUCT_ID_MICROSOFT		0x07ab
+
 #define VENDOR_ID_SAMSUNG		0x04e8
 #define PRODUCT_ID_SAMSUNG		0xa101
 
@@ -3381,6 +3384,22 @@
 		}
 		break;
 
+	case VENDOR_ID_MICROSOFT:
+		switch (id->idProduct) {
+		case PRODUCT_ID_MICROSOFT:
+			ops->init		= r8152b_init;
+			ops->enable		= rtl8152_enable;
+			ops->disable		= rtl8152_disable;
+			ops->up			= r8152b_exit_oob;
+			ops->down		= rtl8152_down;
+			ops->unload		= rtl8152_unload;
+			ret = 0;
+			break;
+		default:
+			break;
+		}
+		break;
+
 	case VENDOR_ID_SAMSUNG:
 		switch (id->idProduct) {
 		case PRODUCT_ID_SAMSUNG:
@@ -3512,6 +3531,7 @@
 static struct usb_device_id rtl8152_table[] = {
 	{USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8152)},
 	{USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8153)},
+	{USB_DEVICE(VENDOR_ID_MICROSOFT, PRODUCT_ID_MICROSOFT)},
 	{USB_DEVICE(VENDOR_ID_SAMSUNG, PRODUCT_ID_SAMSUNG)},
 	{}
 };
-- 
ExactCODE GmbH, Jaegerstr. 67, DE-10117 Berlin
DE Legal: Amtsgericht Berlin (Charlottenburg) HRB 105123B, Tax-ID#: DE251602478
Managing Director: René Rebe
http://exactcode.com | http://exactscan.com | http://ocrkit.com | http://t2-project.org | http://rene.rebe.de

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists