ios-screen-record icon indicating copy to clipboard operation
ios-screen-record copied to clipboard

ubuntu下空闲设备接入,执行record时显示usb.core.USBError: [Errno 16] Resource busy错误

Open pansionpan opened this issue 2 years ago • 3 comments

2022-08-24 04:53:58,088 - util.py[line:91] - INFO: Disabling hidden QT config  
Traceback (most recent call last):  
File "/home/root/.local/bin/ioscreen", line 8, in  
sys.exit(main())  
File "/home/root/.local/lib/python3.8/site-packages/ioscreen/main.py", line 56, in main  
args.func(args)  
File "/home/root/.local/lib/python3.8/site-packages/ioscreen/main.py", line 12, in cmd_record_wavstart_reading(consumer, device, stopSignal)  
File "/home/root/.local/lib/python3.8/site-packages/ioscreen/util.py", line 152, in start_reading
device.set_configuration()  
File "/home/root/.local/lib/python3.8/site-packages/usb/core.py", line 905, in set_configuration
self._ctx.managed_set_configuration(self, configuration)  
File "/home/root/.local/lib/python3.8/site-packages/usb/core.py", line 113, in wrapper
return f(self, *args, **kwargs)  
File "/home/root/.local/lib/python3.8/site-packages/usb/core.py", line 159, in managed_set_configuration
self.backend.set_configuration(self.handle, cfg.bConfigurationValue)  
File "/home/root/.local/lib/python3.8/site-packages/usb/backend/libusb1.py", line 812, in set_configuration
_check(self.lib.libusb_set_configuration(dev_handle.handle, config_value))  
File "/home/root/.local/lib/python3.8/site-packages/usb/backend/libusb1.py", line 604, in _check
raise USBError(_strerror(ret), ret, _libusb_errno[ret])  
usb.core.USBError: [Errno 16] Resource busy```



问题似乎出现在`device.set_configuration(config_index)`函数上,我把这个函数注释掉后执行命令
```2022-08-30 04:55:11,230 - util.py[line:58] - INFO: Find Device UDID: 00008101001645560C42001E  
2022-08-30 04:55:11,232 - util.py[line:91] - INFO: Disabling hidden QT config  
2022-08-30 04:55:11,233 - util.py[line:155] - INFO: enable_qt_config..  
2022-08-30 04:55:11,233 - util.py[line:71] - INFO: Enabling hidden QT config  
2022-08-30 04:55:11,235 - util.py[line:58] - INFO: Find Device UDID: 00008101001645560C42001E  
2022-08-30 04:55:11,238 - util.py[line:178] - INFO: USB connection ready, waiting for ping..  
2022-08-30 04:55:14,243 - util.py[line:193] - WARNING: [Errno 110] Operation timed out  
2022-08-30 04:55:14,243 - meaasge.py[line:168] - INFO: Telling device to stop streaming..  
2022-08-30 04:55:14,243 - util.py[line:91] - INFO: Disabling hidden QT config```


bytestream内似乎接受不到data数据。

请问有什么好的建议,或者解决办法么。不胜感激

pansionpan avatar Aug 30 '22 12:08 pansionpan

这种情况一般是没有成功配对,从新配对下

YueChen-C avatar Aug 31 '22 02:08 YueChen-C

对于您刚才提到的配对问题,我这边执行的命令是:ioscreen --udid 00008101001645560C42001E record -h264File=./out.h264 -wavFile=./out.avi 指定了设备的udid,并且在运行时保证同一时间只有一个设备处于usb链接状态。当出现usb.core.USBError: [Errno 16] Resource busy问题时,我对设备也 进行了重新插拔,但是依旧卡在这个问题上。

针对这个问题,我也进行了相关搜寻。最后在这个网址中在尝试使用pyusb从USB设备读取数据时,我一直收到"usb.core.USBError:[Errno 16] Resource busy“的提示 - 问答 - 腾讯云开发者社区-腾讯云 (tencent.com) 看到似乎是device.set_configuration()函数的问题,文章answer中建议注释掉此函数。当我注释掉util.py代码153行和165行代码中device.set_configuration()函数后, 脚本可以正常执行,但新问题是 2022-08-30 19:50:55,451 - util.py[line:58] - INFO: Find Device UDID: 00008101001645560C42001E 2022-08-30 19:50:55,452 - util.py[line:91] - INFO: Disabling hidden QT config 2022-08-30 19:50:55,453 - util.py[line:155] - INFO: enable_qt_config.. 2022-08-30 19:50:55,453 - util.py[line:71] - INFO: Enabling hidden QT config 2022-08-30 19:50:55,455 - util.py[line:58] - INFO: Find Device UDID: 00008101001645560C42001E 2022-08-30 19:50:55,457 - util.py[line:178] - INFO: USB connection ready, waiting for ping.. 2022-08-30 19:50:58,461 - util.py[line:193] - WARNING: [Errno 110] Operation timed out 2022-08-30 19:50:58,462 - meaasge.py[line:168] - INFO: Telling device to stop streaming.. 2022-08-30 19:50:58,462 - util.py[line:91] - INFO: Disabling hidden QT config

脚本似乎监听不到信息。这个问题一直困扰着我,因为我对于usb通信方面知识很单薄,只好期盼能得到您的帮助。

------------------ 原始邮件 ------------------ 发件人: "YueChen-C/ios-screen-record" @.>; 发送时间: 2022年8月31日(星期三) 上午10:46 @.>; 抄送: "Yiho @.@.>; 主题: Re: [YueChen-C/ios-screen-record] ubuntu下空闲设备接入,执行record时显示usb.core.USBError: [Errno 16] Resource busy错误 (Issue #14)

这种情况一般是没有成功配对,从新配对下

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

pansionpan avatar Aug 31 '22 03:08 pansionpan

这个库没有提供配对的能力,你可以用我另外一个库来实现配对。或者用 idevicepair 命令来实现配对认证后,在进行尝试

YueChen-C avatar Sep 01 '22 01:09 YueChen-C