ExactCODE
2014-06-16 16:26:27 UTC
Currently the cdc_ether driver is matched for the Microsoft Surface Doc=
k 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=E9 Rebe <***@exactcode.com>
--- linux-3.15/drivers/net/usb/cdc_ether.c.orig 2014-06-16 18:01:08.153=
110776 +0200
+++ linux-3.15/drivers/net/usb/cdc_ether.c 2014-06-16 18:03:21.46511109=
4 +0200
@@ -659,6 +659,13 @@
.driver_info =3D 0,
},
=20
+/* 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 =3D 0,
+},
+
/* Samsung USB Ethernet Adapters */
{
USB_DEVICE_AND_INTERFACE_INFO(SAMSUNG_VENDOR_ID, 0xa101, USB_CLASS_CO=
MM,
--- linux-3.15/drivers/net/usb/r8152.c.orig 2014-06-16 18:00:54.8731107=
44 +0200
+++ linux-3.15/drivers/net/usb/r8152.c 2014-06-16 18:04:45.721111295 +0=
200
@@ -459,6 +459,9 @@
#define PRODUCT_ID_RTL8152 0x8152
#define PRODUCT_ID_RTL8153 0x8153
=20
+#define VENDOR_ID_MICROSOFT 0x045e
+#define PRODUCT_ID_MICROSOFT 0x07ab
+
#define VENDOR_ID_SAMSUNG 0x04e8
#define PRODUCT_ID_SAMSUNG 0xa101
=20
@@ -3381,6 +3384,22 @@
}
break;
=20
+ case VENDOR_ID_MICROSOFT:
+ switch (id->idProduct) {
+ case PRODUCT_ID_MICROSOFT:
+ ops->init =3D r8152b_init;
+ ops->enable =3D rtl8152_enable;
+ ops->disable =3D rtl8152_disable;
+ ops->up =3D r8152b_exit_oob;
+ ops->down =3D rtl8152_down;
+ ops->unload =3D rtl8152_unload;
+ ret =3D 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[] =3D {
{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)},
{}
};
--=20
ExactCODE GmbH, Jaegerstr. 67, DE-10117 Berlin
DE Legal: Amtsgericht Berlin (Charlottenburg) HRB 105123B, Tax-ID#: DE2=
51602478
Managing Director: Ren=E9 Rebe
http://exactcode.com | http://exactscan.com | http://ocrkit.com | http:=
//t2-project.org | http://rene.rebe.de
k 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=E9 Rebe <***@exactcode.com>
--- linux-3.15/drivers/net/usb/cdc_ether.c.orig 2014-06-16 18:01:08.153=
110776 +0200
+++ linux-3.15/drivers/net/usb/cdc_ether.c 2014-06-16 18:03:21.46511109=
4 +0200
@@ -659,6 +659,13 @@
.driver_info =3D 0,
},
=20
+/* 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 =3D 0,
+},
+
/* Samsung USB Ethernet Adapters */
{
USB_DEVICE_AND_INTERFACE_INFO(SAMSUNG_VENDOR_ID, 0xa101, USB_CLASS_CO=
MM,
--- linux-3.15/drivers/net/usb/r8152.c.orig 2014-06-16 18:00:54.8731107=
44 +0200
+++ linux-3.15/drivers/net/usb/r8152.c 2014-06-16 18:04:45.721111295 +0=
200
@@ -459,6 +459,9 @@
#define PRODUCT_ID_RTL8152 0x8152
#define PRODUCT_ID_RTL8153 0x8153
=20
+#define VENDOR_ID_MICROSOFT 0x045e
+#define PRODUCT_ID_MICROSOFT 0x07ab
+
#define VENDOR_ID_SAMSUNG 0x04e8
#define PRODUCT_ID_SAMSUNG 0xa101
=20
@@ -3381,6 +3384,22 @@
}
break;
=20
+ case VENDOR_ID_MICROSOFT:
+ switch (id->idProduct) {
+ case PRODUCT_ID_MICROSOFT:
+ ops->init =3D r8152b_init;
+ ops->enable =3D rtl8152_enable;
+ ops->disable =3D rtl8152_disable;
+ ops->up =3D r8152b_exit_oob;
+ ops->down =3D rtl8152_down;
+ ops->unload =3D rtl8152_unload;
+ ret =3D 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[] =3D {
{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)},
{}
};
--=20
ExactCODE GmbH, Jaegerstr. 67, DE-10117 Berlin
DE Legal: Amtsgericht Berlin (Charlottenburg) HRB 105123B, Tax-ID#: DE2=
51602478
Managing Director: Ren=E9 Rebe
http://exactcode.com | http://exactscan.com | http://ocrkit.com | http:=
//t2-project.org | http://rene.rebe.de