I've submitted a patch to fix this here: https://review.openocd.org/c/openocd/+/7612 I've also submitted three related patches, one to require enabling OTP writes before OTP protection can be set, one to fix a typo in a message and one to improve the message when trying to undo OTP protection (which is impossible). The second patch is shown as having a merge conflict, but AFAICS that's only because it depends on the first patch and Gerrit does not take that into account. And the third patch shows...
I patched the code to fix this, and further found that: - The code also did not do an unlock sequence and did not set the FLASH_PG bit, so the write would also silently fail. - The code would allow protecting OTP sectors without requiring the otp enable command, as is required before doing regular writes to the main OTP memory. It would probably be better to require this, to minimize the chance of doing any unintentional OTP writes. - The STM32l4x code also supports OTP, but that OTP hardware does...
STM32F2: Protecting OTP fails (code inverts lock value)
Took a while for me to test this, but I just did and it works perfectly. Thanks!
I believe this is fixed in openocd git: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff;h=cff0e417da58adef1ceef9a63a99412c2cc87ff3 Should this issue be closed?
Draft: Fix incorrect use of `in` operator
Draft: Fix SVG generation for label objects
Draft: Fix mixup of TextAlignment vs Justification for Labels
Draft: Simplify using getattr instead of hasattr
Arch: When inverting hinge position, keep opening direction
Arch: Do not draw draft-like groups twice in section view
Draft: Improve docs for get_group_contents spaces parameter
Update link to changelog thread in pull request template
Draft: Fix "Show groups in layer list drop-down button" preference
Arch: Simplify some ifs in ArchComponent
Draft: Simplify code using getattr default value
Draft: Do not move children of App::Link objects
Prepend profile name and/or command to log output
That sounds like a good approach. With "AND", you mean whether e.g. purgeincr should be allowed to run when purgefull fails? It's probably ok to continue running when one command fails, but it might be safer to abort on the first failure, also to prevent the error messages from being scrolled out of sight by a subsequent successful operation?
I came back to this issue after discovering my remote backup disk was full (because I had not enabled purging yet due to this). Looking at this again, I realized there is an easy workaround: just specify large values for any purging options you do not need. E.g. if you only want to use MAX_FULL_BACUPS you can specify: MAX_FULL_BACKUPS=3 MAX_FULLS_WITH_INCRS=9999 MAX_AGE=9999Y This should allow running backup+verify+purge+purgefull+purgeincr unconditionally and without errors (at the expense of doing...
Cool! Matthijs, I would leave the user and bootloader all possibilities for programming elements in arbitrary order with possible side-effects and not add artificial limitations. Note also that the current implementation leaves it to the DfuSe file packager to make sure one programmed element doesn't get erased by a subsequent element in the same flash erase page. Sounds reasonable.
I don't see a pressing need to allow specifying a subset of alternate interface. DfuSe files is a vehicle for firmware packagers (who know what they do) to provide all-in-one files to end users (who might not know what they are doing). It is not for shipping a catalogue of firmware parts that the user should pick and choose from. Yeah, I guess that makes sense. And if you support selecting a single alt, then you can just call dfu-util multiple times to select multiple alts (but not all). For an "-a...
Hi, coworker from Hendry here, he asked me to chip in as well. I haven't looked at the patches in detail and haven't followed all of the previous discussion, but I do have some thoughts about how the CLI interface for this should look. AFAIK, without these patches, you have to always explicitly specify the alternate setting to be used (implemented from the .dfu perspective where a file does not contain alternate setting info and contains just one image). With dfuse files, you can have multiple images...
ic, that's because of the invalid secret key file. makes sense now. Not invalid, but missing (probably what you meant, but just to prevent misunderstanding). It seems that duply does not check whether the private key backup file is present before deciding to try an import.
it shouldn't. importing should only happen if a saved key does not exist in your keyring. Here's what happens: - Duply considers using the first GPG key id as the sign key, so it needs the private key for that. - This private key is not available in the keyring, so it tries to import it. - It imports the public key - It fails to import the private key, since it is not present (I excluded it while syncing the duply profile to this machine). So, every time I start duply, it goes through these same...
Feature: Disable automatic GPG imports
Hm, I settled for the workaround of excluding the files in a sync (I'm not too happy about it, since it's still to easy to accidentally leak the keys), but ran into the same problem in a different way. I'm making backups of my server and just synced the duply configs to my local laptop. Backups are encrypted to one private key that lives on my server and my personal private key that lives on my laptop. Now, when I run any duply command (I think, I tried status), it will try to export my personal...
Feature: Make an LVM snapshot for backup
As a workaround, I've now made the private key backup files empty. This prevents new backups from being made, without leaking the keys. This is somewhat fragile, though, since if I make a new profile and forget to empty the files, I'll be leaking the key anyway...
I had 5 profiles, though some fiddling around with excludes and mountpoints reduced this to three, so it's not terrible. I changed my mind about this and want to split my backups a bit further (to make them more managable in size), so now I'll probably have 6 or so :-) any reason not to use cron, where it is a oneliner? I rather like systemd for running services, since it takes care of logging output, logging exit status, has a status command that shows the current state, allows manually triggering...
Feature: Disable GPG key backups
Thanks for the fast response. You make fair points :-) One of the reason I would like to see this is in duply is to avoid needing another shell script around duply. One of the reasons I'm using duply rather than duplicity directly is to not need a custom shell script, but just have commands I can call from a systemd service file directly. There's of course a lot of other advantages of using duply, so this is not a blocker. Feel free to close this if you do not think this would be worth the trouble,...
how many profiles are we talking? just to get an idea of the effort needed in relation. I had 5 profiles, though some fiddling around with excludes and mountpoints reduced this to three, so it's not terrible. what do you mean. can you give an example? I currently have e.g. this in my systemd unit file: ExecStart=/usr/bin/duply data backup_purgeincr_purge_cleanup --force ExecStart=/usr/bin/duply root backup_purgeincr_purgefull_cleanup --force Now, if I for example change /etc/duply/data/conf from...
Feature: Multiple profiles in one command
Feature: purgeall command
ctags parsing fails on static_assert C++11 keyword
Fix typo.
Clarify the testing documentation a bit and sol...
Restructure the testing documentation.
Replace some weird usage of UserOp1 introduced ...
Use an explicit llvm:: prefix in the STATISTIC ...
Let Instruction::getOpcodeName() return somethi...
Use eraseFromParent() instead of doing that man...
Give a proper error message when a command line...
Implement the two constructors in InsertValueIn...
Fix example to be valid LLVM assembly.
Add a Name parameter to two of the init methods...
Add CallSite::hasArgument to allow for seeing i...
Replace two manual loops with calls to CallSite...
Fix 80 column violations.
Update comments and documentation to reflect th...
Let StructRetPromotion check if it's users are ...
Let StructRetPromotion check if all if its user...
Learn ScalarReplAggregrates how stores and load...
Change the Verifier to support returning first ...
Change llvm.exp so it no longer ignores some er...
Suppress the (stderr) output of -aa-eval, this ...
For all RUN lines starting with "not", redirect...
Fix some llvm-gcc warnings in testcases, mostly...
Remove some debug output from tblgen. This fixe...
Remove trailing whitespace after line continuat...
Fix some escaping and quoting in RUN lines, mai...
Ignore stderr for some more tests that expect w...
Clarify a comment.
Teach instruction combining about the extractva...
Add line continuation character so the avoid du...
Make I/O redirection handling in sys::Program a...
Fix redirection of stderr in sys::Program::Exec...
Add -silence-passes option to bugpoint. This op...
Don't try to compile tests for the ev56 alpha s...
XFAIL some tests that became failing due to the...
Fix PR numbers, I accidentally switched two dig...
Add comment.
Move FindScalarValue from InstructionCombining....
80 column fixes.
Make testcase check for extractvalue instead of...
Pass around Instruction* instead of Instruction...
Make the InsertBefore argument to FindInsertedV...
Make BuildSubAggregate use FindInsertedElement ...
Use a SmallVector instead of an array, since au...
Learn IPConstProp to look at individual return ...
Learn IPConstProp to propagate arguments that a...
Forgot to commit the ValueTracking header file ...
Reapply r52396, it was unrelated to the breakag...
Reapply r52397 (make IPConstProp promote return...
Rewrite the DeadArgumentElimination pass, to us...
Use a CallSite to find the nth argument of a ca...
Modify some ipconstprop tests to also test with...
Remove debug output.
Explicitely track if any arguments or return va...
Don't let DeadArgElimination change the return ...
Don't let DeadArgumentElimination attempt to up...
80 column and trailing whitespace fixes.
Add testcase that checks that DeadArgElim doesn...
Rename a few variables to be more consistent.
Update testing documentation with more consiste...
Allow the test suite to be checked out into pro...
Commit the new DeadArgElim pass again, this tim...
Fix some cosmetics in comments.
Fix a (false) warning on darwin.