danielpaulus / quicktime_video_hack

Record iOS device audio and video
MIT License
520 stars 110 forks source link

Getting the hack to work on Manjaro #115

Open hugeblank opened 2 years ago

hugeblank commented 2 years ago

I generally like to leave more detailed issues with a general explanation of what's probably happening but I have no idea. The best I can offer is a general sequence of commands I ran. I own an iPhone 7, and am using a USB-C to lightning cable, as that's the only one that seems to actually get the device to display on lsusb.

Libararies: libusb: 1.0.24-2 libimobiledevice: 1.3.0-5 gstreamer: 1.18.5-1

Hardware: Operating System: Manjaro Linux KDE Plasma Version: 5.23.5 KDE Frameworks Version: 5.90.0 Qt Version: 5.15.2 Kernel Version: 5.16.5-1-MANJARO (64-bit) Graphics Platform: X11

What I tried: Let's start off with the latest version of qvh pulled directly from github, trying to activate the device:

    ~/Downloads  qvh devices                  ✔ 
{"devices":[{"deviceName":"iPhone","screen_mirroring_enabled":false,"udid":"cfda1e3e28bb88541edb6433f9b1884785b67ba4","usb_device_info":"vid=05ac,pid=12a8,bus=5,addr=9"}]}
    ~/Downloads  qvh activate                 ✔ 
{"level":"info","msg":"no usbSerial specified, using 'cfda1e3e28bb88541edb6433f9b1884785b67ba4'","time":"2022-02-09T23:16:17-08:00"}
{"level":"info","msg":"found Jarvis 15.2.1 for udid cfda1e3e28bb88541edb6433f9b1884785b67ba4","time":"2022-02-09T23:16:18-08:00"}
{"level":"warning","msg":"Error opening usb deviceslibusb: bad access [code -3]","time":"2022-02-09T23:16:18-08:00"}
{"level":"warning","msg":"Failed sending control transfer for enabling hidden QT config. Seems like this happens sometimes but it still works usually: libusb: i/o error [code -1]","time":"2022-02-09T23:16:18-08:00"}
{"level":"warning","msg":"Error opening usb deviceslibusb: bad access [code -3]","time":"2022-02-09T23:16:18-08:00"}
{"level":"warning","msg":"Error opening usb deviceslibusb: bad access [code -3]","time":"2022-02-09T23:16:19-08:00"}
{"level":"warning","msg":"Error opening usb deviceslibusb: bad access [code -3]","time":"2022-02-09T23:16:19-08:00"}
^C
    ~/Downloads  qvh devices                  INT ✘ 
{"devices":[{"deviceName":"iPhone","screen_mirroring_enabled":true,"udid":"cfda1e3e28bb88541edb6433f9b1884785b67ba4","usb_device_info":"vid=05ac,pid=12a8,bus=5,addr=10"}]}
    ~/Downloads  qvh gstreamer                ✔ 
{"level":"info","msg":"no usbSerial specified, using 'cfda1e3e28bb88541edb6433f9b1884785b67ba4'","time":"2022-02-09T23:16:48-08:00"}
{"level":"info","msg":"found Jarvis 15.2.1 for udid cfda1e3e28bb88541edb6433f9b1884785b67ba4","time":"2022-02-09T23:16:48-08:00"}
{"level":"info","msg":"Starting Gstreamer..","time":"2022-02-09T23:16:48-08:00"}
{"level":"info","msg":"Gstreamer is running!","time":"2022-02-09T23:16:49-08:00"}
{"level":"warning","msg":"Error opening usb deviceslibusb: bad access [code -3]","time":"2022-02-09T23:16:49-08:00"}
{"level":"warning","msg":"Error opening usb deviceslibusb: bad access [code -3]","time":"2022-02-09T23:16:49-08:00"}
{"level":"info","msg":"Stopping Gstreamer..","time":"2022-02-09T23:16:49-08:00"}
{"error_message":"failed connecting to usb","original_error":"Could not retrieve config"}

note the ^C. It keeps getting stuck in a loop there. Looks like #99 is fixing this. Checking the devices after attempting to activate shows that screen mirroring was enabled so I'll proceed on to qvh gstreamer. No luck. I ran the gstreamer command again with the -v flag, dumping stderr into this file: stderr.log. Unplugging and re-plugging the device.

Just on the off chance its an access issue, let's try with sudo:

    ~/Downloads  qvh devices                  ✔ 
{"devices":[{"deviceName":"iPhone","screen_mirroring_enabled":false,"udid":"cfda1e3e28bb88541edb6433f9b1884785b67ba4","usb_device_info":"vid=05ac,pid=12a8,bus=5,addr=11"}]}
    ~/Downloads  sudo qvh activate            ✔ 
