Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Aug 2020 12:24:17 +0200
From:      Johnny Sorocil <jsorocil@gmail.com>
To:        Ian Lepore <ian@freebsd.org>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Disabling internal RTC ends up in hang
Message-ID:  <CADxA8SpD9qZEL=4GN=opcztjRN3NWSV%2B3bqxkhvG3fp0WwuHfg@mail.gmail.com>
In-Reply-To: <6d88bd5659b854d9af73cb9a325c719c3d7d9da9.camel@freebsd.org>
References:  <CADxA8Sq6TrjDBW0PH_HoywrKDjT=mKxH0F27XYLxDN=d=QHHyw@mail.gmail.com> <CADxA8Sr%2Bmkx1GvgabFWOCaN3nURy=LoOH9VM9DduynWbW%2Bo_Mg@mail.gmail.com> <6d88bd5659b854d9af73cb9a325c719c3d7d9da9.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Aug 19, 2020 at 7:55 PM Ian Lepore <ian@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADxA8SpD9qZEL=4GN=opcztjRN3NWSV%2B3bqxkhvG3fp0WwuHfg>