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 <joalon...@gmail.com>
> > ---
> >   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 majord...@vger.kernel.org
> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to