Difference between revisions of "Nvmefwupdater"

From The iPhone Wiki
Jump to: navigation, search
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
   
 
The nvmefwupdater can be found on update ramdisks, however the nand firmware and bfh loader can only be found in certain OTA updates.
 
The nvmefwupdater can be found on update ramdisks, however the nand firmware and bfh loader can only be found in certain OTA updates.
 
   
 
== Update progress ==
 
== Update progress ==
 
1. The NVMe firmware updater talks to the AppleEmbeddedNVMeController kext
 
1. The NVMe firmware updater talks to the AppleEmbeddedNVMeController kext
   
2. The userclient will try to place the NVMe in BFH mode
+
2. The [https://iphonedevwiki.net/index.php/AppleEmbeddedNVMeController AppleEmbeddedNVMeController userclient] will try to place the NVMe in BFH mode
   
 
3. The BFH loader (Ex: /usr/standalone/firmware/BFH/s3e-bfh-loader.bin) is loaded into memory using DMA (Direct Memory Access) transfer commands
 
3. The BFH loader (Ex: /usr/standalone/firmware/BFH/s3e-bfh-loader.bin) is loaded into memory using DMA (Direct Memory Access) transfer commands

Latest revision as of 11:40, 30 January 2020

nvmefwupdater is a tool used by Apple to update the NAND firmware.

About

"NVMe (non-volatile memory express) is a host controller interface and storage protocol created to accelerate the transfer of data between enterprise and client systems and solid-state drives (SSDs) over a computer's high-speed Peripheral Component Interconnect Express (PCIe) bus." - [1]

The nvmefwupdater can be found on update ramdisks, however the nand firmware and bfh loader can only be found in certain OTA updates.

Update progress

1. The NVMe firmware updater talks to the AppleEmbeddedNVMeController kext

2. The AppleEmbeddedNVMeController userclient will try to place the NVMe in BFH mode

3. The BFH loader (Ex: /usr/standalone/firmware/BFH/s3e-bfh-loader.bin) is loaded into memory using DMA (Direct Memory Access) transfer commands

4. Now the firmware matching the nand model and revision is loaded, a .pak file in (/usr/standalone/firmware/)