Usbmux

usbmux intro ref


This is a system for multiplexing several "connections" over one USB pipe. Conceptually, it provides a TCP-like system-processes on the host machine open up connections to specific, numbered ports on the mobile device. Communications between the host (generally, iTunes running on a Mac or Windows machine) and the device (an iPhone, iPad or iPod touch) take place using a complicated scheme of nested layers. From lowest level to highest, they are: USB protocol: multiplexes multiple data streams over one pair of bulk endpoints
usbmuxd protocol: provides a way of opening connections to TCP ports on the device
lockdownd protocol: tbd
iTunesHelper?
AFC?

this description is from https://www.theiphonewiki.com/wiki/Usbmux. But on my side, usbmuxd communicate with ios device like tcp, so I think we should put it at TCP layer. I think the layer from lowerest to highest may be like this:

usbmuxd protocol: provides a way of opening connections to TCP ports on the device

lockdownd protocol: tbd

iTunesHelper?

AFC?

USB protocol: multiplexes multiple data streams over one pair of bulk endpoints

If you have any idea about this layer, you can contact with me or leave your comments.

usbmuxd location:

code is from tidevice

import os
if os.name == "posix":  # linux or darwin
    address = "/var/run/usbmuxd"
elif os.name == "nt":  # windows
    address = ('127.0.0.1', 27015)

on Mac:

/System/Library/PrivateFrameworks/MobileDevice.framework/Resources/usbmuxd, a daemon that is started by launchd (see /System/Library/LaunchDaemons/com.apple.usbmuxd.plist Catalina: /Library/Apple/System/Library/LaunchDaemons/com.apple.usbmuxd.plist)

on windows: install iTunes, and this usbmuxd is already installed.

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