

usual user
-
Posts
485 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Posts posted by usual user
-
-
21 hours ago, KingJ said:
Thanks for compiling that overlay in to a DTB
That was just a simple one-liner (fdtoverlay -i rk3588-nanopc-t6.dtb -o rk3588-nanopc-t6.dtb rk3588-nanopc-t6-emmc.dtbo).
In order to carry out the test in my environment, the typing task was a little more complex:SpoilerExecuted:
fdtoverlay --input rk3588-nanopc-t6-lts-native.dtb --output rk3588-nanopc-t6-lts-con-btn-npu-emmc.dtb rk3588-nanopc-t6-lts-con.dtbo rk3588-nanopc-t6-lts-btn.dtbo rk3588-nanopc-t6-lts-npu.dtbo rk3588-nanopc-t6-lts-emmc.dtbo
Extended extlinux.conf with this boot stanza:
label rockchip menu label ODROID-M1/M2 NanoPC-T6 emmc fdt /usr/lib/modules/linux/dtb/rockchip/rk3588-nanopc-t6-lts-con-btn-npu-emmc.dtb kernel /usr/lib/modules/linux/vmlinuz append loglevel=4 root=PARTUUID=6a6d7001-01 coherent_pool=2M selinux=0 audit=0 console=ttyS02,1500000 console=tty0 fbcon=nodefer rootwait rootfstype=ext4 raid=noautode
Because my device that provides the serial terminal was just shut down for maintenance purposes, I set it as the default boot option.
In this way, I can delay the start up of the serial terminal to that time I am faced with a unbootable system.
Unfortunately, everything worked and I didn't have to reboot with a fail-safe option. And I also didn't accidentally type a configuration incorrectly that would have triggered an automatic safety start.21 hours ago, KingJ said:I'm puzzled as to why that worked, but the overlay didn't work.
It apparently depends on how the overlay was applied, because fundamentally it should also work when applied dynamically.
However, the static application of an overlay has the disadvantage that in the case of an incompatibility, one is only confronted with an error message and does not experience a system that fails to start.21 hours ago, KingJ said:Searching around, it doesn't look like it is easy to pop it out of the case either.
It is not very difficult to get it out. It is held only by the slight adhesive strength of the thermal pad between the SoC and the casing when the bottom plate is removed. A cautious light steady pull releases it. The only difficulty is in gripping the board to make apply this pull. I screwed a bolt into one of the mounting PCB nuts and used it as a handle.
With such a socket in one of the SMA antenna connection ports, the UART connection can be permanently routed to the outside without modifying the casing.
I use it to route the fan connector outside.22 hours ago, KingJ said:Is there a way I can debug why the overlay isn't working without getting access to the UART header on the top of the board?
Without the possibility of providing meaningful serial console logs, you will probably be left on your own with it. -
18 hours ago, KingJ said:
Unfortunately, it then failed to boot.
Admittedly, I had not tested the DTBO at runtime so far, but only applied it statically to the base DTB and checked whether all desired changes were made as intended.
Now I am running my device with the applied overlay and I get the following:[ 0.940862] mmc0: new HS200 MMC card at address 0001 [ 0.941665] mmcblk0: mmc0:0001 A3A561 57.6 GiB [ 0.943039] mmcblk0: p1 p2 [ 0.943767] mmcblk0boot0: mmc0:0001 A3A561 4.00 MiB [ 0.945199] mmcblk0boot1: mmc0:0001 A3A561 4.00 MiB [ 0.946661] mmcblk0rpmb: mmc0:0001 A3A561 16.0 MiB, chardev (506:0)
So everything is as expected, and yes, I have ensured that my system is running with the applied overlay. In the past, I have at least once noticed far too late that my system was running in a fallback, and a feature to be tested was not applied at all. That's just the disadvantage of a fail-safe system that only leaves a non-functional system in an extreme exceptional situation.
Since you haven't provided meaningful logs, I can't say what is going wrong on your end.
To rule out an error when applying the overlay, you could start your system with this DTB (rk3588-nanopc-t6.dtb) , which already contains the overlay applied
statically. -
1 hour ago, KingJ said:
You will certainly gain many grateful users whose devices are not equipped with an affected eMMC, but who still have to suffer from the slowdown nonetheless.
Does the attached overlay work for you?rk3588-nanopc-t6-emmc.dtbo -
1 hour ago, laibsch said:
My board is not Rockchip-based
Oh, sorry, I didn't notice the non-existent 6 and read it as Helios64.
Of course, my description of the boot method is not limited to Rockchip devices; it works on all for which a mainline U-Boot is available. I have used it on iMX6, LX2160A and S922X devices, but my remaining devices are all based on Rockchip.1 hour ago, laibsch said:this is where it would get interesting but ...
The solutions are too varied to present a turnkey solution here. However, I am sure that only a corresponding configuration for implementation is required to achieve the desired behavior, but for that, the U-Boot documentation must be consulted to decide which solution should be chosen.
-
2 hours ago, laibsch said:
Awesome! Please do elaborate.
Since the RK3399 U-Boot can use an HDMI display and a USB keyboard, I would simply configure a jumpstart option in the boot flow that mounts a different root filesystem. When booting, you just have to select this option.
If interacting with the firmware console is too complicated, the recovery system can be placed on a removable storage device. In this way, in case of need, only the rescue media needs to be connected and the system restarted; no firmware console access is required.
A completely firmware-controlled fallback mechanism is also possible, but it requires further special configuration of the firmware.2 hours ago, laibsch said:What is the cargo cult practiced here at Armbian?
Read this thread to understand what I mean by my statement.
-
Everything you wish for here is achievable with pure U-Boot technology. A long time ago, I tried to practice how to realize this here in the forum, but my lesson from it was:
You can't teach old dogs new tricks, and Armbian users want to celebrate their cargo cult and hope that it will magically fulfill their wishes.
-
1 hour ago, grixm said:
I don't think there is any storage device on the rock s0 other than the emmc that I can boot from.
If I have not researched incorrectly, the Rock Pi S0 has microSD, USB, and Ethernet to access external storage, but you have not provided any information about which options are available in your specific case.
-
On 8/27/2025 at 8:00 PM, grixm said:
need to flash a new image to the emmc.
On 8/27/2025 at 8:00 PM, grixm said:Is there a way to trigger rebooting into maskrom from software instead of pushing the button?
To replace an image on the eMMC, the MASKROM mode is not necessary. It is only required when the firmware is so damaged that it no longer works, but the signature is still intact and the MASKROM code still executes it.
To replace an image, it is sufficient to boot from a rootfs that is not on the eMMC and replace it from there.
And the good thing about it is that no device-specific hacks are necessary, just a properly configured bootflow. Furthermore, it is also self-contained, as no external devices with special software or other dependencies are necessary. It can also be automated in such a way that it runs unattended and the user only has to start the process initially. -
35 minutes ago, adron said:
my GC02M2 camera is a RAW sensor ➝ needs RK3566 ISP driver for usable output.
Then you know which part you can contribute to mainline support, otherwise you have to use the manufacturer's BSP, because that's what you paid for.
-
-
9 hours ago, H_Berger said:
i wonna boot from the emmc, so i have bought an little emmc module
IMHO this is a waste of money. In a device with NVME support, the advantages of an NVME SSD far outweigh those of an eMMC. The proprietary module interface also makes it difficult to use in other devices. And as a boot device for the firmware, it also offers no significant advantages over a microSD card.
In any case, I would prefer a microSD card as a boot device, simply because of the easier handling when, for example, experimenting with the firmware. Only when everything works perfectly can one think about using an eMMC, but only if it is already permanently built into the device and the microSD card slot is to be kept free for other tasks.9 hours ago, H_Berger said:so there should no hassle with the MASK-ROM, right ?
Only as long as there is no valid firmware signature in the SPI flash. Otherwise, firmware components will be loaded from there, and they may be able to load subsequent components (U-Boot) from other devices, but compatibility must be ensured.
To avoid this, one must clean the SPI flash or store their own firmware in the SPI flash.
However, since there is no way to fully test one's own firmware for functionality in advance, one may find oneself in a situation that requires a MASK-ROM recovery procedure.9 hours ago, H_Berger said:just trying to build mainline u-boot ragarding this: ttps://uthings.uniud.it/building-mainline-u-boot-and-linux-kernel-for-orange-pi-boards
I prefer to trust the official documentation.
-
Maybe my firmware build can replace Petitboot?
-
11 hours ago, H_Berger said:
with "firmware" you mean the "uboot - loader" mainly right ?
Exactly
11 hours ago, H_Berger said:I think this uboot version is lacking at least on nvme support, right ?
Since I don't know the build, I can't make any concrete statements about it.
11 hours ago, H_Berger said:Usually my plan was not to boot from nvme
It is also not possible under any circumstances, as the access procedures are far too complex to be meaningfully encoded in the MASK-ROM. As firmware devices, only SPI flash, MMC (eMMC, SD card), and USB with a proprietary protocol are available.
11 hours ago, H_Berger said:I have red somewhere that the actual released git branch of uboot has support for the orange pi 5 plus
so building a uboot from git would help here ?This is correct. I just quickly built this version out of curiosity. I was just about to provide the binary artifacts when I quickly took a look at the schematic of your device.
If I am not misinterpreting the schematic, your device only allows the fixed SPI-MMC-USB sequence and the forced immediate proprietary USB device. This means that you cannot execute the firmware completely from the microSD card, for example, if there is still a valid firmware signature in a device (SPI, eMMC) that is higher up in the priority list.
It is therefore essential that you are familiar with the USB recovery procedure (MASK-ROM-MODE), in case something goes wrong during the firmware experiments with the higher prioritized devices (SPI, eMMC). -
3 hours ago, H_Berger said:
what didd I miss ?
You are running with a broken firmware:
3 hours ago, H_Berger said:## Checking fdt 0x00354c30 ... sha256(e3b0c44298...) + OK fdt_record_loadable: FDT_ERR_BADMAGIC
3 hours ago, H_Berger said:No valid device tree binary found
Your version is also quite outdated:
3 hours ago, H_Berger said:U-Boot SPL 2017.09
A current firmware log looks like this:
SpoilerDDR ff1a08bde6 typ 25/03/13-15:39:39,fwver: v1.19 ch0 ttot6 ch1 ttot6 ch2 ttot6 ch3 ttot6 ch0 ttot7 LPDDR5, 2400MHz channel[0] BW=16 Col=10 Bk=16 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=4096MB ch1 ttot7 channel[1] BW=16 Col=10 Bk=16 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=4096MB ch2 ttot7 channel[2] BW=16 Col=10 Bk=16 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=4096MB ch3 ttot7 channel[3] BW=16 Col=10 Bk=16 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=4096MB Manufacturer ID:0x1 DQS rds:h1,h2,. CH0 RX Vref:29.3%, TX Vref:22.0%,21.0% DQ rds:h2 l0 h5 h2 h3 h2 h2 h5 ., h1 h1 h3 h5 h2 h1 h4 h2 DQS rds:h1,l0,. CH1 RX Vref:28.9%, TX Vref:22.0%,22.0% DQ rds:h3 h2 l1 h3 h4 l0 h3 h1 ., h3 l0 h5 h1 h1 l0 h1 l0 DQS rds:l0,l0,. CH2 RX Vref:28.5%, TX Vref:22.0%,22.0% DQ rds:h1 h1 h1 h4 l0 h1 h2 h1 ., h7 h5 h2 h1 h3 h1 l0 l0 DQS rds:l0,h1,. CH3 RX Vref:29.3%, TX Vref:22.0%,21.0% DQ rds:h6 h4 h2 h6 h2 h2 h3 h1 ., h5 h6 h4 h1 h7 h5 h2 h2 stride=0x2, ddr_config=0x6 hash ch_mask0-1 0x20 0x40, bank_mask0-3 0x0 0x2400 0x44800 0x89000, rank_mask0 0x2000 change to F1: 534MHz ch0 ttot6 ch1 ttot6 ch2 ttot6 ch3 ttot6 change to F2: 1320MHz ch0 ttot8 ch1 ttot8 ch2 ttot8 ch3 ttot8 change to F3: 1968MHz ch0 ttot6 ch1 ttot6 ch2 ttot6 ch3 ttot6 change to F0: 2400MHz ch0 ttot7 ch1 ttot7 ch2 ttot7 ch3 ttot7 out U-Boot SPL 2025.07 (Jul 11 2025 - 00:00:00 +0000) Trying to boot from MMC2 ## Checking hash(es) for config config-1 ... OK ## Checking hash(es) for Image atf-1 ... sha256+ OK ## Checking hash(es) for Image u-boot ... sha256+ OK ## Checking hash(es) for Image fdt-1 ... sha256+ OK ## Checking hash(es) for Image atf-2 ... sha256+ OK ## Checking hash(es) for Image atf-3 ... sha256+ OK NOTICE: BL31: v2.13.0(release): NOTICE: BL31: Built : 00:00:00, May 22 2025 U-Boot 2025.07 (Jul 11 2025 - 00:00:00 +0000) Model: Hardkernel ODROID-M2 SoC: RK3588S2 DRAM: 16 GiB PMIC: RK806 (on=0x80, off=0x08) Core: 382 devices, 35 uclasses, devicetree: separate MMC: mmc@fe2c0000: 1, mmc@fe2e0000: 0 Loading Environment from nowhere... OK In: serial@feb50000 Out: serial@feb50000 Err: serial@feb50000 Model: Hardkernel ODROID-M2 SoC: RK3588S2 Net: eth0: ethernet@fe1c0000 starting USB... USB EHCI 1.00 USB OHCI 1.0 USB EHCI 1.00 USB OHCI 1.0 Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.10 Bus usb@fc800000: 1 USB Device(s) found Bus usb@fc840000: 1 USB Device(s) found Bus usb@fc880000: 5 USB Device(s) found Bus usb@fc8c0000: 1 USB Device(s) found Bus usb@fcd00000: 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Cannot persist EFI variables without system partition *** U-Boot Boot Menu *** Press UP/DOWN to move, ENTER to select, ESC to quit Standard Boot NVME USB Mass Storage eMMC USB Mass Storage microSD USB Mass Storage Power Off mmc 1 mmc 0 nvme 0 Exit Hit any key to stop autoboot: 2 1 0 Scanning for bootflows in all bootdevs Seq Method State Uclass Part Name Filename --- ----------- ------ -------- ---- ------------------------ ---------------- Scanning global bootmeth 'efi_mgr': 0 efi_mgr ready (none) 0 <NULL> ** Booting bootflow '<NULL>' with efi_mgr Loading Boot0000 'mmc 1' failed Loading Boot0001 'mmc 0' failed Loading Boot0002 'nvme 0' failed EFI boot manager: Cannot load any image Boot failed (err=-14) Scanning bootdev 'mmc@fe2c0000.bootdev': 1 extlinux ready mmc 1 mmc@fe2c0000.bootdev.part /extlinux/extlinux.conf ** Booting bootflow 'mmc@fe2c0000.bootdev.part_1' with extlinux Jumpstart Boot Options 1: ODROID-M1/M2 default 2: ODROID-M1/M2 previous kernel 3: ODROID-M1/M2 verbose 4: Odroid-N2/N2+ default 5: Odroid-N2/N2+ previous kernel Enter choice: 1: ODROID-M1/M2 default Retrieving file: /usr/lib/modules/linux/vmlinuz append: loglevel=7 root=PARTUUID=75235836-01 consolee=ttyS02,1500000 console=tty0 rootwait rootfstype=ext4 Retrieving file: /usr/lib/modules/linux/dtb/rockchip/rk3588s-odroid-m2.dtb Uncompressing Kernel Image to 0 ## Flattened Device Tree blob at 12000000 Booting using the fdt blob at 0x12000000 Working FDT set to 12000000 Loading Device Tree to 00000000ece60000, end 00000000ece779b7 ... OK Working FDT set to ece60000 Starting kernel ...
-
4 hours ago, robertoj said:
[vd] Codec list:
[vd] libdav1d (av1) - dav1d AV1 decoder by VideoLAN
[vd] libaom-av1 (av1) - libaom AV1
[vd] av1 - Alliance for Open Media AV1
[vd] av1_cuvid (av1) - Nvidia CUVID AV1 decoder
[vd] Opening decoder libdav1d
[vd] No hardware decoding available for this codec.Just out of curiosity, you are trying to play content that is encoded in AV1.
Are you sure that your device is equipped with an AV1 decoder IP and that the kernel has the appropriate driver?
-
FWIW
rkvdec will be out of staging in 6.17Be prepared to forward-port existing out-of-tree patches.
cedrus has not seen much movement since a long time
It can therefore be assumed that all necessary out-of-tree modifications from the past must be applied even with the latest kernel version.
Since no mainline developments have taken place, no forward porting should be necessary. -
7 hours ago, ceri said:
What does the shutdown process to that could fix this?
It leaves the device with an intact file system.
The corrupted file system structure has likely been restored by rolling back the journal during the automatic file system check of the unmounted file system at system startup. But the data loss is permanent.
There is a reason why UPS systems exist. -
50 minutes ago, rosenrot00 said:
Thank you that worked.
I don't know your plans for how things are supposed to proceed. But if you plan to continue using my firmware build, I would suggest transferring it to the SPI flash, provided you are not wanted to use any other firmware in there.
- This relieves you from having to pay attention to restoring my firmware build when changing an image.
- You have two firmware versions available to you, between which you can switch with the SPI-MMC boot switch.
- Even without the eMMC module, you can boot an OS from another connected storage device.
- The U-Boot console is also available with an HDMI monitor and a USB keyboard and can be used for analysis in the event of startup problems. Of course, it is also used to select various boot options if autoboot is interrupted. -
21 minutes ago, rosenrot00 said:
Where would I have to place it?
Use:
dd bs=512 seek=1 conv=notrunc,fsync if=odroid-n2/u-boot-meson.bin of=/dev/${entire-device-to-be-used}
as outlined in the referenced post to replace the existing firmware on the eMMC.
Firmare is residing outside of partition layout structures so you can only write it by absolute access.
-
26 minutes ago, rosenrot00 said:
Isn’t uboot coming with the armbian image on the emmc?
Certainly, but I don't know if anyone has taken the effort to integrate a current version so far.
27 minutes ago, rosenrot00 said:Could you tell me where I find the most recent uboot?
The mainline U-Boot project always provides the source codes for the latest versions.
You can build it by yourself with the Armbian build framework, or use my build for a quick test. -
6 hours ago, rosenrot00 said:
Would be nice to understand why it doesn't boot.
The log is telling that the firmware can't operate the eMMC:
6 hours ago, rosenrot00 said:Device 0: unknown device Card did not respond to voltage select! : -110
Furthermore, the alternatively attempted BOOTP and PXE boot are also unsuccessful because it seems that a server is found, but the necessary bootflow is not configured correctly.
As you are running a quite dated U-Boot, maybe using a cureent release has better support for the eMMC. -
On 5/24/2025 at 5:03 AM, TinaB said:
I try to get my NanoPC-T4 a second life.
My NanoPC-T4 is still alive:
For a quick test, I used my NVME with my latest OS, which usually powers a different SBC:
SpoilerPlease do not let it bother you that the NanoPC-T4 uses an outdated kernel to run the OS. This is due to my negligence in building the current kernel without the necessary hacks needed for proper HDMI functionality. Some of the hacks have now been proper implemented in mainline, while others are still in flight. Until this process is completed, I have decided out of laziness to temporarily use an outdated kernel, as I do not miss any functionalities that a current kernel could provide me.
On 5/24/2025 at 5:03 AM, TinaB said:the green blinking light indicates me, that he found no bootable device.
My status LED is not blinking at boot at all. To debug boot problems, blinking LEDs are the worst possible option. Only proper console logs are of value. During OS runtime, it is configured as an HDD LED to indicate access to the microSD, as this is important information for when it is safe to remove it.
On 5/24/2025 at 5:03 AM, TinaB said:The final solution should be that has the bootloader on the eMMC while the rest of the os should be on the SSD
I am still running my firmware from the microSD, again out of laziness to copy it to the eMMC. But any of nessesary support for the NanoPC-T4 is availabe and maybe some boring day or some spezial demand let me revisit to configure it properly. Until then, the bitrottining configuration is sufficient to serve more or less as an always-on terminal server for several USB serial adapters, which provide me with console access to my other SBCs if necessary.
-
8 hours ago, antatarmbian said:
But still I cannot boot the system after removing the sd-card.
EXIT to the U-Boot console and report the output of the following command:
bootflow scan -l nvme
8 hours ago, antatarmbian said:I then did armbian-install -> nvme01 Install UEFI system
I don't know what the armbian-install does, but does it make a difference if you dd the same unmodified image to the NVME as you do to the microSD?
-
NanoPC-T6 - eMMC I/O errors under heavy load due to HS400 mode
in Rockchip
Posted
Maybe another important data point to consider – are both of you running the same firmware?