Active threads
Showing topics posted in for the last 365 days.
- Past hour
-
Thinking about a better automated option to revert (e.g. just power off like @The Tall Man suggested) while still not touching uboot or even lower level layers the initrd might be an option based on the current setup. I assume we have very little probability for kernel+initrd load problems. Most issues will probably occur after the rootfs was mounted and handover. Integrating additional scripts inside the initrd could be used to auto revert the symlink in case of failure. Before we are going to reboot we place a status file inside the boot partitions boot directory that we just updated. For this first reboot we call this testboot1. When the new system boots up initrd script checks for this file and renames it to testboot2. If the system boots up correctly or can be accessed remotely /boot/testboot2 is deleted. But if the initrd script sees a testboot2 file during its boot process it knows something went wrong. It then changes the /boot symlink to the other boot folder deletes testboot2 and reboots instead of handing over to the rootfs. If the new system got stuck after it handed over to the rootfs the initrd script should have renamed the file to testboot2 already and a hard restart should revert. This hard reset could probably also be fully automated if the SBC has a hardware watchdog. If the watchdog module is integrated in the initrd it could set it to a reasonable value. The watchdog is then only disabled or changed to normal operation once the system is reliable working or if disabled via remote access. This concept would build on top of what exist. Any community member could choose to test the idea and implement management scripts. I guess everything can be done in bash/sh. It could also lead to a new armbian package: simpleAB which is not perfect but might be enough for many. It would not need many uboot or architectural changes. I guess it also works for all armbian supported devices? But as @Igor already said. One needs to invest.
- 13 replies
-
- Helios 4
- Nanopi Neo 3
-
(and 1 more)
Tagged with:
-
H3 cedrus video acceleration, device tree problem?
laibsch replied to schunckt's topic in Allwinner sunxi
"apt policy ffmpeg" FTW ;-) apt also has a command-line option to force the installation of a particular package version. To automate this, you can put a file under /etc/apt/preferences.d/ -
This is not recommended as its not controlled environment. It might work, but no warranties. HDMI output is broken in general (on this particular SoC) regardless of variant, desktop, cli, minimal. Its known bug, but we currently don't have anyone maintaining Allwinner A20 series so its up to random person to fix this. Code is open, so anyone can. Then it should be o.k. since HDMI output is not needed.
-
Thank you for your work, @dg4gg8cb9s
- Today
-
Efforts to develop firmware for H96 MAX M9 RK3576 TV Box 8G/128G
Hqnicolas replied to Hqnicolas's topic in Rockchip CPU Boxes
This is an H96Max Factory default work around, no TV box device really turn off, it's the way the factory deal with the "remote control" power on function, the device is always waiting for a IR remote control to trigger. You can find a way around it on the pmic section from DTS. Thats a problem caused by BOM of materials in the factory, they start to use a new wifi card because of chip shortages. You can work around it using this method -
-
YY3568 - Can't erase eMMC to boot from SD card
Hqnicolas replied to fss-hacks's topic in Rockchip CPU Boxes
You will need to flash an android "Update image" first, into EMMC, to go back to factory defaults. https://wiki.youyeetoo.com/en/YY3568/unpack https://drive.google.com/drive/folders/11BrqafnkEyFaM-D0gaPFhrmnRM47JAEU MaskRom mode upgrade firmware First of all, make sure that you have entered the MaskRom upgrade mode, and then perform the following firmware upgrade operations. Upgrade firmware in loader mode Open the AndroidTool tool, the board enters the upgrade mode, and a LOADER device will be found on the AndroidTool. Then perform the following upgrade firmware operation. -
Efforts to develop firmware for H96 MAX V56 RK3566 8G/64G
Hqnicolas replied to Hqnicolas's topic in Rockchip CPU Boxes
From @fevangelou 1. Install the "rkdeveloptool" tool first, as instructed in: https://docs.radxa.com/en/zero/zero3/low-level-dev/rkdeveloptool?host-os=debian sudo apt-get update sudo apt-get install -y libudev-dev libusb-1.0-0-dev dh-autoreconf pkg-config libusb-1.0 build-essential git wget git clone https://github.com/rockchip-linux/rkdeveloptool cd rkdeveloptool autoreconf -i ./configure make -j $(nproc) sudo cp rkdeveloptool /usr/local/sbin/ At the time of writing, this installed version 1.32. If you installed "rkdeveloptool" from Ubuntu's repos, it would install version 1.0 which may work, but let's be on the safe side here... 2. Connect and boot the device to loader/maskrom mode 2.1 While pressing the reset button (back/right) with a pin, connect the USB 2.0 port (back/left) and the power cable. Gotta be careful here not to miss the reset button pressing while connecting the cables. 2.2 Use the rkdeveloptool tool to identify the device and the mode it is on ("loader" or "maskrom"). $ rkdeveloptool ld ...should show the connected device if point 2.1 was successful - e.g. on my 8GB RAM device it printed this: DevNo=1 Vid=0x2207,Pid=0x350a,LocationID=304 Loader Or after I had already flashed Armbian, it would show: DevNo=1 Vid=0x2207,Pid=0x350a,LocationID=304 Maskrom (If you installed "rkdeveloptool" from Ubuntu's repo, the command is "rkdeveloptool list" if I recall correctly - every other "rkdeveloptool" command following though is the same) Now grab the latest release of Armbian for this device. At the time of writing it was: https://github.com/armbian/community/releases/download/25.11.0-trunk.106/Armbian_community_25.11.0-trunk.106_H96-tvbox-3566_bookworm_current_6.12.44_minimal.img.xz (the name of the device is on the filename) Extract the included .img file with (sudo apt install xz-tools): $ unxz Armbian_community_25.11.0-trunk.106_H96-tvbox-3566_bookworm_current_6.12.44_minimal.img.xz 2.2.1 If in "loader" mode (see the last part of the command's output above), simply flash Armbian directly. E.g. $ sudo rkdeveloptool wl 0x0 Armbian_community_25.11.0-trunk.106_H96-tvbox-3566_bookworm_current_6.12.44_minimal.img (if you attempt to flash the attached bootloaders, you'll get a "device not supported" error - Armbian already contains a bootloader) 2.2.2 If in "maskrom" mode (e.g. if you are re-flashing Armbian), flash the bootloader first: # For the 8GB RAM device use the attached (in this post) H96-MAX-8gb-MiniLoaderAll.bin file $ sudo rkdeveloptool db H96-MAX-8gb-MiniLoaderAll.bin # For the 4GB RAM device use the attached (in this post) H96-MAX-4gb-MiniLoaderAll.bin file $ sudo rkdeveloptool db H96-MAX-4gb-MiniLoaderAll.bin ...and then re-flash Armbian as you did the first time: $ sudo rkdeveloptool wl 0x0 Armbian_community_25.11.0-trunk.106_H96-tvbox-3566_bookworm_current_6.12.44_minimal.img 2.3 Reboot the device with: $ sudo rkdeveloptool rd Done! If all goes well, once you reboot the device you will be asked to set a root password and optionally a sudo user. Rebooting afterwards you should now be greeted with: _ _ _ _ _ /_\ _ _ _ __ | |__(_)__ _ _ _ __ ___ _ __ _ __ _ _ _ _ (_) |_ _ _ / _ \| '_| ' \| '_ \ / _` | ' \ / _/ _ \ ' \| ' \ || | ' \| | _| || | /_/ \_\_| |_|_|_|_.__/_\__,_|_||_|_\__\___/_|_|_|_|_|_\_,_|_||_|_|\__|\_, | |___| |__/ v25.11 rolling for h96-tvbox-3566 running Armbian Linux 6.12.44-current-rockchip64 Packages: Debian stable (bookworm), possible distro upgrade (trixie) Updates: Kernel upgrade enabled and 2 packages available for upgrade Support: for advanced users (rolling release) IPv4: (LAN) 192.168.1.10 (WAN) 1.2.3.4 Performance: Load: 3% Uptime: 2 min Memory usage: 2% of 7.50G CPU temp: 40°C Usage of /: 3% of 57G Commands: Configuration : armbian-config Upgrade : armbian-upgrade Monitoring : htop Last login: Sat Aug 30 12:47:54 2025 Key points: - If you do this the first time, it's obviously a matter of just flashing the latest Armbian image directly. - You don't need to open the device or compile Armbian. -
@djurny Sorry for the super late response. Here the answers on your questions: ls -Failh /dev/rtc* 457 lrwxrwxrwx 1 root root 4 Mar 7 01:56 /dev/rtc -> rtc0 107 crw------- 1 root root 253, 0 Mar 7 01:56 /dev/rtc0 542 crw------- 1 root root 253, 1 Mar 7 01:56 /dev/rtc1 ls -Failh /sys/class/rtc/ total 0 3926 drwxr-xr-x 2 root root 0 Jan 1 1970 ./ 10 drwxr-xr-x 63 root root 0 Jan 1 1970 ../ 8295 lrwxrwxrwx 1 root root 0 Jan 1 1970 rtc0 -> ../../devices/platform/soc/1f00000.rtc/rtc/rtc0/ 21463 lrwxrwxrwx 1 root root 0 Sep 3 23:18 rtc1 -> ../../devices/platform/soc/1c2ac00.i2c/i2c-0/0-0068/rtc/rtc1/ egrep -- . /sys/class/rtc/*/name /sys/class/rtc/rtc0/name:sun6i-rtc 1f00000.rtc /sys/class/rtc/rtc1/name:rtc-ds1307 0-0068 dmesg | egrep -i -- 'rtc' [ 1.042165] sun6i-rtc 1f00000.rtc: registered as rtc0 [ 1.042235] sun6i-rtc 1f00000.rtc: setting system clock to 1970-01-01T00:00:04 UTC (4) [ 1.774229] sun4i-drm display-engine: [drm] Cannot find any crtc or sizes [ 1.776966] sun4i-drm display-engine: [drm] Cannot find any crtc or sizes [ 19.347508] rtc-ds1307 0-0068: registered as rtc1 sudo hwclock --rtc=/dev/rtc0 # per default this is the H2+ built-in RTC 2025-09-03 23:32:07.935209+10:00 ==> date set to Australia (Tasmania) sudo hwclock --rtc=/dev/rtc1 # per default this is going to be the I2C RTC 2000-01-02 15:51:14.147878+11:00 ==> ?????????? So, I clearly don't understand the system. What do I want? Just the right time when connected to a wireless network. (If not available, my system switches to being an Access Point) If my system is acting as an Access Point, the date and time needs to be correct to, that's why I thought I need an RTC module. If not needed, how do I get the right time when my system operates as an Access Point. Thanks for helping
-
Hey there. Thanks for the detailed tutorial. I tried following it to install Armbian Trixie minimal on my Raspberry Pi 5's nVME (I'm on a headless setup with SSH access). The SD card that boots and runs the system so far is also an Armbian Trixie minimal installation. Apparently nobody has confirmed the instructions to work for that device / setup in this thread yet. So far I also have failed. After following through all steps my device wouldn't connect via ethernet (the LEDs didn't even blink). For simplifying things and rule out a source for possible mistakes, I then repeated the whole process without encrypting the drive, again without much success. Here's what I suspect to be the problem: The Armbian minimal image for the Raspberry family comes already with two partitions: a boot partition with a number of .dtb files for each device of the Raspberry family a "root" partition with all other files Device Boot Start End Sectors Size Id Type /dev/loop0p1 8192 532479 524288 256M b W95 FAT32 /dev/loop0p2 532480 3088383 2555904 1.2G 83 Linux I suspect it to boot in a different way than the image in the example, which seems to directily have all the files which I find in my second partition of the image. So, what I tried was to just create two partitions, mimicing the ones on the Image: Device Boot Start End Sectors Size Id Type /dev/nvme0n1p1 8192 532479 524288 256M b W95 FAT32 /dev/nvme0n1p2 532480 3907029167 3906496688 1.8T 83 Linux I would then just copy the contents of each partition respectively. But even that wouldn't boot the way it did with the SD card. Of course I could just use dd to copy the image to the 2TB nVME but that would take forever (20 h aprox.) and it wouldn't result in an encrypted system. My questions are: Is it even possible to use the way of copying boot files and contents in this tutorial to achieve a bootable nVME? If the image for the Raspi family relies on its own boot partition will I ever be able to use it for decrypting an encrypted drive before booting from it at all? Can I use it for both, booting the device and decrypting the drive, or would that be principally impossible? I'll be happy for any help for making it work or hint if the described procedure cannot work for my setup. Tonight I'll also join an install party and might have the opportunity to plug a screen to my Raspi and see if it gives hints during the boot sequence. EDIT: I think I understand now that this script is probably only for SD cards …
-
@Nick AHow to use your code repository(https://github.com/NickAlilovic/build) to add a 1.5GB RAM patch.
-
Self-build minimal image for RockPI-S too big
dg4gg8cb9s replied to dg4gg8cb9s's topic in Radxa Rock Pi S
Thank you all, I appreciate your patience! 🙏 I'm not sure on how deep I should go here. I started to learn about the process to address the problem that 10mpbs ethernet not is not working on my Rockpi S and I now know enough to deal with this problem. So my feeling is to not go further but focus on the functional problem to solve it 😉 Thanks again! -
mxq pro 4k 5g allwinner h313 can't sd card boot
Ducdanh Nguyen replied to Ducdanh Nguyen's topic in Allwinner CPU Boxes
@SteeMani also did some commands prompted by chatgpt since it said it was manufactored by allwinner also related to cortex-a53, aida64 said it too, so i doubt that mine are using a allwinner h313 chip -
Context of the TV boxes section might be helpful, especially in the sticky thread re their status in Armbian.
-
Hi! @jwalds did yo mange to make hw decoding work with cedrus? (Note: you initially wrote cedar_ve, that's a different driver) I'm fighting with a nanopi duo2. If it works at your end I'd like to know your setup kernel version armbianEnv.txt whatelse has been installed, how could you please provide your dts / dto ? T.
- Yesterday
-
Is Netplan acting like hidden malware?
robertoj replied to bushw's topic in Software, Applications, Userspace
For debian problems, do what I do: Get the cheapest raspberry Recreate the problem Ask the question in the raspberry forum Apply solution to Armbian XD -
If tester is not available, I'd try powering failing ports with their respective cables but feeding them from pins powering other ports (eg with wires from some molex cable, just need to be careful with polarity and shortcuts) and then powering working ports from pins on the board feeding failing ports - to exclude failure of the power rail feeding these ports on the board. If cables are faulty, I'd check them for electrical connections and if they are ok, would replace capacitors.
-
Link on Tinkerboard S Wiki Page leads to Online Casino
laibsch replied to darkside40's topic in Off-topic
What I like to do in such a case is link to archive.org. some spam got posted to this thread which I removed, so I felt like I might as well add an answer at the same time -
fair enough, no idea where i would get the right android image from for my unknown box so I guess I am stuffed putting Armbian on my box. never mind, will repurpose an old laptop when corelec updates for the s905x2 stop thanks for the help
-
probably time for the serial console my suspicion tells me that it will be hard to get proper logs otherwise my suspicion is that some umounts does not come back. <- try to unmount everything you can before the reboot and see if that helps.
-
spendist is the maintainer of the Nanopi Neo. Maybe he has something to say. Did you try another kernel? Another OS?
-
Help wanted to test a new OpenVFD alternative
Jean-Francois Lessard replied to Jean-Francois Lessard's topic in Amlogic meson
@dale it seems like vfd-convert has not worked well. Perhaps because of some mix between script version and the template files version. Whatsoever, I've looked closer at the patch link you previously posted, this is the older pre-review dt-bindings syntax. You should be go to start with something like: /dts-v1/; /plugin/; #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/leds/common.h> &{/} { display_client: spi { #address-cells = <1>; #size-cells = <0>; compatible = "spi-gpio"; sck-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; mosi-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>; cs-gpios = <&gpio 12 GPIO_ACTIVE_LOW>; num-chipselects = <1>; display@0 { compatible = "fdhisi,fd628"; reg = <0x0>; spi-3wire; spi-lsb-first; spi-rx-delay-us = <1>; spi-max-frequency = <500000>; titanmec,digits = [00 01 02 03]; titanmec,segment-mapping = [03 01 02 06 04 05 00]; #address-cells = <2>; #size-cells = <0>; led@4,0 { reg = <4 0>; function = LED_FUNCTION_ALARM; }; led@4,1 { reg = <4 1>; function = LED_FUNCTION_USB; }; led@4,2 { reg = <4 2>; function = "play"; }; led@4,3 { reg = <4 3>; function = "pause"; }; led@4,4 { reg = <4 4>; function = "colon"; }; led@4,5 { reg = <4 5>; function = LED_FUNCTION_LAN; }; led@4,6 { reg = <4 6>; function = LED_FUNCTION_WLAN; }; }; }; }; Note that I haven't tested it, just made it from some copy-paste. If it doesn't work, even partially, you would most likely need to replace &gpio with the right reference to the gpio controller wired to the display.