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...")
 
 
(2 intermediate revisions by the same user not shown)
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 [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
  +
  +
4. Now the firmware matching the nand model and revision is loaded, a .pak file in (/usr/standalone/firmware/)

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/)