dgiagio/ipheth — Issue #12: I got ipheth working with the iPhone 4S
Author: tillkamppeter
Created: 2011-12-06 15:25:28+00:00
State: open

It simply needs to add the identity of the new model to the kernel module:

----------
--- ipheth-1.0+git20111206.orig/ipheth-driver/ipheth.c
+++ ipheth-1.0+git20111206/ipheth-driver/ipheth.c
@@ -65,6 +65,7 @@
#define USB_PRODUCT_IPHONE_3G 0x1292
#define USB_PRODUCT_IPHONE_3GS 0x1294
#define USB_PRODUCT_IPHONE_4 0x1297
+#define USB_PRODUCT_IPHONE_4S 0x12a0

#define IPHETH_USBINTF_CLASS 255
#define IPHETH_USBINTF_SUBCLASS 253
@@ -104,6 +105,10 @@ static struct usb_device_id ipheth_table
USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_4,
IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS,
IPHETH_USBINTF_PROTO) },
+ { USB_DEVICE_AND_INTERFACE_INFO(
+ USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_4S,
+ IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS,
+ IPHETH_USBINTF_PROTO) },
{ }
};
MODULE_DEVICE_TABLE(usb, ipheth_table);
----------

Note that distro kernels (or even the upstream kernel) can contain this driver and so a simple "modprobe ipheth" can load the unpatched module. So try something like "sudo rmmod ipheth; sudo insmod ./ipheth.ko" to assure that your locally compiled, patched module gets used.

This should also get reported to the kernel upstream.