diff options
author | Hector Martin | 2021-09-25 01:29:07 +0900 |
---|---|---|
committer | Hector Martin | 2021-09-25 01:29:07 +0900 |
commit | e3a3180b9b380ce9092ee0d7b8e9d82d66b1c261 (patch) | |
tree | 58c51db870cadca3c43b4844d57b3fd56c0cff36 | |
parent | f0ca69d9b1f488e4eca7e1095190ededc76f3507 (diff) | |
download | usbmuxd-e3a3180b9b380ce9092ee0d7b8e9d82d66b1c261.tar.gz usbmuxd-e3a3180b9b380ce9092ee0d7b8e9d82d66b1c261.tar.bz2 |
usb: Add more Apple Silicon retstore PIDs
1904 is the M1 iMac; presumably this is now a range
Signed-off-by: Hector Martin <marcan@marcan.st>
-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) if(devdesc.idVendor != VID_APPLE) return -1; if((devdesc.idProduct != PID_APPLE_T2_COPROCESSOR) && - (devdesc.idProduct != PID_APPLE_SILICON_RESTORE) && + ((devdesc.idProduct < PID_APPLE_SILICON_RESTORE_LOW) || + (devdesc.idProduct > PID_APPLE_SILICON_RESTORE_MAX)) && ((devdesc.idProduct < PID_RANGE_LOW) || (devdesc.idProduct > PID_RANGE_MAX))) return -1; @@ -47,7 +47,8 @@ #define PID_RANGE_LOW 0x1290 #define PID_RANGE_MAX 0x12af #define PID_APPLE_T2_COPROCESSOR 0x8600 -#define PID_APPLE_SILICON_RESTORE 0x1901 +#define PID_APPLE_SILICON_RESTORE_LOW 0x1901 +#define PID_APPLE_SILICON_RESTORE_MAX 0x1904 struct usb_device; 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 @@ # usbmuxd (Apple Mobile Device Muxer listening on /var/run/usbmuxd) # systemd should receive all events relating to device -SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*|5ac/1901/*|5ac/8600/*", TAG+="systemd" +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*|5ac/190[1-4]/*|5ac/8600/*", TAG+="systemd" # Initialize iOS devices into "deactivated" USB configuration state and activate usbmuxd -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@ +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@ # Make sure properties don't get lost when bind action is called -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@ +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@ # Exit usbmuxd when the last device is removed -SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*|5ac/1901/*|5ac/8600/*", ACTION=="remove", RUN+="@sbindir@/usbmuxd -x" +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" |