raleighlittles / PS5-Camera-Firmware-Loader

A cross-platform utility for loading custom firmware onto the PlayStation 5 camera, written in Rust
https://crates.io/crates/ps5_camera_firmware_loader
43 stars 9 forks source link

ERROR: libusb reported error during control transfer, error# = -9 #2

Closed tristan-k closed 1 year ago

tristan-k commented 2 years ago
➜  PS5-Camera-Firmware-Loader git:(master) ✗ sudo cp 100-playstation-camera.rules /etc/udev/rules.d
➜  PS5-Camera-Firmware-Loader git:(master) ✗ sudo udevadm control --reload ; sudo udevadm trigger
➜  PS5-Camera-Firmware-Loader git:(master) ✗ ./ps5_camera_firmware_loader firmware.bin
[timestamp] [threadID] facility level [function call] <message>
--------------------------------------------------------------------------------
[ 0.003456] [0000e31a] libusb: debug [libusb_get_device_list] 
[ 0.003472] [0000e31a] libusb: debug [discovered_devs_append] need to increase capacity
[ 0.003477] [0000e31a] libusb: debug [libusb_get_device_descriptor] 
[ 0.003481] [0000e31a] libusb: debug [libusb_get_device_descriptor] 
[ 0.003484] [0000e31a] libusb: debug [libusb_get_device_descriptor] 
[ 0.003487] [0000e31a] libusb: debug [libusb_get_device_descriptor] 
[ 0.003490] [0000e31a] libusb: debug [libusb_open] open 4.2
[ 0.003503] [0000e31a] libusb: debug [usbi_add_pollfd] add fd 9 events 4
[ 0.003507] [0000e31a] libusb: debug [libusb_kernel_driver_active] interface 0
[ 0.003512] [0000e31a] libusb: debug [libusb_claim_interface] interface 0
[ 0.003556] [0000e31a] libusb: debug [libusb_alloc_transfer] transfer 0x55dcc920dd30
[ 0.003560] [0000e31a] libusb: debug [libusb_submit_transfer] transfer 0x55dcc920dd30
[ 0.003578] [0000e31a] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.003581] [0000e31a] libusb: debug [handle_events] poll fds modified, reallocating
[ 0.003584] [0000e31a] libusb: debug [handle_events] poll() 3 fds with timeout in 60000ms
...
[ 0.090700] [0000e31a] libusb: debug [handle_events] poll() returned 1
[ 0.090709] [0000e31a] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=512
[ 0.090713] [0000e31a] libusb: debug [handle_control_completion] handling completion status 0
[ 0.090716] [0000e31a] libusb: debug [usbi_handle_transfer_completion] transfer 0x55dcc920fec0 has callback 0x7f0d63550fc0
[ 0.090737] [0000e31a] libusb: debug [sync_transfer_cb] actual_length=512
[ 0.090742] [0000e31a] libusb: debug [libusb_free_transfer] transfer 0x55dcc920fec0
[ 0.090748] [0000e31a] libusb: debug [libusb_alloc_transfer] transfer 0x55dcc920fec0
[ 0.090752] [0000e31a] libusb: debug [libusb_submit_transfer] transfer 0x55dcc920fec0
[ 0.090762] [0000e31a] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.090766] [0000e31a] libusb: debug [handle_events] poll() 3 fds with timeout in 60000ms
[ 0.127118] [0000e31a] libusb: debug [handle_events] poll() returned 1
[ 0.127145] [0000e31a] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=512
[ 0.127150] [0000e31a] libusb: debug [handle_control_completion] handling completion status 0
[ 0.127156] [0000e31a] libusb: debug [usbi_handle_transfer_completion] transfer 0x55dcc920fec0 has callback 0x7f0d63550fc0
[ 0.127161] [0000e31a] libusb: debug [sync_transfer_cb] actual_length=512
[ 0.127169] [0000e31a] libusb: debug [libusb_free_transfer] transfer 0x55dcc920fec0
[ 0.127177] [0000e31a] libusb: debug [libusb_alloc_transfer] transfer 0x55dcc920fec0
[ 0.127181] [0000e31a] libusb: debug [libusb_submit_transfer] transfer 0x55dcc920fec0
[ 0.127214] [0000e31a] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.127218] [0000e31a] libusb: debug [handle_events] poll() 3 fds with timeout in 60000ms
[ 0.127728] [0000e31a] libusb: debug [handle_events] poll() returned 1
[ 0.127738] [0000e31a] libusb: debug [reap_for_handle] urb type=2 status=-32 transferred=0
[ 0.127744] [0000e31a] libusb: debug [handle_control_completion] handling completion status -32
[ 0.127748] [0000e31a] libusb: debug [handle_control_completion] unsupported control request
[ 0.127753] [0000e31a] libusb: debug [usbi_handle_transfer_completion] transfer 0x55dcc920fec0 has callback 0x7f0d63550fc0
[ 0.127757] [0000e31a] libusb: debug [sync_transfer_cb] actual_length=0
[ 0.127762] [0000e31a] libusb: debug [libusb_free_transfer] transfer 0x55dcc920fec0
ERROR: libusb reported error during control transfer, error# = -9
[ 0.127847] [0000e31a] libusb: debug [libusb_alloc_transfer] transfer 0x55dcc920fec0
[ 0.127851] [0000e31a] libusb: debug [libusb_submit_transfer] transfer 0x55dcc920fec0
[ 0.127866] [0000e31a] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.127869] [0000e31a] libusb: debug [handle_events] poll() 3 fds with timeout in 60000ms
$ dmesg -w
[ 3062.830002] usb 4-1: new SuperSpeed USB device number 2 using xhci_hcd
[ 3062.850155] usb 4-1: New USB device found, idVendor=05a9, idProduct=0580, bcdDevice= 1.00
[ 3062.850159] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3062.850161] usb 4-1: Product: USB Boot 
[ 3062.850162] usb 4-1: Manufacturer: OmniVision Technologies, Inc.
$ inxi -S
System:    Host: ubuntu Kernel: 5.13.0-35-generic x86_64 bits: 64 Desktop: Gnome 3.36.9 
           Distro: Ubuntu 20.04.4 LTS (Focal Fossa)
raleighlittles commented 2 years ago

I've never encountered this error before.

Error -9 looks like it means a pipe error: https://libusb.sourceforge.io/api-1.0/group__libusb__misc.html#gab2323aa0f04bc22038e7e1740b2f29ef

But from the information presented I can't really determine why you'd get that error.

Just as a workaround, can you maybe try connecting the camera to other USB ports on your device? Make sure you're connecting it to a USB 3 port.

I noticed your dmesg output differed from mine in that mine says "SuperSpeed Gen 1" and yours just says "SuperSpeed". Not sure if that's related at all.

Sorry I couldn't be of more use.

raleighlittles commented 1 year ago

I'm going to go ahead and close this issue, I wasn't able to reproduce it, and without any information I can't really debug it. If it's still happening when you're using the latest version, re-open it and then we can discuss.

parkerlreed commented 1 month ago

I know this is old, but make sure you didn't accidentally download the HTML of the firmware page rather than the raw binary. Pipe error is thrown when you do that...