Jump to content

Wrong temperature reading Orange Pi zero 2


silajim

Recommended Posts

I've tinkering with this board, and trying to boot from spl, but the boot halts after reading the temperature sensors, which does not happen when booting from the sd card.

 

After booting from the sd card I read the sensor that causes the problem 

 

# cat /sys/devices/virtual/thermal/thermal_zone0/temp
51740

 

I found in a forum some kernel patches to mitigate this: https://forum.manjaro.org/t/support-for-orangepi-zero2-h616-ddr3-zero3-and-zero-2w-h618-lpddr4/154679

 

Why does it fail when booting from spl, and not when booting from the sd?

 

Here is the system info:

 

Quote

# armbianmonitor -m
Stop monitoring using [ctrl]-[c]
Time        CPU    load %cpu %sys %usr %nice %io %irq   Tcpu  C.St.

23:48:42  1512 MHz  0.00   3%   1%   1%   0%   0%   0%  51.8 °C  0/5
23:48:48   480 MHz  0.00   0%   0%   0%   0%   0%   0%  51.0 °C  0/5
23:48:53   480 MHz  0.00   0%   0%   0%   0%   0%   0%  51.9 °C  0/5^C

 

# cat /etc/armbian-release
# PLEASE DO NOT EDIT THIS FILE
BOARD=orangepizero2
BOARD_NAME="Orange Pi Zero2"
BOARDFAMILY=sun50iw9
BUILD_REPOSITORY_URL=https://github.com/armbian/build
BUILD_REPOSITORY_COMMIT=89476e86f
LINUXFAMILY=sunxi64
ARCH=arm64
BOOT_SOC=
IMAGE_TYPE=stable
BOARD_TYPE=wip
INITRD_ARCH=arm64
KERNEL_IMAGE_TYPE=Image
KERNEL_TARGET=current,edge
KERNEL_TEST_TARGET=current
FORCE_BOOTSCRIPT_UPDATE=yes
FORCE_UBOOT_UPDATE=
OVERLAYDIR="/boot/dtb/allwinner/overlay"
VENDOR="Armbian"
VENDORDOCS="https://docs.armbian.com"
VENDORURL="https://www.armbian.com/"
VENDORSUPPORT="https://forum.armbian.com"

 

EDIT: I am booting the same install in both cases from the sd card, but from the spl I do it manually since I have to take the sd card out to get into the spl
VENDORBUGS="https://www.armbian.com/bugs"
BOOTSCRIPT_FORCE_UPDATE="yes"
BOOTSCRIPT_DST="boot.cmd"
VERSION=24.8.4
REVISION=24.8.4
BRANCH=current

 

# uname -r
6.6.36-current-sunxi64

 

Edited by silajim
Link to comment
Share on other sites

Armbian & Khadas are rewarding contributors

14 minutes ago, robertoj said:

Can you step back in armbian images until you find a linux version that doesn't show this problem?

 

I could to kernels I suppose, but not full images

 

13 minutes ago, SteeMan said:

Do you have the same uboot installed to spi as you have on the sd?

 

No, the sd has  2024.01-armbian-2024.01-S866c-P7079-Ha9af-V2dce-Bda0a-R448a while the spl 2024.07 . I guess I could maybe copy the sd one into the spi? But would it boot the usb? How would I even extract the uboot?

Edited by silajim
Link to comment
Share on other sites

52 minutes ago, silajim said:

sd has  2024.01-armbian-2024.01-S866c-P7079-Ha9af-V2dce-Bda0a-R448a while the spl 2024.07

I suspect that is your answer as to why one boots and the other doesn't when using the same kernel

Link to comment
Share on other sites

1 hour ago, SteeMan said:

I suspect that is your answer as to why one boots and the other doesn't when using the same kernel

 

Yeah, I found the original uboot under /usr/lib and also compiled it from the source using armbian build, but it seems it's built without env support. Any ideas on how to enable it? I need to extend the usb init timeout so the external ssd has time to initialize.

 

EDIT: nevermind, setting usb_pgood_delay to 10000 instead of 1000 fixed the issue

EDIT2 : for future reference:

remove sdcard if any, remove 1 jumper lead, rember where it was (it's needed to boot the device into FEL mode) 
connect serial adapter to board, with 115200 baud
connect usb-c to computer (if working in a VM pass the allwinner device to the VM)
go to the latest official build, extract it and under it go to: {extracted_path}/usr/lib/linux-u-boot-current-orangepizero2 or simmilar u-boot path
use: "sudo sunxi-fel -v -p spiflash-write 0 u-boot-sunxi-with-spl.bin" to write u-boot into device
reconnect the previusly removed jumper lead (this allow for the device to boot from it's memory chip also known as SPI) 
restart the device and monitor the serial (tty) output
if it fails to detect the usb ssd, increase the usb_pgood_delay envoiroment variable using the serial console:
	editenv usb_pgood_delay
		-> input a number, bigger than the exsting (ms)
	saveenv

if it boots succefully, remove serial cables and close

 

Edited by silajim
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines