Jump to content

sr4armbian

Members
  • Posts

    4
  • Joined

  • Last visited

Reputation Activity

  1. Like
    sr4armbian reacted to 0230826 in CSC Armbian for RK3318/RK3328 TV box boards   
    @jockNow, I've finally solved this problem. Successfully flashed the latest version of armbian, https://github.com/armbian/community/releases/download/26.2.0-trunk.151/Armbian_community_26.2.0-trunk.151_Rk3318-box_noble_current_6.12.63_gnome_ desktop.img.xz

    Next, I will share my problem-solving journey. I found that I couldn't enter maskrom/loader mode anyway, and when I accidentally inserted the USB flash drive into the multitool.img into the TV box and powered it directly on, I found that it actually started the system directly in the USB flash drive. So I guess that it may have changed the boot order after flashing the loader.bin before, and the armbian system I flashed in before it continued to toss before it could be configured, probably because the system files of the root partition were corrupted, causing it to not boot normally. Therefore, I simply tried to flash the firmware of the rk3188-box in the official community directly into the USB flash drive, because after these images are flashed into the USB flash drive, there is only the root partition, that is, the system. And there is no boot partition. I guess the boot partition may have been written somewhere else, and I don't need to worry about it anymore. So, I plugged the USB flash drive into the latest rk3318 firmware into the box and waited for a few minutes after powering on it directly and starting it, it obtained the IP address assigned by my router DHCP, I was so excited, I quickly connected to the rk3318-box through SSH, and made the preliminary configuration. Quickly enter the command armbian-install and select item 2, and immediately write the system on the USB flash drive to emmc. After the writing is completed, turn it off, unplug the USB flash drive, power on, wait for a few minutes, and the startup is successful. It means that I have successfully flashed the phone this time. Thank you very much for your help. @jockand @fabiobassa, You're passionate and highly skilled.
  2. Like
    sr4armbian reacted to Ngô Huỳnh Ngọc Khánh in Armbian for RK3128 TVBox board   
    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!
  3. Like
    sr4armbian reacted to Chiều Nhạt Nắng in Armbian for RK3128 TVBox board   
    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
     
  4. Like
    sr4armbian reacted to Deoptim in Vontar KK MAX / HK1 RBOX R2 / R3 - RK3566 4GB/32GB(or 64GB)   
    Continuing to dig into this. Updated the Armbian images - available via the same links above (md5sum mismatch):
     
    How to add the module to an already working system (so you don't have to reinstall from scratch):
    1. Download the archive ws2801-1.0.tar.gz with the dkms source code for the ws2801 module.
    2. Extract the source folder to /usr/src/ :
    sudo tar -xzvf ~/ws2801-1.0.tar.gz -C /usr/src/ (here ~/ is the /home directory of my user)
    3. Install the module step-by-step via dkms:
    sudo dkms add ws2801/1.0 sudo dkms build ws2801/1.0 sudo dkms install ws2801/1.0 4. To avoid rebooting, you can load the module immediately:
    sudo modprobe ws2801  
    By default, Red should start blinking as a "heartbeat" trigger.
     
    Description of dts and demo:
     
     
  5. Like
    sr4armbian reacted to davem in RK3566 and Armbian   
    my Rupa 88 Pro 20, wifi/bt chip is cdtech 208821c (rtl8821cs), with real 4g32 had no bluetooth with mmie4jbcu's dtb or the included box-demo.dtb. with a lil help from claude.ai, i mix mmie4jbcu's dtb with x96x6.dtb from another thread here. et voilá bluetooth is working after  
    apt install armbian-firmware-full rk3566-box-X88PRO20.dtb
  6. Like
    sr4armbian reacted to alebo in HONGTOP H50 alias T98-3318-221-V1.1   
    I have an H50-labeled tv box with a different board (T98-3318-V2.3) but with exactly the same problem - no HDMI even though all the software debug traces show that everything video-related gets called and works.
    I first tried to make it work 5 years ago and failed and a few months ago I revisited it just to see if I can make it work now in the age of AI.
    I made a really deep dive into reverse engineering it. I rooted the original Android firmware and dumped anything I could, extracted and analyzed with Ghidra the vendor u-boot and kernel (wasn't particularly helpful) and finally managed to execute the u-boot binary in Renode by emulating a lot of hardware stuff with code or by simply replacing functions with successful returns all the way to the point of u-boot displaying the splash screen and with various hooks and warnings about peripheral accesses I collected a comprehensive trace of everything that u-boot was doing, and in that trace, the AI noticed a certain GPIO access and suggested replacing this
    vcc-host-vbus { compatible = "regulator-fixed"; enable-active-high; gpio = <0x74 0x00 0x00>; pinctrl-names = "default"; pinctrl-0 = <0x76>; regulator-name = "vcc_host_vbus"; regulator-always-on; regulator-min-microvolt = <0x4c4b40>; regulator-max-microvolt = <0x4c4b40>; vin-supply = <0x77>; phandle = <0x100>; };
    with this
    vcc-display-en { compatible = "regulator-fixed"; gpio = <0x74 0x00 0x01>; pinctrl-names = "default"; pinctrl-0 = <0x76>; regulator-name = "vcc_display_en"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <0x4c4b40>; regulator-max-microvolt = <0x4c4b40>; vin-supply = <0x77>; phandle = <0x100>; };
    in the standard rk3318-box.dts which made HDMI work.
  7. Like
    sr4armbian reacted to DaBo in Rupa X88 Pro 13 - RK3528 board with images   
    I finally managed to boot in Maskrom mode by shorting the clock pin (red circle on the picture) to ground, then loading the loader (rk3528_spl_loader_v1.07.104.bin) and u-boot with rkdeveloptool. 
  8. Like
    sr4armbian reacted to 337043613 in HELP- DQ08 RK3528 4Go RAM 64go SSD can't boot with multitool (with photos)   
    救回来了吗?试试通过这个进入刷机模式试试。这个是我问电视盒店家给我的强制刷机点,我没试过。


  9. Like
    sr4armbian reacted to fensoft in HELP- DQ08 RK3528 4Go RAM 64go SSD can't boot with multitool (with photos)   
    I also added a usb3 ssd to the usb3 port.
    To use it, you still need to load the kernel from an internal SD.
    - flash the usb3 drive
    - plug to the box
    - e2label /dev/sda2 ssd
    - change /boot/armbianEnv.txt : rootdev=LABEL=ssd
     
    i also removed /dev/sda1 and /dev/mmcblk0p2 with fdisk
     
    also, to install homeassistant/haos, here's the tutorial
     
    Reboot and voilà !
     
  10. Like
    sr4armbian reacted to mrdeathjr in QPLOVE RK3566 (X88PRO Clone)   
    This case is a clone of X88PRO:
     
     
    However i use HK1 rom because regular x88pro lack of many features like saf  and without this dolphin-emu and others dont allow use external devices

    another thing added in HK1 rom is cpu thermals, cpu load and memory load in status bar

    but use this rom make frontal screen in tvbox dont work
     
     
    In my case armbian works using information from this themes:
     
     
     
    armbian used is based on station-m2 image from here:
     
    https://www.armbian.com/station-m2/

    https://github.com/armbian/community
     
     
    HDMI - works (need to check hot plugging)
    HDMI sound - works
    USB 2.0 - works
    USB 3.0 - works (using now usb 3.0 hub with power adapter)
    LAN - Works
    WLAN - Works
    SD-Card booting and detection - works
    RKDevTool installing and loading images on/from eMMC - works
    GPU - works
    Hardware video acceleration (except for browsers) - works
    Dualboot if you flash new bootloader (SD-Card boot high priority) - works
     
    Loader* from vontar work ok for use sd boot
     
    *For use this follow steps in vontar guide, work ok in dual boot (armbian on sd and android in emmc)
     
    sd used is a microdata 64gb from aliexpress (work ok):
     
    https://es.aliexpress.com/item/1005007142224952.html
     
     
    rk3566-box-demo.dtb dont recognize usb keyboard but using rk3566-box-demo_x96x6_24_custom.dtb from x96 x6 theme work correctly and hub work on usb 2.0 and on usb 3.0 too

    also in usb 3.0 port have a 500GB HDD Laptop USB Drive 
     
    In other things can install xfce desktop, lightdm,  xorg, chromium, firefox, nm (for lan), xarchiver, dolphin appimage

    also can enable panvk using this:

    VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/panfrost_icd.aarch64.json PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1
     
    from here:
     
     
     
    Add some images of tvbox, i make a mod (i dont have experience with tools) for add a fan, results are very impressive this tvbox at max stay around 79 to 80 degrees but now with fan stay around 35 to 45 degrees
     

     
     

     
     

     
     

     
     
    Images from system
     

     
     

     
     
    Dolphin-emu 2506
     

     

     
  11. Like
    sr4armbian reacted to Hqnicolas in HELP- DQ08 RK3528 4Go RAM 64go SSD can't boot with multitool (with photos)   
    You describe my everyday 

    so, did you try to flash the original Android image with RkDevTools?
    https://drive.google.com/file/d/14HWcHYHDrgUBFWholrDCKUWDPHw1r4F1/view
  12. Like
    sr4armbian reacted to paradigman in CSC Armbian for RK3318/RK3328 TV box boards   
    Of course. I wrote a little script for it that shortens the process a bit. It is important to know that I am not working as a root user within armbian.
    The necessary steps: 
       copy openvfd-fd6551.dts to /home/<username>    copy install_kernel_debs.sh to /home/<username>    copy OpenVFDService file to /usr/sbin,  AND set permission to 777 !    copy openvfd.service file to  /lib/systemd/system        sudo armbian-add-overlay openvfd-fd6551.dts    sudo /bin/bash install_kernel_debs.sh 
    After reboot:    cd linux_openvfd/driver    edit MAKE -> KERNELDIR = /lib/modules/$(shell uname -r)/build    sudo make -j4    sudo make modules_install    sudo modprobe openvfd     sudo usermod -a -G i2c <username> Start the Service:
    sudo systemctl enable openvfd sudo systemctl start openvfd

       
    openvfd-fd6551.dts openvfd.service OpenVFDService install_kernel_debs.sh
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines