All Activity
- Today
-
Hello, Thanks for your answer, in fact I chose this M2U image because the hardware between M2B & M2U is almost the same : same CPU & arch, just a difference in RAM size & ports number (see image below) Maybe it is a "noob" way of thinking anyway, so I will try to adapt and find a solution around watchdog & sysrq, and if it does not work I will go back to raspberry pi. Have a nice day Regards
-
Hi, I can suggest a general procedure but it is not guaranteed to work for every TV-Box. 1) Be sure of what TV-box you have (Allwinner, Ambian or Rockship); 2) download git clone --depth=1 --branch=main https://github.com/armbian/build 3) open downloaded git and search for /build/patch/u-boot 4) select the directory that corresponds to your TV-box. For example: /build/patch/u-boot/u-boot-sunxi 5) edit arm64-sun50i-H313-add-lpddr3-deconfig.patch, if you have a secure image: add +CONFIG_SPL_IMAGE_TYPE_SUNXI_TOC0=y and increment the counter to 32 (@@ -0,0 +1,32 @@) and "secure-boot.patch" to /build/patch/u-boot/u-boot-sunxi. See procedure here https://forum.armbian.com/profile/210518-nick-a/ 6) ./compile.sh observing Nick's instructions.
-
Just to let you know usb bug is still present in 7.1 rc3 [ 2.596444] usb 4-1: new full-speed USB device number 2 using ohci-platform [ 2.784449] usb 4-1: device descriptor read/64, error -62 [ 3.076447] usb 4-1: device descriptor read/64, error -62 [ 3.356447] usb 4-1: new full-speed USB device number 3 using ohci-platform [ 3.532450] usb 4-1: device descriptor read/64, error -62 [ 3.824440] usb 4-1: device descriptor read/64, error -62 [ 3.928486] usb usb4-port1: attempt power cycle [ 4.140440] usb 4-1: new full-speed USB device number 4 using ohci-platform [ 4.548447] usb 4-1: device not accepting address 4, error -62 [ 4.732456] usb 4-1: new full-speed USB device number 5 using ohci-platform [ 5.140438] usb 4-1: device not accepting address 5, error -62 [ 5.140481] usb usb4-port1: unable to enumerate USB device
-
CSC Armbian for RK322x TV box boards
Vinicius Guastala replied to jock's topic in Rockchip CPU Boxes
The short-circuit you did probably created feedback loop generating tension coming back to some component of the board, possibly burning it unfortunately. Never join 2 power sources without filter balancing it or adding extra capacitors... Is the board turning on? Try to turn on and look for heated places in the board... With a thermal camera will be easier, but if you don't have one, you may touch the components to see which are hot, or add some drops of isopropyl alcohol only on top of components and see if it evaporates too fast like this -> link. If a component is heating too fast, probably its short-circuited/burnt and needs replacement. -
Hi everyone, I downloaded a 6.12.68 image for my Bigtreetech Pi, compatible with CB1-sd. After apt update and apt upgrade, onboard ethernet disappears. During update got these messages: - Err: 16 http://deb.debian.org/debian trixie-backports/main arm64 Packages.diff/Index Could't find the start of the patch series - Notice: Repository 'http... InRelease' changed its 'Version' value from '13.3' to '13.5' Launching a new apt update, error and notice disappear. After upgrade and reboot there is no more ethernet device, just wifi. Investigating a little I found the kernel module sunxi_gmac.ko that was present in folder /usr/lib/modules/... current... /kernel/net/ethernet/allwinner before upgrade, is now missing after upgrade. There is just a sun4i-emac.ko after upgrade. Plugging in an usb to ethernet adapter (Realtek r8152) works immediately, get eth0 and connect. Can someone help to restore onboard ethernet? Thanks, Mario
-
CSC Armbian for RK322x TV box boards
Vinicius Guastala replied to jock's topic in Rockchip CPU Boxes
Hello Joel, This seems to be one an known incompatibility with the main Trust OS. There is a experimental image built with an alternative opensource trust OS that might fix this, and it can be downloaded here. Do a test and let us know. PS: Recently OS OP-Tee has been updated to the multitool, and ideally you should test it using a SD Card. BTW: Your screenshot links did not work. BTW2: When the screen goes off can you still connect trough SSH? -
Efforts to develop firmware for H96 MAX V56 RK3566 4G/32G
williamfj replied to Hqnicolas's topic in Rockchip CPU Boxes
Hi! I've been using this Armbian image on my H96 RK3566 for small projects. Thanks a lot for releasing it! Right now, I need to use the NPU for a small AI project. I know it's possible to activate it, but it doesn't look easy. I've read that there is NPU support on legacy kernels (v5.10/v5.15), but I haven't been able to find that specific version for the H96 RK3566. My question is: how difficult would it be to add or backport this NPU module to the current mainline kernel version? -
Fixing is on the way https://github.com/armbian/build/pull/9908, after merging, i generate new images.
-
RADXA Cubie A5E 1GB RAM Armbian CLI stucks while uboot via sdcard
chapeaufer replied to chapeaufer's topic in Allwinner sunxi
I found information indicating that the 1GB, 2GB, and 4GB RAM versions use different DRAM memory chips, which appears to cause incorrect startup settings on the 1GB version. Details can be found here: https://luotianyi.vc/8777.html I therefore decided to return the board and wait until the 2GB or 4GB versions become available again. Rolf -
I fried SOIC-8 IC (Probably power management) on H96 Max X2 PCB (I-BOX TV) by applying 12V If anyone (@Thang?) has a board like that, please take a close up of that chip on the back side. I might be able to source it and replace it. Original related topic by Thang is here. BTW, there is native console available on pretty much all Armbian boards, that lets you see linux messages before they appear on the HDMI port. It helps to understand the bootloader sequence, u-boot sequence and gives you root access.
- Yesterday
-
-
my model without emmc (3 ram + 0 emmc). Could that be the reason? I apologize for the misinformation; I checked my board, and the revision number isn't listed there either.
-
Could you tell me where you found the revision number? I don't see anything written on my board.
-
Help wanted to test a new OpenVFD alternative
sr4armbian replied to Jean-Francois Lessard's topic in Amlogic meson
Hi @Jean-Francois Lessard Thanks for sharing the new openvfd option for Armbian. I am using a Allwinner H618 Android 12 TV box that got FD6551 controller. I have verified the chip model by opening the box. The headers of respective version is also installed and I have double checked that. apt install -y linux-headers-edge-sunxi64 Reading package lists... Done Building dependency tree... Done Reading state information... Done linux-headers-edge-sunxi64 is already the newest version (25.11.2). From the Android dts file I can find the following. I have tried the configuration mentioned here as well but there is no VFD output. Is there any other configuration I have to check or modify for the VFD to work? leds { leds_clk = <0x23 0x08 0x0b 0x00>; leds_dat = <0x23 0x08 0x0c 0x00>; status = "okay"; }; fd655_para { device_type = "fd655_para"; compatible = "Ik,fd655_dev"; fd655_clk_io = <0x23 0x07 0x06 0x01>; fd655_dat_io = <0x23 0x07 0x07 0x01>; status = "okay"; }; ald-colorleds { compatible = "elebao,colorleds"; dev_name = "ald-colorleds"; pinctrl-0 = <0x70>; colorleds_data_gpio = <0x23 0x07 0x02 0x01>; status = "okay"; }; I tried to make the module as you have instructed, however I am getting the below given error messages. /tm16xx-display# make module make EXTRA_CFLAGS="-DCONFIG_TM16XX -DCONFIG_TM16XX_KEYPAD -DCONFIG_TM16XX_I2C -DCONFIG_TM16XX_SPI -include /root/tm16xx-display/drivers/auxdisplay/tm16xx_compat.h -I/root/tm16xx-display/include/" -C /lib/modules/6.12.11-edge-sunxi64/build M=/root/tm16xx-display/drivers/auxdisplay CONFIG_TM16XX=m CONFIG_TM16XX_KEYPAD=y CONFIG_TM16XX_I2C=m CONFIG_TM16XX_SPI=m CONFIG_LINEDISP=m modules make[1]: Entering directory '/usr/src/linux-headers-6.12.11-edge-sunxi64' CC [M] /root/tm16xx-display/drivers/auxdisplay/line-display.o CC [M] /root/tm16xx-display/drivers/auxdisplay/tm16xx_core.o CC [M] /root/tm16xx-display/drivers/auxdisplay/tm16xx_keypad.o LD [M] /root/tm16xx-display/drivers/auxdisplay/tm16xx.o CC [M] /root/tm16xx-display/drivers/auxdisplay/tm16xx_i2c.o CC [M] /root/tm16xx-display/drivers/auxdisplay/tm16xx_spi.o MODPOST /root/tm16xx-display/drivers/auxdisplay/Module.symvers CC [M] /root/tm16xx-display/drivers/auxdisplay/line-display.mod.o In file included from /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:2: /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:13:41: error: expected ‘)’ before ‘LINEDISP’ 13 | KSYMTAB_FUNC(linedisp_attach, "_gpl", ""LINEDISP""); | ^~~~~~~~ ./include/linux/export-internal.h:45:28: note: in definition of macro ‘__KSYMTAB’ 45 | " .asciz \"" ns "\"" "\n" \ | ^~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:13:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 13 | KSYMTAB_FUNC(linedisp_attach, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ ./include/linux/export-internal.h:41:12: note: to match this ‘(’ 41 | asm(" .section \"__ksymtab_strings\",\"aMS\",%progbits,1" "\n" \ | ^ ./include/linux/export-internal.h:62:41: note: in expansion of macro ‘__KSYMTAB’ 62 | #define KSYMTAB_FUNC(name, sec, ns) __KSYMTAB(name, KSYM_FUNC(name), sec, ns) | ^~~~~~~~~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:13:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 13 | KSYMTAB_FUNC(linedisp_attach, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:14:41: error: expected ‘)’ before ‘LINEDISP’ 14 | KSYMTAB_FUNC(linedisp_detach, "_gpl", ""LINEDISP""); | ^~~~~~~~ ./include/linux/export-internal.h:45:28: note: in definition of macro ‘__KSYMTAB’ 45 | " .asciz \"" ns "\"" "\n" \ | ^~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:14:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 14 | KSYMTAB_FUNC(linedisp_detach, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ ./include/linux/export-internal.h:41:12: note: to match this ‘(’ 41 | asm(" .section \"__ksymtab_strings\",\"aMS\",%progbits,1" "\n" \ | ^ ./include/linux/export-internal.h:62:41: note: in expansion of macro ‘__KSYMTAB’ 62 | #define KSYMTAB_FUNC(name, sec, ns) __KSYMTAB(name, KSYM_FUNC(name), sec, ns) | ^~~~~~~~~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:14:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 14 | KSYMTAB_FUNC(linedisp_detach, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:15:43: error: expected ‘)’ before ‘LINEDISP’ 15 | KSYMTAB_FUNC(linedisp_register, "_gpl", ""LINEDISP""); | ^~~~~~~~ ./include/linux/export-internal.h:45:28: note: in definition of macro ‘__KSYMTAB’ 45 | " .asciz \"" ns "\"" "\n" \ | ^~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:15:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 15 | KSYMTAB_FUNC(linedisp_register, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ ./include/linux/export-internal.h:41:12: note: to match this ‘(’ 41 | asm(" .section \"__ksymtab_strings\",\"aMS\",%progbits,1" "\n" \ | ^ ./include/linux/export-internal.h:62:41: note: in expansion of macro ‘__KSYMTAB’ 62 | #define KSYMTAB_FUNC(name, sec, ns) __KSYMTAB(name, KSYM_FUNC(name), sec, ns) | ^~~~~~~~~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:15:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 15 | KSYMTAB_FUNC(linedisp_register, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:16:45: error: expected ‘)’ before ‘LINEDISP’ 16 | KSYMTAB_FUNC(linedisp_unregister, "_gpl", ""LINEDISP""); | ^~~~~~~~ ./include/linux/export-internal.h:45:28: note: in definition of macro ‘__KSYMTAB’ 45 | " .asciz \"" ns "\"" "\n" \ | ^~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:16:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 16 | KSYMTAB_FUNC(linedisp_unregister, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ ./include/linux/export-internal.h:41:12: note: to match this ‘(’ 41 | asm(" .section \"__ksymtab_strings\",\"aMS\",%progbits,1" "\n" \ | ^ ./include/linux/export-internal.h:62:41: note: in expansion of macro ‘__KSYMTAB’ 62 | #define KSYMTAB_FUNC(name, sec, ns) __KSYMTAB(name, KSYM_FUNC(name), sec, ns) | ^~~~~~~~~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:16:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 16 | KSYMTAB_FUNC(linedisp_unregister, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ make[3]: *** [scripts/Makefile.modfinal:31: /root/tm16xx-display/drivers/auxdisplay/line-display.mod.o] Error 1 make[2]: *** [/usr/src/linux-headers-6.12.11-edge-sunxi64/Makefile:1870: modules] Error 2 make[1]: *** [Makefile:224: __sub-make] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-6.12.11-edge-sunxi64' make: *** [Makefile:50: module] Error 2 root@homeassistant2:~/tm16xx-display# make-module install make-module: command not found root@homeassistant2:~/tm16xx-display# make module-install make -C /lib/modules/6.12.11-edge-sunxi64/build M=/root/tm16xx-display/drivers/auxdisplay CONFIG_TM16XX=m CONFIG_TM16XX_KEYPAD=y CONFIG_TM16XX_I2C=m CONFIG_TM16XX_SPI=m CONFIG_LINEDISP=m modules_install INSTALL_MOD_PATH= make[1]: Entering directory '/usr/src/linux-headers-6.12.11-edge-sunxi64' DEPMOD /lib/modules/6.12.11-edge-sunxi64 Warning: modules_install: missing 'System.map' file. Skipping depmod. make[1]: Leaving directory '/usr/src/linux-headers-6.12.11-edge-sunxi64' root@homeassistant2:~/tm16xx-display# make service-install modprobe tm16xx modprobe: ERROR: could not insert 'tm16xx': Exec format error make: *** [Makefile:60: service-install] Error 1 -
Armbian's next release boots the FriendlyElec NanoPi M5 end-to-end from UFS on a mainline U-Boot, with no proprietary recovery image in the loop. It is the first RK3576 board in the catalogue to reach this state, and the integration pattern paves the way for the others. UFS, the storage class that replaced eMMC in phones, is packet-based and full-duplex with command queuing. The practical gain over an SD card shows up in random I/O, in latency under concurrent load, and in write endurance that holds up over years of deployment. FriendlyElec ships UFS on the M5 because the RK3576 has a native UFS controller, a sensible choice for any board destined for kiosks, robots, or industrial gateways. What mainline was missingThe UFS controller IP itself had a partial driver in mainline U-Boot. Everything around it was not wired: PHY init sequencing, the regulator rails the device needs before it responds, the device-tree glue that tells U-Boot "yes, this board has UFS." For the M5, none of it existed. There is also a cosmetic detail that catches every newcomer, namely that Rockchip's loader tooling labels UFS as SATA in the RKDevTool storage dropdown. Flashing goes through upgrade_tool, not the more familiar rkdeveloptool, because rkdeveloptool has never had UFS support. How it came togetherThree workstreams had to converge. Jonas Karlman's kwiboo/rk3576 branch carried the upstream RK3576 U-Boot enablement, pinctrl, clocks, storage controller bindings, and has been merging into mainline through 2026. The rockchip-linux/rkbin tree had to ship a UFS-capable MiniLoader, which the RK3576MINIALL.ini recipe assembles from the DDR init, the UFS-aware loader, and the OP-TEE/ATF blobs. The Armbian side was the integration: a board config on U-Boot v2026.04, a U-Boot DT overlay that brings the UFS regulators and PHY up at the right moment, and a flashing path that upgrade_tool accepts. None of these were individually hard. Making them line up is what took the time. On the device, the stack does its job cleanly. The BootROM reads the IDB off UFS and pulls in the TPL; the TPL initialises DDR and the UFS host controller, sequences the regulators, negotiates the link, and reads the next stage; ATF jumps to U-Boot; U-Boot enumerates ufs 0 and loads the kernel; the kernel re-probes the same controller it just booted through. The work, almost all of it, lived at the TPL stage. Controller fine, PHY fine, but the device sits silent if regulator sequencing is wrong by a handful of milliseconds. Once that is right, the upper layers see a clean SCSI-shaped block device and the rest is unsurprising. What it leaves us withFor users with a UFS-equipped M5, the next release image flashes through the FriendlyElec Rockchip workflow with upgrade_tool, BOOT switch on UFS/SD, storage dropdown labelled "SATA". The board boots without an SD card or eMMC involvement, and armbian-install writes the same image to UFS in place once the system is running from another medium. Against microSD on the same hardware the difference is felt rather than benchmarked: small reads land faster, the system stays responsive under concurrent I/O, and the write endurance is in a different ballpark. A few rough edges remain. The vendor tooling will keep calling UFS "SATA" until either Rockchip relabels the GUI or rkdeveloptool grows a cs ufs opcode, neither on the immediate horizon. The BOOT switch is a hardware gate with no software override. And upgrade_tool ships only as a Linux x86_64 ELF, so flashing from an Apple Silicon Mac means a Linux VM with USB passthrough or a Windows host running the GUI. The same plumbing now unlocks every other UFS-equipped RK3576 board in the catalogue. The M5 reached the line first because the hardware was available and the upstream pieces were the most complete. The others should be substantially less work, now that the integration pattern exists and the loader path has been proven on real silicon. View the full article
-
Armbian's next release boots the FriendlyElec NanoPi M5 end-to-end from UFS on a mainline U-Boot, with no proprietary recovery image in the loop. It is the first RK3576 board in the catalogue to reach this state, and the integration pattern paves the way for the others. UFS, the storage class that replaced eMMC in phones, is packet-based and full-duplex with command queuing. The practical gain over an SD card shows up in random I/O, in latency under concurrent load, and in write endurance that holds up over years of deployment. FriendlyElec ships UFS on the M5 because the RK3576 has a native UFS controller, a sensible choice for any board destined for kiosks, robots, or industrial gateways. What mainline was missingThe UFS controller IP itself had a partial driver in mainline U-Boot. Everything around it was not wired: PHY init sequencing, the regulator rails the device needs before it responds, the device-tree glue that tells U-Boot "yes, this board has UFS." For the M5, none of it existed. There is also a cosmetic detail that catches every newcomer, namely that Rockchip's loader tooling labels UFS as SATA in the RKDevTool storage dropdown. Flashing goes through upgrade_tool, not the more familiar rkdeveloptool, because rkdeveloptool has never had UFS support. How it came togetherThree workstreams had to converge. Jonas Karlman's kwiboo/rk3576 branch carried the upstream RK3576 U-Boot enablement, pinctrl, clocks, storage controller bindings, and has been merging into mainline through 2026. The rockchip-linux/rkbin tree had to ship a UFS-capable MiniLoader, which the RK3576MINIALL.ini recipe assembles from the DDR init, the UFS-aware loader, and the OP-TEE/ATF blobs. The Armbian side was the integration: a board config on U-Boot v2026.04, a U-Boot DT overlay that brings the UFS regulators and PHY up at the right moment, and a flashing path that upgrade_tool accepts. None of these were individually hard. Making them line up is what took the time. On the device, the stack does its job cleanly. The BootROM reads the IDB off UFS and pulls in the TPL; the TPL initialises DDR and the UFS host controller, sequences the regulators, negotiates the link, and reads the next stage; ATF jumps to U-Boot; U-Boot enumerates ufs 0 and loads the kernel; the kernel re-probes the same controller it just booted through. The work, almost all of it, lived at the TPL stage. Controller fine, PHY fine, but the device sits silent if regulator sequencing is wrong by a handful of milliseconds. Once that is right, the upper layers see a clean SCSI-shaped block device and the rest is unsurprising. What it leaves us withFor users with a UFS-equipped M5, the next release image flashes through the FriendlyElec Rockchip workflow with upgrade_tool, BOOT switch on UFS/SD, storage dropdown labelled "SATA". The board boots without an SD card or eMMC involvement, and armbian-install writes the same image to UFS in place once the system is running from another medium. Against microSD on the same hardware the difference is felt rather than benchmarked: small reads land faster, the system stays responsive under concurrent I/O, and the write endurance is in a different ballpark. A few rough edges remain. The vendor tooling will keep calling UFS "SATA" until either Rockchip relabels the GUI or rkdeveloptool grows a cs ufs opcode, neither on the immediate horizon. The BOOT switch is a hardware gate with no software override. And upgrade_tool ships only as a Linux x86_64 ELF, so flashing from an Apple Silicon Mac means a Linux VM with USB passthrough or a Windows host running the GUI. The same plumbing now unlocks every other UFS-equipped RK3576 board in the catalogue. The M5 reached the line first because the hardware was available and the upstream pieces were the most complete. The others should be substantially less work, now that the integration pattern exists and the loader path has been proven on real silicon. View the full article
-
Hi @Marvin-03, could you try the latest build? It looks like your board is still using the BSP MMC driver, but we migrated to the mainline MMC driver last week. That should at least resolve the issue you're currently seeing. Also looking forward to your testing on the eMMC side, since the A7Z does not have eMMC support.
-
I tried to boot via EMMC using alexc's/Nick's BSP Kernel (6.18) and had a kernel panic: https://pastebin.com/aPhDfFzr The crash occurs in thread T77 (a background worker) while it is attempting to scan for SD cards (mmc_rescan). More specifically, the crash occurs when calling sd_uhs2_power_up, which is requested by mmc_attach_sd_uhs2. Here, the kernel is attempting to power up the power supply for the UHS-II SD card protocol.
-
How you can help test upcoming Armbian 26.05 images?
Wolfpup replied to Igor's topic in Advanced users - Development
Board: Orangepi3-lts Images: * Armbian_26.5.1_Orangepi3-lts_trixie_current_6.18.33_minimal.img.xz Passed tests: * SHA-256 passed All below testing done via wired and wireless console connection(headless) * initial setup passed * create main user passed * update/upgrade check as root passed * log in as created user pass * update/upgrade check as the created user passed Result: All tested images do exist, are verified, and work properly -
Hi @JamesCL. You cannot change the boot order of the SoC (SD -> eMMC -> MTD / SPI flash), thus i.e. the SD card is always booted if inserted. You can probably change the root file system's UUID, i.e. change the /boot/extlinux/extlinux.conf to give the kernel the command to use eMMC as root file system. HTH // Sven-Ola
-
I'll check tonight which revision i have.
-
@Logan yes, Fanxiang S500Pro 256GB, 6.18.30
-
Try erase emmc or flash it directly
