summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am2
-rw-r--r--configure.ac2
-rw-r--r--udev/89-libiphone.rules.in5
-rw-r--r--udev/Makefile.am12
-rwxr-xr-xudev/set-usb-configuration-3.sh3
5 files changed, 22 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am
index f103377..2b9ce9a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
AUTOMAKE_OPTIONS = foreign
-SUBDIRS = src include fdi $(DEV_SUB)
+SUBDIRS = src include fdi udev $(DEV_SUB)
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libiphone-1.0.pc
diff --git a/configure.ac b/configure.ac
index 7c31e2a..2cabe29 100644
--- a/configure.ac
+++ b/configure.ac
@@ -86,4 +86,4 @@ if test "$enable_largefile" != no; then
fi
AC_SUBST(LFS_CFLAGS)
-AC_OUTPUT(Makefile src/Makefile include/Makefile fdi/Makefile dev/Makefile libiphone-1.0.pc)
+AC_OUTPUT(Makefile src/Makefile include/Makefile fdi/Makefile udev/Makefile dev/Makefile libiphone-1.0.pc)
diff --git a/udev/89-libiphone.rules.in b/udev/89-libiphone.rules.in
new file mode 100644
index 0000000..48e9a16
--- /dev/null
+++ b/udev/89-libiphone.rules.in
@@ -0,0 +1,5 @@
+# Forces iPhone 1.0, 3G and iPodTouch 1 and 2 to USB configuration 3
+KERNEL=="?-?", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1290", ACTION=="add", RUN+="@bindir@/set-usb-configuration-3.sh"
+KERNEL=="?-?", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1291", ACTION=="add", RUN+="@bindir@/set-usb-configuration-3.sh"
+KERNEL=="?-?", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1292", ACTION=="add", RUN+="@bindir@/set-usb-configuration-3.sh"
+KERNEL=="?-?", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1293", ACTION=="add", RUN+="@bindir@/set-usb-configuration-3.sh"
diff --git a/udev/Makefile.am b/udev/Makefile.am
new file mode 100644
index 0000000..27cc456
--- /dev/null
+++ b/udev/Makefile.am
@@ -0,0 +1,12 @@
+udevdir=$(sysconfdir)/udev/rules.d/
+udev_DATA=89-libiphone.rules
+
+edit = sed \
+ -e 's|@bindir[@]|$(bindir)|g'
+
+89-libiphone.rules:
+ rm -f $@ $@.tmp
+ $(edit) '$(srcdir)/$@.in' >$@.tmp
+ mv $@.tmp $@
+
+bin_SCRIPTS = set-usb-configuration-3.sh
diff --git a/udev/set-usb-configuration-3.sh b/udev/set-usb-configuration-3.sh
new file mode 100755
index 0000000..ace07f0
--- /dev/null
+++ b/udev/set-usb-configuration-3.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+echo 3 > /sys$DEVPATH/bConfigurationValue