summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Martin Szulecki2009-09-23 13:23:22 +0200
committerGravatar Nikias Bassen2009-09-23 13:23:22 +0200
commitb6e197667f5c94edca5f6617b897cf9b879e4a2a (patch)
tree769b016e87a3764e22014739f2294b1054219171
parenta93c66e2bff0065ad2ac93998048f065e51a784c (diff)
downloadusbmuxd-b6e197667f5c94edca5f6617b897cf9b879e4a2a.tar.gz
usbmuxd-b6e197667f5c94edca5f6617b897cf9b879e4a2a.tar.bz2
Match a range of supported USB IDs and make iPod Touch 64GB work
-rw-r--r--daemon/usb-linux.c7
-rw-r--r--daemon/usb.h7
-rw-r--r--udev/85-usbmuxd.rules.in4
3 files changed, 6 insertions, 12 deletions
diff --git a/daemon/usb-linux.c b/daemon/usb-linux.c
index 6f25ed4..f1be612 100644
--- a/daemon/usb-linux.c
+++ b/daemon/usb-linux.c
@@ -274,11 +274,8 @@ static int usb_discover(void)
274 } 274 }
275 if(devdesc.idVendor != VID_APPLE) 275 if(devdesc.idVendor != VID_APPLE)
276 continue; 276 continue;
277 if( (devdesc.idProduct != PID_IPHONE2G) && 277 if((devdesc.idProduct < PID_RANGE_LOW) &&
278 (devdesc.idProduct != PID_ITOUCH1G) && 278 (devdesc.idProduct > PID_RANGE_MAX))
279 (devdesc.idProduct != PID_IPHONE3G) &&
280 (devdesc.idProduct != PID_ITOUCH2G) &&
281 (devdesc.idProduct != PID_IPHONE3GS))
282 continue; 279 continue;
283 libusb_device_handle *handle; 280 libusb_device_handle *handle;
284 usbmuxd_log(LL_INFO, "Found new device with v/p %04x:%04x at %d-%d", devdesc.idVendor, devdesc.idProduct, bus, address); 281 usbmuxd_log(LL_INFO, "Found new device with v/p %04x:%04x at %d-%d", devdesc.idVendor, devdesc.idProduct, bus, address);
diff --git a/daemon/usb.h b/daemon/usb.h
index 621ccb2..7e20dce 100644
--- a/daemon/usb.h
+++ b/daemon/usb.h
@@ -42,11 +42,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
42#define USB_PACKET_SIZE 512 42#define USB_PACKET_SIZE 512
43 43
44#define VID_APPLE 0x5ac 44#define VID_APPLE 0x5ac
45#define PID_IPHONE2G 0x1290 45#define PID_RANGE_LOW 0x1290
46#define PID_ITOUCH1G 0x1291 46#define PID_RANGE_MAX 0x1299
47#define PID_IPHONE3G 0x1292
48#define PID_ITOUCH2G 0x1293
49#define PID_IPHONE3GS 0x1294
50 47
51#define USB_INTERFACE 1 48#define USB_INTERFACE 1
52 49
diff --git a/udev/85-usbmuxd.rules.in b/udev/85-usbmuxd.rules.in
index 3521ccb..f68a5fa 100644
--- a/udev/85-usbmuxd.rules.in
+++ b/udev/85-usbmuxd.rules.in
@@ -1,7 +1,7 @@
1# usbmuxd (iPhone "Apple Mobile Device" MUXer listening on /var/run/usbmuxd) 1# usbmuxd (iPhone "Apple Mobile Device" MUXer listening on /var/run/usbmuxd)
2 2
3# Forces iPhone 1.0, 3G, 3GS and iPodTouch 1 and 2 to USB configuration 3 and run usbmuxd 3# Forces iPhone 1.0, 3G, 3GS and iPodTouch 1 and 2 to USB configuration 3 and run usbmuxd
4ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[0-4]", ATTR{bConfigurationValue}!="$attr{bNumConfigurations}", ATTR{bConfigurationValue}="$attr{bNumConfigurations}", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -u -U" 4ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[0-9]", ATTR{bConfigurationValue}!="$attr{bNumConfigurations}", ATTR{bConfigurationValue}="$attr{bNumConfigurations}", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -u -U"
5 5
6# Exit usbmuxd when the last phone is removed 6# Exit usbmuxd when the last phone is removed
7ACTION=="remove", SUBSYSTEM=="usb", ENV{PRODUCT}=="5ac/129[0-4]/*", ENV{INTERFACE}=="255/*", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -x" 7ACTION=="remove", SUBSYSTEM=="usb", ENV{PRODUCT}=="5ac/129[0-9]/*", ENV{INTERFACE}=="255/*", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -x"