From 465477b251b065f24c3c834e5f7d3398b37ee069 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Fri, 21 Sep 2012 23:11:23 +0200 Subject: added support for iPod5,1 --- include/libirecovery.h | 4 ++++ src/libirecovery.c | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/include/libirecovery.h b/include/libirecovery.h index 781123b..9b9ee01 100644 --- a/include/libirecovery.h +++ b/include/libirecovery.h @@ -59,6 +59,7 @@ extern "C" { #define CPID_IPAD32 0x8945 #define CPID_IPAD33 0x8945 #define CPID_IPHONE5 0x8950 +#define CPID_IPOD5G 0x8942 #define BDID_UNKNOWN -1 #define BDID_IPHONE2G 0x00 @@ -83,6 +84,7 @@ extern "C" { #define BDID_IPAD33 0x04 #define BDID_IPHONE51 0x00 #define BDID_IPHONE52 0x02 +#define BDID_IPOD5G 0x00 #define DEVICE_UNKNOWN -1 #define DEVICE_IPHONE2G 0 @@ -107,6 +109,7 @@ extern "C" { #define DEVICE_IPAD33 19 #define DEVICE_IPHONE51 20 #define DEVICE_IPHONE52 21 +#define DEVICE_IPOD5G 22 enum { kRecoveryMode1 = 0x1280, @@ -211,6 +214,7 @@ static struct irecv_device irecv_devices[] = { { 19, "iPad3,3", "j2aap", 0x04, 0x8945 }, { 20, "iPhone5,1", "n41ap", 0x00, 0x8950 }, { 21, "iPhone5,2", "n42ap", 0x02, 0x8950 }, + { 22, "iPod5,1", "n78ap", 0x00, 0x8942 }, { -1, NULL, NULL, -1, -1 } }; diff --git a/src/libirecovery.c b/src/libirecovery.c index 4db314b..e8ce634 100644 --- a/src/libirecovery.c +++ b/src/libirecovery.c @@ -1607,6 +1607,28 @@ irecv_error_t irecv_get_device(irecv_client_t client, irecv_device_t* device) { break; } break; + + case CPID_APPLETV31: + // AppleTV 3rd gen. iPad2,4 and iPod5,1 share the same ChipID, so we need to check the BoardID + if (irecv_get_bdid(client, &bdid) < 0) { + break; + } + switch (bdid) { + case BDID_APPLETV31: + device_id = DEVICE_APPLETV31; + break; + case BDID_IPAD24: + device_id = DEVICE_IPAD24; + break; + case BDID_IPOD5G: + device_id = DEVICE_IPOD5G; + break; + default: + device_id = DEVICE_UNKNOWN; + break; + } + break; + case CPID_IPHONE5: if (irecv_get_bdid(client, &bdid) < 0) { break; -- cgit v1.1-32-gdbae