| From 7f2719f0003da1ad13124ef00f48d7514c79e30d Mon Sep 17 00:00:00 2001 |
| From: Perry Hung <iperry@gmail.com> |
| Date: Wed, 22 Oct 2014 23:31:34 -0400 |
| Subject: usb: serial: ftdi_sio: add "bricked" FTDI device PID |
| |
| From: Perry Hung <iperry@gmail.com> |
| |
| commit 7f2719f0003da1ad13124ef00f48d7514c79e30d upstream. |
| |
| An official recent Windows driver from FTDI detects counterfeit devices |
| and reprograms the internal EEPROM containing the USB PID to 0, effectively |
| bricking the device. |
| |
| Add support for this VID/PID pair to correctly bind the driver on these |
| devices. |
| |
| See: |
| http://hackaday.com/2014/10/22/watch-that-windows-update-ftdi-drivers-are-killing-fake-chips/ |
| |
| Signed-off-by: Perry Hung <iperry@gmail.com> |
| Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Johan Hovold <johan@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/serial/ftdi_sio.c | 1 + |
| drivers/usb/serial/ftdi_sio_ids.h | 6 ++++++ |
| 2 files changed, 7 insertions(+) |
| |
| --- a/drivers/usb/serial/ftdi_sio.c |
| +++ b/drivers/usb/serial/ftdi_sio.c |
| @@ -140,6 +140,7 @@ static struct ftdi_sio_quirk ftdi_8u2232 |
| * /sys/bus/usb-serial/drivers/ftdi_sio/new_id and send a patch or report. |
| */ |
| static const struct usb_device_id id_table_combined[] = { |
| + { USB_DEVICE(FTDI_VID, FTDI_BRICK_PID) }, |
| { USB_DEVICE(FTDI_VID, FTDI_ZEITCONTROL_TAGTRACE_MIFARE_PID) }, |
| { USB_DEVICE(FTDI_VID, FTDI_CTI_MINI_PID) }, |
| { USB_DEVICE(FTDI_VID, FTDI_CTI_NANO_PID) }, |
| --- a/drivers/usb/serial/ftdi_sio_ids.h |
| +++ b/drivers/usb/serial/ftdi_sio_ids.h |
| @@ -30,6 +30,12 @@ |
| |
| /*** third-party PIDs (using FTDI_VID) ***/ |
| |
| +/* |
| + * Certain versions of the official Windows FTDI driver reprogrammed |
| + * counterfeit FTDI devices to PID 0. Support these devices anyway. |
| + */ |
| +#define FTDI_BRICK_PID 0x0000 |
| + |
| #define FTDI_LUMEL_PD12_PID 0x6002 |
| |
| /* |