Conversation
|
I was trying this out today, but so far I haven't gotten it to work yet. First to clarify, I assume the new qdlrs options I've been trying this out with an EDL package which contains But anyways, with the following steps, it seems to not do anything. Is the general usage correct with what I have, or am I missing something? $ qviptblgen rawprogram2.xml
$ sectools.py secimage --chipset bitra --sign_id vip -i out/signme.mbn -s
$ qdl-rs --print-firehose-log -M signme-SIGNED.mbn -l prog_firehose_ddr.elf -s ufs --reset-mode system flasher -p rawprogram2.xml
qdl-rs 0.1.0
Using a default sector size of 4096
Chip serial number: 0xee789c8b
OEM Private Key hash: 0x1c3d8d7ea24e435d7b540e0ffb34aa4bd57421c5f3570eef54f354610953a24c8e1930b57cc9349edaeca2466671c27f
Loader sent. Hack away!
Firehose failed. Resetting the board to edl, try again. |
|
@z3ntu your decoding of cmdline arguments is correct Each rawprogramN.xml could be appended into a single file (or not), since every set of commands is largely self-contained, so that's perhaps a UX point to take in mind. VIP simply checks whether the hash of every single command you send matches the (signed) digest table, so it can work both ways Truth be told, this code dump was compile-tested only, so I'm not surprised it doesn't work for you.. It may be that your programmer outputs some information over UART. Also, perhaps some additional debug logs could come in useful (e.g. before/during/after sending the tables - perhaps I missed something in there) This isn't particularly high on my to-do list right now, but I hope to come back and finish it up some day |
| // If we're past Sahara, activate the Firehose reset-on-drop listener | ||
| qdl_dev.reset_on_drop = true; | ||
|
|
||
| // If VIP is used, the hash table must be sent first, even before <configure> |
There was a problem hiding this comment.
it may be that this needs to be put below the read a couple lines down
|
Hi there I am looking into this at the moment, I have pulled the PR into main and made it build with some changes. ./qdl-rs \
--verbose-sahara \
--verbose-firehose \
--print-firehose-log \
-l ./xbl_s_devprg_ns.melf \
-s ufs \
-L 0 \
-M ./DigestsToSign.bin.mbn \
-T ./ChainedTableOfDigests.bin \
flasher \
-p ./rawprogram_unsparse0.xml ./rawprogram1.xml ./rawprogram3.xml ./rawprogram4.xml ./rawprogram5.xml \
-x ./patch0.xml ./patch1.xml ./patch2.xml ./patch3.xml ./patch4.xml ./patch5.xmlThis gives me the following output: It just stops here, nothing seems to happen, but the program doet not stop.. I have time to help out with both test and coding if I can get some pointers where to look |

dumping this here for easy tracking, not mergeable right now