GithubHelp home page GithubHelp logo

Comments (2)

ccrisan avatar ccrisan commented on July 17, 2024

@avanc while I'm not saying that the choice of rebooting upon network loss is the best choice, here are some reasons that led to it:

  • thingOS was designed with network connectivity in mind, meaning that losing upstream connection is considered fatal issue (i.e. the system can't work properly without it)
  • connectivity losses may be caused by faulty drivers or hardware issues that could only be recovered from (if at all) by a reboot
  • services running on thingOS might not be designed well enough to be resilient to network reconnections; rebooting the OS will effectively restart them
  • the OS itself is supposed to behave like an "embedded" system, where anything that goes wrong would trigger a reset
  • the OS is supposed to boot fast enough so that the downtime caused by the reboot itself should be comparable to the downtime caused by a network reconnection

This being said, if you don't neet a network connection, you can disable it by setting OS_NETWORKLESS=true. Or you can tweak the panic action handling script so that it doesn't reboot on network loss (or at all).

I have toyed with the idea of a /etc/network/interfaces file and the underlying mechanism and as far as I remember, it actually works for configuring the interfaces, but it won't do Wi-Fi reconnections.

I know the network connection mechanism is far from ideal and I am open to suggestions, but I can't promise to implement anything that is too disruptive or radically changes the way the system currently works.

from thingos.

avanc avatar avanc commented on July 17, 2024

Thanks for the background information. I'm considering to keep my changes small an possible: Do not stop boot process, by doing a reboot with higher delay (e.g. 1 hour) so the photoframe is showing pictures most of the time.

from thingos.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.