View Single Post
Old 02-07-2022, 04:55 PM   #3
rhizomatic
Junior Member
rhizomatic began at the beginning.
 
Posts: 7
Karma: 10
Join Date: Feb 2020
Device: Onyx Note Pro
There's something funky going on with my USB. This morning it refused to recognize all usb peripherals with lsusb hanging. The issue disappeared when I did a full distro update. Now the NotePro is not recognized by the system at all if I connect it directly to a USB port, but is recognized if I connect if to a hub I have running via my USB-C port.

I've installed adb tools and was about to run it, when Calibre recognized the device (tried this a few times, and sometimes it recognizes it, sometimes it doesn't). The toolbar changes, but it gives a an error popup
Spoiler:
Failed to create folder named Document in ('Internal shared storage',) with error: 2:PTP Layer error 2009: LIBMTP_Create_Folder: Could not send object info.
2:Error 2009: PTP Invalid Object Handle

Traceback (most recent call last):
File "/usr/lib64/calibre/calibre/gui2/device.py", line 87, in run
self.result = self.func(*self.args, **self.kwargs)
File "/usr/lib64/calibre/calibre/gui2/device.py", line 512, in _books
mainlist = self.device.books(oncard=None, end_session=False)
File "/usr/lib64/calibre/calibre/devices/mtp/driver.py", line 218, in books
self.get_driveinfo() # Ensure driveinfo is loaded
File "/usr/lib64/calibre/calibre/devices/mtp/driver.py", line 190, in get_driveinfo
self._update_drive_info(self.filesystem_cache.stor age(sid), location_code)
File "/usr/lib64/calibre/calibre/devices/mtp/driver.py", line 180, in _update_drive_info
self.put_calibre_file(storage, 'driveinfo', BytesIO(raw), len(raw))
File "/usr/lib64/calibre/calibre/devices/mtp/driver.py", line 150, in put_calibre_file
parent = self.ensure_parent(storage, path)
File "/usr/lib64/calibre/calibre/devices/mtp/driver.py", line 403, in ensure_parent
parent = self.create_folder(parent, name)
File "/usr/lib64/calibre/calibre/devices/mtp/base.py", line 23, in synchronizer
return func(self, *args, **kwargs)
File "/usr/lib64/calibre/calibre/devices/mtp/unix/driver.py", line 374, in create_folder
raise DeviceError(
calibre.devices.errors.DeviceError: Failed to create folder named Document in ('Internal shared storage',) with error: 2:PTP Layer error 2009: LIBMTP_Create_Folder: Could not send object info.
2:Error 2009: PTP Invalid Object Handle

and somewhat works. I can send a file, it arrives on the device, but Calibre doesn't recognize that it is on the device on the main screen (the green check mark is missing).

The sending format is Books/{author_sort}/{title} - {authors}, I don't know why it is attempting to create a Document folder.

lsusb -v
Spoiler:
Bus 001 Device 037: ID 2207:0011 Fuzhou Rockchip Electronics Company SmartTab
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x2207 Fuzhou Rockchip Electronics Company
idProduct 0x0011 SmartTab
bcdDevice 3.10
iManufacturer 1 Onyx
iProduct 2 NotePro
iSerial 3 G8ERIQZS5N
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x003e
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 4
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 0
iInterface 5 MTP
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 0x02 EP 2 OUT
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 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x001c 1x 28 bytes
bInterval 6
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 66
bInterfaceProtocol 1
iInterface 6 ADB Interface
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
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 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered



getprop|grep usb
Spoiler:
NotePro:/ $ getprop|grep usb
[init.svc.usbd]: [stopped]
[persist.sys.usb.config]: [adb]
[ro.boottime.usbd]: [32186824403]
[ro.product.usbfactory]: [rockchip_usb]
[sys.usb.config]: [mtp,adb]
[sys.usb.configfs]: [1]
[sys.usb.controller]: [ff580000.usb]
[sys.usb.diag.config]: [0]
[sys.usb.ffs.ready]: [1]
[sys.usb.state]: [mtp,adb]
rhizomatic is offline   Reply With Quote