Re: [PATCH] cdc_acm: blacklist Samsung Phones in firmware update mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2016-01-04 05:00, Jose Alonso wrote:

The program Heimdall (http://glassechidna.com.au/heimdall) is used
to flash a new firmware in Samsung Mobile Phones. It uses only the
library libusb to access the device.

The module "cdc_acm" recognizes it as CDC ACM device, creates a
device /dev/ttyACM* and send a USB_CDC_REQ_SET_LINE_CODING. Then,
for some phones when Heimdall call libusb_set_interface_alt_setting
or libusb_get_string_descriptor_ascii the device locks.
Also, the ModemManager initialization locks the device.

There are 3 devices used by Samsung in firmware update mode:
idVendor=0x04e8  idProduct=0x6601 idProduct=0x685d IdProduct=0x68c3
source:
(https://github.com/Benjamin-Dobell/Heimdall/blob/master/heimdall/
          source/BridgeManager.h)

Signed-off-by: Jose Alonso <joalonsof@xxxxxxxxx>
---
  drivers/usb/class/cdc-acm.c | 11 +++++++++++
  1 file changed, 11 insertions(+)

diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 26ca4f9..8728afc 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -1843,6 +1843,17 @@ static const struct usb_device_id acm_ids[] = {
  	.driver_info = IGNORE_DEVICE,
  	},

+	/* Exclude Samsung Mobile Phones in firmware update mode */
+	{ USB_DEVICE(0x04e8, 0x6601),
+	.driver_info = IGNORE_DEVICE,
+	},
+	{ USB_DEVICE(0x04e8, 0x685d),
+	.driver_info = IGNORE_DEVICE,
+	},
+	{ USB_DEVICE(0x04e8, 0x68c3),
+	.driver_info = IGNORE_DEVICE,
+	},
+
  	/* control interfaces without any protocol set */
  	{ USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
  		USB_CDC_PROTO_NONE) },
--

NAK

04e8:6601 is also used for Samsung SCH-U209 CDMA modem so can not be ignored.
04e8:685d is an update mode id so it can be ignored by cdc-acm.
04e8:68c3 does not look like update mode, it has cdc-acm modem and cdc-acm device management interfaces.


wbr
Lars
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux