<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<br>
<div class="moz-cite-prefix">Am 16.04.2018 um 03:05 schrieb Mark
Webb-Johnson:<br>
</div>
<blockquote type="cite"
cite="mid:C0E5B196-9FBF-411A-8A6B-3283B895AD86@webb-johnson.net">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Michael,
<div class=""><br class="">
</div>
<div class="">Nice work. I like both options.</div>
</blockquote>
<br>
Thanks. Not much work, hopefully helps.<br>
<br>
<blockquote type="cite"
cite="mid:C0E5B196-9FBF-411A-8A6B-3283B895AD86@webb-johnson.net">
<div class="">One suggestion:</div>
<div class=""><br class="">
</div>
<blockquote style="margin: 0 0 0 40px; border: none; padding:
0px;" class="">
<div class="">At the moment, you can do a ‘sd unmount’ and then
hold the BOOT button to factory reset. It can even be mounted
during this reset process.</div>
<div class=""><br class="">
</div>
</blockquote>
<blockquote style="margin: 0 0 0 40px; border: none; padding:
0px;" class="">
<blockquote style="margin: 0 0 0 40px; border: none; padding:
0px;" class="">
<div class="">
<div class=""><font class="" face="Andale Mono"><span
style="font-size: 18px;" class="">OVMS# sd unmount</span></font></div>
<div class=""><font class="" face="Andale Mono"><span
style="font-size: 18px;" class="">Unmounted SD CARD</span></font></div>
<div class=""><font class="" face="Andale Mono"><span
style="font-size: 18px;" class="">W (1321564)
ovms-module: SW2 pushed, factory reset in 9 seconds</span></font></div>
<div class=""><font class="" face="Andale Mono"><span
style="font-size: 18px;" class="">W (1322564)
ovms-module: SW2 pushed, factory reset in 8 seconds</span></font></div>
<div class=""><font class="" face="Andale Mono"><span
style="font-size: 18px;" class=""><br class="">
</span></font></div>
<div class=""><font class="" face="Andale Mono"><span
style="font-size: 18px;" class="">OVMS# sd mount</span></font></div>
<div class=""><font class="" face="Andale Mono"><span
style="font-size: 18px;" class="">Error: SD CARD could
not be mounted</span></font></div>
<div class=""><font class="" face="Andale Mono"><span
style="font-size: 18px;" class="">E (1323204)
sdmmc_cmd: sdmmc_card_init: send_scr (1) returned
0x109</span></font></div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin: 0 0 0 40px; border: none; padding:
0px;" class="">
<div class=""><br class="">
</div>
<div class="">For safety, is it worth checking isinserted() as
well as ismounted() and only allow this to factory reset if
the SD is not actually inserted (as well as not mounted)?
We’ve had so many troubles with SD CARD support in ESP IDF, I
am terrified of going anywhere near it.</div>
</blockquote>
</blockquote>
<br>
I have only thought about the SW2 reading being influenced by SD
data yet, not vice versa. I don't think there would be any data
transmission if the SD is only inserted, but it doesn't hurt
changing the check.<br>
<br>
For the other direction, I'll add a check of the SW2 state to the
mount methods, so no mount is attempted while the button is pressed.
I think that should be possible, as we already take care of the
insertion detection ourselves.<br>
<br>
We should add a general warning to the guide though, that pushing
the button with an SD card inserted should ultimately be avoided. I
guess if you hit the right moment on a write, you can trash the SD
filesystem.<br>
<br>
Regards,<br>
Michael<br>
<br>
<br>
<blockquote type="cite"
cite="mid:C0E5B196-9FBF-411A-8A6B-3283B895AD86@webb-johnson.net">
<div class="">
<div><br class="">
</div>
<div>Regards, Mark.</div>
<div><br class="">
<blockquote type="cite" class="">
<div class="">On 15 Apr 2018, at 11:24 PM, Michael Balzer
<<a href="mailto:dexter@expeedo.de" class=""
moz-do-not-send="true">dexter@expeedo.de</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" class="">
<div text="#000000" bgcolor="#FFFFFF" class=""> Reality
has proven we need some simple way to do a factory
reset, we've got users that don't know how to use a
serial USB terminal.<br class="">
<br class="">
I've implemented the button and SD card methods
discussed earlier.<br class="">
<br class="">
To do a factory reset you can now alternatively to using
"module factory reset"…<br class="">
<ul class="">
<li class="">a) Insert an SD card that has a file
"factoryreset.txt" in the root directory. The file
will be erased, as will be your configuration.<br
class="">
</li>
<li class="">b) Open the module, remove any SD card,
power the module up, wait for 2-3 seconds until boot
has finished, then push and hold SW2 for 10 seconds.<br
class="">
</li>
</ul>
The SD card needs to be remove for method b because SW2
grounds SD_DATA0 as well. Besides the slight chance to
trigger 10 false readings from a running transmission, I
also found the SD driver to be unforgiving about pushing
SW2 during a transfer. It will eventually lock up the
module completely needing a hard reboot. So it's better
to require SD removal for this method.<br class="">
<br class="">
Regards,<br class="">
Michael<br class="">
<br class="">
<br class="">
<div class="moz-cite-prefix">Am 22.02.2018 um 07:30
schrieb Greg D.:<br class="">
</div>
<blockquote type="cite"
cite="mid:eec7772b-b475-e638-d814-aecd8a5dee68@gmail.com"
class="">
<pre class="" wrap="">Ha, good thought! Put a text file in the root directory named
"factoryreset.txt" containing "OVMSv3" as a key, stick it in, and power
up. Done. Brilliant.
It probably should remove said file once the config is cleared, as a
fail-safe. Don't want it to act as a poison pill.
Only "gotcha" is that finding things that can write to a micro SD card
is becoming harder. No to the iPhone. Also my latest Android, though
it does have an OTG adapter so I can get there with a USB reader. The
ecosystem is trying to force storage to a (paid, data mine-able) cloud,
I think, using space and cost savings as a ruse.
Greg
Mark Webb-Johnson wrote:
</pre>
<blockquote type="cite" class="">
<pre class="" wrap="">The other option is SD CARD.
Firmware update can work that way. Put an ovms3.bin in the root of an SD card, plug it in, and it will be auto-flashed to update firmware.
We could have special files on SD CARD doing certain things. Like safe boot. Factory reset. Wifi AP. etc.
Can we write an SD CARD from an iPad? :-)
Regards, Mark.
</pre>
</blockquote>
</blockquote>
<br class="">
<div class="moz-cite-prefix">Am 22.02.2018 um 06:22
schrieb Greg D.:<br class="">
</div>
<blockquote type="cite"
cite="mid:0256a229-23a7-71bb-58a4-82bf8fc90f87@gmail.com"
class=""> We have two buttons:
<blockquote type="cite"
cite="mid:381BD9B8-E1AE-425A-BD22-44550737E7A7@webb-johnson.net"
class="">
<div class="">
<ol class="MailOutline">
<li class="">Hardwired RESET. That resets the
chip.</li>
<li class="">IO0 BOOT. If held during BOOT, that
goes into firmware download mode.</li>
</ol>
So, only #2 is usable, and that only after boot. I
guess we could have a boot delay to allow time for
it to be pressed after power up. </div>
</blockquote>
Yes, something like that. I've worked on products
where holding button #2 after releasing #1 would first
take the product into a reset-to-defaults mode for
about 10 seconds, then if you kept holding it after
that, would take you to the downloader.<br class="">
<blockquote type="cite"
cite="mid:381BD9B8-E1AE-425A-BD22-44550737E7A7@webb-johnson.net"
class="">
<div class="">
<div class=""><br class="">
</div>
<div class="">But, that would require opening up
the case to get to the button. Nasty. Plugging
it into a PC is probably easier?</div>
</div>
</blockquote>
Hooking to a PC wouldn't necessarily be easier, but
certainly safer. I take it that the buttons on the
3.1 hardware aren't anywhere that can be accessed
through a proverbial paper clip-sized hole, nor in
such a way that a metal paper clip wouldn't be in
danger of hitting something live. Opening my box, I
see the 3.0 hardware is not set up that way. The
switches would need to be moved to the back side of
the board for that, and the holes put in the case.
Are we too late?<br class="">
<br class="">
I guess we can assume that our customers are at least
somewhat technology-literate, and in the event that
they lose their AP pass key, a USB serial console
might be a reasonable way to reset things. But if the
only "PCs" they own are a smart phone and tablet, or
in the event that the module is password protected
too, use of the buttons would still be required. Or,
they can cash in their "phone a friend" token. :)
PCs aren't totally obsolete, yet. </blockquote>
<br class="">
<br class="">
<pre class="moz-signature" cols="160">--
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
</div>
_______________________________________________<br
class="">
OvmsDev mailing list<br class="">
<a href="mailto:OvmsDev@lists.openvehicles.com" class=""
moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br
class="">
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br
class="">
</div>
</blockquote>
</div>
<br class="">
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="160">--
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
</body>
</html>