diff options
author | 2019-12-16 17:59:45 +0100 | |
---|---|---|
committer | 2019-12-16 17:59:45 +0100 | |
commit | ec5ff91cfabd30637f8af8f5c79baf4d7818ce57 (patch) | |
tree | 71932eafb3493fb38a1239b281dc9fc41aa80865 | |
parent | 9af2b12552693a47601347e1eafc1e94132d727e (diff) | |
download | usbmuxd-ec5ff91cfabd30637f8af8f5c79baf4d7818ce57.tar.gz usbmuxd-ec5ff91cfabd30637f8af8f5c79baf4d7818ce57.tar.bz2 |
Support T2 chip in restore mode
-rw-r--r-- | src/usb.c | 5 | ||||
-rw-r--r-- | src/usb.h | 1 | ||||
-rw-r--r-- | udev/39-usbmuxd.rules.in | 8 |
3 files changed, 8 insertions, 6 deletions
@@ -380,8 +380,9 @@ static int usb_device_add(libusb_device* dev) | |||
380 | } | 380 | } |
381 | if(devdesc.idVendor != VID_APPLE) | 381 | if(devdesc.idVendor != VID_APPLE) |
382 | return -1; | 382 | return -1; |
383 | if((devdesc.idProduct < PID_RANGE_LOW) || | 383 | if((devdesc.idProduct != PID_APPLE_T2_COPROCESSOR) && |
384 | (devdesc.idProduct > PID_RANGE_MAX)) | 384 | ((devdesc.idProduct < PID_RANGE_LOW) || |
385 | (devdesc.idProduct > PID_RANGE_MAX))) | ||
385 | return -1; | 386 | return -1; |
386 | libusb_device_handle *handle; | 387 | libusb_device_handle *handle; |
387 | usbmuxd_log(LL_INFO, "Found new device with v/p %04x:%04x at %d-%d", devdesc.idVendor, devdesc.idProduct, bus, address); | 388 | usbmuxd_log(LL_INFO, "Found new device with v/p %04x:%04x at %d-%d", devdesc.idVendor, devdesc.idProduct, bus, address); |
@@ -46,6 +46,7 @@ | |||
46 | #define VID_APPLE 0x5ac | 46 | #define VID_APPLE 0x5ac |
47 | #define PID_RANGE_LOW 0x1290 | 47 | #define PID_RANGE_LOW 0x1290 |
48 | #define PID_RANGE_MAX 0x12af | 48 | #define PID_RANGE_MAX 0x12af |
49 | #define PID_APPLE_T2_COPROCESSOR 0x8600 | ||
49 | 50 | ||
50 | struct usb_device; | 51 | struct usb_device; |
51 | 52 | ||
diff --git a/udev/39-usbmuxd.rules.in b/udev/39-usbmuxd.rules.in index 4e84755..053d834 100644 --- a/udev/39-usbmuxd.rules.in +++ b/udev/39-usbmuxd.rules.in | |||
@@ -1,13 +1,13 @@ | |||
1 | # usbmuxd (Apple Mobile Device Muxer listening on /var/run/usbmuxd) | 1 | # usbmuxd (Apple Mobile Device Muxer listening on /var/run/usbmuxd) |
2 | 2 | ||
3 | # systemd should receive all events relating to device | 3 | # systemd should receive all events relating to device |
4 | SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", TAG+="systemd" | 4 | SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/(12[9a][0-9a-f]|8600)/*", TAG+="systemd" |
5 | 5 | ||
6 | # Initialize iOS devices into "deactivated" USB configuration state and activate usbmuxd | 6 | # Initialize iOS devices into "deactivated" USB configuration state and activate usbmuxd |
7 | SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", ACTION=="add", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}="0", OWNER="usbmux", @udev_activation_rule@ | 7 | SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/(12[9a][0-9a-f]|8600)/*", ACTION=="add", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}="0", OWNER="usbmux", @udev_activation_rule@ |
8 | 8 | ||
9 | # Make sure properties don't get lost when bind action is called | 9 | # Make sure properties don't get lost when bind action is called |
10 | SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", ACTION=="bind", ENV{USBMUX_SUPPORTED}="1", OWNER="usbmux", @udev_activation_rule@ | 10 | SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/(12[9a][0-9a-f]|8600)/*", ACTION=="bind", ENV{USBMUX_SUPPORTED}="1", OWNER="usbmux", @udev_activation_rule@ |
11 | 11 | ||
12 | # Exit usbmuxd when the last device is removed | 12 | # Exit usbmuxd when the last device is removed |
13 | SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", ACTION=="remove", RUN+="@sbindir@/usbmuxd -x" | 13 | SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/(12[9a][0-9a-f]|8600)/*", ACTION=="remove", RUN+="@sbindir@/usbmuxd -x" |