Kernel hangs with hw.perfpolicy set as auto on NanoPi R2S

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Kernel hangs with hw.perfpolicy set as auto on NanoPi R2S

Lear Zhou
Hi guys,

With the kind help from Patrick Wildt, I am be able to run OpenBSD 6.7 beta
on a NanoPi R2S. However, it hangs sometimes.

Later after some more digging I finally found it hangs only when
hw.perfpolicy set as 'auto'.

The 'apm' output as followed:
  r2s$ apm
  Battery state: unknown, 0% remaining, unknown life estimate
  A/C adapter state: not known
  Performance adjustment mode: manual (600 MHz)
which let me think if it's the 'unknown' state of both battery and A/C
adapter has something to do with the issue.

I am not familiar with the kernel stuff, and hope someone on this platform
can find a solution for more reasonable behavior on this circumstance.

The dmesg as follow:
OpenBSD 6.7-beta (GENERIC.MP) #587: Wed Apr 29 13:04:54 MDT 2020
    [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
real mem  = 1006903296 (960MB)
avail mem = 945860608 (902MB)
mainbus0 at root: FriendlyElec NanoPi R2S
cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu0: 256KB 64b/line 16-way L2 cache
efi0 at mainbus0: UEFI 2.8
efi0: Das U-Boot rev 0x20200100
apm0 at mainbus0
psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
syscon0 at mainbus0: "syscon"
"io-domains" at syscon0 not configured
"grf-gpio" at syscon0 not configured
"power-controller" at syscon0 not configured
"reboot-mode" at syscon0 not configured
rkclock0 at mainbus0
rkclock_set_frequency: 0x00000061
syscon1 at mainbus0: "syscon"
"usb2-phy" at syscon1 not configured
syscon2 at mainbus0: "syscon"
ampintc0 at mainbus0 nirq 160, ncpu 4 ipi: 0, 1: "interrupt-controller"
rkpinctrl0 at mainbus0: "pinctrl"
rkgpio0 at rkpinctrl0
rkgpio1 at rkpinctrl0
rkgpio2 at rkpinctrl0
rkgpio3 at rkpinctrl0
"opp_table0" at mainbus0 not configured
simplebus0 at mainbus0: "amba"
"dmac" at simplebus0 not configured
"arm-pmu" at mainbus0 not configured
rkdrm0 at mainbus0
drm0 at rkdrm0
agtimer0 at mainbus0: tick rate 24000 KHz
"xin24m" at mainbus0 not configured
com0 at mainbus0: ns16550, no working fifo
com0: console
rkiic0 at mainbus0
iic0 at rkiic0
rkiic1 at mainbus0
iic1 at rkiic1
rkpmic0 at iic1 addr 0x18: RK805
"watchdog" at mainbus0 not configured
"pwm" at mainbus0 not configured
rktemp0 at mainbus0
"efuse" at mainbus0 not configured
"gpu" at mainbus0 not configured
"video-codec" at mainbus0 not configured
"iommu" at mainbus0 not configured
"usb3-phy" at mainbus0 not configured
dwmmc0 at mainbus0: 50 MHz base clock
sdmmc0 at dwmmc0: 4-bit, sd high-speed, mmc high-speed, dma
dwge0 at mainbus0: address d2:10:3b:89:f0:c2
rgephy0 at dwge0 phy 0: RTL8169S/8110S/8211 PHY, rev. 5
"usb" at mainbus0 not configured
ehci0 at mainbus0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev
2.00/1.00 addr 1
ohci0 at mainbus0: version 1.0
rkdwusb0 at mainbus0: "usb"
xhci0 at rkdwusb0, xHCI 1.10
usb1 at xhci0: USB revision 3.0
uhub1 at usb1 configuration 1 interface 0 "Generic xHCI root hub" rev
3.00/1.00 addr 1
"external-gmac-clock" at mainbus0 not configured
"board" at mainbus0 not configured
"gpio-leds" at mainbus0 not configured
"sdmmc-regulator" at mainbus0 not configured
"sdmmcio-regulator" at mainbus0 not configured
"vcc-sys" at mainbus0 not configured
"vcc-phy-regulator" at mainbus0 not configured
"host-vbus-regulator" at mainbus0 not configured
"gpio-keys" at mainbus0 not configured
"vcc-rtl8153-regulator" at mainbus0 not configured
cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
cpu1: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu1: 256KB 64b/line 16-way L2 cache
cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
cpu2: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu2: 256KB 64b/line 16-way L2 cache
cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
cpu3: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu3: 256KB 64b/line 16-way L2 cache
usb2 at ohci0: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "Generic OHCI root hub" rev
1.00/1.00 addr 1
scsibus0 at sdmmc0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <SD/MMC, SDU1, 0002> removable
sd0: 15100MB, 512 bytes/sector, 30924800 sectors
ure0 at uhub1 port 2 configuration 1 interface 0 "Realtek USB 10/100/1000
LAN" rev 3.00/31.00 addr 2
ure0: RTL8153B (0x6010), address 00:00:00:00:00:00
rgephy1 at ure0 phy 0: RTL8251 PHY, rev. 0
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
bootfile: sd0a:/bsd
boot device: sd0
root on sd0a (d05859efd170ea3d.a) swap on sd0b dump on sd0b
rkdrm0: no display interface ports configured
Reply | Threaded
Open this post in threaded view
|

Re: Kernel hangs with hw.perfpolicy set as auto on NanoPi R2S

Lear Zhou
Hi,

This issue is still there with recent snapshot build, although it's getting
better with May 13rd build.

Dig a little bit more with this, and found that the easiest way to trigger
the issue for my network setup
is just a long enough FaceTime audio call.

I also observed that when the router hang, it's actually the ure0 interface
went out. The connected
serial showed that the kernel was actually running well, just the specific
network interface down.

The ure0 is the usb 3.0 to ethernet that r2s adopted. When it hangs, the
serial showed as follow:
    usbd_start_next: error=5
    ure0: watchdog timeout
and use ifconfig to shutdown and bring up the ure0 interface won't work:
    r2s$ doas ifconfig ure0 up
    ure0: usb error on tx: IOERROR
    ure0: watchdog timeout
    ure0: usb error on tx: TIMEOUT
    ure0: usb error on tx: TIMEOUT
    ure0: watchdog timeout

While the overheat has been ruled out by applying a passive aluminum case
to it, is it possible
that it could be a usb issue or a driver issue for ure0: RTL8153B (0x6010).

I will be looking forward to any improvement that could fix this issue.

Lear Zhou

On Sun, May 3, 2020 at 1:23 PM Lear Zhou <[hidden email]> wrote:

> Hi guys,
>
> With the kind help from Patrick Wildt, I am be able to run OpenBSD 6.7
> beta on a NanoPi R2S. However, it hangs sometimes.
>
> Later after some more digging I finally found it hangs only when
> hw.perfpolicy set as 'auto'.
>
> The 'apm' output as followed:
>   r2s$ apm
>   Battery state: unknown, 0% remaining, unknown life estimate
>   A/C adapter state: not known
>   Performance adjustment mode: manual (600 MHz)
> which let me think if it's the 'unknown' state of both battery and A/C
> adapter has something to do with the issue.
>
> I am not familiar with the kernel stuff, and hope someone on this platform
> can find a solution for more reasonable behavior on this circumstance.
>
> The dmesg as follow:
> OpenBSD 6.7-beta (GENERIC.MP) #587: Wed Apr 29 13:04:54 MDT 2020
>     [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
> real mem  = 1006903296 (960MB)
> avail mem = 945860608 (902MB)
> mainbus0 at root: FriendlyElec NanoPi R2S
> cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
> cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> cpu0: 256KB 64b/line 16-way L2 cache
> efi0 at mainbus0: UEFI 2.8
> efi0: Das U-Boot rev 0x20200100
> apm0 at mainbus0
> psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
> syscon0 at mainbus0: "syscon"
> "io-domains" at syscon0 not configured
> "grf-gpio" at syscon0 not configured
> "power-controller" at syscon0 not configured
> "reboot-mode" at syscon0 not configured
> rkclock0 at mainbus0
> rkclock_set_frequency: 0x00000061
> syscon1 at mainbus0: "syscon"
> "usb2-phy" at syscon1 not configured
> syscon2 at mainbus0: "syscon"
> ampintc0 at mainbus0 nirq 160, ncpu 4 ipi: 0, 1: "interrupt-controller"
> rkpinctrl0 at mainbus0: "pinctrl"
> rkgpio0 at rkpinctrl0
> rkgpio1 at rkpinctrl0
> rkgpio2 at rkpinctrl0
> rkgpio3 at rkpinctrl0
> "opp_table0" at mainbus0 not configured
> simplebus0 at mainbus0: "amba"
> "dmac" at simplebus0 not configured
> "arm-pmu" at mainbus0 not configured
> rkdrm0 at mainbus0
> drm0 at rkdrm0
> agtimer0 at mainbus0: tick rate 24000 KHz
> "xin24m" at mainbus0 not configured
> com0 at mainbus0: ns16550, no working fifo
> com0: console
> rkiic0 at mainbus0
> iic0 at rkiic0
> rkiic1 at mainbus0
> iic1 at rkiic1
> rkpmic0 at iic1 addr 0x18: RK805
> "watchdog" at mainbus0 not configured
> "pwm" at mainbus0 not configured
> rktemp0 at mainbus0
> "efuse" at mainbus0 not configured
> "gpu" at mainbus0 not configured
> "video-codec" at mainbus0 not configured
> "iommu" at mainbus0 not configured
> "usb3-phy" at mainbus0 not configured
> dwmmc0 at mainbus0: 50 MHz base clock
> sdmmc0 at dwmmc0: 4-bit, sd high-speed, mmc high-speed, dma
> dwge0 at mainbus0: address d2:10:3b:89:f0:c2
> rgephy0 at dwge0 phy 0: RTL8169S/8110S/8211 PHY, rev. 5
> "usb" at mainbus0 not configured
> ehci0 at mainbus0
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev
> 2.00/1.00 addr 1
> ohci0 at mainbus0: version 1.0
> rkdwusb0 at mainbus0: "usb"
> xhci0 at rkdwusb0, xHCI 1.10
> usb1 at xhci0: USB revision 3.0
> uhub1 at usb1 configuration 1 interface 0 "Generic xHCI root hub" rev
> 3.00/1.00 addr 1
> "external-gmac-clock" at mainbus0 not configured
> "board" at mainbus0 not configured
> "gpio-leds" at mainbus0 not configured
> "sdmmc-regulator" at mainbus0 not configured
> "sdmmcio-regulator" at mainbus0 not configured
> "vcc-sys" at mainbus0 not configured
> "vcc-phy-regulator" at mainbus0 not configured
> "host-vbus-regulator" at mainbus0 not configured
> "gpio-keys" at mainbus0 not configured
> "vcc-rtl8153-regulator" at mainbus0 not configured
> cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
> cpu1: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> cpu1: 256KB 64b/line 16-way L2 cache
> cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
> cpu2: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> cpu2: 256KB 64b/line 16-way L2 cache
> cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
> cpu3: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> cpu3: 256KB 64b/line 16-way L2 cache
> usb2 at ohci0: USB revision 1.0
> uhub2 at usb2 configuration 1 interface 0 "Generic OHCI root hub" rev
> 1.00/1.00 addr 1
> scsibus0 at sdmmc0: 2 targets, initiator 0
> sd0 at scsibus0 targ 1 lun 0: <SD/MMC, SDU1, 0002> removable
> sd0: 15100MB, 512 bytes/sector, 30924800 sectors
> ure0 at uhub1 port 2 configuration 1 interface 0 "Realtek USB 10/100/1000
> LAN" rev 3.00/31.00 addr 2
> ure0: RTL8153B (0x6010), address 00:00:00:00:00:00
> rgephy1 at ure0 phy 0: RTL8251 PHY, rev. 0
> vscsi0 at root
> scsibus1 at vscsi0: 256 targets
> softraid0 at root
> scsibus2 at softraid0: 256 targets
> bootfile: sd0a:/bsd
> boot device: sd0
> root on sd0a (d05859efd170ea3d.a) swap on sd0b dump on sd0b
> rkdrm0: no display interface ports configured
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Kernel hangs with hw.perfpolicy set as auto on NanoPi R2S

Mark Kettenis
> From: Lear Zhou <[hidden email]>
> Date: Sat, 16 May 2020 19:41:29 -0700
>
> Hi,
>
> This issue is still there with recent snapshot build, although it's getting
> better with May 13rd build.
>
> Dig a little bit more with this, and found that the easiest way to trigger
> the issue for my network setup
> is just a long enough FaceTime audio call.
>
> I also observed that when the router hang, it's actually the ure0 interface
> went out. The connected
> serial showed that the kernel was actually running well, just the specific
> network interface down.
>
> The ure0 is the usb 3.0 to ethernet that r2s adopted. When it hangs, the
> serial showed as follow:
>     usbd_start_next: error=5
>     ure0: watchdog timeout
> and use ifconfig to shutdown and bring up the ure0 interface won't work:
>     r2s$ doas ifconfig ure0 up
>     ure0: usb error on tx: IOERROR
>     ure0: watchdog timeout
>     ure0: usb error on tx: TIMEOUT
>     ure0: usb error on tx: TIMEOUT
>     ure0: watchdog timeout
>
> While the overheat has been ruled out by applying a passive aluminum case
> to it, is it possible
> that it could be a usb issue or a driver issue for ure0: RTL8153B (0x6010).
>
> I will be looking forward to any improvement that could fix this issue.

Hi,

Can you still log into the system on the serial console or on the
dwge0 network interface when that happens?

In any case, I have seen issues like this when using an inadequate
power supply or if the hardware got too hot.

You might want to expirement with hw.perfpolicy=manual and setting
hw.setperf to various level to investigate whether it runs stable in
that configuration.

How hot does the chip get?  hw.sensors should give an indication.

> On Sun, May 3, 2020 at 1:23 PM Lear Zhou <[hidden email]> wrote:
>
> > Hi guys,
> >
> > With the kind help from Patrick Wildt, I am be able to run OpenBSD 6.7
> > beta on a NanoPi R2S. However, it hangs sometimes.
> >
> > Later after some more digging I finally found it hangs only when
> > hw.perfpolicy set as 'auto'.
> >
> > The 'apm' output as followed:
> >   r2s$ apm
> >   Battery state: unknown, 0% remaining, unknown life estimate
> >   A/C adapter state: not known
> >   Performance adjustment mode: manual (600 MHz)
> > which let me think if it's the 'unknown' state of both battery and A/C
> > adapter has something to do with the issue.
> >
> > I am not familiar with the kernel stuff, and hope someone on this platform
> > can find a solution for more reasonable behavior on this circumstance.
> >
> > The dmesg as follow:
> > OpenBSD 6.7-beta (GENERIC.MP) #587: Wed Apr 29 13:04:54 MDT 2020
> >     [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
> > real mem  = 1006903296 (960MB)
> > avail mem = 945860608 (902MB)
> > mainbus0 at root: FriendlyElec NanoPi R2S
> > cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
> > cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> > cpu0: 256KB 64b/line 16-way L2 cache
> > efi0 at mainbus0: UEFI 2.8
> > efi0: Das U-Boot rev 0x20200100
> > apm0 at mainbus0
> > psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
> > syscon0 at mainbus0: "syscon"
> > "io-domains" at syscon0 not configured
> > "grf-gpio" at syscon0 not configured
> > "power-controller" at syscon0 not configured
> > "reboot-mode" at syscon0 not configured
> > rkclock0 at mainbus0
> > rkclock_set_frequency: 0x00000061
> > syscon1 at mainbus0: "syscon"
> > "usb2-phy" at syscon1 not configured
> > syscon2 at mainbus0: "syscon"
> > ampintc0 at mainbus0 nirq 160, ncpu 4 ipi: 0, 1: "interrupt-controller"
> > rkpinctrl0 at mainbus0: "pinctrl"
> > rkgpio0 at rkpinctrl0
> > rkgpio1 at rkpinctrl0
> > rkgpio2 at rkpinctrl0
> > rkgpio3 at rkpinctrl0
> > "opp_table0" at mainbus0 not configured
> > simplebus0 at mainbus0: "amba"
> > "dmac" at simplebus0 not configured
> > "arm-pmu" at mainbus0 not configured
> > rkdrm0 at mainbus0
> > drm0 at rkdrm0
> > agtimer0 at mainbus0: tick rate 24000 KHz
> > "xin24m" at mainbus0 not configured
> > com0 at mainbus0: ns16550, no working fifo
> > com0: console
> > rkiic0 at mainbus0
> > iic0 at rkiic0
> > rkiic1 at mainbus0
> > iic1 at rkiic1
> > rkpmic0 at iic1 addr 0x18: RK805
> > "watchdog" at mainbus0 not configured
> > "pwm" at mainbus0 not configured
> > rktemp0 at mainbus0
> > "efuse" at mainbus0 not configured
> > "gpu" at mainbus0 not configured
> > "video-codec" at mainbus0 not configured
> > "iommu" at mainbus0 not configured
> > "usb3-phy" at mainbus0 not configured
> > dwmmc0 at mainbus0: 50 MHz base clock
> > sdmmc0 at dwmmc0: 4-bit, sd high-speed, mmc high-speed, dma
> > dwge0 at mainbus0: address d2:10:3b:89:f0:c2
> > rgephy0 at dwge0 phy 0: RTL8169S/8110S/8211 PHY, rev. 5
> > "usb" at mainbus0 not configured
> > ehci0 at mainbus0
> > usb0 at ehci0: USB revision 2.0
> > uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev
> > 2.00/1.00 addr 1
> > ohci0 at mainbus0: version 1.0
> > rkdwusb0 at mainbus0: "usb"
> > xhci0 at rkdwusb0, xHCI 1.10
> > usb1 at xhci0: USB revision 3.0
> > uhub1 at usb1 configuration 1 interface 0 "Generic xHCI root hub" rev
> > 3.00/1.00 addr 1
> > "external-gmac-clock" at mainbus0 not configured
> > "board" at mainbus0 not configured
> > "gpio-leds" at mainbus0 not configured
> > "sdmmc-regulator" at mainbus0 not configured
> > "sdmmcio-regulator" at mainbus0 not configured
> > "vcc-sys" at mainbus0 not configured
> > "vcc-phy-regulator" at mainbus0 not configured
> > "host-vbus-regulator" at mainbus0 not configured
> > "gpio-keys" at mainbus0 not configured
> > "vcc-rtl8153-regulator" at mainbus0 not configured
> > cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
> > cpu1: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> > cpu1: 256KB 64b/line 16-way L2 cache
> > cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
> > cpu2: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> > cpu2: 256KB 64b/line 16-way L2 cache
> > cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
> > cpu3: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> > cpu3: 256KB 64b/line 16-way L2 cache
> > usb2 at ohci0: USB revision 1.0
> > uhub2 at usb2 configuration 1 interface 0 "Generic OHCI root hub" rev
> > 1.00/1.00 addr 1
> > scsibus0 at sdmmc0: 2 targets, initiator 0
> > sd0 at scsibus0 targ 1 lun 0: <SD/MMC, SDU1, 0002> removable
> > sd0: 15100MB, 512 bytes/sector, 30924800 sectors
> > ure0 at uhub1 port 2 configuration 1 interface 0 "Realtek USB 10/100/1000
> > LAN" rev 3.00/31.00 addr 2
> > ure0: RTL8153B (0x6010), address 00:00:00:00:00:00
> > rgephy1 at ure0 phy 0: RTL8251 PHY, rev. 0
> > vscsi0 at root
> > scsibus1 at vscsi0: 256 targets
> > softraid0 at root
> > scsibus2 at softraid0: 256 targets
> > bootfile: sd0a:/bsd
> > boot device: sd0
> > root on sd0a (d05859efd170ea3d.a) swap on sd0b dump on sd0b
> > rkdrm0: no display interface ports configured
> >
> >
>