summaryrefslogtreecommitdiffstats
path: root/src/dfu.c
AgeCommit message (Collapse)AuthorFilesLines
2023-07-25Add support for incoherent iBoot parametersGravatar Clément Decoodt1-5/+7
Some firmwares to load during iBoot stage 1 can have both: - isLoadedByiBoot = false - isLoadedByiBootStage1 = true This allows to load it at stage 1
2022-06-20Remove more serial number checks, and get ECID early on in all modesGravatar Nikias Bassen1-33/+10
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-6/+6
2021-06-29Remove unused functionsGravatar Nikias Bassen1-36/+16
2021-05-08dfu: Send now-required stage 1 componentsGravatar Benjamin BOURGEAIS1-2/+74
2021-05-08dfu: Add helpers to send components and commandsGravatar Benjamin BOURGEAIS1-0/+75
2021-05-08dfu: Add special handling for sending the local policy componentGravatar Benjamin BOURGEAIS1-18/+30
2020-04-12Fix missing declaration warningsGravatar Rosen Penev1-1/+1
Allows better compilation by the compiler.
2019-10-11Use condition variable instead of active waiting for device event handlingGravatar Nikias Bassen1-4/+16
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-10-11dfu: Fix DFU loading of iBSS -> iBEC on newer devicesGravatar Nikias Bassen1-6/+14
2019-10-07DFU: Properly detect iBSS and iBEC execution (via device reconnect)Gravatar Nikias Bassen1-14/+32
Also prevent sending the iBEC twice which happened due to the changes in device detection logic.
2019-02-13dfu/recovery: Don't select first DFU/Recovery mode device found when --udid ↵Gravatar Nikias Bassen1-1/+6
was given
2017-11-13Change check_hardware_model() to get_irecv_device()Gravatar BALATON Zoltan1-2/+2
The check_hardware_model() function has a misleading name. It returns a string with the hardware model but this is not used. Instead, this function is only called for its side effect to initialise an irecv device in the passed client struct which it creates from the hardware model name returned by mode specific implementations. But these mode specific implementations already create an irecv device to get the hardware model name so instead of going through this unnecessary complication just return the irecv device directly and rename the function accordingly to make this clear. (This may also prevent leaking an irecv device in the mode specific functions.)
2017-02-07Remove some unneded variables and conditionals and plug some potential ↵Gravatar BALATON Zoltan1-28/+17
memory leaks
2016-06-26dfu: Remove unnecessary device resets and ZLP packetsGravatar Nikias Bassen1-28/+0
These caused DFU restores on OSX to fail. ZLP packets are handled in libirecovery.
2016-05-26dfu: Fix apticket appending condition and padding size calculationGravatar Nikias Bassen1-6/+7
2015-10-09Use hardware model instead of product type to identify device correctlyGravatar Nikias Bassen1-3/+3
2014-02-11dfu: fix DFU->Recovery mode switch for iOS 7.xGravatar Nikias Bassen1-1/+1
2013-12-01dfu: remove some unused variablesGravatar Nikias Bassen1-9/+0
2013-11-20dfu: Implement dfu_get_ecid() to fix connectivity issues from DFU modeGravatar Martin Szulecki1-0/+19
2013-11-20dfu: fix sending iBEC for Image4 aware devicesGravatar Nikias Bassen1-1/+1
2013-11-20refactor component personalization and add support for Image4 stitchingGravatar Nikias Bassen1-2/+14
2013-11-19tss: Refactor TSS handlers for Image4 support and flexibilityGravatar Martin Szulecki1-3/+3
2013-11-19Add helper function to check if device supports image4 formatGravatar Nikias Bassen1-1/+16
2013-11-19removed unused get_cpid/get_bdid and adapted for latest libirecovery changesGravatar Nikias Bassen1-6/+27
2013-11-18Split nonce retrieval into ApNonce and SepNonce for DFU and Recovery modesGravatar Martin Szulecki1-4/+21
2013-11-18idevicerestore: Remove obsolete arguments from get_shsh_blobs()Gravatar Martin Szulecki1-1/+1
2013-10-02dfu: make sure buffers are of type unsigned char*Gravatar Nikias Bassen1-6/+6
2013-10-02silence implicit declaration compiler warningsGravatar Nikias Bassen1-0/+2
2013-09-27Require libirecovery >= 0.2.0 and port code to it's new APIGravatar Martin Szulecki1-16/+33
2013-09-23Update AUTHORS and file copyrights accordinglyGravatar Martin Szulecki1-0/+2
2013-01-09dfu: Implement dfu_check_device() helperGravatar Martin Szulecki1-0/+21
2013-01-09dfu: Fix minor code style issueGravatar Martin Szulecki1-1/+1
2012-12-07dfu: Fix codepath after uploading iBSS due to typoGravatar Martin Szulecki1-1/+1
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-1/+1
2012-11-07change info(), error(), and debug() into functions and allow redirecting the ↵Gravatar Martin Szulecki1-9/+10
output
2012-07-17dfu: make sure client member of struct is NULLed correctlyGravatar Nikias Bassen1-1/+8
2012-07-17dfu: Do not send another ZLP after sending iBEC as it breaks DFU mode switchGravatar Martin Szulecki1-1/+1
2012-07-17USB: Send a ZLP after mode switches to hopefully increase stabilityGravatar Martin Szulecki1-0/+4
Sometimes devices do not switch modes, sending a zero length packet appears to fix this situation and prevents failures during restore.
2012-07-17dfu: Wait 2 seconds before reconnecting to DFU mode again after sending iBSSGravatar Martin Szulecki1-1/+1
2012-07-17dfu: Send a ZLP after sending iBEC data possibly fixing some mode switch hangsGravatar Martin Szulecki1-1/+3
2012-02-09add support for targeting a device by ECIDGravatar Nikias Bassen1-3/+3
2012-02-05add support for 0x1222 wtf modeGravatar Nikias Bassen1-2/+43
2012-02-02ipsw_get_component_by_path: add 'component' parameterGravatar Nikias Bassen1-1/+1
2012-02-02dfu: implement dfu_check_mode() and fix dfu_enter_recovery()Gravatar Nikias Bassen1-61/+206
2012-02-02recovery: merge recovery_open_with_timeout into recovery_client_newGravatar Nikias Bassen1-2/+2
2010-07-09Implement handling of devices which do not require a tss requestGravatar Martin Szulecki1-2/+3
This introduces passing around the "selected" build identity and fixes code logic issues to make idevicerestore work again.
2010-06-21Finally fixed the out of control problemGravatar Joshua Hill1-12/+17