Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

h96 needs to use the mainline-uboot when using the 6.1 kernel #1250

Closed
HelferP opened this issue Apr 6, 2023 · 15 comments
Closed

h96 needs to use the mainline-uboot when using the 6.1 kernel #1250

HelferP opened this issue Apr 6, 2023 · 15 comments
Labels
documentation Improvements or additions to documentation new box Research Fills in the Blanks support This need is supported

Comments

@HelferP
Copy link
Contributor

HelferP commented Apr 6, 2023

Standard chat template, no routine, no chat.
标准聊天模板,无套路不聊天。

Device Information | 设备信息

  • SOC: S095x3
  • Mode h96max x3

**Armbian Version

The version mentioned above runs and works normally from an SD card. However, if you install it on an MMC using Armbian-install, after rebooting, the screen goes black and nothing happens. At the same time, version 5.15.105 works perfectly fine when installed on an MMC.

For my board, I choose the 503 installation option. The installation process completes without errors.

If I update the kernel on a working system with version 5.15.105 installed on MMC using 'armbian-update -k 6.1.22', after rebooting, I also get only a black screen.

Attempts to restore kernel 5.15.105 by booting from an SD card and applying the 'armbian-update -s' command do not fix the black screen. The only solution that helps is a new installation using 'armbian-install'

@HelferP
Copy link
Contributor Author

HelferP commented Apr 6, 2023

I booted from an SD card and mounted not working, after armbian-install, system on eMMC to the /mnt directory. Here's the output
cat /mnt/boot/uEnv.txt
cat /mnt//etc/ophub-release
ls -l /mnt//boot/u-boot*

cat /mnt/boot/uEnv.txt
LINUX=/zImage
INITRD=/uInitrd
FDT=/dtb/amlogic/meson-sm1-h96-max-x3.dtb
APPEND=root=UUID=f0b5da45-c30c-4052-a6d0-95ca56dc424a rootflags=data=writeback rw rootfstype=ext4 console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1

cat /mnt/etc/ophub-release
PLATFORM='amlogic'
VERSION_CODEID='ubuntu'
VERSION_CODENAME='jammy'
FAMILY='meson-sm1'
BOARD='s905x3'
SOC='s905x3'
FDTFILE='meson-sm1-h96-max-x3.dtb'
KERNEL_REPO='ophub/kernel'
KERNEL_TAGS='stable'
KERNEL_VERSION='6.1.22'
KERNEL_BACKUP='yes'
GITHUB_CDN=''
BOOT_CONF='uEnv.conf'
ROOTFS_TYPE='ext4'
DISK_TYPE='emmc'
AMPART_STATUS='yes'
MLUBOOT_STATUS='no'
MAINLINE_UBOOT='/usr/lib/u-boot/h96maxx3-u-boot.bin.sd.bin'
BOOTLOADER_IMG='/usr/lib/u-boot/'
UBOOT_OVERLOAD='u-boot-x96maxplus.bin'
PACKAGED_DATE='2023-04-05'

ls -l /mnt/boot/u-boot*
-rwxr-xr-x 1 root root 704408 Apr  6  2023 /mnt//boot/u-boot-e900v22c.bin
-rwxr-xr-x 1 root root 746678 Apr  6  2023 /mnt//boot/u-boot.emmc
-rwxr-xr-x 1 root root 746678 Apr  6  2023 /mnt//boot/u-boot.ext
-rwxr-xr-x 1 root root 757153 Apr  6  2023 /mnt//boot/u-boot-gtking.bin
-rwxr-xr-x 1 root root 757080 Apr  6  2023 /mnt//boot/u-boot-gtkingpro.bin
-rwxr-xr-x 1 root root 735459 Apr  6  2023 /mnt//boot/u-boot-gtkingpro-rev-a.bin
-rwxr-xr-x 1 root root 702771 Apr  6  2023 /mnt//boot/u-boot-n1.bin
-rwxr-xr-x 1 root root 761012 Apr  6  2023 /mnt//boot/u-boot-odroid-n2.bin
-rwxr-xr-x 1 root root 553489 Apr  6  2023 /mnt//boot/u-boot-p201.bin
-rwxr-xr-x 1 root root 606670 Apr  6  2023 /mnt//boot/u-boot-p212.bin
-rwxr-xr-x 1 root root 633376 Apr  6  2023 /mnt//boot/u-boot-r3300l.bin
-rwxr-xr-x 1 root root 609247 Apr  6  2023 /mnt//boot/u-boot-s905.bin
-rwxr-xr-x 1 root root 740080 Apr  6  2023 /mnt//boot/u-boot-s905x2-s922.bin
-rwxr-xr-x 1 root root 650183 Apr  6  2023 /mnt//boot/u-boot-s905x-s912.bin
-rwxr-xr-x 1 root root 746678 Apr  6  2023 /mnt//boot/u-boot.sd
-rwxr-xr-x 1 root root 754378 Apr  6  2023 /mnt//boot/u-boot-sei510.bin
-rwxr-xr-x 1 root root 754384 Apr  6  2023 /mnt//boot/u-boot-sei610.bin
-rwxr-xr-x 1 root root 880672 Apr  6  2023 /mnt//boot/u-boot-skyworth-lb2004.bin
-rwxr-xr-x 1 root root 758664 Apr  6  2023 /mnt//boot/u-boot-tx3-bz.bin
-rwxr-xr-x 1 root root 759112 Apr  6  2023 /mnt//boot/u-boot-tx3-qz.bin
-rwxr-xr-x 1 root root 694755 Apr  6  2023 /mnt//boot/u-boot-u200.bin
-rwxr-xr-x 1 root root 877080 Apr  6  2023 /mnt//boot/u-boot-ugoos-x3.bin
-rwxr-xr-x 1 root root 709768 Apr  6  2023 /mnt//boot/u-boot.usb
-rwxr-xr-x 1 root root 748175 Apr  6  2023 /mnt//boot/u-boot-x96max.bin
-rwxr-xr-x 1 root root 746678 Apr  6  2023 /mnt//boot/u-boot-x96maxplus.bin
-rwxr-xr-x 1 root root 703444 Apr  6  2023 /mnt//boot/u-boot-zyxq.bin

@ophub
Copy link
Owner

ophub commented Apr 6, 2023

9131418

Execute the armbian-sync command in SD to update the armbian-update script to the latest version.

The difference between using the 6.1 kernel and the 5.15 kernel is the addition of /boot/u-boot.emmc files in 6.1.

I just updated the kernel rescue plan, and the new script will delete the u-boo.emmc file in EMMC when executing the armbian-update -s command.

In general, you do not need to use the mainline_u-boot to use the 6.1 kernel normally. If your device fails the test, you should enable the mainline during installation.

https://github.com/ophub/amlogic-s9xxx-armbian/tree/main/build-armbian/documents#123-how-to-restore-the-original-android-tv-system
see 12.3

If you have the Android firmware of the original device and understand how to restore the Android system after installation failure, you can test using the main line for installation: armbian-install -m yes

@HelferP
Copy link
Contributor Author

HelferP commented Apr 6, 2023

If your device fails the test, you should enable the mainline during installation.

What test are you referring to? Could you please provide more details as I didn't quite understand your previous message.

@ophub
Copy link
Owner

ophub commented Apr 6, 2023

armbian-install -m yes

@HelferP
Copy link
Contributor Author

HelferP commented Apr 6, 2023

Execute the armbian-sync command in SD to update the armbian-update script to the latest version.

Thanks! After armbian-sync armbian-update -s great work, the kernel was successfully updated to version 5.15.105.

@HelferP
Copy link
Contributor Author

HelferP commented Apr 6, 2023

armbian-install -m yes

I tried to install using "armbian-install -m yes" on the 6.1.22 kernel and it worked, although now the system boots slightly differently. Do I now need to always use "armbian-install -m yes" for installation, including for the 5.15.x kernel?

