On Mon, 2016-01-04 at 12:32 +0700, Lars Melin wrote: > 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. Probably used by a bunch of Samsung WWAN modems. I have a SGH-Z810 (UMTS) that also uses this ID in regular modem mode. Dan > 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 -- 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