diff options
Diffstat (limited to 'udev')
-rw-r--r-- | udev/39-usbmuxd.rules.in | 16 | ||||
-rw-r--r-- | udev/85-usbmuxd.rules.in | 7 | ||||
-rw-r--r-- | udev/CMakeLists.txt | 2 | ||||
-rw-r--r-- | udev/Makefile.am | 20 |
4 files changed, 36 insertions, 9 deletions
diff --git a/udev/39-usbmuxd.rules.in b/udev/39-usbmuxd.rules.in new file mode 100644 index 0000000..ac15593 --- /dev/null +++ b/udev/39-usbmuxd.rules.in @@ -0,0 +1,16 @@ +# 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/190[1-5]/*|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/190[1-5]/*", ACTION=="add", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}="0", OWNER="usbmux", @udev_activation_rule@ +# but make sure iBridge (T1) doesn't end up in an unconfigured state +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/8600/*", ACTION=="add", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}="1", 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/190[1-5]/*|5ac/8600/*", ACTION=="bind", ENV{USBMUX_SUPPORTED}="1", OWNER="usbmux" + +# Exit usbmuxd when the last device is removed +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*|5ac/190[1-5]/*|5ac/8600/*", ACTION=="remove", RUN+="@sbindir@/usbmuxd -x" diff --git a/udev/85-usbmuxd.rules.in b/udev/85-usbmuxd.rules.in deleted file mode 100644 index 3856c79..0000000 --- a/udev/85-usbmuxd.rules.in +++ /dev/null @@ -1,7 +0,0 @@ -# usbmuxd (iPhone "Apple Mobile Device" MUXer listening on /var/run/usbmuxd) - -# Forces iPhone 1.0, 3G, 3GS, iPodTouch 1/2 and iPad to USB configuration 3 and run usbmuxd -ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[0-9a-f]", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}!="$attr{bNumConfigurations}", ATTR{bConfigurationValue}="$attr{bNumConfigurations}", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -u -U usbmux" - -# Exit usbmuxd when the last device is removed -ACTION=="remove", SUBSYSTEM=="usb", ENV{PRODUCT}=="5ac/129[0-9a-f]/*", ENV{INTERFACE}=="255/*", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -x" diff --git a/udev/CMakeLists.txt b/udev/CMakeLists.txt deleted file mode 100644 index 0f7042d..0000000 --- a/udev/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ -CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/85-usbmuxd.rules.in ${CMAKE_CURRENT_BINARY_DIR}/85-usbmuxd.rules @ONLY) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/85-usbmuxd.rules DESTINATION /lib/udev/rules.d/) diff --git a/udev/Makefile.am b/udev/Makefile.am new file mode 100644 index 0000000..95f565d --- /dev/null +++ b/udev/Makefile.am @@ -0,0 +1,20 @@ +edit = \ + $(SED) -r \ + -e 's|@udev_activation_rule[@]|$(udev_activation_rule)|g' \ + -e 's|@sbindir[@]|$(sbindir)|g' \ + < $< > $@ || rm $@ + +udevrules_DATA = \ + 39-usbmuxd.rules + +39-usbmuxd.rules: 39-usbmuxd.rules.in + $(edit) + +EXTRA_DIST = \ + 39-usbmuxd.rules.in + +MAINTAINERCLEANFILES = \ + 39-usbmuxd.rules + +CLEANFILES = \ + 39-usbmuxd.rules |