summaryrefslogtreecommitdiffstats
path: root/udev/85-usbmuxd.rules.in
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2009-05-19 14:00:28 +0200
committerGravatar Nikias Bassen2009-05-19 14:00:28 +0200
commit5d34c2e7c70de039c75c7a39933b98d14a659176 (patch)
tree7ea967cdc456962558d7f37c3e1976b1ae41631d /udev/85-usbmuxd.rules.in
parente1efbba597356f068b5cf90b16527170ad625b41 (diff)
downloadusbmuxd-5d34c2e7c70de039c75c7a39933b98d14a659176.tar.gz
usbmuxd-5d34c2e7c70de039c75c7a39933b98d14a659176.tar.bz2
modified udev rules file to reflect autoconf prefix specification
Diffstat (limited to 'udev/85-usbmuxd.rules.in')
-rw-r--r--udev/85-usbmuxd.rules.in37
1 files changed, 37 insertions, 0 deletions
diff --git a/udev/85-usbmuxd.rules.in b/udev/85-usbmuxd.rules.in
new file mode 100644
index 0000000..e661ccd
--- /dev/null
+++ b/udev/85-usbmuxd.rules.in
@@ -0,0 +1,37 @@
+# usbmuxd (iPhone "Apple Mobile Device" MUXer listening on /var/run/usbmuxd)
+#if
+#SUBSYSTEMS=="usb_interface", SYMLINK+="usbmux/interface"
+
+#SUBSYSTEMS!="usb", GOTO="usbmuxd_rules_end" # stops the whole script working
+ATTR{idVendor}!="05ac", GOTO="usbmuxd_rules_end"
+
+# If it's plug insertion, flip it into dual "PTP + Apple Mobile Device" configuration
+# This allows another application to switch it later without it getting switched back (hopefully)
+# TODO: check iPod Touch/3G
+SUBSYSTEM=="usb", ACTION=="add", ATTR{product}=="iPhone", ATTR{bConfigurationValue}!="3", ATTR{bConfigurationValue}="3", GOTO="usbmuxd_rules_end"
+
+# SYMLINK the usbmux endpoints, if we get them
+# TODO: Multiple devices
+# TODO: work out how to make nice, incrementing usbmux/{0,1,2,3}-in for
+LABEL="usbmuxd_rules_usbmux"
+
+# ff/fe/02 == usbmux
+#
+#ACTION=="add",
+
+# Try to symlink the interface, containing the endpoints.
+# ...But it doesn't work
+#KERNELS=="7-3:3.1", SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="01", ATTRS{bAlternateSetting}==" 0", ATTRS{bNumEndpoints}=="02", ATTRS{bInterfaceClass}=="ff", ATTRS{bInterfaceSubClass}=="fe", ATTRS{bInterfaceProtocol}=="02", SYMLINK+="usbmux/prettyplease", RUN+="/bin/ls -l /dev/usbmux/prettyplease"
+
+#ATTRS{bInterfaceClass}=="ff", ATTRS{bInterfaceSubClass}=="fe", ATTRS{bInterfaceProtocol}=="02", SYMLINK+="usbmux/interface"
+
+# Cute names, really they should have nice numerically increasing names.
+ACTION=="add", SUBSYSTEM=="usb_endpoint", KERNEL=="usbdev*_ep04", SYMLINK+="usbmux/in"
+ACTION=="add", SUBSYSTEM=="usb_endpoint", KERNEL=="usbdev*_ep85", SYMLINK+="usbmux/out"
+
+# Start and stop 'usbmuxd' as required.
+ACTION=="add", SUBSYSTEM=="usb_endpoint", KERNEL=="usbdev*_ep85", RUN+="/sbin/start-stop-daemon --start --oknodo --exec @prefix@/sbin/usbmuxd"
+ACTION=="remove", SUBSYSTEM=="usb_endpoint", KERNEL=="usbdev*_ep85", RUN+="/sbin/start-stop-daemon --stop --signal 2 --exec @prefix@/sbin/usbmuxd"
+
+# skip
+LABEL="usbmuxd_rules_end"