How to update the kernel, which command to use: armbian-update -m yes?

@ophub
Copy link
Owner

ophub commented Apr 6, 2023

It is not required to install 5.15, only 6.1 is required -m yes for some devices. 99% of devices do not need 6.1, you are an example.

Updating the kernel made no difference. Both are armbian-update, both update 5.15 and 6.1 are fine. As long as the mainline u-boot has been used during installation, -m yes is not needed when updating the kernel.

# update to latest version
armbian-update

# OR Update to the specified version
armbian-update -k x.x.xxx

@HelferP
Copy link
Contributor Author

HelferP commented Apr 6, 2023

Can you explain why 6.1.22 works fine with SD, but does not work with regular installation to emmc using the armbian-install command?

@ophub
Copy link
Owner

ophub commented Apr 6, 2023

your box need mainline uboot.

99% of devices do not need, but you are 1%.

Because this h96 is more handsome. must use -m yes

@ophub ophub added documentation Improvements or additions to documentation support This need is supported labels Apr 6, 2023
@HelferP
Copy link
Contributor Author

HelferP commented Apr 6, 2023

your box need mainline uboot.

Can installing mainline uboot cause problems?

@ophub
Copy link
Owner

ophub commented Apr 6, 2023

If you can use the original Android boot, you don't need the main line. The purpose of writing to the mainline is to solve the problem that Android cannot be booted. Use the mainline to better support the armbian system.

The disadvantage is that for unknown devices, the main line uboot written to other devices during the test will cause failure to start.

@ophub ophub changed the title Versions with kernel 6.1.x not boot after armbian-install h96 needs to use the mainline-uboot when using the 6.1 kernel Apr 6, 2023
@HelferP
Copy link
Contributor Author

HelferP commented Apr 7, 2023

Thank you, my question is closed!

@HelferP HelferP closed this as completed Apr 7, 2023
@ophub ophub added the new box Research Fills in the Blanks label Apr 7, 2023
@oops9
Copy link

oops9 commented Aug 13, 2023

The WiFi chip is HCY6355, which firmware can be used for WiFi?

@ophub
Copy link
Owner

ophub commented Aug 13, 2023

There is no such driver in the kernel source code

@JunkerWilli
Copy link

JunkerWilli commented Nov 21, 2023

Hello,

I also wanted to mention that I tried 3 different S905X3 devices and all of them require the mainline u-boot installation to emmc (armbian-install -m yes) when I use Armbian_23.11.0_amlogic_s905x3_lunar_6.1.62_server_2023.11.12.img . With Armbian_23.11.0_amlogic_s905x3_lunar_5.15.138_server_2023.11.12.img I don't need the "-m yes" option.

I think it might be that the manufacturers of the android tv boxes recently changed something of the hardware (another eMMC module or something like that?). Does anyone have a device bought in 2023 and does not need to use "-m yes" with 6.1.62 kernel?

These are the 3 devices I tried:

  • H96 MAX X3 4GB 32GB (new, came with 2023 android)
  • HK1 BOX 4GB 32GB (new, came with 2023 android)
  • Vontar X3 4GB 64GB (I bought that one used, but I assume it also pretty new)

I also tried different android stock firmwares from 2019 to 2022 but none of them changed anything in that regard. I got that idea from issue #1006 where the op said he managed to fix that issue with a 2020 firmware. However that same firmware didn't help me.

99% of devices do not need, but you are 1%.

Well I manged to get a 100% hit rate 😢

The problem with using the mainline u-boot (-m yes) is that whenever I have my USB keyboard-mouse wireless adapter plugged in, booting with mainline u-boot takes a lot of time. It seems like it tries to boot from that wireless adapter. The mainline u-boot shows a console output when starting the box, so I can see it does something USB related. This delay does not happen with the stock u-boot. Also there is no console output with stock u-boot before armbian actually starts booting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation new box Research Fills in the Blanks support This need is supported
Projects
None yet
Development

No branches or pull requests

4 participants