diff options
| -rw-r--r-- | src/usb.c | 3 | ||||
| -rw-r--r-- | src/usb.h | 3 | ||||
| -rw-r--r-- | udev/39-usbmuxd.rules.in | 8 |
3 files changed, 8 insertions, 6 deletions
| @@ -383,7 +383,8 @@ static int usb_device_add(libusb_device* dev) | |||
| 383 | if(devdesc.idVendor != VID_APPLE) | 383 | if(devdesc.idVendor != VID_APPLE) |
| 384 | return -1; | 384 | return -1; |
| 385 | if((devdesc.idProduct != PID_APPLE_T2_COPROCESSOR) && | 385 | if((devdesc.idProduct != PID_APPLE_T2_COPROCESSOR) && |
| 386 | (devdesc.idProduct != PID_APPLE_SILICON_RESTORE) && | 386 | ((devdesc.idProduct < PID_APPLE_SILICON_RESTORE_LOW) || |
| 387 | (devdesc.idProduct > PID_APPLE_SILICON_RESTORE_MAX)) && | ||
| 387 | ((devdesc.idProduct < PID_RANGE_LOW) || | 388 | ((devdesc.idProduct < PID_RANGE_LOW) || |
| 388 | (devdesc.idProduct > PID_RANGE_MAX))) | 389 | (devdesc.idProduct > PID_RANGE_MAX))) |
| 389 | return -1; | 390 | return -1; |
| @@ -47,7 +47,8 @@ | |||
| 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 | #define PID_APPLE_T2_COPROCESSOR 0x8600 |
| 50 | #define PID_APPLE_SILICON_RESTORE 0x1901 | 50 | #define PID_APPLE_SILICON_RESTORE_LOW 0x1901 |
| 51 | #define PID_APPLE_SILICON_RESTORE_MAX 0x1904 | ||
| 51 | 52 | ||
| 52 | struct usb_device; | 53 | struct usb_device; |
| 53 | 54 | ||
diff --git a/udev/39-usbmuxd.rules.in b/udev/39-usbmuxd.rules.in index fdd6b91..ab20517 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]/*|5ac/1901/*|5ac/8600/*", TAG+="systemd" | 4 | SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*|5ac/190[1-4]/*|5ac/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]/*|5ac/1901/*|5ac/8600/*", 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]/*|5ac/190[1-4]/*|5ac/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]/*|5ac/1901/*|5ac/8600/*", 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]/*|5ac/190[1-4]/*|5ac/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]/*|5ac/1901/*|5ac/8600/*", ACTION=="remove", RUN+="@sbindir@/usbmuxd -x" | 13 | SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*|5ac/190[1-4]/*|5ac/8600/*", ACTION=="remove", RUN+="@sbindir@/usbmuxd -x" |
