summaryrefslogtreecommitdiffstats
path: root/udev
diff options
context:
space:
mode:
authorGravatar Martin Szulecki2013-11-04 22:39:21 +0100
committerGravatar Martin Szulecki2013-11-04 22:39:21 +0100
commit34870ec42b9a535efbe1d597022a47747412a64f (patch)
tree1cea6ddb7e1468a186269b5ad63e6ee325ca8d1f /udev
parent332085b115d9eb81b3a5461fcd08ea0a04d9035b (diff)
downloadusbmuxd-34870ec42b9a535efbe1d597022a47747412a64f.tar.gz
usbmuxd-34870ec42b9a535efbe1d597022a47747412a64f.tar.bz2
udev: Set "deactivated" USB configuration on iOS devices by default
With the introduction of iOS 7, devices should start of in the "deactivated" USB configuration "0" by default to not trigger a trust dialog. Once the devices are identified, usbmuxd will set the correct USB configuration itself and immediately run the preflight worker code to ensure a trust relationship with the host is established. This change fixes the trust dialog from appearing during hotplug of paired devices. The last remaining issue is that current kernel code still sets the USB configuration to "1" by default before the udev rules and thus causes multiple connection beeps.
Diffstat (limited to 'udev')
-rw-r--r--udev/39-usbmuxd.rules.in4
1 files changed, 2 insertions, 2 deletions
diff --git a/udev/39-usbmuxd.rules.in b/udev/39-usbmuxd.rules.in
index da8042d..f4eb66f 100644
--- a/udev/39-usbmuxd.rules.in
+++ b/udev/39-usbmuxd.rules.in
@@ -1,7 +1,7 @@
# usbmuxd ("Apple Mobile Device" muxer listening on /var/run/usbmuxd)
-# Forces iDevices to the last USB configuration and runs usbmuxd
-ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="12[9a][0-9a-f]", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}!="$attr{bNumConfigurations}", ATTR{bConfigurationValue}="$attr{bNumConfigurations}", OWNER="usbmux", RUN+="@prefix@/sbin/usbmuxd -u -U usbmux"
+# Initialize iOS devices into "deactivated" USB configuration state and run usbmuxd
+ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="12[9a][0-9a-f]", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}="0", OWNER="usbmux", RUN+="@prefix@/sbin/usbmuxd -u -U usbmux"
# Exit usbmuxd when the last device is removed
ACTION=="remove", SUBSYSTEM=="usb", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", ENV{INTERFACE}=="255/*", RUN+="@prefix@/sbin/usbmuxd -x"