Search the Community
Showing results for 'tv'.
-
DISCLAIMER (PLEASE READ): everything you can find in this thread (binaries, texts, code snippets, etc...) are provided AS-IS and are not part of official Armbian project. For this reason not people from Armbian project nor myself are responsible for misuse or loss of functionality of hardware. Please don't ask about support or assistance in other non-community forums nor in the official Armbian github repository, instead post your questions in this thread, in the TV Boxes forum section (hardware related) or in the Peer-to-peer support section (general linux/software related). Thank you! This thread is to give stable and mature long-term range support to rk3318/rk3328 found in many tv boxes in Armbian project as Community Supported Configuration (CSC). The current work is mainlined into Armbian project, but your mileage may vary; most recent developments live on my personal fork on github -> here <- Important notes: is just a personal opinion, but apparently widely supported, that rk3318 chip is not an official rockchip part. They probably are scrap rk3328 parts which have not passed conformance tests but are sold anyway to tv boxes manufacturers. They don’t reach the same operating frequency of the rk3328, have much higher leakage currents (and thus higher temperatures) and often the boards they are installed on are low quality with low quality components, in fact a very very common issue is the eMMC failure due to bad parts and bad soldering. So said, I personally suggest not to buy any rk3318 tv box, but instead find a properly supported SBC (Single Board Computer) if you need a reliable product. In the unfortunate case you already have such product, this thread may help you have some fun with them. What works: • Works on RK3318 and RK3328 TV boxes with DDR3 memories • Mainline u-boot • Mainline ATF provided as Trusted Execution Environment • All 4 cores are working • Ethernet • Serial UART (configured at stock 1.5Mbps) • Thermals and frequency scaling • OTG USB 2.0 port (also as boot device!) • EHCI/OHCI USB 2.0 ports and XHCI USB 3.0 ports • MMC subsystem (including , SD and sdio devices) • Hardware video acceleration (fully supported via RKMPP on legacy kernel, support via hantro and rkvdec kernel driver on mainline) • Various WIFI over SDIO are supported • Full acceleration on legacy kernel and mainline kernel • U-boot boot order priority: first the sdcard, then the USB OTG port and eventually the internal ; you can install u-boot (and the whole system) in the internal and u-boot will always check for images on external sdcard/USB first. Unbrick: Technically, rockchip devices cannot be bricked. If the internal flash does not contain a bootable system, they will always boot from the sdcard. If, for a reason, the bootable system on the internal flash is corrupted or is unable to boot correctly, you can always force the maskrom mode shorting the clock pin on the PCB. The procedure is explained here for rk322x, but for rk3318/28 is the same. In most of the rk3318/28 boards, shorting the clock pin is difficult or impossible because eMMC are BGA chips with no exposed pins. Pay double attention when burning something on the internal flash memory and always test first the image booting from the sdcard to be sure it works before burning anything in internal flash. This is a list of posts where forum users have been able to spot the eMMC clock pin to trigger the maskrom mode: H96 Max+ (board signature: RK3318_V1.4) by @Gausus X88 PRO 10 (board signature: X88_PRO_B) by @mathgaming HK1 Max (board signature YX_RK3318) by @Constantin Gatej Ninkbox N1 Max RK3318 by @enigmasphinx Hongtop H50 (board signature t98-3318-221-v11) by @GmP Partecipation and debugging: If you want to partecipate or need help debugging issues, do not hesitate to share your experience with the installation procedure of the boxes. In case of issues and missed support, provide as many as possible of these things is very useful to try and bring support for an unsupported board: some photos of both sides of the board. Details of the eMMC, DDR and Wifi chips are very useful! upload the device tree binary (dtb) of your device. We can understand a lot of things of the hardware from that small piece of data; and alternative is a link to the original firmware (you can do a full backup with the Multitool); dmesg and other logs (use armbianmonitor -u that automatically collects and uploads the logs online) attach a serial converter to the device and provide the output of the serial port; Multimedia: Mainline kernel: 3D acceleration is provided by Lima driver and is already enabled. Hardware video decoding: https://forum.armbian.com/topic/19258-testing-hardware-video-decoding-rockchip-allwinner/ Legacy kernel: If you need multimedia features, like OpenGL/OpenGL ES acceleration, hardware accelerated Kodi, ffmpeg and mpv you can take a look to this post Installation (via SD card): Building: You can build your own image follow the common steps to build armbian for other tv boxes devices: when you are in the moment to choose the target board, switch to /TVB/ boards and select "rk3318-box" from the list. Prebuilt images: Nightly stables - built from trunk by Armbian servers and GPG-signed: https://github.com/armbian/community Multitool: Multitool - A small but powerful image for RK3318/RK3328 TV Box maintenance. Download it from here Quick installation instructions on eMMC: Build or download your preferred Armbian image and a copy of the Multitool; Burn the Multitool on an SD card; once done, place the Armbian image in images folder of the SD card NTFS partition; Plug the SD card in the TV box and plug in the power cord. After some seconds the blue led starts blinking and the Multitool appears; OPTIONAL: you can do a backup of the existing firmware with "Backup flash" menu option; Choose "Burn image to flash" from the menu, then select the destination device (usually mmcblk2) and the image to burn; Wait for the process to complete, then choose "Shutdown" from main menu; Unplug the power cord and the SD card, then replug the power cord; Wait for 10 seconds, then the led should start blinking and HDMI will turn on. The first time the boot process will take a couple of minutes or more because the filesystem is going to be resized, so be patient and wait for the login prompt. On first boot you will be asked for entering a password for root user of your choice and the name and password for a regular user Run rk3318-config to configure the board specific options Run armbian-config to configure timezone, locales and other personal options Congratulations, Armbian is now installed! Despite the procedure above is simple and reliable, I always recommend to first test that your device boots Armbian images from SD Card. Due to the really large hardware variety, there is the rare chance that the images proposed here may not boot. If a bad image is burned in , the box may not boot anymore forcing you to follow the unbrick section at the top of this post. Quick installation instructions to boot from SD Card: If you are already running Armbian from eMMC, skip to the next step. Instead if you are running the original firmware you need to first erase the internal flash; to do so download the Multitool, burn it on an SD Card, plug the SD Card and power the TV Box. Use "Backup flash" if you want to do a backup of the existing firmware, then choose "Erase flash" menu option. Build or download your preferred Armbian image; Uncompress and burn the Armbian image on the SD Card; Plug the SD Card in the TV Box and power it on; Wait for 10 seconds, then the led should start blinking and HDMI will turn on. The first time the boot process will take a couple of minutes or more because the filesystem is going to be resized, so be patient and wait for the login prompt; On first boot you will be asked for entering a password for root user of your choice and the name and password for a regular user Run rk3318-config to configure the board specific options Run armbian-config to configure timezone, locales and other personal options, or also to transfer the SD Card installation to internal ; Congratulations, Armbian is running from SD Card! Tutorial - How to install Armbian on your TV Box (by @awawa) : https://www.hyperhdr.eu/2022/01/tv-box-mania-i-part-x88-pro-10.html A note about boot device order: With Armbian also comes mainline U-boot. If you install Armbian, the bootloader will look for valid bootable images in this order: External SD Card External USB Stick in OTG Port Internal The Multitool does not boot / How to burn image directly on eMMC: Some boards have the sdcard attached to an auxiliary (called also sdmmc_ext or external) controller which is not the common one. Forum findings declare that those boards are not able to boot from sdcard with stock firmware and they neither do in maskrom mode: the stock firmware always boots even if you put the multitool on sdcard. In such case, burning images directly on eMMC is the only way to have a working Armbian installation. You can follow these instructions by @fabiobassa to burn images directly on eMMC: https://forum.armbian.com/topic/17597-csc-armbian-for-rk3318rk3328-tv-box-boards/?do=findComment&comment=130453 Notes and special hardware: Script to change DDR memory frequency here Wireless chip AP2734, SP2734, HY2734C and similars: they are clones of AmPAK AP6334 which is combo wifi + bluetooth of broadcom BCM4334/B0 chips. You may need a special nvram file, instructions by @paradigman are here Critics, suggestions and contributions are welcome! Credits: @fabiobassa for his ideas, inspiration, great generosity in giving the boards for development and testing. The project of bringing rk3318 into armbian would not have begun without his support! @hexdump for his precious support in early testing, ideas and suggestions @MX10.AC2Nfor his patience in testing mxq-rk3328-d4 board support All the rockhip64 maintainers at Armbian project who have done and do most of the work to support the platform
- 1985 replies
-
19
-
Newbie on Armbian. I have an Allwinner H313 (confirmed) box that I want to to use as a basic Samba server. CPU:Allwinner H313Quad Core ARM Cortex A53 GPU:Mali-G31 OPenGL ES3.2 Memory:2GB Flash:16GB OS:Android 10.0 The actual firmware is a secure image and, no matter what procedure I do, I can't load any other image but the secure one. Debugging shows that 'fastbootd' has the "secure" flag set. My intention is to create a basic secure arm64 Debian image but I am having a hard time in doing so. Any ideas (specific Wiki, procedures) on how to create the secure image or "reset" the "secure" flag will be very appreciated. Thanks in advance.
-
I’m using the DEVMFC version [https://github.com/devmfc/debian-on-amlogic]. Additionally, I took the `/boot` partition and copied all the files from the Devmfc_Ubuntu-Oracular_6.12.11-meson64_Minimal-25.01.24.img.xz image. Then, I downloaded the same version available from the Armbian community, but with a graphical interface: Armbian_community_25.5.0-trunk.4_Aml-s9xx-box_noble_current_6.12.12_xfce_desktop.img.xz. I first flashed the Armbian image onto a USB drive. Then, in the `/boot` partition, I moved all existing root files into a `/backup` folder. After that, I copied the files from the DEVMFC version into the root of the `/boot` partition on the USB drive. Surprisingly, when I tried to boot this setup on a TV Box similar to the Vontar X4, which has an S905X4 processor, it actually booted! It prompted me to create a root password, a regular user, set the language, and select a time zone. Then, it successfully launched into X for the graphical interface. However, it seems that USB ports were either disabled, or the system froze—the login screen was visible, and the keyboard cursor was blinking, but no input was possible. I believe this is a solid starting point for getting Armbian images with a graphical interface running on S905X4 (Meson SC2), S905W2 (Meson S4), and S905Y4 (Meson S4) processors. Even without hardware-accelerated graphics, it should still be usable for basic applications like Notepad, text editors, spreadsheets, calculators, terminal access, and other simple tasks. Has anyone else made progress running Armbian on the S905X4?
-
I’m really happy to share that I finally managed to port the SV6256P (SSV6X5X) SDIO Wi-Fi driver from the legacy Linux 4.4 kernel to modern kernels. This repository contains my working port for Linux kernel 6.12 and newer, with updated mac80211/cfg80211 integration so the driver can build and run on recent Armbian systems. The chipset is commonly used in many low-cost TV boxes and embedded devices, but the original driver only supported legacy kernels (4.4). Now it’s functional again on modern systems, at least on my tested hardware (Allwinner H616 / X96 Q via SDIO). Repository link: https://github.com/cdhigh/armbian_sv6256p I’m quite excited to finally see this old Wi-Fi chip working on a 6.x kernel 🙂 [ 4.774151] ssv6x5x: importing configuration from /lib/firmware/ssv6x5x-wifi.cfg [ 4.778281] tu_ssv6xxx_sdio_init, probe @(____ptrval____) [ 4.779483] TU_SSV6XXX_SDIO mmc3:0001:1: Probing SDIO bus [ 4.779513] ssv6xxx_set_sdio_clk: set sdio clk 25000000Hz [ 4.799668] TU_SSV6XXX_SDIO mmc3:0001:1: vendor = 0x3030 device = 0x3030 [ 4.825421] TU_SSV6XXX_SDIO mmc3:0001:1: dataIOPort 0x10000 regIOPort 0x10020 [ 4.849181] TU_SSV6XXX_SDIO mmc3:0001:1: dataIOPort 0x10000 regIOPort 0x10020 [ 4.849530] TU_SSV6XXX_SDIO mmc3:0001:1: CHIP ID: SSV6006C0 [ 4.850373] ssv6x5x ops chk: tx=1 start=1 stop=1 config=1 add_if=1 rm_if=1 conf_filter=1 wake_txq=1 [ 4.850402] ssv6x5x chanctx chk: any=1 all=0 emulate=1 add=1 rm=1 chg=1 assign=0 unassign=0 [ 4.850409] ssv6x5x chanctx ops set but not complete [ 4.850424] Attach SSV6006 family HAL function [ 4.858285] MAC address from e-fuse [ 4.858311] EFUSE configuration [ 4.858315] Read efuse chip identity[79000000] ip link show: 6: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000 link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
-
Currently working on a build for this device. It boots and is about 90% functional on 6.6 and 6.7 Kernel https://github.com/sicXnull/armbian-build/tree/X96Q-TVBOX-LPDDR3 Working - Desktop - Ethernet - Wifi Not working - DTS could use some work. Right now it does not detect internal EMMC so installing to EMMC is not an option. - Likely other things i've missed. I've uploaded two images to my git. Full w/Mate Desktop Minimal/Server Feel free to compile this yourself if you don't trust my images, it's encouraged. Changes are on the X96Q-TVBOX-LPDDR3 Branch Full W/Desktop ./compile.sh build BOARD=x96q-tvbox BRANCH=current BUILD_DESKTOP=yes BUILD_MINIMAL=no EXPERT=yes KERNEL_CONFIGURE=no KERNEL_GIT=shallow RELEASE=bookworm Minimal/Server ./compile.sh build BOARD=x96q-tvbox BRANCH=current BUILD_DESKTOP=no BUILD_MINIMAL=yes EXPERT=yes KERNEL_CONFIGURE=no KERNEL_GIT=shallow RELEASE=bookworm
-
DISCLAIMERS (PLEASE READ): Everything you can find in this thread (binaries, texts, code snippets, etc...) are provided AS-IS and are not part of official Armbian project. For this reason not people from Armbian project nor myself are responsible for misuse or loss of functionality of hardware. THIS POST explains very well the troubles with TV Boxes and why they are not suitable for everyone Please don't ask about support or assistance in other non-community forums nor in the official Armbian github repository, instead post your questions in this thread, in the TV Boxes forum section (hardware related) or in the Peer-to-peer support section (general linux/software related). Following the recent thread on LibreElec forum about an unofficial image for rk3229 devices, I would like to make public the work made by me and @fabiobassa about bringing rk322x support to armbian. The project is now in -> mainline Armbian <- development fork -> here <- This first page and the last 3 or 4 pages of the thread are enough to get up to date with recent developments. Many useful experiences are scattered through the thread, but the most important things are collected here in the first page, so please read it carefully! Mainline kernel is fully supported and will receive most support in the future. Legacy kernel 4.4 is deprecated, but is kept around only for special purposes. What works: Should boot and work flawlessy on all boards with RK3228a, RK3228b and RK3229, with either DDR2 and DDR3 memories. Mainline u-boot Proprietary OPTEE provided as Trusted Execution Environment (needed for DRAM frequency scaling) All 4 cores are working Ethernet Serial UART (configured at 115200 bps, not 1.5Mbps!) Thermals, CPU and DRAM frequency scaling OTG USB 2.0 port (also as boot device!) EHCI/OHCI USB 2.0 ports MMC subsystem (including eMMC, SD and sdio devices) Hardware video acceleration NAND is available only on legacy kernel. To fully boot from NAND, use the Multitool and its steP-nand installation (instructions are below) Various WIFI over SDIO are supported (SSV6051P, SSV6256P, ESP8089, Realtek chips, etc...), ssv6256p driver is available only on legacy kernel Full GPU acceleration U-boot boot order priority: first the sdcard, then the USB OTG port and eventually the internal eMMC; you can install u-boot (and the whole system) in the internal eMMC and u-boot will always check for images on external sdcard/USB first. Unbrick: Technically, rockchip devices cannot be bricked. If the internal flash does not contain a bootable system, they will always boot from the sdcard. If, for a reason, the bootable system on the internal flash is corrupted or is unable to boot correctly, you can always force the maskrom mode shorting the eMMC clock pin on the PCB. Here there is the procedure, but you can also google around if you get stuck on a faulty bootloader, the technique is pretty simple and requires a simple screwdriver. There are however some unfortunate cases (expecially newer boards) where shorting the eMMC clock pin is difficult or impossibile, like eMMC or eMCP BGA chips with no exposed pins. In those cases pay double attention when burning something on the internal eMMC/eMCP and always test first the image from the sdcard to be sure it works before burning anything on eMMC/eMCP. Some useful links with pins, pads or procedures for some boards: Generic procedure for boards with non-BGA eMMC MXQPRO_V71 - eMCP H20 - eMCP ZQ01 - eMCP NAND vs eMMC vs eMCP difference: RK3228 and RK3229 tv boxes comes with three different flash memory chips: eMMC, NAND and eMCP. It does not depend upon the market name of the tv box and neither the internal board; manufacturers put whatever they find cheaper when they buy the components. NAND chip is just the non-volatile memory eMMC chip contains both the non-volatile memory plus a controller. eMCP chip contains the non-volatile memory, a controller for the non-volatile memory (like eMMC), but also contains a bank of DDR SDRAM memory on the same physical chip. The difference is very important, because eMMC and eMCP are far easier to support at various levels: the controller deals with the physical characteristics of the non-volatile memory, so the software has no to deal with. NAND chips instead are harder to support, because the software is required to deal with the physical characteristics and non-standard things that depends upon the NAND manufacturer. If you have a NAND chips you're unlucky because mainline kernel currently cannot access it, but also because you need special care and instructions explained later. You can discover if you have a NAND, eMMC or eMCP chip looking on the board are reading the signature on the flash memory chip. The Multitool (see later) also can detect which chip you have onboard: the program will warn you at startup if you have a NAND chip. NAND bootloader upgrade: IMPORTANT: don't do this is you have an eMMC or eMCP; skip this paragraph if you are unsure too! For very expert people who are having issues when (re)booting images, there is the chance to upgrade the bootloader on NAND. The NAND bootloader is nothing else than a regular idbloader (see official rockchip documentation) but contains some bits to correctly access the data on your flash memory. Upgrading requires to erase the existing flash content, in the worst case will require you to follow the Unbrick procedure above or restore an older but more compatible bootloader. If you are not mentally ready to overcome possible further issues, don't do this! The detailed instructions and the binaries are available at this post Multimedia: Mainline kernel: 3D acceleration is provided by Lima driver and is already enabled. Hardware video decoding: https://forum.armbian.com/topic/19258-testing-hardware-video-decoding-rockchip-allwinner/ Deprecated legacy kernel: multimedia features, like OpenGL/OpenGL ES acceleration, hardware accelerated Kodi, ffmpeg and mpv you can take a look to this post An effective tutorial from @Hai Nguyen on how to configure a box as a hi-quality music player using an USB audio card, and controlling it via remote control is available in this post Brief explanation about kernel naming: current kernel is the mainline LTS kernel version, most maintained and tested. This is the suggested version for production devices. If you don't know what to pick, pick this. legacy kernel (version 4.4) is provided by manufacturer; it is deprecated, unmaintained and not suggested. edge kernel is the development mainline kernel version, with experimental features and drivers; usually stable but perhaps suitable for production devices. You can switch from one kernel flavour to another using armbian-config or manually via apt. Installation (via SD card): Building: You can build your own image follow the common steps to build armbian for other tv boxes devices: when you are in the moment to choose the target board, switch to CSC/TVB/EOL boards and select "rk322x-box" from the list. Download prebuilt images from the following links: Archive builds (GPG-signed) - https://imola.armbian.com/dl/rk322x-box/archive/ SUGGESTED - Nightly built from trunk each week by Armbian servers (GPG-signed) - https://github.com/armbian/community Old images provided by me (unsigned and outdated) - https://users.armbian.com/jock/rk322x/armbian/stable Archived/older images: https://armbian.hosthatch.com/archive/rk322x-box/archive/ Multitool: The Multitool is a small but powerful tool to do quick backup/restore of internal flash, but also burn images and general system rescue and maintenance via terminal or SSH. Compressed images will be uncompressed on fly. Multitool - A small but powerful image for RK322x TV Box maintenance (instructions to access via network here) Quick installation instructions on eMMC: Build or download your preferred Armbian image and a copy of the Multitool; Burn the Multitool on an SD card; once done, place the Armbian image in images folder of the SD card NTFS partition; Plug the SD card in the TV box and plug in the power cord. After some seconds the blue led starts blinking and the Multitool appears; OPTIONAL: you can do a backup of the existing firmware with "Backup flash" menu option; Choose "Burn image to flash" from the menu, then select the destination device (usually mmcblk2) and the image to burn; Wait for the process to complete, then choose "Shutdown" from main menu; Unplug the power cord and the SD card, then replug the power cord; Wait for 10 seconds, then the led should start blinking and HDMI will turn on. The first time the boot process will take a couple of minutes or more because the filesystem is going to be resized, so be patient and wait for the login prompt. On first boot you will be asked for entering a password for root user of your choice and the name and password for a regular user Run sudo rk322x-config and select your board characteristics to enable leds, wifi chips, high-speed eMMC, etc... Run sudo armbian-config to configure timezone, locales and other personal options Congratulations, Armbian is now installed and configured! Despite the procedure above is simple and reliable, I always recommend to first test that your device boots Armbian images from SD Card. Due to the really large hardware variety, there is the rare chance that the images proposed here may not boot. If a bad image is burned in eMMC, the box may not boot anymore forcing you to follow the unbrick section at the top of this post. Quick installation instructions on NAND: Build or download your preferred Armbian image and a copy of the Multitool; Burn the Multitool on an SD card; once done, place the Armbian legacy kernel image in images folder of the SD card NTFS partition; Plug the SD card in the TV box and plug in the power cord. After some seconds the blue led starts blinking and the Multitool appears; OPTIONAL: you can do a backup of the existing firmware with "Backup flash" menu option; Choose "Burn Armbian image via steP-nand" from the menu, then select the destination device (usually rknand0) and the image to burn; Wait for the process to complete, then choose "Shutdown" from main menu; Unplug the power cord and the SD card, then replug the power cord; Wait for 10 seconds, then the led should start blinking and HDMI will turn on. The first time the boot process will take a couple of minutes or more because the filesystem is going to be resized, so be patient and wait for the login prompt. On first boot you will be asked for entering a password for root user of your choice and the name and password for a regular user Run sudo rk322x-config and select your board characteristics to enable leds, wifi chips, etc... Run armbian-config to configure timezone, locales and other personal options Congratulations, Armbian is now installed! Alternative: you can install the bootloader in NAND and let it boot from SD Card or USB: Download a copy of the Multitool and burn it on an SD card; Plug the SD card in the TV box and plug in the power cord. After some seconds the blue led starts blinking and the Multitool appears; RECOMMENDED: make a backup of the existing firmware with "Backup flash" menu option; Choose "Install Jump Start for Armbian" menu option: the Jump Start uses the internal NAND to boot from external SD Card or external USB Stick; Follow the general instructions to boot from SD Card below, skip the first erase eMMC step. Quick installation instructions to boot from SD Card: If you are already running Armbian from eMMC, skip to the next step. Instead if you are running the original firmware you need to first erase the internal eMMC; to do so download the Multitool, burn it on an SD Card, plug the SD Card and power the TV Box. Use "Backup flash" if you want to do a backup of the existing firmware, then choose "Erase flash" menu option. Build or download your preferred Armbian image; Uncompress and burn the Armbian image on the SD Card; Plug the SD Card in the TV Box and power it on; Wait for 10 seconds, then the led should start blinking and HDMI will turn on. The first time the boot process will take a couple of minutes or more because the filesystem is going to be resized, so be patient and wait for the login prompt; On first boot you will be asked for entering a password for root user of your choice and the name and password for a regular user Run sudo rk322x-config and select your board characteristics to enable leds, wifi chips, high-speed eMMC or NAND, etc... Run armbian-config to configure timezone, locales and other personal options, or also to transfer the SD Card installation to internal eMMC; Congratulations, Armbian is running from SD Card! A note about boot device order: With Armbian also comes mainline U-boot. If you install Armbian or just the bootloader in the eMMC or the Jump Start on internal NAND, the bootloader will look for valid bootable images in this order: External SD Card External USB Stick in OTG Port Internal eMMC Installation (without SD card, board with eMMC) If you have no sd card slot and your board has an eMMC, you can burn the armbian image directly on the internal eMMC using rkdeveloptool and a male-to-male USB cable: Download your preferred Armbian image from Armbian download page and decompress it. Download the rk322x bootloader: rk322x_loader_v1.10.238_256.bin Download a copy of rkdeveloptool: a compiled binary is available in the official rockchip-linux rkbin github repository. Unplug the power cord from the tv box Plug an end of an USB Male-to-male cable into the OTG port (normally it is the lone USB port on the same side of the Ethernet, HDMI, analog AV connectors) while pressing the reset microbutton with a toothpick. You can find the reset microbutton in a hole in the back of the box, but sometimes it is hidden into the AV analog jack Plug the other end of the USB Male-to-male cable into an USB port of your computer If everything went well, run lsusb: you should see a device with ID 2207:320b Run sudo rkdeveloptool rd 3 (if this fails don't worry and proceed to next step) Run sudo rkdeveloptool db rk322x_loader_v1.10.238_256.bin Run sudo rkdeveloptool wl 0x0 image.img (change image.img this with the real Armbian image filename) Unplug the power cord Done! Installation (without SD card, board with NAND) If you are in the unfortunate case you can't use an SD card for installation and your board has a NAND chip, you still have an option to use the quick Multitool installation steps via USB. Obtain a copy of rkdeveloptool: a compiled binary is available in the official rockchip-linux rkbin github repository. Unplug the power cord from the tv box Plug an end of an USB Male-to-male cable into the OTG port (normally it is the lone USB port on the same side of the Ethernet, HDMI, analog AV connectors) while pressing the reset microbutton with a toothpick. You can find the reset microbutton in a hole in the back of the box, but sometimes it is hidden into the AV analog jack Plug the other end of the USB Male-to-male cable into an USB port of your computer If everyting went well, using lsusb you should see a device with ID 2207:320b Run sudo rkdeveloptool wl 0x4000 u-boot-main.img (download u-boot-main.img.xz , don't forget to decompress it!) Unplug the power cord Now you can follow the instructions on how to install on eMMC/NAND via SD card, just use instead an USB stick to do all the operations and plug it into the USB OTG port. Once you reboot, USB OTG port will be used as a boot device. NOTE: NAND users without SD slot may be unhappy to know that it will be difficult to do extra maintenance with Multitool in case something breaks in the installed Armbian system: installing u-boot-main.img makes the installed system unbootable because it is missing the NAND driver. Alternative backup, restore and erase flash for EXPERTS: These backup, restore and erase flash procedures are for experts only. They are kept here mostly for reference, since the Multitool is perfectly able to do same from a very comfy interface and is the suggested way to do maintenance. Backup: Obtain a copy of rkdeveloptool: a compiled binary is available in the official rockchip-linux rkbin github repository. If you prefer, you can compile it yourself from the sources available at official rockchip repository Unplug the power cord from the tv box Plug an end of an USB Male-to-male cable into the OTG port (normally it is the lone USB port on the same side of the Ethernet, HDMI, analog AV connectors) while pressing the reset microbutton with a toothpick. You can find the reset microbutton in a hole in the back of the box, but sometimes it is hidden into the AV analog jack Plug the other end of the USB Male-to-male cable into an USB port of your computer If everyting went well, using lsusb you should see a device with ID 2207:320b change directory and move into rkbin/tools directory, run ./rkdeveloptool rfi then take note of the FLASH SIZE megabytes (my eMMC is 8Gb, rkdeveloptool reports 7393 megabytes) run ./rkdeveloptool rl 0x0 $((FLASH_SIZE * 2048)) backup.data (change FLASH_SIZE with the value you obtained the step before) once done, the internal eMMC is backed up to backup.data file Restore: first we have to restore the original bootloader, then restore the original firmware. Running rkdeveloptool with these switches will accomplish both the jobs: ./rkdeveloptool db rk322x_loader_v1.10.238_256.bin Downloading bootloader succeeded. ./rkdeveloptool ul rk322x_loader_v1.10.238_256.bin Upgrading loader succeeded. ./rkdeveloptool wl 0x0 backup.data Write LBA from file (100%) Download here: Erase the flash memory: clearing the internal eMMC/NAND memory makes the SoC look for external SD Card as first boot option. If there isn't any suitable SD Card, the SoC enters maskrom mode, which can then be used for full eMMC/NAND access using rkdeveloptool. This is perfectly fine if your box has an eMMC flash memory. NOTE: In case you have a NAND flash memory this option is however discouraged. The original bootloader contains some special parameters to correctly access the data. Clearing the flash memory will probably garbage the NAND data and restoring the bootloader may require some special instructions. Obtain a copy of rkdeveloptool: a compiled binary is available in the official rockchip-linux rkbin github repository. If you prefer, you can compile it yourself from the sources available at official rockchip repository Unplug the power cord from the board Plug an end of an USB Male-to-male cable into the OTG port (normally it is the lone USB port on the same side of the Ethernet, HDMI, analog AV connectors) while pressing the reset microbutton with a toothpick. You can find the reset microbutton in a hole in the back of the box, but sometimes it is hidden into the AV analog jack Plug the other end of the USB Male-to-male cable into an USB port of your computer If everyting went well, using lsusb you should see a device with ID 2207:320b run ./rkdeveloptool ef and wait a few seconds once done, the internal eMMC is erased and the device will boot from the sdcard from now on Partecipation and debugging: If you want to partecipate or need help debugging issues, do not hesitate to share your experience with the installation procedure of the boxes. In case of issues and missed support, provide as many as possible of these things is very useful to try and bring support for an unsupported board: some photos of both sides of the board. Details of the eMMC, DDR and Wifi chips are very useful! upload the device tree binary (dtb) of your device. We can understand a lot of things of the hardware from that small piece of data; and alternative is a link to the original firmware (you can do a full backup with the Multitool); dmesg and other logs (use armbianmonitor -u that automatically collects and uploads the logs online) attach a serial converter to the device and provide the output of the serial port; Critics, suggestions and contributions are welcome! Credits: @fabiobassa for his ideas, inspiration, great generosity in giving the boards for development and testing. The project of bringing rk322x into armbian would not have begun without his support! Justin Swartz, for his work and research to bring mainline linux on rk3229 (repository here) @knaerzche for his great contribution to libreelec support and mainline patches @Alex83 for his patience in testing the NAND bootloader upgrade procedure on his board @Jason Duhamell for his generous donation that allowed researching eMCP boards and esp8089 wifi chip
- 3086 replies
-
23
-
Hi Ive just installed the latest version of Armbian (Ubuntu Noble+KDE) and everything works fine except it looks like it is not detecting my TV resolution correctly. I can choose 1920x1080@120hz but if I try yo go to 4K I can only select 24Hz I attach armbian monitor logs url, modetest and kscreendoctor My cable is HDMI 2.1 Any help would be appreciated modetest -c trying to open device '/dev/dri/card1'... is not a KMS device trying to open device '/dev/dri/card0'... done opened device `RockChip Soc DRM` on driver `rockchip` (version 1.0.0 at 0) Connectors: id encoder status name size (mm) modes encoders 83 82 connected HDMI-A-1 1880x1060 35 82 modes: index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot #0 4096x2160 24.00 4096 5116 5204 5500 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver #1 4096x2160 23.98 4096 5116 5204 5500 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver #2 3840x2160 30.00 3840 4016 4104 4400 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver #3 3840x2160 29.97 3840 4016 4104 4400 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver #4 3840x2160 25.00 3840 4896 4984 5280 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver #5 3840x2160 24.00 3840 5116 5204 5500 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver #6 3840x2160 23.98 3840 5116 5204 5500 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver #7 1920x1080 120.00 1920 2008 2052 2200 1080 1084 1089 1125 297000 flags: phsync, pvsync; type: driver #8 1920x1080 119.88 1920 2008 2052 2200 1080 1084 1089 1125 296703 flags: phsync, pvsync; type: driver #9 1920x1080 100.00 1920 2448 2492 2640 1080 1084 1089 1125 297000 flags: phsync, pvsync; type: driver #10 1920x1080 60.00 1920 2008 2052 2200 1080 1084 1089 1125 148500 flags: phsync, pvsync; type: driver #11 1920x1080 59.94 1920 2008 2052 2200 1080 1084 1089 1125 148352 flags: phsync, pvsync; type: driver #12 1920x1080 50.00 1920 2448 2492 2640 1080 1084 1089 1125 148500 flags: phsync, pvsync; type: driver #13 1920x1080 30.00 1920 2008 2052 2200 1080 1084 1089 1125 74250 flags: phsync, pvsync; type: driver #14 1920x1080 29.97 1920 2008 2052 2200 1080 1084 1089 1125 74176 flags: phsync, pvsync; type: driver #15 1920x1080 24.00 1920 2558 2602 2750 1080 1084 1089 1125 74250 flags: phsync, pvsync; type: driver #16 1920x1080 23.98 1920 2558 2602 2750 1080 1084 1089 1125 74176 flags: phsync, pvsync; type: driver #17 1680x1050 59.88 1680 1728 1760 1840 1050 1053 1059 1080 119000 flags: phsync, nvsync; type: driver #18 1600x900 60.00 1600 1624 1704 1800 900 901 904 1000 108000 flags: phsync, pvsync; type: driver #19 1280x1024 60.02 1280 1328 1440 1688 1024 1025 1028 1066 108000 flags: phsync, pvsync; type: driver #20 1152x864 75.00 1152 1216 1344 1600 864 865 868 900 108000 flags: phsync, pvsync; type: driver #21 1280x720 60.00 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver #22 1280x720 59.94 1280 1390 1430 1650 720 725 730 750 74176 flags: phsync, pvsync; type: driver #23 1280x720 50.00 1280 1720 1760 1980 720 725 730 750 74250 flags: phsync, pvsync; type: driver #24 1280x720 30.00 1280 3040 3080 3300 720 725 730 750 74250 flags: phsync, pvsync; type: driver #25 1280x720 29.97 1280 3040 3080 3300 720 725 730 750 74176 flags: phsync, pvsync; type: driver #26 1280x720 24.00 1280 3040 3080 3300 720 725 730 750 59400 flags: phsync, pvsync; type: driver #27 1280x720 23.98 1280 3040 3080 3300 720 725 730 750 59341 flags: phsync, pvsync; type: driver #28 1024x768 60.00 1024 1048 1184 1344 768 771 777 806 65000 flags: nhsync, nvsync; type: driver #29 800x600 60.32 800 840 968 1056 600 601 605 628 40000 flags: phsync, pvsync; type: driver #30 720x576 50.00 720 732 796 864 576 581 586 625 27000 flags: nhsync, nvsync; type: driver #31 720x480 60.00 720 736 798 858 480 489 495 525 27027 flags: nhsync, nvsync; type: driver #32 720x480 59.94 720 736 798 858 480 489 495 525 27000 flags: nhsync, nvsync; type: driver #33 640x480 60.00 640 656 752 800 480 490 492 525 25200 flags: nhsync, nvsync; type: driver #34 640x480 59.94 640 656 752 800 480 490 492 525 25175 flags: nhsync, nvsync; type: driver props: 1 EDID: flags: immutable blob blobs: value: 00ffffffffffff004dd9057901010101 011e010380bc6a780a0dc9a057479827 12484c2108008180a9c0714fb3000101 01010101010108e80030f2705a80b058 8a005a227400001e023a801871382d40 582c45005a227400001e000000fc0053 4f4e5920545620202a33300a000000fd 0017790e883c000a20202020202001bf 020367f05861605d5e5f621f10140513 0420223c3e1203110265663f402f0d7f 071507503d07bc570601670403830f00 006e030c004000b8442b008001020304 67d85dc401788003eb0146d000480382 88627697e200cbe305df01e40f030030 e6060d018aac10011d007251d01e206e 2855005a227400001e000000000000a3 2 DPMS: flags: enum enums: On=0 Standby=1 Suspend=2 Off=3 value: 0 5 link-status: flags: enum enums: Good=0 Bad=1 value: 0 6 non-desktop: flags: immutable range values: 0 1 value: 0 4 TILE: flags: immutable blob blobs: value: 84 max bpc: flags: range values: 8 8 value: 8 kscreen-doctor -o Output: 1 HDMI-A-1 ea40cb77-73bf-4175-8970-22f84927f147 enabled connected priority 1 HDMI replication source:0 Modes: 1:4096x2160@24.00*! 2:4096x2160@23.98 3:3840x2160@30.00 4:3840x2160@29.97 5:3840x2160@25.00 6:3840x2160@24.00 7:3840x2160@23.98 8:1920x1080@120.00 9:1920x1080@119.88 10:1920x1080@100.00 11:1920x1080@60.00 12:1920x1080@60.00 13:1920x1080@59.94 14:1920x1080@50.00 15:1920x1080@30.00 16:1920x1080@29.97 17:1920x1080@24.00 18:1920x1080@23.98 19:1680x1050@59.88 20:1600x900@60.00 21:1280x1024@60.02 22:1152x864@75.00 23:1280x720@60.00 24:1280x720@60.00 25:1280x720@59.94 26:1280x720@50.00 27:1280x720@30.00 28:1280x720@29.97 29:1280x720@24.00 30:1280x720@23.98 31:1024x768@60.00 32:800x600@60.32 33:720x576@50.00 34:720x576@50.00 35:720x480@60.00 36:720x480@60.00 37:720x480@59.94 38:720x480@59.94 39:640x480@60.00 40:640x480@59.94 Custom modes: None Geometry: 0,0 1821x960 Scale: 2.25 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown HDR: incapable Wide Color Gamut: incapable ICC profile: none Color profile source: sRGB Color power preference: prefer efficiency and performance Brightness control: supported, set to 100% and dimming to 100% Color resolution: automatic (10), range: [8; 8] bits per color Allow EDR: unsupported Sharpness control: unsupported Automatic brightness: unsupported Thank you
-
So I bought this chinise Android TV Box and would love to install armbian on it. I am new on this and discovered armbian just after buying it. I didn't know there was no support and not official open source for the Rockchip RK3528, otherwise I would have chosen any other. The box works fine but it has that known malware that send packets to suspicious links (I scanned activity with pi-hole). Description says it has 2GB RAM and 16GB storage (Hynix H26M51002KPR) WiFi chip is LGX8800D I attach images of the board and all of it's componentes, including IR sensor and display. It also has a red LED that turns on when in stand-by mode. I hope this help to develop or patch a working version of armbian for it. I have already read about some patches around that would probably work, but I' new to this and I'm not sure how to start. What I would like to do first is a completly ROM backup, and start doing test with a pendrive or SD card, not writting directly to the eMMC (if possible) until the important things get working. And any help would be appreciated. Edit: I will keep posting in this thread with my progress (or attemps!)
-
Hello, I have H96 Max TV box with RK3528 chip (4GB RAM, 64GB eMMC, Android 13, build RZX.V01.20240924). Board: RK3528_DDR3_8X4_V12. Problem: Box does not boot from TF card at all. No HDMI output, no DHCP lease, nothing. What I have: TF card slot on the box 1x USB 2.0 port, 1x USB 3.0 port No serial/UART adapter (DEBUG header visible on PCB but not connected) Android 13 still working on EMMC ADB access with root What I tried: Built Armbian with BOARD=rk3528-tvbox BRANCH=legacy BUILD_MINIMAL=yes RELEASE=trixie Extracted DTB from Android boot partition, added to image Wrote image to TF card with dd Verified RKNS header at sector 64 - correct Tried replacing idbloader with one from our custom U-Boot build Original U-Boot on EMMC appears to ignore TF card completely Question: How to make original U-Boot boot from TF card? Or is there a way to install Armbian to EMMC safely while keeping ability to recover? Device AIDA64 info: Model: H96_Max_RK3528 Device: rk3528_box Hardware: rk30board Thank you!
-
SV6256P WiFi Now Working on Linux 6.x (Armbian Tested)
Kevin su replied to Kevin su's topic in Allwinner CPU Boxes
@Kauã Fonseca There are SSH commands in my GitHub repository. Just SSH into your TV box and execute them one by one. sudo apt-get update sudo apt-get install -y build-essential linux-headers-$(uname -r) git git clone https://github.com/cdhigh/armbian_sv6256p.git cd armbian_sv6256p chmod +x ./parser-conf.sh make ARCH=arm64 KSRC=/lib/modules/$(uname -r)/build ls -lh ssv6x5x.ko sudo cp ./ssv6x5x-wifi.cfg /lib/firmware/ sudo cp ./ssv6x5x-sw.bin /lib/firmware/ sudo cp ./ssv6x5x.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ sudo depmod -a sudo modprobe ssv6x5x ip link show nmtui -
DISCLAIMERS (PLEASE READ): - Everything in this post is provided AS-IS. This is not an official Armbian-supported target, and neither the Armbian project nor I am responsible for any damage, data loss, or broken devices caused by flashing or testing these images. - As with other TV boxes, please assume there may be board variants, undocumented hardware changes, weak power supplies, and marginal NAND/eMMC chips. Test carefully before writing anything to internal storage. - Please keep discussion and support in the forum thread, not in the official Armbian issue tracker. Hi all, I would like to share my work on bringing Armbian to Rockchip RK3128 TV boxes. These boxes are quite old now, and I do not think they are especially common anymore. Still, I suspect a lot of people may have one lying around somewhere in a drawer, unused after Android updates stopped or the original firmware became too slow to care about. I also had several of them lying around at home, which is what pushed me to start this project in the first place. Since I could not find an RK3128 Armbian effort comparable to the RK322x one, I decided to try doing the port myself. Another important motivation was simply to reduce e-waste: if even some of these old boxes can be turned into usable Linux machines again instead of being thrown away, that already feels worthwhile to me. First and foremost, I want to send special thanks to @jock and @fabiobassa for their RK322x TV box work on this forum. Their work was the foundation that made this RK3128 effort much easier to start from. 1. Main references and source code: Blog post with the full write-up: https://chieunhatnang.de/p/building-armbian-for-rockchip-rk3128/ Follow-up post for kernel 6.6.89 work: https://chieunhatnang.de/p/building-armbian-for-rockchip-rk3128-part-2/ Build scripts and releases: https://github.com/chieunhatnang-personal/RK3128-Linux-SupportingScripts RK3128 kernel 4.4 tree: https://github.com/chieunhatnang-personal/linux-kernel-4.4-rk3128-tvbox RK3128 kernel 6.6 tree: https://github.com/chieunhatnang-personal/linux-kernel-6.6-rk3128-tvbox 2. Current status At the moment I have two kernel lines: `4.4.194`, the older vendor-based line, which is already usable in practice `6.6.89`, the newer line, which allows these boxes to run a more up-to-date Armbian userspace What works in the current build: Custom U-Boot based on Rockchip U-Boot 2017.09 All four CPU cores, up to 1.2 GHz CPU frequency scaling and governors DRAM frequency control, both dynamic and fixed NAND, eMMC, SD card, and USB booting. The booting order is: USB >> SD Card >> NAND/eMMC (NAND and eMMC cannot be enabled at the same time because they share pins) OTG and EHCI/OHCI USB support Ethernet Wi-Fi support for SSV6051P, ESP8089, and several Realtek chips GPU acceleration UART1 and UART2, configurable Kernel `6.6.89` status in a bit more detail: CPU DVFS is stable after replacing the inherited/leakage-based OPP assumptions with a board-specific RK3128-safe table. The stable points I ended up using are `216 / 408 / 600 / 816 / 1008 / 1200 MHz` DMC / RAM devfreq works. In practice, simply enabling `dmc` works much better than I first expected, and boards can settle at different normal rates such as `396 MHz` or `456 MHz` GPU on `6.6.89` uses `Lima`, not the old Mali blob stack. That gives a maintainable Mesa/DRM path and hardware-accelerated OpenGL ES instead of depending on a legacy userspace blob VPU/video decode is still the weak point. I tried both `RKMPP` and `Hantro/V4L2` directions, but video processing is still limited, so I do not consider this a polished media-playback setup yet What does not work yet / known limitations: Bluetooth: not implemented or at least not validated, because I do not have a board with Bluetooth to test VPU / hardware video decoding is not in good shape yet SD card and SDIO Wi-Fi are currently using PIO mode on both kernel lines. This is slower than DMA, but stable enough for normal use 3. Image implementation I also made two RK3128 Armbian images based on existing RK322x Armbian images rather than building everything from scratch: Armbian 22.02: Based on the build provided by @jock, running kernel 4.4.189 Armbian 26.02: Based on the official Armbian build for rk322x, running kernel 6.6.89 In both cases, the idea was the same: keep the working RK322x Armbian userspace as a base, then replace the RK322x-specific parts with RK3128 ones, while the kernels themselves are based on Rockchip kernel sources. Compared with the original RK322x images, the RK3128 work mainly replaces or adds: boot.cmd / boot.scr changes so the boot flow can handle NAND and USB properly RK3128-specific Wi-Fi drivers and boot-time module loading logic rk3128-config a delayed Wi-Fi loader service RK3128-specific motd information the RK3128 kernel, DTB, and overlays For the `6.6.89` image specifically, there is some extra image-level cleanup and repackaging: remove the RK322x kernel / dtb / u-boot / BSP packages from the donor image pin those RK322x packages so they do not come back on upgrade install the RK3128 `6.6.89` Debian kernel packages rebuild the BSP package under the RK3128 name 4. Quick installation notes All required files are available from the releases page: The releaes page: https://github.com/chieunhatnang-personal/RK3128-Linux-SupportingScripts/releases Armbian 26.02 image: https://github.com/chieunhatnang-personal/RK3128-Linux-SupportingScripts/releases/download/kernel-6.6-armbian-26-v1.0/A26-release-20260415.zip Armbian 22.02 image: https://github.com/chieunhatnang-personal/RK3128-Linux-SupportingScripts/releases/download/kernel-4.4-armbian-22-v1.1/release-20260412.zip There are three installation layouts that are currently supported: 1. SD card only Pros: safest option, does not touch internal storage, easy to test and easy to remove, and if a board has an SD slot it can still be useful even when NAND/eMMC is completely dead Cons: slower than internal storage, and not every board has an SD slot Best for: first boot, testing, and boards where you want to keep the original Android install untouched 2. Full install to NAND / eMMC Pros: fastest and cleanest setup, uses the internal storage already present on the board Cons: overwrites the original Android install, and old NAND/eMMC may already be unreliable Best for: boards with healthy internal storage when you want a fully self-contained install 3. Hybrid install: bootloader on NAND / eMMC, rootfs on USB or SD card Pros: usually the most practical option for old TV boxes, works well when internal storage is only reliable enough for bootloader pieces, and can also help on boxes with problematic Android boot behavior Cons: more manual than the other methods, still depends on internal storage for the bootloader, and performance depends on the USB drive or SD card used Best for: boxes with weak or aging internal NAND/eMMC, or boxes where you want to avoid a full install to internal storage I describe each method in more detail below. 4.1. Install and boot from SD card Prepare: idbloader.img uboot.img trust.img rootfs.img Create an MBR partition table on the SD card, leave the first 16 MB empty, create one Linux partition, then write: idbloader.img to the raw device at seek=64 uboot.img to the raw device at seek=16384 trust.img to the raw device at seek=24576 rootfs.img to the first partition, not to the whole disk Example: DEV=/dev/sdX sudo parted -s "$DEV" mklabel msdos sudo parted -s "$DEV" mkpart primary ext4 16MB 100% sudo partprobe "$DEV" sudo dd if=idbloader.img of="$DEV" seek=64 conv=fsync sudo dd if=uboot.img of="$DEV" seek=16384 conv=fsync sudo dd if=trust.img of="$DEV" seek=24576 conv=fsync sudo dd if=rootfs.img of="${DEV}1" bs=4M status=progress conv=fsync sync I also provide a bootcardmaker.sh helper script in the same release directory to simplify this process. 4. 2. Full install to NAND / eMMC Prepare: rkxx_loader_vx.xx.xxx.bin parameter.txt uboot.img trust.img rootfs.img Then: Boot the board normally Connect a USB cable to the OTG port Open RKDevTool v2.69 In Advanced Function, erase the first 0x10000 sectors with Start LBA = 0x0 and Count = 0x10000 Press ResetDevice Wait for the board to return in MaskROM mode Go to Download Image Flash Loader, parameter, U-Boot, Trust, and rootfs 4. 3. Hybrid install: bootloader on NAND / eMMC, rootfs on USB or SD card This is the layout I use most often, and in practice it is probably the most useful one for old TV boxes. It is especially useful when internal NAND/eMMC is still good enough for Loader / parameter / U-Boot / Trust, but not reliable enough for a full root filesystem. A common symptom on these old boxes is that Android starts to boot and then hangs, or that the internal storage is simply too unreliable to trust with a full install. In this hybrid layout: Internal NAND/eMMC stores Loader, parameter, U-Boot, and Trust The root filesystem lives on USB or SD card Important: rootfs.img is a filesystem image, not a full disk image Write rootfs.img to a partition such as /dev/sdX1, not to the whole device Tools like BalenaEtcher are the wrong fit for this particular image layout Example: sudo dd if=rootfs.img of=/dev/sdX1 bs=4M status=progress conv=fsync sync 4.4. Post-install configuration After the board boots successfully, you can configure it either from the local console over HDMI or remotely over SSH if Ethernet is connected. Default login: user: root password: 1234 The first login will ask you to change the password. After that, run: rk3128-config This is the board-specific configuration tool for enabling and adjusting hardware features that may differ between RK3128 boxes. The most important options are: Wi-Fi chip selection RAM dynamic frequency: disabled by default. Enabling it can improve performance, but on some boards it may cause kernel hangs. If that happens, switch it back to disabled SD card storage enablement when booting from another device Display resolution OTG mode selection 5. Testing feedback is welcome If anyone here has RK3128 boards and wants to test, feedback would be very useful, especially for: Board photos and PCB markings Whether the board uses NAND or eMMC Boot method that works: SD, USB, NAND, eMMC Which Wi-Fi chip is present Serial logs, dmesg, and failure reports If there is enough interest and enough board coverage, I would be happy to keep improving this, cleaning it up further, and making it easier for other people to test. 6. Credits - @jock and @fabiobassa for the RK322x TV box work on the Armbian forum, which provided the main starting point, the images and practical reference for this RK3128 effort - Rockchip for the original kernel code base used as the foundation for both kernel lines
-
Armbian for RK3128 TVBox board
Ngô Huỳnh Ngọc Khánh replied to Chiều Nhạt Nắng's topic in Rockchip CPU Boxes
First of all, a huge thank you for your work on bringing Armbian to RK3128 TV boxes. Your guide is incredibly detailed and practical — not just theoretically correct, but actually usable in real-world scenarios where hardware varies wildly. That’s something many tutorials lack. It’s clear you spent a lot of time testing across different boards, and it really helps people like me who are dealing with these unpredictable cheap TV boxes. I also want to say I truly appreciate how you approached the NAND installation process using rkdeveloptool. The way you structured the workflow, especially handling boot components and low-level flashing, made it much easier to understand what’s actually happening under the hood instead of just blindly following commands. I happen to have a bunch of RK3128 devices myself, and thanks to your work, I’ve successfully brought several of them back to life. Even with different variants of RK3128, I was able to get them running properly on NAND with kernel 4.x, which is honestly impressive given how inconsistent these boards can be. That said, I’d like to ask if you might consider extending your approach to RK3228/RK3229 devices using rkdeveloptool on Windows, similar to what you’ve done for RK3128. I’ve been trying to replicate a similar workflow based on your guide and also by studying the multitool source, especially the step-nand function. So far, I’ve attempted: Reusing trust.img and legacy U-Boot from the multitool BSP folder Manually creating a GPT at 0x8000 Writing the image with dd while skipping the first 4MB (similar to step-nand logic) Unfortunately, none of these attempts have worked so far. The main challenge is that many RK3229 boards don’t have an accessible SD card slot (or even pads for one), which makes recovery and testing much harder. If SD boot were available, this would be much easier to debug and iterate. Since you’ve already done the hard work of figuring things out for RK3128 using rkdeveloptool, I was wondering if you might be willing to give RK3229 a try using a similar method. Even a partial guide or some hints about differences in bootloader layout, trust image, or NAND handling would be extremely helpful. Thanks again for your contribution — it’s genuinely valuable for the community. Hopefully RK3229 can be the next one to crack Cheers! -
i have an android tv box. model name: tx 10 pro. i want to install ARMbian on it. there is a reset button under the av port. it has 2 gb of ram and 4 gb of rom (though the internet says 8G ram and 128G rom, also the android ui too). i have enabled both usb debugging and oem unlocking from the android developer option menu. the tv box can go to recovery mode using adb command. until going to the recovery mode, the adb connects perfectly but whenever it goes into recovery mode, the adb cant connect to the tv box. it consists option for fastboot inside the recovery mode but whenever i try to apply any command (e.g. fastboot/adb) the tv box doesnt show up among the devices when the device is in recovery mode. As there is no zip file for direct linux installation that i can use with flash from usb option. and the reset button beneath the av port does nothing, ive tried to flash multiple ARMbian Img files using both rufus and etcher but the screen just goes black whenever i press and hold the reset button beneath the av port. there is no option to install twrp as neither adb nor fastboot can connect whenever the device is in recovery mode. what to do?
-
SV6256P WiFi Now Working on Linux 6.x (Armbian Tested)
Kauã Fonseca replied to Kevin su's topic in Allwinner CPU Boxes
Excuse me for asking, I'm a total noob when it comes to TV boxes. But how do I install this on a ROM? I have an Android TV ROM that works fine but without Wi-Fi. -
Basically it has 1 gb ROM 8gb ram h3 chip and I HAVE put many img files on SD card NONE of them boot and as soon as I take the SD card out it boots into android perfectly fine... I'm lost on words and what to do I have also tried FEL mode on linux but the request times out with error -7 power supply is 5v 2a which is fine for this so not that and I'm using a 256gb a1 rated SD card. This is from a generic Chinese tv box called meecom and it has ADX-H-V1.0 written on it. I also changed the dtb files a lot but it still gave no display or sign that it was booted into armbian idk what to do help ( btw I repasted it that's why it has no thermal putty on it)
-
Hello. I'm running Armbian on a Ugoos AM3 TV box. I downloaded the Armbian_26.05.0_amlogic_s912_bookworm_6.18.20_server_2026.04.01.img.gz image from https://github.com/ophub/amlogic-s9xxx-armbian/releases/download/Armbian_bookworm_arm64_server_2026.04/ Armbian_26.05.0_amlogic_s912_bookworm_6.18.20_server_2026.04.01.img.gz I'm using an 8GB USB flash drive. I formatted the flash drive to FAT32. I burned the image to the flash drive using Win32 Disk Imager. After burning the image, I found the u-boot-s905x-s912.bin file in the root directory of the flash drive and renamed it to u-boot.ext. In the /dtb/amlogic/ directory, I found the meson-gxm-ugoos-am3.dtb file and edited the path in the extlinux/extlinux.conf file in the FDT line. The resulting line was: FDT /dtb/amlogic/meson-gxm-ugoos-am3.dtb I connected a monitor via HDMI to the TV box, a network via Ethernet, a USB keyboard, and inserted a USB flash drive into the TV box. Armbian loaded normally. I followed the steps to create a user and install locales. No network setup messages appeared during setup. After setup and booting, I ran the command as the user ip a I saw that the TV Box hadn't received an IP address. I tried running the command sudo systemctl restart NetworkManager , but the IP address didn't appear. I turned off the TV Box using the command sudo poweroff. I disconnected the USB flash drive and booted into the TV Box in Android (I'm using a slimBox). I checked the network in Android—both Ethernet and WiFi were working. I switched the WiFi status in Android to off, and then re-enabled the WiFi. I inserted the USB flash drive with Armbian into the TV Box and booted into Armbian—the Ethernet network was working. I tried shutting down the system using the command sudo poweroff. I disconnected the TV Box from the power supply. After that, I booted the TV Box into Armbian again—both Ethernet and WiFi were still not working. If I re-enable the network in Android, the Ethernet will work again until the power is cut off. I tried using the dtb files meson-gxm-q201.dtb and meson-gxm-q200.dtb, but the Ethernet also doesn't work after a power outage. My TV box uses an LTM8830 WiFi module and an Amlogic S912 ARM Cortex-A53 processor. RAM is 2 GB.
-
Hello, sorry for my very bad english. I recently I bought a TV box with an h618 processor And I want to install Linux to make it a server but I only find images for the h616 processor, can I install one of these images on my TV box? It seems that the h616 processor and the h618 procesador are almost the same Thanks :D
-
Hello everyone, I'm trying to locate a specific older Armbian build for an RK3318 TV box and hoping someone in the community might have it archived. I'm looking for: Version: Armbian 22.05.1 (or similar from that era) Kernel: Legacy 4.4.213 Base: Debian Buster Desktop: XFCE (or even a CLI version is fine) The original download link from users.armbian.com/balbes150/ is now a 404. I understand this is a very old "Community Maintained" build and that RK3318 support has moved to newer kernels . I'm specifically seeking this kernel version for a project. If anyone has this image file or a similar legacy build (kernel 4.4.x) for the RK3318 stashed away, could you please share it or point me to an alternative source? Any help would be greatly appreciated! Hardware: (e.g., H96 Max RK3318 - please specify your exact box model) Thank you
-
Hello everyone, I own this android box and I followed this tutorial https://ragone.dev/post/install-linux-on-android-tv-box which is based on tutorials on armbian website, I tried to install Armbian 25.8 server with Debian. Everything went fine until the step "5. Flash Armbian to the internal eMMC", despite me running the install-aml.sh script and getting a complete message in the end (see following images for script execution output), when I reboot it just always starts from the sd (see the following screenshot showing that the mounted storage is 16 GB, but my box internal storage is 8 GB). fdisk -l output to also show the internal mmc (in the screen /dev/mmcblk1) If I remove the sd and then turn it on, it is just stuck in a loop, having the following errors: Can you please help me in solving this problem? I already tried looking on the web and found these two topics: https://github.com/ophub/amlogic-s9xxx-armbian/issues/3032 But they didn't help me. Kind regards
-
Is it possible to switch the operation to the OpenWRT system OR Linux OR DTB Q17 android tv box = Tanix TX11 android tv box = Q1 android tv box .... Works but ≠ X96Q android tv box AND ≠ Tanix TX1 android tv box .... It doesn't work current system firmware: Android 14 specs: - ARM Cortex-A53 - 32 bit - Mali-G31 - Allwinner H313 - arm,sun50iw9p1 4 GB RAM DDR3 32 GB HDD model = "sun50iw9"; compatible = "arm,sun50iw9p1";
-
These instructions are for Amlogic CPUs for TV Boxes. Note: If you have previously run other distributions on the box such as coreelec the below installation will not work. You will need to restore the original android firmware before attempting the install. coreelec changes the boot environment in ways that are incompatible with these Armbian builds. Download links: Weekly Community Rolling Builds: https://www.armbian.com/amlogic-s9xx-tv-box/ or build your own image using the Armbian build framework Once you download your chosen build, you need to burn the image to an SD card. Generally balenaEtcher is recommended as it does a verification of the burn. Also be sure to use high quality SD cards. Once you have the SD card with your chosen build, then you need to edit the boot configuration file on the SD card. In the BOOT partition of the SD card there will be a file /boot/extlinux/extlinux.conf, that you need to edit. There will also be a extlinux.conf.template file to use as a reference. You will need to add a line into the extlinux.conf file for the Device Tree (dtb) file you will be using for your box. Place this line before the APPEND line as shown in the .template file. Basically you need to have the correct dtb for your box. You may need to attempt to use different dtb files until you find the one that works the best for your box's hardware (there are a bunch of dtb files in /boot/dtb/amlogic/... to try depending on your cpu architecture and hardware). It is unlikely that there will be a matching dtb file for your TV box. The idea is to find the one that works best for your box. This may mean that you try booting with different dtb files until you fine one that works good enough for your needs. By searching the forums you will find information about what dtbs other users have found work best for different boxes. Because you are booting from an SD card, you can easily try different dtb files. The dtd files are named by cpu family. So for example dtb files for the s905x2 cpu are named meson-g12a-*. Below there is a table that shows the identifiers for each familiy (g12a for s905x2 in this case). Next you need to copy the correct uboot for your box. This is needed for how these builds boot on amlogic boxes. There are four different u-boot files located in the /boot directory: u-boot-s905, u-boot-s905x-s912, u-boot-s905x2-s922, u-boot-s905x3 You need to copy (note copy not move) the u-boot file that matches your cpu to a new file named u-boot.ext in the /boot directory So for example with a TX3 mini box that has an s905w cpu you would copy u-boot-s905x-s912 to u-boot.ext: cp u-boot-s905x-s912 u-boot.ext (See table below for more details on which u-boot to use for which cpu) Once you have your SD card prepared you need to enable multiboot on the box. There are different ways documented to do this, but the most common is the "toothpick" method. The "toothpick" method means to hold the reset button while applying power to the box. The reset button is often hidden and located at the back of the audio/video jack connector. By pressing that button with a toothpick or other such pointed device you can enable multiboot. What you need to do is have the box unplugged, have your prepared sd card inserted, then press and hold the button while inserting the power connector. Then after a bit of time you can release the button. (I don't know exactly how long you need to hold the button after power is applied, but if it doesn't work the first time try again holding for longer or shorter times). You should now be booting into armbian/linux. Note that the first boot takes longer as it is enlarging the root filesystem to utilize the entire SD card. After you are satisfied that your box is working correctly for your needs you can optionally copy the installation from the SD card to internal emmc storage (assuming your box has emmc). (Note: Installing to emmc has some risks of bricking your box. Don't do this unless you feel you understand how to reinstall your box's android firmware) You install armbian to emmc by running the shell script in the /root directory: install-aml.sh. Note: It is not possible to install into emmc on boxes with the s905 cpu (s905x, s905w, s905x2, etc however should all be supported). It is recommended that you make a backup of emmc first. Also be prepared if anything goes horribly wrong with your emmc install to reinstall the android firmware using the Amlogic USB Burning Tool to unbrick your device. If you have or can find an original android firmware on the internet and you can generally (but not always) recover a bricked box using the Amlogic tool and the original firmware file. Mapping from CPU to uboot and dtb: u-boot-s905 s905 - gxbb u-boot-s905x2-s912 S905X - gxl S905W - gxl S905D - gxl S905L - gxl S805X - gxl S912 - gxm A311D - gxm u-boot-s905x2-s922 S905X2 - g12a S922 - g12b u-boot-s905x3 S905X3 - sm1 Not supported or not tested S805 - S905W2 - S905X4 - S805X2 - s4 A113D - axg A113X - axg Note: Followup posts in this thread should be limited to comments to improve or better understand these instructions. Other issues should be posted as new questions in the Amlogic CPU Boxes sub-forum.
- 40 replies
-
11
-
Hello guys i want to use linux on mx pro tv box from pendrive when i flash armbian image to pendrive and click the secret button on box nothing boots up can any one guide me on this thankyou:)
-
@Sergioclr Well that is the u-boot root directory. Where the main Makefile is located. I added my own root_key.pem in the patch. You don't have to generate one. The root_key.pem for Allwinner H616/618/313 devices is not a single, universal file, but rather an RSA private key file used for signing bootloader images (TOC0) in secure boot implementations. In many commercial H616-based TV boxes, Secure Boot is enabled by the manufacturer, but the efuses (which store the root key hash) are not permanently locked, allowing the use of custom keys openssl genrsa -out root_key.pem
-
This week, Collabora is at the YouTube Device Partner Summit in Tokyo showcasing our ongoing work with YouTube, notably on their TV app and the RDK platform, which has resulted in the RDK's integration as a core platform for Cobalt development. View the full article
-
Hi, so after many hours of trial and error I have managed to get the latest Armbian with Kernel 6.1.27 running on my old mxq s805 tv box. Albeit only thing that is not working is hdmi output and wifi. So for anyone else trying to accomplish something similar, my steps were: https://github.com/hzyitc/armbian-onecloud Downloaded the latest release of this build for the onecloud device as it also runs on the s805 amlogic chipset (props to the developer for still updating) Burn the image to your sd card. Then after the image is burned, create a textfile on the root of the sd card and name it „uEnv.txt“ Paste the following and adjust the .dtb file to your corresponding device. My case is the mxq LINUX=/uImage INITRD=/uInitrd #VMODE=1080P50HZ VMODE=1080P FDT=/dtb/meson8b-mxq.dtb APPEND=root=LABEL=armbi_root rootfstype=ext4 rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.repair=yes net.ifnames=0 Save the file, insert the sd card in your device connect it to LAN and ssh in to the device (check the ip in your router) So, ssh root@your.ip.adress.x Password is 1234 by default. And that is that. I currently have it running for 4hrs with no outage. PiHole and PiVPN both installed and running. I hope this could help anyone out trying on a similar device. Credit goes to the devs and contributors. I just put the pieces together and made it work as my own builds wouldnt run so I resorted to this much better solution. p.s: If anyone is interested for my reasoning of updating from a old build, it was because i was using 5.14 rc2 kernel that was bugging with wireguard. And as mentioned no hdmi output and no wifi. Wifi should be fixable hdmi rather not to my understanding. Take care and have fun
