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