From 0114d8da493e69f14bc2669ae0ec6b9813b237cf Mon Sep 17 00:00:00 2001 From: Matt Colyer Date: Tue, 24 Mar 2009 10:01:25 -0700 Subject: Added support for forcing the iPhone into configuration 3 through udev to allow automounting support. --- Makefile.am | 2 +- configure.ac | 2 +- udev/89-libiphone.rules.in | 5 +++++ udev/Makefile.am | 12 ++++++++++++ udev/set-usb-configuration-3.sh | 3 +++ 5 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 udev/89-libiphone.rules.in create mode 100644 udev/Makefile.am create mode 100755 udev/set-usb-configuration-3.sh 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 -- cgit v1.1-32-gdbae