Difference between revisions of "Nvmefwupdater"

From The iPhone Wiki
Jump to: navigation, search
(Created page with "'''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...")
 
Line 2: Line 2:
   
 
== About ==
 
== 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." - [[source]https://searchstorage.techtarget.com/definition/NVMe-non-volatile-memory-express]
+
"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." - [https://searchstorage.techtarget.com/definition/NVMe-non-volatile-memory-express]
   
  +
The nvmefwupdater can be found on update ramdisks, however the nand firmware and bfh loader can only be found in certain OTA updates.
The NVMe firmware updater talks to the AppleEmbeddedNVMeController kext.
 
  +
It will attempt to put the NAND in BFH mode
 
  +
  +
== Update progress ==
  +
1. The NVMe firmware updater talks to the AppleEmbeddedNVMeController kext
  +
  +
2. The 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/)

Revision as of 11:37, 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 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/)