On Sat, May 16, 2026 at 04:32:22PM +0200, Jeremie Courreges-Anglas wrote:
> 
> Most of the milk-v jupiter machines I have start to exhibit the same
> behavior after some time:
> 
> [...]
> smtpmic0: can't read register 0x1d
> smtpmic0: can't write register 0x1d
> WARNING: can't update clock chip time
> smtpmic0: can't read register 0x1d
> smtpmic0: can't write register 0x1d
> WARNING: can't update clock chip time
> etc etc
> 
> so the RTC isn't updated hourly, but later at reboot:
> 
> smtpmic0: can't read register 0x1d
> smtpmic0: can't write register 0x1d
> WARNING: can't update clock chip time
> syncing disks... done
> smtpmic0: can't read register 0x1d
> smtpmic0: can't write register 0x1d
> WARNING: can't update clock chip time
> xhci0: halt timeout
> xhci0: halt timeout
> xhci0: reset timeout
> rebooting...
> smtpmic0: can't read register 0x7e
> smtpmic0: can't write register 0x7e
> reboot failed; spinning
> 
> oops.  Looking at the conserver logs I see these messages may appear
> 1h+ up to 48h+ after boot.  No idea what is going on.

Some more data:
- is it a big deal for me since an affected machine can't reboot and
  that means the machines in Theo's basement
- it happens whether the machines are idle or busy

The dumb diff below reliably fixes clock setting and reboots.  Maybe
there's a better way but my more complex attempts have failed and I've
been sitting on this since months.

Thoughts?  ok?


Index: dev/smtiic.c
===================================================================
RCS file: /cvs/src/sys/arch/riscv64/dev/smtiic.c,v
diff -u -p -r1.1 smtiic.c
--- dev/smtiic.c        6 Apr 2026 10:30:27 -0000       1.1
+++ dev/smtiic.c        19 Aug 2026 15:44:13 -0000
@@ -187,6 +187,8 @@ smtiic_i2c_acquire_bus(void *cookie, int
        struct smtiic_softc *sc = cookie;
 
        HSET4(sc, ICR, ICR_IUE);
+       delay(10);
+
        return 0;
 }
 


-- 
jca

Reply via email to