[sudo] password for hugeblank: 
{"level":"info","msg":"no usbSerial specified, using 'cfda1e3e28bb88541edb6433f9b1884785b67ba4'","time":"2022-02-09T23:30:31-08:00"}
{"level":"info","msg":"found Jarvis 15.2.1 for udid cfda1e3e28bb88541edb6433f9b1884785b67ba4","time":"2022-02-09T23:30:31-08:00"}
{"level":"warning","msg":"Failed sending control transfer for enabling hidden QT config. Seems like this happens sometimes but it still works usually: libusb: i/o error [code -1]","time":"2022-02-09T23:30:32-08:00"}
{"device_activated":{"deviceName":"iPhone","screen_mirroring_enabled":true,"udid":"cfda1e3e28bb88541edb6433f9b1884785b67ba4","usb_device_info":"vid=05ac,pid=12a8,bus=5,addr=12"}}
    ~/Downloads  sudo qvh gstreamer           ✔  5s  
{"level":"info","msg":"no usbSerial specified, using 'cfda1e3e28bb88541edb6433f9b1884785b67ba4'","time":"2022-02-09T23:30:45-08:00"}
{"level":"info","msg":"found Jarvis 15.2.1 for udid cfda1e3e28bb88541edb6433f9b1884785b67ba4","time":"2022-02-09T23:30:45-08:00"}
{"level":"info","msg":"Starting Gstreamer..","time":"2022-02-09T23:30:45-08:00"}
{"level":"info","msg":"Gstreamer is running!","time":"2022-02-09T23:30:45-08:00"}
{"level":"info","msg":"Stopping Gstreamer..","time":"2022-02-09T23:30:46-08:00"}
{"error_message":"failed connecting to usb","original_error":"Could not retrieve config"}

Welp. was worth a shot. seems to have gotten rid of the bad accesses at least! debug log: stderr.log

Alright, I guess I'll try my luck with v0.5.

    ~/Downloads  ./qvh devices             ✔ 
{"devices":[{"deviceName":"iPhone","screen_mirroring_enabled":false,"udid":"cfda1e3e28bb88541edb6433f9b1884785b67ba4","usb_device_info":"vid=05ac,pid=12a8,bus=5,addr=13"}]}
    ~/Downloads  ./qvh activate            ✔ 
{"level":"info","msg":"no udid specified, using 'cfda1e3e28bb88541edb6433f9b1884785b67ba4'","time":"2022-02-09T23:34:42-08:00"}
{"level":"warning","msg":"Error opening usb deviceslibusb: bad access [code -3]","time":"2022-02-09T23:34:42-08:00"}
{"level":"warning","msg":"Error opening usb deviceslibusb: bad access [code -3]","time":"2022-02-09T23:34:42-08:00"}
{"level":"warning","msg":"Error opening usb deviceslibusb: bad access [code -3]","time":"2022-02-09T23:34:43-08:00"}
{"level":"warning","msg":"Error opening usb deviceslibusb: bad access [code -3]","time":"2022-02-09T23:34:44-08:00"}
{"level":"warning","msg":"Error opening usb deviceslibusb: bad access [code -3]","time":"2022-02-09T23:34:44-08:00"}
^C
    ~/Downloads  ./qvh devices             INT ✘ 
{"devices":[{"deviceName":"iPhone","screen_mirroring_enabled":true,"udid":"cfda1e3e28bb88541edb6433f9b1884785b67ba4","usb_device_info":"vid=05ac,pid=12a8,bus=5,addr=14"}]}
    ~/Downloads  ./qvh gstreamer           ✔ 
{"level":"info","msg":"Starting Gstreamer..","time":"2022-02-09T23:34:52-08:00"}
{"level":"info","msg":"Gstreamer is running!","time":"2022-02-09T23:34:52-08:00"}
{"level":"info","msg":"no udid specified, using 'cfda1e3e28bb88541edb6433f9b1884785b67ba4'","time":"2022-02-09T23:34:52-08:00"}
{"level":"warning","msg":"Error opening usb deviceslibusb: bad access [code -3]","time":"2022-02-09T23:34:52-08:00"}
{"level":"warning","msg":"Error opening usb deviceslibusb: bad access [code -3]","time":"2022-02-09T23:34:52-08:00"}
{"level":"info","msg":"Stopping Gstreamer..","time":"2022-02-09T23:34:53-08:00"}
{"error_message":"failed connecting to usb","original_error":"Could not retrieve config"}

no luck: stderr.log

... I give up. If I can provide anymore information/insight into configurations, or run additional commands, I have no problem doing so. I assume that I'm dealing with a variety of issues that already exist but I can't for the life of me verify whether they are the problem I'm having. For example, some of the problems I'm having look a lot like #37, but I'm not getting any segfaults. If someone wants to provide an overview of each problem I'm having (libusb error code -1, libusb error code -3, and Could not retrieve config) and why they're happening that would be a great help.