Difference between revisions of "IQueDiagExtend"

From iQueBrew
Jump to navigation Jump to search
(TODO: maybe change these instructions into numbered lists?)
 
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''iQueDiagExtend''' is an extension for ique_diag.exe which adds additional commands to the ique_diag menu, such as reading the raw NAND or writing back modified data.
+
{{DISPLAYTITLE:iQueDiagExtend}}
 +
 
 +
'''iQueDiagExtend''' is an extension for [[ique_diag.exe]] which adds additional commands to the ique_diag menu, such as reading the raw [[NAND]] or writing back modified data.
  
 
While ique_diag has functions in the exe that allow for reading/writing the raw NAND, unfortunately they're only ever used as part of other functions, with the raw NAND functions never exposed to the user.
 
While ique_diag has functions in the exe that allow for reading/writing the raw NAND, unfortunately they're only ever used as part of other functions, with the raw NAND functions never exposed to the user.
  
iQueDiagExtend hooks into the ique_diag menu functions, allowing us to add our own custom commands that can make use of those functions.
+
iQueDiagExtend hooks into the ique_diag menu, allowing us to add our own custom commands that can make use of those functions.
  
Source code can be found at: https://github.com/emoose/iQueDiagExtend, with read-only builds available at https://github.com/emoose/iQueDiagExtend/releases
+
Source code can be found on emoose's [https://github.com/emoose/iQueDiagExtend DiagExtend GitHub page], with read-only builds available in the [https://github.com/emoose/iQueDiagExtend/releases releases section].
  
 
= Dumping =
 
= Dumping =
To dump a NAND, connect the iQue to a system (or an XP VM) which has the iQue@Home drivers installed and run the ique_diag.exe. Then press 'x', if DiagExtend is working it should print a list of custom commands added by the hook.
+
To dump a NAND, connect the iQue to a system (or an XP VM) which has the [[iQue@Home]] drivers installed and run ique_diag.exe, then press 'x'. If DiagExtend is working it should print a list of custom commands added by the hook.
  
To start reading simply press 'b' to connect ique_diag to your device, and then press '2', progress on the dump will be printed every 16 blocks.
+
To start reading simply press 'B' (uppercase) to connect ique_diag to your device, and then press '1', progress on the dump will be printed every 16 blocks.
  
If the dump is successful a nand.bin (67,108,864 bytes) & spare.bin (65,536 bytes) will appear next to the ique_diag.exe. (you should move these files between dumps, so that new dumps can be written to a fresh file)
+
If the dump is successful a nand.bin (67,108,864 bytes) & spare.bin (65,536 bytes) will appear next to the ique_diag.exe (you should move these files between dumps, so that new dumps can be written to a fresh file).
  
 
= Writing =
 
= Writing =
iQueDiagExtend also has support for writing back to the NAND, though the public iQueDiagExtend builds are missing these writing functions for safety reasons. You can easily compile a write-enabled build from source if you have VS2017 installed (or just ask for a build in the iQue Hacking discord)
+
iQueDiagExtend also has support for writing back to the NAND, though the public iQueDiagExtend builds are missing these writing functions for safety reasons. You can easily compile a write-enabled build from source if you have VS2017 installed (or just ask for a build in the iQueBrew discord)
  
To write back to the device, first put the nand.bin/spare.bin you want to write in the same folder as ique_diag.exe, then open ique_diag and press 'b' to connect.
+
To write back to the device, first put the nand.bin/spare.bin you want to write in the same folder as ique_diag.exe, then open ique_diag and press 'B' (uppercase) to connect.
  
If you want to write the full nand.bin/spare.bin to the device simply press '3', progress will be given as it writes.
+
If you want to write the full nand.bin/spare.bin to the device simply press '2', progress will be given as it writes.
  
Alternatively if you only wish to write certain blocks to the device you can add ranges. For example, typing '3 0-0x100,4075' will write from the nand.bin only blocks 0 through 256, and block 4075. This can be much faster than needing to write the whole NAND each time!
+
Alternatively if you only wish to write certain blocks to the device you can add ranges. For example, typing '2 0-0x100,4075' will write from the nand.bin only blocks 0 through 256, and block 4075. This can be much faster than needing to write the whole NAND each time!
  
 
= Hotswapping =
 
= Hotswapping =
Unfortunately there's many iQue devices that lack any kind of USB support, due to the [[SKSA]] on them being an older version.
+
Unfortunately there are many iQue Players that lack any kind of USB support, due to the [[SKSA]] on them being an older version.
  
Luckily, if you have another device that does have USB support, you can use that one to upgrade the non-USB card to a later USB-supporting SKSA version!
+
Luckily, if you have another Player that does have USB support, you can use that one to upgrade the non-USB card to a later SKSA that supports USB.
  
* Firstly, power on your USB-compatible unit with the USB-compatible card inside
+
* Make sure the unit is plugged into your machine over USB.
* Once booted, plug in the unit to your machine over USB (it should appear under device manager as "iQue Player", as usual)
+
* Power on your USB-compatible unit with the USB-compatible card inside (once booted, it should appear under Device Manager as "iQue Player", as usual).
* Now with the unit still powered on, take the USB-compatible card out, and plug in the non-USB card
+
* Now with the unit still powered on, take the USB-compatible card out, and plug in the non-USB card.
* On the PC open ique_diag.exe, and follow the steps in the "Reading" / "Writing" section.
+
* On the PC open ique_diag.exe, and follow the steps in the "Dumping" / "Writing" sections.
  
 
Make sure not to power off the iQue during this process, as it'll then try to boot up from the non-USB card.
 
Make sure not to power off the iQue during this process, as it'll then try to boot up from the non-USB card.
 +
 +
[[Category:PC utilities]]

Latest revision as of 02:01, 15 February 2019


iQueDiagExtend is an extension for ique_diag.exe which adds additional commands to the ique_diag menu, such as reading the raw NAND or writing back modified data.

While ique_diag has functions in the exe that allow for reading/writing the raw NAND, unfortunately they're only ever used as part of other functions, with the raw NAND functions never exposed to the user.

iQueDiagExtend hooks into the ique_diag menu, allowing us to add our own custom commands that can make use of those functions.

Source code can be found on emoose's DiagExtend GitHub page, with read-only builds available in the releases section.

Dumping

To dump a NAND, connect the iQue to a system (or an XP VM) which has the iQue@Home drivers installed and run ique_diag.exe, then press 'x'. If DiagExtend is working it should print a list of custom commands added by the hook.

To start reading simply press 'B' (uppercase) to connect ique_diag to your device, and then press '1', progress on the dump will be printed every 16 blocks.

If the dump is successful a nand.bin (67,108,864 bytes) & spare.bin (65,536 bytes) will appear next to the ique_diag.exe (you should move these files between dumps, so that new dumps can be written to a fresh file).

Writing

iQueDiagExtend also has support for writing back to the NAND, though the public iQueDiagExtend builds are missing these writing functions for safety reasons. You can easily compile a write-enabled build from source if you have VS2017 installed (or just ask for a build in the iQueBrew discord)

To write back to the device, first put the nand.bin/spare.bin you want to write in the same folder as ique_diag.exe, then open ique_diag and press 'B' (uppercase) to connect.

If you want to write the full nand.bin/spare.bin to the device simply press '2', progress will be given as it writes.

Alternatively if you only wish to write certain blocks to the device you can add ranges. For example, typing '2 0-0x100,4075' will write from the nand.bin only blocks 0 through 256, and block 4075. This can be much faster than needing to write the whole NAND each time!

Hotswapping

Unfortunately there are many iQue Players that lack any kind of USB support, due to the SKSA on them being an older version.

Luckily, if you have another Player that does have USB support, you can use that one to upgrade the non-USB card to a later SKSA that supports USB.

  • Make sure the unit is plugged into your machine over USB.
  • Power on your USB-compatible unit with the USB-compatible card inside (once booted, it should appear under Device Manager as "iQue Player", as usual).
  • Now with the unit still powered on, take the USB-compatible card out, and plug in the non-USB card.
  • On the PC open ique_diag.exe, and follow the steps in the "Dumping" / "Writing" sections.

Make sure not to power off the iQue during this process, as it'll then try to boot up from the non-USB card.