Open prife opened 1 year ago
sudo mv /var/run/usbmuxd /var/run/usbmuxd.bk
修改haproxy.cfg,haproxy,27015 <--> /var/run/usbmuxd.bk
sudo ./wdb
使用tidevice、go-ios等工具测试功能完整性
$ iperf3 -c 127.0.0.1 -p 5201 -t 60
[ ID] Interval Transfer Bitrate
[ 5] 0.00-60.00 sec 2.47 GBytes 353 Mbits/sec sender
[ 5] 0.00-60.00 sec 2.46 GBytes 353 Mbits/sec receiver
^CTraceback (most recent call last):
File "/Users/wetest/.pyenv/versions/3.10.3/bin/tidevice", line 8, in <module>
sys.exit(main())
File "/Users/wetest/.pyenv/versions/3.10.3/lib/python3.10/site-packages/tidevice/__main__.py", line 951, in main
actions[args.subparser](args)
File "/Users/wetest/.pyenv/versions/3.10.3/lib/python3.10/site-packages/tidevice/__main__.py", line 504, in cmd_dump_fps
for data in d.connect_instruments().iter_opengl_data():
File "/Users/wetest/.pyenv/versions/3.10.3/lib/python3.10/site-packages/tidevice/_instruments.py", line 823, in iter_opengl_data
for m in iter(que.get, None):
File "/Users/wetest/.pyenv/versions/3.10.3/lib/python3.10/queue.py", line 171, in get
self.not_empty.wait()
File "/Users/wetest/.pyenv/versions/3.10.3/lib/python3.10/threading.py", line 320, in wait
waiter.acquire()
KeyboardInterrupt
$ tidevice battery
当前电量 91%
充电次数 16次
当前电量 3008mAh
实际容量 3228mAh
设计容量 3208mAh
电池寿命 101%
序列号 F8Y145413KP18FLAH
电池温度 2479/100℃
当前电压 4418mV
开机电压 3328mV
充电器功率 3W
Traceback (most recent call last):
File "/Users/wetest/.pyenv/versions/3.10.3/bin/tidevice", line 8, in <module>
sys.exit(main())
File "/Users/wetest/.pyenv/versions/3.10.3/lib/python3.10/site-packages/tidevice/__main__.py", line 951, in main
actions[args.subparser](args)
File "/Users/wetest/.pyenv/versions/3.10.3/lib/python3.10/site-packages/tidevice/__main__.py", line 412, in cmd_battery
value = value[key]
KeyError: 'Voltage'
不使用wdb转发,测试该问题同样存在。以为该问题为tidevice原生bug
[I 221228 14:55:20 _device:602] ProductVersion: 16.0
[I 221228 14:55:20 _imagemounter:24] Download https://tool.appetizer.io/JinjunHan/iOSDeviceSupport/raw/master/DeviceSupport/16.0.zip -> /Users/wetest/.tidevice/device-support/16.0.zip
[I 221228 14:55:26 _imagemounter:35] '/Users/wetest/.tidevice/device-support/16.0.zip' download successfully
^[[CWARNING:root:The read operation timed out, retrying in 10 seconds...
WARNING:root:The read operation timed out, retrying in 11 seconds...
Traceback (most recent call last):
File "/Users/wetest/.pyenv/versions/3.10.3/lib/python3.10/site-packages/tidevice/_device.py", line 484, in start_service
return self._unsafe_start_service(name)
File "/Users/wetest/.pyenv/versions/3.10.3/lib/python3.10/site-packages/tidevice/_device.py", line 503, in _unsafe_start_service
raise MuxServiceError(error)
tidevice.exceptions.MuxServiceError: InvalidService
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/wetest/.pyenv/versions/3.10.3/bin/tidevice", line 8, in
- ./go-ios image auto,失败,卡住
INFO[0000]utils.go:80 no udid specified using first device in list udid=00008110-000A210C1411801E
- ideviceimagemounter -u 00008110-000A210C1411801E 16.0/DeveloperDiskImage.dmg 16.0/DeveloperDiskImage.dmg.signature
Uploading 16.0/DeveloperDiskImage.dmg ERROR: Unknown error occurred, can't mount. 卡在这里,无法返回
- tidevice developer,测试mount功能,【待测试】
重启设备后,再次执行mount,似乎能成功
- idevicediagnostics restart后,立刻执行ideviceimagemounter -u 00008110-000A210C1411801E 16.0/DeveloperDiskImage.dmg 16.0/DeveloperDiskImage.dmg.signature,成功。
环境:macbook pro (x86) 13.0.1 手机
UDID SerialNumber NAME MarketName ProductVersion ConnType
00008101-000548223A99001E F2LFP2FZ0D5F 胡继的 iPhone iPhone 12 Pro Max 16.1 usb
性能数据采集正常
直接在macmini上执行(中间没有任何转发程序) 两台iphone,执行都必现报错
wetest@ct-eb-node-201:~$ tidevice list
UDID SerialNumber NAME MarketName ProductVersion ConnType
00008110-000A31503401401E QKX7VV9CWW iPhone - 16.2 usb
00008120-0010554E3E44C01E JPHQ7XDKVM iPhone - 16.0.3 usb
wetest@ct-eb-node-201:~$ tidevice -u 00008110-000A31503401401E battery
当前电量 100%
充电次数 2次
当前电量 2955mAh
实际容量 3032mAh
设计容量 3259mAh
电池寿命 93%
序列号 F8Y235109LW231L7Q
电池温度 2939/100℃
当前电压 4336mV
开机电压 4359mV
充电器功率 8W
Traceback (most recent call last):
File "/Users/wetest/Library/Python/3.8/bin/tidevice", line 8, in
wetest@ct-eb-node-201:~$ tidevice -u 00008120-0010554E3E44C01E battery
当前电量 100%
充电次数 1次
当前电量 3048mAh
实际容量 3116mAh
设计容量 3181mAh
电池寿命 98%
序列号 F5D2403L8SP21PK7Z
电池温度 2829/100℃
当前电压 4349mV
开机电压 3362mV
充电器功率 8W
Traceback (most recent call last):
File "/Users/wetest/Library/Python/3.8/bin/tidevice", line 8, in
目前已知的几个现象如下:
wdb[/var/run/usbmuxd] <--> haproxy (:27015 <-> /var/run/usbmuxd.system)
haproxy (/var/run/usbmuxd <-> /var/run/usbmuxd.system)
gocat <--> haproxy
# 启动haproxy,(:27015 <-> /var/run/usbmuxd.bk)
# 启动gocat
sudo ./gocat tcp-to-unix --src 0.0.0.0:27015 --dst /var/run/usbmuxd
sudo chmod 777 /var/run/usbmuxd
测试目标:启动Apple usbmuxd服务后,检测其监听27015端口的网址是127.0.0.1还是0:0:0:0。确认当用户使用windows接入iOS设备时,是否需要Haproxy
macOS/Linux上检测端口可使用 lsof -i tcp:27015
,windows上对等方法
PS C:\Users\Administrator> NETSTAT.EXE -ant | findstr 27015
TCP 127.0.0.1:27015 0.0.0.0:0 LISTENING InHost
使用go-nc测试全局27016端口,然后使用上述命令检查端口状态,可见监听ip为0.0.0.0
PS C:\Users\Administrator> NETSTAT.EXE -ant | findstr 27016
TCP 0.0.0.0:27016 0.0.0.0:0 LISTENING InHost
TCP [::]:27016 [::]:0 LISTENING InHost
总结:
由于HAproxy没有提供windows版本,手动编译需要mingw或者cygwin,较为麻烦;而realm(使用rust编写)提供了多个平台的windows包,因此在windows上使用realm替代Haproxy。
./realm -l 0.0.0.0:27016 -r 127.0.0.1:27015
然后在同一个局域网的mac电脑上启动wdb,并在其中测试各项功能
昨天的初步测试,macOS上出现的现象是:
但奇怪的是,今天重启了几次电脑后该现象消失。后续仍需要留意
$ ping 192.168.0.192 [10:58:47]
PING 192.168.0.192 (192.168.0.192): 56 data bytes
64 bytes from 192.168.0.192: icmp_seq=0 ttl=128 time=6.762 ms
....
64 bytes from 192.168.0.192: icmp_seq=14 ttl=128 time=10.213 ms
64 bytes from 192.168.0.192: icmp_seq=15 ttl=128 time=6.005 ms
^C
--- 192.168.0.192 ping statistics ---
16 packets transmitted, 16 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 3.959/6.945/14.545/2.760 ms
ping指标:round-trip min/avg/max/stddev = 3.959/6.945/14.545/2.760 ms0
$ ./iperf3 -c 127.0.0.1 -p 5201 -t 10
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.01 sec 314 MBytes 263 Mbits/sec sender
[ 4] 0.00-10.01 sec 302 MBytes 253 Mbits/sec receiver
平均速度为263/253Mbps
$ iperf3 -c 127.0.0.1 -p 5201 -t 10
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 185 MBytes 155 Mbits/sec sender
[ 5] 0.00-10.04 sec 182 MBytes 152 Mbits/sec receiver
局域网转发以后,性能损失大约在40%, 155/263=58.93%, 152/253=60.07%
下午windows系统升级到win 10 22H2版本后,重新测试
windows原生效果
局域网转发一次后
这次的损失在47~45%左右。
功能完整性测试
压力测试
异常测试
兼容性测试