<div><div dir="auto">Why not add a configurable ┬átimer feature to wireguard where you can set the amount of time after power up before the wireguard vpn comes up? This would solve the problem universally and may be the simplest / quickest solution.</div><div dir="auto"><br></div><div dir="auto">Disclaimer: I don't have a developer's background only a user's one so I am not sure how hard this technically would be to implement...maybe someone can weigh in from the wireguard team.</div><div dir="auto"><br></div><div dir="auto">Glen</div><br><div class="gmail_quote"><div>On Fri, May 11, 2018 at 6:46 PM Kalin KOZHUHAROV <<a href="mailto:me.kalin@gmail.com">me.kalin@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sat, May 12, 2018 at 12:07 AM, Axel Neumann <<a href="mailto:neumann@cgws.de" target="_blank">neumann@cgws.de</a>> wrote:<br>
> We have the following chicken-egg problem:<br>
> We are using WG on openwrt devices which do not have a hardware clock so<br>
> that time is resetted after each reboot.<br>
> Because internet access shall be routed via WG tunnels the internet and<br>
> network-time services (NTP) is not available unless WG works properly.<br>
> But, guess, to reconnect, WG needs a greater time than before it<br>
> rebooted :-(<br>
><br>
> I heard that a suggested solution is to periodically save the current<br>
> time to filesystem and then fix it during boot based on the last saved<br>
> one. But all embedded devices use flash memory with a limited amount<br>
> (about 10^5) of write cycles before they become unstable which would<br>
> destroy the flash within weeks.<br>
><br>
Good/Hard problem!<br>
<br>
> Any ideas how to circumvent this problem?<br>
><br>
I only see 2 ways:<br>
* hardware: add a cheap RTC (best), or storage (USB, SD)<br>
* policy: add exception for ntpdate on base UDP (not WG) (or have<br>
dedicated server/s for that, which you control).<br>
<br>
BTW, while flash write cycles are indeed limited, you are writing a<br>
very small data (that causes a single block to be rewritten).<br>
So a device with say 32 MB(8000 x 4K blocks) will last about 9000<br>
years if you write one block once per hour until 10% (=800) of its<br>
cells are past 10^5 writes.<br>
(or 3 years if you write once per second!)<br>
But my knowledge says 10^3-10^4 write cycles (so still 90-900 years for 1/hour).<br>
<br>
If you have a large number of devices of the same hardware, I'd<br>
suggest a "kill test" of one of them, by rewriting its flash. You can<br>
further use specific file-systems optimized for NAND/NOR flash.<br>
<br>
Cheers,<br>
Kalin.<br>
_______________________________________________<br>
WireGuard mailing list<br>
<a href="mailto:WireGuard@lists.zx2c4.com" target="_blank">WireGuard@lists.zx2c4.com</a><br>
<a href="https://lists.zx2c4.com/mailman/listinfo/wireguard" rel="noreferrer" target="_blank">https://lists.zx2c4.com/mailman/listinfo/wireguard</a><br>
</blockquote></div></div>