diff options
Diffstat (limited to 'rbutil/ipodpatcher/ipodpatcher.c')
-rw-r--r-- | rbutil/ipodpatcher/ipodpatcher.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/rbutil/ipodpatcher/ipodpatcher.c b/rbutil/ipodpatcher/ipodpatcher.c index 1a5268bb6d..79357fde06 100644 --- a/rbutil/ipodpatcher/ipodpatcher.c +++ b/rbutil/ipodpatcher/ipodpatcher.c | |||
@@ -1234,7 +1234,12 @@ int getmodel(struct ipod_t* ipod, int ipod_version) | |||
1234 | ipod->modelstr="Video (aka 5th Generation)"; | 1234 | ipod->modelstr="Video (aka 5th Generation)"; |
1235 | ipod->modelnum = 5; | 1235 | ipod->modelnum = 5; |
1236 | ipod->modelname = "ipvd"; | 1236 | ipod->modelname = "ipvd"; |
1237 | ipod->targetname = "ipodvideo"; | 1237 | if(ipod->ramsize == 64) { |
1238 | ipod->targetname = "ipodvideo64mb"; | ||
1239 | } | ||
1240 | else { | ||
1241 | ipod->targetname = "ipodvideo"; | ||
1242 | } | ||
1238 | #ifdef WITH_BOOTOBJS | 1243 | #ifdef WITH_BOOTOBJS |
1239 | ipod->bootloader = ipodvideo; | 1244 | ipod->bootloader = ipodvideo; |
1240 | ipod->bootloader_len = LEN_ipodvideo; | 1245 | ipod->bootloader_len = LEN_ipodvideo; |
@@ -1312,6 +1317,11 @@ int ipod_scan(struct ipod_t* ipod) | |||
1312 | } | 1317 | } |
1313 | 1318 | ||
1314 | ipod_version=(ipod->ipod_directory[0].vers>>8); | 1319 | ipod_version=(ipod->ipod_directory[0].vers>>8); |
1320 | /* Windows requires the ipod in R/W mode for SCSI Inquiry */ | ||
1321 | ipod->ramsize = 0; | ||
1322 | ipod_reopen_rw(ipod); | ||
1323 | ipod_get_xmlinfo(ipod); | ||
1324 | ipod_get_ramsize(ipod); | ||
1315 | if (getmodel(ipod,ipod_version) < 0) { | 1325 | if (getmodel(ipod,ipod_version) < 0) { |
1316 | ipod_close(ipod); | 1326 | ipod_close(ipod); |
1317 | continue; | 1327 | continue; |