This is the output of udevadm monitor -k KERNEL[41346.476368] add /devices/pci0000:00/0000:00:12.2/usb1/1-3 (usb) KERNEL[41346.517737] add /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.0 (usb) KERNEL[41346.558013] add /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1 (usb) KERNEL[41346.597920] bind /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.0 (usb) KERNEL[41346.597986] add /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1/tty/ttyACM0 (tty) KERNEL[41346.598012] bind /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1 (usb) KERNEL[41346.598032] bind /devices/pci0000:00/0000:00:12.2/usb1/1-3 (usb) KERNEL[41349.145437] remove /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1/tty/ttyACM0 (tty) KERNEL[41349.145464] unbind /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1 (usb) KERNEL[41349.145481] unbind /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.0 (usb) KERNEL[41349.145498] remove /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.0 (usb) KERNEL[41349.145514] remove /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1 (usb) KERNEL[41349.145582] unbind /devices/pci0000:00/0000:00:12.2/usb1/1-3 (usb) KERNEL[41349.145601] remove /devices/pci0000:00/0000:00:12.2/usb1/1-3 (usb) About the software to patch, If I start the software (SP Flash Tool) after connecting the device, the program waits for it to be connected, so I disconnect and reconnect the phone, then the process begins, but it fails because of a disconnection. However, after reading your comments, I started the flashing tool and clicked download (flash). Then I connected the device. It worked. So it was what you suggested: > Could it be that you don't simply don't have the required software to > actually initiate the firmware loading before the device disconnects? Thank you very much. My best Regards to all of you. Salvador Pérez. On Fri, Feb 1, 2019 at 3:02 AM Johan Hovold <johan@xxxxxxxxxx> wrote: > > Adding Oliver and Macpaul Lin. > > On Thu, Jan 31, 2019 at 06:54:24PM -0600, Carlos Salvador Pérez Salgado wrote: > > ---------- Forwarded message --------- > > >From: Johan Hovold <johan@***************> > > >Date: Thu, Jan 31, 2019 at 9:27 AM > > >Subject: Re: MT65xx Preloader 0e8d:2000, Kernel 4.20.5.1 > > >To: Carlos Salvador Pérez Salgado <ing.salvadorperez@***************> > > >Cc: Johan Hovold <jhovold@***************> > > > > >On Thu, Jan 31, 2019 at 05:57:01AM -0600, Carlos Salvador Pérez Salgado wrote: > > >> Hello, > > >> > > >> first of all, I want to apologize for the annoyance this message could > > >> cause to you. > > >> The matter is that I want to flash a pair of cell phones which are > > >> softbricked and I don't use MS Windows at any of my computers. > > >< > > >> I am currently using Artix linux with kernel 4.20.5.1. When I plug any of > > >> the phones with their battery removed, the Kernel identifies the device as > > >> MT65xxx Preloader and cdc_acm kicks in; the problem is that probing the > > >> device fails with error -22, and the reason given is "Zero length > > >> descriptor references", which as far I could understand in the source file > > >> of cdc_acm, is the response given when the driver fails. > > >> > > >> Should I need any firmware to get it work? Am I doing something wrong? > > >> > > >> Salvador Pérez > > > > > >You can try setting the NO_UNION_NORMAL flag for your device (e.g. in > > >the driver). > > >Make sure to include the output of "lsusb -v" for your device in your > > >report. And make sure to include any privacy footers in your mail when > > >posting to the list. > > > Here I add the requested information. > > I had to use a loop in order to pipe this to a file because the device > > disappears very fast. > > Judging from a quick look, the descriptors look fine (and you don̈́'t need > NO_UNION_NORMAL). Not sure why we have decided to try to bind the data > interface, which could result in the -EINVAL (-22) error you're seeing. > The ACM interface should bind though. Can you confirm this by for > example running > > udevadm monitor -k > > while connecting the device? > > Could it be that you don't simply don't have the required software to > actually initiate the firmware loading before the device disconnects? > > > $ lsusb -v -d 0e8d:2000 > > > > Bus 001 Device 002: ID 0e8d:2000 MediaTek Inc. MT65xx Preloader > > Device Descriptor: > > bLength 18 > > bDescriptorType 1 > > bcdUSB 2.00 > > bDeviceClass 2 Communications > > bDeviceSubClass 0 > > bDeviceProtocol 0 > > bMaxPacketSize0 64 > > idVendor 0x0e8d MediaTek Inc. > > idProduct 0x2000 MT65xx Preloader > > bcdDevice 1.00 > > iManufacturer 1 MediaTek > > iProduct 2 MT65xx Preloader > > iSerial 0 > > bNumConfigurations 1 > > Configuration Descriptor: > > bLength 9 > > bDescriptorType 2 > > wTotalLength 0x0046 > > bNumInterfaces 2 > > bConfigurationValue 1 > > iConfiguration 3 USB CDC ACM for preloader > > bmAttributes 0xc0 > > Self Powered > > MaxPower 500mA > > Interface Descriptor: > > bLength 9 > > bDescriptorType 4 > > bInterfaceNumber 0 > > bAlternateSetting 0 > > bNumEndpoints 2 > > bInterfaceClass 10 CDC Data > > bInterfaceSubClass 0 > > bInterfaceProtocol 0 > > iInterface 4 CDC ACM Data Interface > > Endpoint Descriptor: > > bLength 8 > > bDescriptorType 5 > > bEndpointAddress 0x01 EP 1 OUT > > bmAttributes 2 > > Transfer Type Bulk > > Synch Type None > > Usage Type Data > > wMaxPacketSize 0x0200 1x 512 bytes > > bInterval 0 > > Endpoint Descriptor: > > bLength 8 > > bDescriptorType 5 > > bEndpointAddress 0x81 EP 1 IN > > bmAttributes 2 > > Transfer Type Bulk > > Synch Type None > > Usage Type Data > > wMaxPacketSize 0x0200 1x 512 bytes > > bInterval 0 > > Interface Descriptor: > > bLength 9 > > bDescriptorType 4 > > bInterfaceNumber 1 > > bAlternateSetting 0 > > bNumEndpoints 1 > > bInterfaceClass 2 Communications > > bInterfaceSubClass 2 Abstract (modem) > > bInterfaceProtocol 1 AT-commands (v.25ter) > > iInterface 5 CDC ACM Communication Interface > > CDC Header: > > bcdCDC 1.10 > > CDC ACM: > > bmCapabilities 0x0f > > connection notifications > > sends break > > line coding and serial state > > get/set/clear comm features > > CDC Union: > > bMasterInterface 1 > > bSlaveInterface 0 > > CDC Call Management: > > bmCapabilities 0x03 > > call management > > use DataInterface > > bDataInterface 0 > > Endpoint Descriptor: > > bLength 8 > > bDescriptorType 5 > > bEndpointAddress 0x83 EP 3 IN > > bmAttributes 3 > > Transfer Type Interrupt > > Synch Type None > > Usage Type Data > > wMaxPacketSize 0x0040 1x 64 bytes > > bInterval 16 > > can't get debug descriptor: Resource temporarily unavailable > > Device Status: 0x0001 > > Self Powered > > > > I had also found this thread which seems related: > > https://www.spinics.net/lists/linux-usb/msg175130.html > > Yeah, that's the patch adding support for your device. The descriptors > reported there appear to match yours (again, after a quick comparison), > so everything should work (unless I'm missing something). > > Johan -- Carlos Salvador Pérez Salgado Cel. (55)3 842 7968. IMPORTANTE: Este correo electrónico es confidencial y para uso exclusivo de la(s) persona(s) a quien(es) se dirige. Si usted no es el destinatario, se le notifica que cualquier distribución o copia está estrictamente prohibida. Si ha recibido este correo por error, le solicitamos borrarlo definitivamente de su sistema y notificar inmediatamente a la persona que lo envió. Antes de imprimir este mensaje, por favor compruebe que es necesario hacerlo.