Disabling internal RTC ends up in hang
Johnny Sorocil
jsorocil at gmail.com
Fri Aug 21 10:25:19 UTC 2020
On Wed, Aug 19, 2020 at 7:55 PM Ian Lepore <ian at freebsd.org> wrote:
> I think you may be running into a problem Andriy (avg@) described on
> irc the other day: the allwinner RTC hardware has no way to detect
> whether it lost power, so it always supplies the time, even if it's
> incorrect. When there are multiple RTCs in the system, the kernel asks
> them in the order they registered until one provides the time.
>
> I suspect the panic is happening because the internal RTC also provides
> the system 32khz clock, which is needed by other devices.
>
> He cooked up this patch: http://paste.ubuntu.com/p/6hhtQbJC85/
>
> With that patch in place, the 32khz clock would be available, but the
> RTC would not supply the time unless it was correct.
>
Attempt #1:
Booting GENERIC kernel and loading patched "aw_rtc.ko"
- already present in kernel
- system date not correct
Attempt #2:
Booting custom kernel with option "nodevice aw_rtc" and loading patched
"aw_rtc.ko"
- same panic & hang as in previous message
Attempt #3:
Booting GENERIC kernel which has builtin patched "aw_rtc":
mmc0: No compatible cards found on bus
aw_mmc1: Spurious interrupt - no active request, rint: 0x00000004
mmc1: <MMC/SD bus> on aw_mmc0
Cannot set frequency for clk: mmc0, error: 34
aw_mmc0: failed to set frequency to 50000000 Hz: 34
uhub2: 1 port with 1 removable, self powered
uhub0: 1 port with 1 removable, self powered
ugen2.2: <Realtek 802.11n NIC> at usbus2
mountroot: waiting for device /dev/ufs/rootfs...
Mounting from ufs:/dev/ufs/rootfs failed with error 19.
Loader variables:
vfs.root.mountfrom=ufs:/dev/ufs/rootfs
vfs.root.mountfrom.options=rw
Manual root filesystem specification:
<fstype>:<device> [options]
Mount <device> using filesystem <fstype>
and with the specified (optional) option list.
eg. ufs:/dev/da0s1a
zfs:zroot/ROOT/default
cd9660:/dev/cd0 ro
(which is equivalent to: mount -t cd9660 -o ro /dev/cd0 /)
? List valid disk boot devices
. Yield 1 second (for background tasks)
<empty line> Abort manual input
mountroot> aw_mmc0: controller timeout
aw_mmc0: timeout resetting DMA/FIFO
aw_mmc0: timeout updating clock
aw_mmc0: controller timeout
aw_mmc0: timeout resetting DMA/FIFO
aw_mmc0: timeout updating clock
aw_mmc0: controller timeout
aw_mmc0: timeout resetting DMA/FIFO
More information about the freebsd-arm
mailing list