Hi! > > On 05/25/2018 12:08 AM, Tomas Hlavacek wrote: > >> But I also have good news: The FW of the MCU is also OSS (see the repo > >> in the link (1)). There is a method for flashing the MCU over I2C from > >> Linux and there is JTAG connector for the MCU, in case un-bricking is > >> needed. Therefore the LED protocol can be changed to be more sensible > >> and/or it is even possible to emulate some existing HW LED driver chip > >> in Omnia MCU and reuse OSS driver for that chip. > > > > Yeah, I noticed, but when we start replacing the firmware, we'd need to > > detect somehow when a machine has an old (or only different) firmware. > > That would imply a versioning scheme and a generic way to read out the > > firmware version. (CMD_GET_FW_VERSION_BOOT is already a start, but this > > doesn't help me if I find an unknown hash.) So a CMD_GET_FW_SOMETHING > > that yields a version string that is similar to the soname of a library > > would be great. > > Oh yes, I was actually trying to push rewrite of the FW before the > production started, but it looked like a redundant work and I rather > implemented the mentioned rule-breaking LED driver. Another good news > is that all the produced boards had the same FW image and there were > no (official and automated) updates so far. I think that in this > situation it is possible to re-write the firmware it if proves to be > the best solution for LED driver and fixing other glitches perhaps. > The only thing we need regarding versions we need is to either check > that we are upgrading the original version and/or consent from the > user to rewrite any other version that we might encounter. (If there > are some user-customized boards around.) Actually, I believe you should try to write the driver for existing firmware, and only if you find that performance is not good enough, change the protocol. > > Talking about firmware, I wonder if there is firmware supported needed > > to solve > > https://wiki.debian.org/InstallingDebianOn/TurrisOmnia#Power_Management > > . Didn't look into that deeply yet and probably not high prio given that > > normally the Turris Omnia will just run 7x24h. > > That's right, there is no power-down signalization from the CPU right > now. Btw. is there any mechanism in kernel to signal over arbitrary > bus (like I2C) that the host is shutting down and the power can/should > be cut to CPU in N seconds? I'm pretty sure kernel can ask the hardware to cut its power. This sounds like it: drivers/power/reset/gpio-poweroff.c Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html