Lekensteyn / lglaf

LG Download Mode utility and documentation
https://lekensteyn.nl/lglaf/
MIT License
137 stars 74 forks source link

LG D605 (L9II) 'hello' timeout. #64

Open bartoszek opened 5 years ago

bartoszek commented 5 years ago

I've got a problem with executing any command on my LG D605.

I've tried debugging USB with usbmon and Wireshark and noticed that last packet from device to host cames after script throws timeout error. ~Is this normal, or have I stumble upon a bug?~ Ok, it looks like a packet from urb_cancell with -ENOENT status. The phone is boot looped, and I'm looking for a way to get my data back :disappointed:

Sys info:

Wireshark dump:

usbmon-wireshark-fail-hell-lglaf.zip

Command output:

lglfs --debug

LGLAF.py: DEBUG: Detaching kernel driver for intf 0
LGLAF.py: DEBUG: Using endpoints 83 (IN), 02 (OUT)
Traceback (most recent call last):
  File "./lglaf.py", line 510, in <module>
    main()
  File "./lglaf.py", line 492, in main
    try_hello(comm)
  File "./lglaf.py", line 375, in try_hello
    data = comm.read(0x20, timeout=HELLO_READ_TIMEOUT)
  File "./lglaf.py", line 225, in read
    buff = self._read(need, timeout=timeout)
  File "./lglaf.py", line 334, in _read
    array = self.usbdev.read(self.ep_in, 2**14, timeout=timeout)
  File "/home/bartus/.local/lib/python3.7/site-packages/usb/core.py", line 988, in read
    self.__get_timeout(timeout))
  File "/home/bartus/.local/lib/python3.7/site-packages/usb/backend/libusb1.py", line 833, in bulk_read
    timeout)
  File "/home/bartus/.local/lib/python3.7/site-packages/usb/backend/libusb1.py", line 936, in __read
    _check(retval)
  File "/home/bartus/.local/lib/python3.7/site-packages/usb/backend/libusb1.py", line 595, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 110] Operation timed out

kmesg:

sie 08 16:11:48 grafZero kernel: usb 2-9: new high-speed USB device number 44 using xhci_hcd
sie 08 16:11:48 grafZero kernel: usb 2-9: New USB device found, idVendor=1004, idProduct=61f1, bcdDevice= 2.28
sie 08 16:11:48 grafZero kernel: usb 2-9: New USB device strings: Mfr=1, Product=2, SerialNumber=3
sie 08 16:11:48 grafZero kernel: usb 2-9: Product: LG Android USB Device
sie 08 16:11:48 grafZero kernel: usb 2-9: Manufacturer: LG Electronics Inc.
sie 08 16:11:48 grafZero kernel: usb 2-9: SerialNumber: LG-D605-710ec29
sie 08 16:11:48 grafZero kernel: cdc_acm 2-9:1.0: ttyACM0: USB ACM device
sie 08 16:11:48 grafZero kernel: usbcore: registered new interface driver cdc_acm
sie 08 16:11:48 grafZero kernel: cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

lsusb -d 1004: -v


Bus 002 Device 045: ID 1004:61f1 LG Electronics, Inc. Optimus Android Phone [LG Software mode]
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x1004 LG Electronics, Inc.
  idProduct          0x61f1 Optimus Android Phone [LG Software mode]
  bcdDevice            2.28
  iManufacturer           1 LG Electronics Inc.
  iProduct                2 LG Android USB Device
  iSerial                 3 LG-D605-710ec29
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0062
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass       2 Abstract (modem)
      bFunctionProtocol       1 AT-commands (v.25ter)
      iFunction               0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
      iInterface              0 
      CDC Header:
        bcdCDC               1.10
      CDC Call Management:
        bmCapabilities       0x00
        bDataInterface          1
      CDC ACM:
        bmCapabilities       0x02
          line coding and serial state
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        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
      Endpoint Descriptor:
        bLength                 7
        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
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)

wireshark usbmon

Zrzut ekranu z 2019-08-08 16-19-10