summaryrefslogtreecommitdiffstats
path: root/src/recovery.c
AgeCommit message (Collapse)AuthorFilesLines
2022-10-11recovery: Also send "go" and "reset" commands with bRequest set to 1Gravatar Nikias Bassen1-2/+2
2022-10-08recovery: Send bootx with bRequest set to 1 for all platformsGravatar Nikias Bassen1-1/+1
2022-10-05recovery: set bRequest to 1 when sending bootx commandGravatar Munehisa Kamata1-1/+1
In macOS 13 beta 8 or newer release, bootx seems to fail if bRequest is 0 in the control transfer setup. Then, the device fails to enter restore mode. Seems like something has changed in iBEC since beta 8 and Apple Configurator 2 has set it to 1, so do the same thing. While this could be applied for all *OS variants, it's limited to macOS for now just to be safe. Signed-off-by: Munehisa Kamata <kamatam@amazon.com>
2022-06-20Remove more serial number checks, and get ECID early on in all modesGravatar Nikias Bassen1-18/+0
Some devices seem to not have a serial number, usually in restore mode, which will cause the restore operation to fail since we specifically check for it. An earlier commit already removed the actual comparison in favor of comparing the ECID, but some checks would still result in restore failures as it can't retrieve the serial number on said devices at all. This commit also makes sure to get the ECID in all modes as early as possible and removes all the helper functions for it since they are not needed anymore.
2022-04-12Use proper detection for macOS restore path (instead of version number ↵Gravatar Nikias Bassen1-1/+1
comparison)
2021-06-29Make device mode specific code more consistentGravatar Nikias Bassen1-1/+1
2021-06-29Remove unused functionsGravatar Nikias Bassen1-42/+24
2021-05-08recovery: Ignore firmwares already sent on stage 1Gravatar Benjamin BOURGEAIS1-1/+7
2021-05-08recovery: Update restore boot args to match Apple Configurator 2Gravatar Benjamin BOURGEAIS1-0/+2
2020-12-21recovery: Upload RestoreSEP image if present in BuildManifestGravatar Nikias Bassen1-33/+32
This fixes restoring iPhone 12 family devices and possibly others on iOS 14.3
2020-06-08Remove trailing whitespace errors from all filesGravatar Martin Szulecki1-1/+1
2020-04-12Fix missing declaration warningsGravatar Rosen Penev1-1/+1
Allows better compilation by the compiler.
2019-12-27Allow T2 and non-screen devices restoreGravatar Nikias Bassen1-0/+4
2019-10-11Use condition variable instead of active waiting for device event handlingGravatar Nikias Bassen1-1/+5
With some devices and USB hardware the reconnect of a device might actually be faster than the check interval of the active waiting loop. With mutexes and a condition variable we will not miss the moment of reconnect anymore, even if it is really quick (like 7ms, right DanyL?)
2019-09-26Make sure CTRL+C is working at specific stages of the processGravatar Nikias Bassen1-1/+1
2019-09-25Use global event handlers for normale/restore and recovery/dfu mode devicesGravatar Nikias Bassen1-1/+7
2019-02-13dfu/recovery: Don't select first DFU/Recovery mode device found when --udid ↵Gravatar Nikias Bassen1-1/+6
was given
2019-01-16recovery: Add support for IsLoadedByiBoot:true componentsGravatar Rudolf Tammekivi1-0/+52
2019-01-16img4: Fix component name for rlgoGravatar Rudolf Tammekivi1-1/+1
2017-02-07Remove some unneded variables and conditionals and plug some potential ↵Gravatar BALATON Zoltan1-8/+5
memory leaks
2016-07-08recovery: Use 'setpicture 4' as this is what iTunes does tooGravatar Nikias Bassen1-1/+1
2015-09-24Revise several changes from commit 245bc9b6510a8900c69c2fd543434bae1bc6ca6aGravatar Nikias Bassen1-5/+8
In very rare cases the changes introduced by commit can actually cause an invalid free. Reverted those changes. Also, plist_free() will check for NULL before doing anything, so an extra check for that is not needed.
2015-05-05Improved command sequence and use SystemPartitionPadding from buildGravatar BALATON Zoltan1-6/+9
identity to make sure we use correct values.
2015-05-05Clean up free() usage and plug some potential memory leaksGravatar BALATON Zoltan1-23/+15
2013-12-01recovery: remove unused variablesGravatar Nikias Bassen1-11/+1
2013-11-20refactor component personalization and add support for Image4 stitchingGravatar Nikias Bassen1-7/+24
2013-11-19tss: Refactor TSS handlers for Image4 support and flexibilityGravatar Martin Szulecki1-2/+2
2013-11-19Add helper function to check if device supports image4 formatGravatar Nikias Bassen1-0/+16
2013-11-19removed unused get_cpid/get_bdid and adapted for latest libirecovery changesGravatar Nikias Bassen1-38/+22
2013-11-18Split nonce retrieval into ApNonce and SepNonce for DFU and Recovery modesGravatar Martin Szulecki1-2/+19
2013-10-03AppleTV: set auto-boot to true again after restoreGravatar Nikias Bassen1-1/+1
Apparently AppleTV units don't boot up in normal mode after restore but switch into recovery mode so we set auto-boot to true to make them boot up in normal mode.
2013-10-02silence implicit declaration compiler warningsGravatar Nikias Bassen1-2/+3
2013-09-27Require libirecovery >= 0.2.0 and port code to it's new APIGravatar Martin Szulecki1-5/+8
2013-09-24recovery: fix possible segfault and plug some small memory leaksGravatar Nikias Bassen1-4/+20
2013-09-23Update AUTHORS and file copyrights accordinglyGravatar Martin Szulecki1-0/+2
2012-11-07Fix grammar of a few commentsGravatar Martin Szulecki1-1/+2
2012-11-07Do not report that we do signing if we don't know yetGravatar Martin Szulecki1-3/+0
2012-11-07client: Fix build number parsing for iOS 6Gravatar Martin Szulecki1-2/+2
2012-11-07change info(), error(), and debug() into functions and allow redirecting the ↵Gravatar Martin Szulecki1-9/+9
output
2012-11-07recovery: disable progress bar for libirecovery uploadsGravatar Nikias Bassen1-1/+1
2012-11-07Move flags into idevicerestore.hGravatar Martin Szulecki1-2/+1
2012-07-17recovery: Send "preventive" ZLP directly after sending kernelcache componentGravatar Martin Szulecki1-2/+2
2012-07-17recovery: Make sure a connection is available before sending iBEC, tooGravatar Martin Szulecki1-0/+6
The code path without TSS request did not initialize the recovery client in order for it to be used to send iBEC. Now the client is always initialized.
2012-07-17USB: Send a ZLP after mode switches to hopefully increase stabilityGravatar Martin Szulecki1-0/+3
Sometimes devices do not switch modes, sending a zero length packet appears to fix this situation and prevents failures during restore.
2012-07-17recovery: Increase recovery connection attempts to 20Gravatar Martin Szulecki1-1/+1
2012-07-17recovery: Actually print environment variables which are readGravatar Martin Szulecki1-3/+14
2012-02-09add support for targeting a device by ECIDGravatar Nikias Bassen1-3/+3
2012-02-07recovery: store device serial number upon connectGravatar Nikias Bassen1-0/+10
2012-02-05add support for 0x1222 wtf modeGravatar Nikias Bassen1-1/+1
2012-02-05restore: Set autoboot before using getenv calls to fix iPhone 4S restoreGravatar Martin Szulecki1-4/+4