MattWestB

Members
  • Posts

    25
  • Joined

  • Last visited

Reputation Activity

  1. Like
    MattWestB reacted to vhick in CSC Armbian for RK322X TV Boxes   
    Hi everyone,
     
    Can anyone help me? I'm not so technical guy so please bear with me.
     
    I decided to use bullseye image because I have a hard time using jammy in remote session. It really really slow.
     
    I just want a system running adguard home. So I think I need aguard home installation and a browser to configure it.
     
    My problem is that I cannot launch the browser (chromium) in SSH for the obvious reason.
     
    What do I need to install to be able run and configure adguard home. I really appreciate if anyone guide me for the command that I need to use.
     
    Thank you so much.
     
    EDIT: Silly me, I figure it out. I just need to install aguard home and configure it in my local computer (laptop) 😅
  2. Like
    MattWestB reacted to jock in CSC Armbian for RK3318/RK3328 TV box boards   
    @cmuki
    Assuming the boot you provided is from the original image, I think there is no extra questions to ask: if the ddrbin says that you have 2048 megabytes, that is so.
    The ddrbin, which is the first piece of code that is executed at all and initializes the board DDR memory, is the most reliable source from this point of view.
     
    Going on with the bootstrap phase, u-boot says the same:
    U-Boot 2017.09-gaa00306-201224-dirty #foxluo (Jan 19 2021 - 14:31:53 +0800) PreSerial: 2, raw, 0xff130000 DRAM: 2 GiB  
    And obviously even the linux android kernel also detects 2 gigabytes of total RAM:
    [ 0.000000] Memory: 1955884K/2064384K available (14910K kernel code, 2056K rwdata, 8884K rodata, 3968K init, 2806K bss, 75732K reserved, 32768K cma-reserved)  
    That's it, fake hardware specs; the manufacturer altered the Android image somehow to show fake specs and maybe something is wrong with the DDR chips too (are they have been reprinted? are they just fake chips or not really connected to the board? who knows...)
  3. Like
    MattWestB reacted to jock in CSC Armbian for RK322X TV Boxes   
    @MattWestB @fedex Hello, I enabled BPF filters and various other related options.
    I built an experimental kernel you can install with dpkg taking packages from here
     
    I didn't enable other cgroups options except for the one related to BPF, let me know if docker works for you or still there is the need for something else.
  4. Like
    MattWestB reacted to jock in CSC Armbian for RK322X TV Boxes   
    @fedex not really too much time lately, but I will try to enable config options and compile it today if possible!
  5. Like
    MattWestB reacted to lpraderi in RK3288 and RK3188   
    Checked  Armbian_22.02.0-trunk_Rk3188_bullseye_current_5.10.96.img
    changing dtb that ususally gives me partial function on Minix Neo X7 (Ugoos, CS968)
    without luck (no boot, no led), same thing happened with latest LibreElec RK3188 images,
    no boot, no led , sometimes kernel panic.
     
    With this image and included default .dtb (rk3188-ugoos-ut2.dtb) boot from SD works ok:
     
    Armbian_21.11.0-trunk_Rk3188_hirsute_current_5.10.63.img.xz
     
    Also internal USB-LAN (RTL8152) works ok,
    No Wifi , No BT  (GPIO3_23 conflict with ethernet)
    will debug more about this and come back later.
  6. Like
    MattWestB got a reaction from jock in CSC Armbian for RK3318/RK3328 TV box boards   
    Ubuntu 22.04 LTS rk3318-box is up and running nicely with working Docker and HA supervised looks working OK.
    Up time is only some hours after install but the prereleases was also working stable so hopefully it shall doing the same.
     
    Great thank devs for making it happening !!!
  7. Like
    MattWestB got a reaction from chinhhut in CSC Armbian for RK3318/RK3328 TV box boards   
    Ubuntu 22.04 LTS rk3318-box is up and running nicely with working Docker and HA supervised looks working OK.
    Up time is only some hours after install but the prereleases was also working stable so hopefully it shall doing the same.
     
    Great thank devs for making it happening !!!
  8. Like
    MattWestB reacted to karkow in CSC Armbian for RK322X TV Boxes   
    Erase flash from multitool isn't work.
    After reboot android still boots. 
     
    I was able to boot armbian from a flash drive, but first I need to boot MXQ with the sd card (multitool) and the flash drive (armbian) inserted together. After a second, I remove sd card (multitool) and armbian boots from pendrive.
     
    /edit
    Succesfull install armbian on emmc using dd command.
    Big Thx for you boys
     
  9. Like
    MattWestB reacted to fabiobassa in CSC Armbian for RK3318/RK3328 TV box boards   
    What do you mean by adding support ? To what ?
    To libreelec recognizing the wifi chip, but then should ask in libreelec forum, or add support to armbian to run kodi, then you missed a lot of previous posts.. ?

     
  10. Like
    MattWestB reacted to fabiobassa in CSC Armbian for RK3318/RK3328 TV box boards   
    @chinhhut

    Try these steps:
    1) push the little switch inside the hole while inserting a male-male cable into the otg
    2) on another linux machine you should have now a new device (lsusb will help you) and you can run rkdeveloptool
    3) rkdeveloptool ld should List Device
    4) rkdeveloptool rd 3 should Reset Device into mode 3  ( maskrom )
    5) rkdeveloptool db MiniLoaderAll.bin ( of course from your path) should upload a temporary loader to recognize the internal emmc
    6) if all is successfull until now you can rkdeveloptool wl 0X0 yourimage.img . This should flash the internal emmc .

    DISCLAIMER: very " dangerous" approach , be ready to have the opportunity to short the emmc clock pin to ground to go back into mask rom
     
    MiniLoaderAll.zip
  11. Like
    MattWestB reacted to enigmasphinx in CSC Armbian for RK3318/RK3328 TV box boards   
    @jock had to wait for 24 hrs to reply to your post. I will try the other images when I have the time and play around with it.
     
    Here are the pics:
     
    https://drive.google.com/file/d/1JGB3Ihnp1kKlnuh6fkCftuHMoj0aInjD/view?usp=drivesdk
     
    https://drive.google.com/file/d/1JImmtinhNfkJxE8qCE_0q9afLQHg3sRL/view?usp=drivesdk
  12. Like
    MattWestB reacted to enigmasphinx in CSC Armbian for RK3318/RK3328 TV box boards   
    Thanks jock for this post. I was able to unbrick my device. I now have successfully installed Armbian on my device and loves its performance by following this post.
     
    My device is called Ninkbox N1 Max RK3318. I was trying to look for a firmware suitable for my device but I am unable to find the exact one. I tried asking support from their main website but to no avail. So I tried installing different firmware on my device with almost the same chips until I ended up bricking the device. Unfortunately I already bricked the device before landing into this post so I was not able to backup my original firmware. For some unfortunate twist of fate I also have those BGA chips with no exposed pins. Upon further examination there are two round copper at the back of the board where the BGA chip sits. After burning the image on an SD card I tried shorting the round coppers with a piece of staple wire and it gave me the Multiboot window.
     
    I am writing this for those other people who may have the same device as mine and is looking to setup Armbian or probably trying to unbrick their device.
     
    This is my EMMC Chip
    https://drive.google.com/file/d/1J5E8OGBUOV_sdQ0VF0glIt4t6yhRKxrr/view?usp=sharing
     
    The picture of my device
    https://drive.google.com/file/d/1J2Ha8nUhA5hhXne_vqHdyzLBOlxCWcMV/view?usp=sharing
     
    The round copper at the back of the board to short
    https://drive.google.com/file/d/1J-X_9Y4jKr8u87lEosGkBmtpwjdxGsFb/view?usp=sharing
     
    My device desktop after successful install
    https://drive.google.com/file/d/1J5hkfP7A4U5r6xO7P9Zgv8ArpjUmZJ0g/view?usp=sharing
     
  13. Like
    MattWestB reacted to guidol in [Info] create SSH-Login for a serial device (here Z80-MBC2) using ser2net and a local User   
    The Z80-MBC2 is a 4-chip Z80-computer which can run CP/M and has a 5V TTL-serial-port.
    The Z80-MBC2 is powered and accessable via a USB-TTL-serial-adapter (configured to 5V - not 3.3V) type CP2102 seen as /dev/ttyUSB0
     
    The easy way would be to connect the USB-adapter to a Pi-style computer wth armbian, login via SSH and start minicom for the port.

    But that way doenst look as good - to me - as the following way  
     
    First we need to install ser2net and telnet (telnet doesnt seem to be installed as standard) in armbian via
    apt install ser2net telnet
     
    Then we have to edit /etc/ser2net.conf (delete all lines after the comments and insert these):
     
    BANNER:banner:\r\nser2net port \p device \d [\s] (Debian GNU/Linux)\r\n\r\n BANNER:z80mbc2:\r\nZ80-MBC2 via Telnet on Port [\p]\r\nDevice connected to [\d]\r\nConnection Speed [\s]\r\n # 2000:telnet:600:/dev/ttyS0:9600 8DATABITS NONE 1STOPBIT banner # 2001:telnet:600:/dev/ttyS1:9600 8DATABITS NONE 1STOPBIT banner # 3000:telnet:600:/dev/ttyS0:19200 8DATABITS NONE 1STOPBIT banner # 3001:telnet:600:/dev/ttyS1:19200 8DATABITS NONE 1STOPBIT banner 127.0.0.1,2023:telnet:0:/dev/ttyUSB0:115200 8DATABITS NONE 1STOPBIT z80mbc2  
    Now create a login "shell"/pogram for the new local user z80mbc2 as /usr/local/bin/z80mbc2 :
     
    #!/bin/sh /usr/bin/telnet 127.0.0.1 2023 exit Do a chmod 755  /usr/local/bin/z80mbc2
     
    Now we can create the new local user z80mbc2 as seen on
    http://www.lug-wr.de/wiki/index.php/Howto:Network:SerialConsoleServer
     
    adduser --shell /usr/local/bin/z80mbc2.sh -q z80mbc2  
    If you havent done - connect your TTL-USB-Dongle to your SBC - and it should show up as /dev/ttyUSB0 :
    [354660.047087] usb 7-1: Product: CP2102 USB to UART Bridge Controller [354660.047099] usb 7-1: Manufacturer: Silicon Labs [354660.047109] usb 7-1: SerialNumber: 0001 [354660.112318] usbcore: registered new interface driver usbserial_generic [354660.112414] usbserial: USB Serial support registered for generic [354660.131499] usbcore: registered new interface driver cp210x [354660.131617] usbserial: USB Serial support registered for cp210x [354660.131902] cp210x 7-1:1.0: cp210x converter detected [354660.141405] usb 7-1: cp210x converter now attached to ttyUSB0

    Now its time to reboot your SBC (I used my NanoPi K1 Plus) via
    reboot 
    to automatically let start ser2net-service while booting
     
    Now when you connect to your SBC via SSH and use the z80mbc2 User to login, you should generate a automatic and local (127.0.0.1) telnet-login to Port 2023 where /dev/ttyUSB0 a.k.a the Z80-MBC2 device is configured.
     
    PS: other (german) interesting Page about ser2net:
    http://www.nwlab.net/tutorials/ser2net/konsolenserver-linux.html
     

     

    Z80-MBC2_SSH_Ser2Net.zip
  14. Like
    MattWestB got a reaction from Petroz in CSC Armbian for RK3318/RK3328 TV box boards   
    From the log:
    MMC0 = SD-Card
    MMC1 = is the WiFi card but i think its not finding the firmware for it.
    MMC2 = eMMC but its being probed with very strange clock speed.
    MMC3 = not used or its the eMMC.
     
    With RK-3228 boxes its not working good at the first boot then the system is loading NAND and eMMC support.
    If first config no eMMC and only NAND and rebooting and the config only eMMC support and booting and updating the system its being detected in full speed and working OK.
     
    For the WiFi have you loading the full firmware pack ?
    The problematic files is in the git https://github.com/armbian/firmware/blob/master/brcm/brcmfmac4330-sdio.rockchip,rk3318-box.txt.
  15. Like
    MattWestB reacted to Petroz in CSC Armbian for RK3318/RK3328 TV box boards   
    Hi everyone!
     
    at first I would like to thank jock for his great work.
     
    It's probably kind of dumb questions, but I'll ask it anyway  Should we use apt-get upgrade for those images? Because, when I did, the armbian seems to be crashing during next boot. It seems that rk3318-box.dst is not in a /boot/dts/rockchip directory after the upgrade, and uboot tries to boot from the mmc0 instead of mmc1. My box is H96 max 4GB/64GB which I bought really cheap due to fact it's bricked and always starts in a maskrom mode. Below is the log from uart : 
    ID:0xFFF In DDR3 333MHz Bus Width=32 Col=11 Bank=8 Row=16 CS=1 Die Bus-Width=16 Size=4096MB ddrconfig:3 OUT U-Boot SPL 2021.07-armbian (Jan 25 2022 - 12:54:45 +0000) Trying to boot from MMC1 NOTICE: BL31: v2.5(release):c1588782-dirty NOTICE: BL31: Built : 12:54:38, Jan 25 2022 NOTICE: BL31:Rockchip release version: v1.2 U-Boot 2021.07-armbian (Jan 25 2022 - 12:54:45 +0000) Model: Rockchip RK3318 BOX DRAM: 4 GiB MMC: mmc@ff500000: 1, mmc@ff520000: 0, dwmmc@ff5f0000: 3 Loading Environment from MMC... MMC: block number 0x400000 exceeds max(0x4) *** Warning - !read failed, using default environment In: serial@ff130000 Out: serial@ff130000 Err: serial@ff130000 Model: Rockchip RK3318 BOX Net: eth1: ethernet@ff550000 Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc1 is current device Scanning mmc 1:1... Found U-Boot script /boot/boot.scr 3185 bytes read in 5 ms (622.1 KiB/s) ## Executing script at 00500000 Boot script loaded from mmc 1 211 bytes read in 4 ms (50.8 KiB/s) 11502551 bytes read in 505 ms (21.7 MiB/s) 30345728 bytes read in 1321 ms (21.9 MiB/s) Failed to load '/boot/dtb/rockchip/rk3318-box.dtb' libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! 2698 bytes read in 10 ms (262.7 KiB/s) Applying kernel provided DT fixup script (rockchip-fixup.scr) ## Executing script at 08000000 Moving Image from 0x2080000 to 0x2200000, end=3f90000 ## Loading init Ramdisk from Legacy Image at 06000000 ... Image Name: uInitrd Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 11502487 Bytes = 11 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ERROR: Did not find a cmdline Flattened Device Tree Could not find a valid device tree SCRIPT FAILED: continuing... libfdt fdt_check_header(): FDT_ERR_BADMAGIC Scanning disk mmc@ff500000.blk... Scanning disk mmc@ff520000.blk... fs_devread read outside partition 1024 Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** Card did not respond to voltage select! : -110 Scanning disk dwmmc@ff5f0000.blk... Disk dwmmc@ff5f0000.blk not ready Found 3 disks No EFI system partition BootOrder not defined EFI boot manager: Cannot load any image Card did not respond to voltage select! : -110 starting USB... Bus usb@ff5c0000: USB EHCI 1.00 Bus usb@ff5d0000: USB OHCI 1.0 Bus usb@ff580000: USB DWC2 scanning bus usb@ff5c0000 for devices... 1 USB Device(s) found scanning bus usb@ff5d0000 for devices... 1 USB Device(s) found scanning bus usb@ff580000 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found  
    The other question I have is : canthe eMMC be used as additional storage while booting from SD card? I've checked and there's no additional mmcblk device in /dev. Is the eMMC configuration is missing in devicetree, or its something related to my board (faulty emmc?).   
     
  16. Like
    MattWestB reacted to Capeschae in RK3288 and RK3188   
    LAN working on Minix NEO X7.
    For now I gave up on trying to find the IO-pin that controls the LAN power on the Minix NEO X7 board.
    By making a hardware modification, involving removing a voltage controller (because unfortunately 1 pin broke during the modification) and placing a wire to get the LAN power supply from another voltage controller, I got LAN up and running. I will leave it running for a couple of days to see if nothing breaks.
     
    I can state that the drivers for the Realtek 8152B USB ethernet adapter are working.
  17. Like
    MattWestB reacted to balbes150 in RK3288 and RK3188   
    New version ArmbianTV of images for RK3288 and RK3188.
     
     
    rk3288 \ rk3188
     
    https://users.armbian.com/balbes150/
     
    https://mega.nz/#F!j9QSDQSQ!6WpasOlbZYIInfw6yo4phQ
     
    rk3188
    https://disk.yandex.ru/d/7wqSh5Z5bv9q1g?w=1
     
    rk3288
    https://disk.yandex.ru/d/fRZwre9HDgAKHw?w=1
     
     
     
     
    This link contains images with Libreelec for rk3288 and  rk3188, testing these images can help with the development of media functions for rk3288 and rk3188.
     
    https://disk.yandex.ru/d/8vNYuuxynz1L0w?w=1
  18. Like
    MattWestB reacted to balbes150 in RK3288 and RK3188   
    ver 20220205 kernel 5.10.96 for rk3188
     
    Please note, now I am publishing new versions for rk3188 only on yandex disk (in order not to occupy Armbian resources with non-profile and unsupported versions that are released "as is" without any guarantees of work and support)
  19. Like
    MattWestB reacted to Capeschae in RK3288 and RK3188   
    Minix Neo X7 LAN via RTL8152: It seems that the RTL8152 is not powered on after booting. I cannot measure any supply voltages to the chip. When booting from Android NAND the supply voltages are there.
     
    I expect that there will be a GPIO that switches the voltage regulator and I'm going to look into this. But it will be a search for the needle in the haystack.
  20. Like
    MattWestB reacted to jock in CSC Armbian for RK322X TV Boxes   
    Multitool update!
     
    Hello! I'm pleased to announce that multitool finally got network and SSH access, and now can be used on headless systems!
     
    The latest release will retrieve an IP from the network DHCP server automatically, so you can consult your local network router to discover what IP the box got.
    SSH access can be obtained logging in as root user; no password is requested.
    Example with IP 192.168.1.18:
    paolo@predatorg:~$ ssh root@192.168.1.18 Welcome to Multitool SSH session! root@multitool:~#  
     
    Link-local access:
     
    Multitool will also, by default, listen to link-local 169.254.120.120/16 address. This is useful if you have no DHCP server or have troubles retrieving the IP address.
    Note that to access such private IP you need to set a network interface of your PC on the same subnet, or also use a virtual interface.
     
    Here there is an example using ip assigning address 169.254.89.32/16 to virtual interface eth0:1 (address can be changed at your pleasure, interface must be the same interface you use to access the box, ie: wlan0, enp0s25, or whatever):
    ip addr add 169.254.89.32/16 brd + dev eth0 label eth0:1  
    or if you prefer old but good ifconfig:
    ifconfig eth0:1 169.254.89.32/16  
    then the multitool is accessible to 169.254.120.120:
    paolo@predatorg:~$ ssh root@169.254.120.120 Welcome to Multitool SSH session! root@multitool:~#  
    Of course link-local access won't work if you have multiple devices running multitool on the same network, since all of them will conflict because they have the same IP; in such case use the IP provided by DHCP.
  21. Like
    MattWestB got a reaction from fabiobassa in CSC Armbian for RK322X TV Boxes   
    Thanks @jock for comments.
    The problem is that user like my with boxes that the HDMI is not working and then cant getting mulltitool working at all also from serial console so being complete blind and if copy your first part of mulltitool and copy one armbian to on partitation after the boot part is possible installing armbian without problem in EMMC with SSH.
    Is it OK posing part of your mulltitool with added system partition on git-hub if some user is requesting it ?
     
    I have only found focal with desktop and installing it i only have little more than 2G free flash and HA is needing that or more so i need mounting the SD-card in docker storage directory then i have 64G for containers and still can installing things and doing updates.
     
    The LEDs is right configuration and changing is not helping (the LED is power off mode) so i must trying your trigger if google can giving my the right guldens.
     
    @fabiobassa you are more then welcome PM my or you can open issue in one of my git-hubs repros like https://github.com/MattWestb/R29-MXQ-LP3-V2.3-00908.
    Im not one expert on HA but have much knowledge with ZHA part and the Zigbee system and device.
    If i can help with some problem or sharing some good or bad experience is very OK for my and you looks have much knowledge in other interesting technical things.
     
    PS the soldering is not so good that it can being but working and it can being better done but with the age its more Shaking Stevens have doing it ;-))
     
    Mvh  Mattias
  22. Like
    MattWestB reacted to jock in CSC Armbian for RK322X TV Boxes   
    Could you just use the nand/flash you have onboard?
     
    Well, it does what it is supposed to do... If you shutdown your PC, it shuts down; your PC has the button to turn it on, the tvbox has no button, so you have to unplug and replug the power cord.
     
    You need to chose the right board, the LED should turn on when then kernel loads.
    You can control the leds using /sys/class/leds/working/trigger and /sys/class/leds/auxiliary/trigger filesystem object. Google is your best friend here
     
    No typo. Armbian image has all the things in the right places to boot as explained in the instructions.
    Supposing you have eMMC/eMCP, to boot from SD card you need one of these:
    to clean the internal flash memory, or install Armbian on internal flash memory If you have NAND, you need one of these:
    to clean the internal flash memory (not suggested for NANDs), or install Armbian via multittol step-nand on internal NAND, or install Jump Start via Multitool on internal NAND
  23. Like
    MattWestB reacted to fabiobassa in CSC Armbian for RK322X TV Boxes   
    @MattWestB
    compliments for your installation, looks fine

    Are you ok on home assistant ? would ask something,  maybe i can send you a private message ?

     
  24. Like
    MattWestB got a reaction from fabiobassa in CSC Armbian for RK322X TV Boxes   
    I was rebooting the box after nearly 8 days of up time with HA supervised and that is not bad for the "first try" running it on the new hardware.
    I was not liking the external SD-Card that is 4/5 outside of the box and im using micro SD-card so i was baying one cheep USB card reader and desolating the SD socket and soldering up side down on the back side of the external in the box so i can mounting the SD-card or one adapter for micro SD-card inside the box and having the docker container storage on it and its working OK. (only 2 pads was tricky getting OK in the middle and dont looks so nice but is working OK)
     
    I was doing one mistake that i can fixing but im sure some knowing how to do that.
    By using commands shutdown the box is being shutdown and cant being powered on then its not having any power button so must re powering by taking  the power cord away and back but after that the power LED is always off also if i changing the LED config with RK-config.
    Is it possible sending one command type "LED on" so its start working or some other work around ?
    If booting on external SD-card or USB with one new installed armbian its working  OK until using shutdown.
     
    @jock in the first post in "Quick installation instructions to boot from SD Card:" you is writing "Erase flash" and then Build or download your preferred Armbian image and writing it to one SD-card and booting armbian.
    But its not working then its not bootloader in the internal flash so the chip is trying to finding one on the SD-card = OK but all armbian images is only system in and no bootloder so the chip cant booting if not adding one bootloader and  u-boot on the SD-card before the system partition. Have i misunderstanding some thing or is it one typo ?
    If having one image with "normal" bootloader and u-boot and one minimal system partition (one meg or so) then it shall being extending the partition and copy one system partition the card having it booting OK also for no Linux skill window user with minitols that can extending Linux partitions and also copy them between dicks from windows.
     
    Thanks for great support and work with our boxes and hope next Ubuntu LTS is coming soon (beta is booting OK but is not  working OK for one week ago) and working great on them in near future !!
     
  25. Like
    MattWestB reacted to jock in CSC Armbian for RK322X TV Boxes   
    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!
     
    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 <- and the development fork will be available on github -> here <-
    Most of the love has been poured into supporting and bringing up the legacy rockchip 4.4 kernel, but in the near future the goal is to fully support the mainline kernel.
     
    What works:
    Should boot and work flawlessy on all boards with RK3228a, RK3228b and RK3229, with either DDR2 and DDR3 memories. Mainline u-boot OPTEE provided as Trusted Execution Environment All 4 cores are working Ethernet Serial UART (configured at 115200 bps, not 1.5Mbps!) Thermals and 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 (fully supported via RKMPP on legacy kernel, partial support via hantro kernel driver on mainline) 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...), but ssv6x5x drivers are available only on legacy kernel Full GPU acceleration on legacy kernel, mainline kernel has lima driver compiled in but X11 is very slow - you are still free to compile and install mali kernel driver on mainline yourself. 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
     
    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.
    eMCP chips at the moment are not supported by stable images, do not burn Armbian image on eMCP internal flash or you risk of bricking the boards! Instead follow the "Boot from sdcard" procedure and post on the forum the results of armbianmonitor -u command for further help and possibly a customized image.
     
    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 fearless and bold people who wants to get all the things up-to-date, or are having issues 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!
     
    After the disclaimer above, there are some benefits although:
    You run the most recent rockchip blob code (ddrbin + miniloader) You will probably solve the reboot issue that some users with NAND memories are having Boards with DDR2 memories are booted at 330 MHz, so you may get a bit of improvement because older bootloaders boot them at 300 Mhz or 330 Mhz Boards with DDR3 memories are booted at 660 Mhz, here you get quite an improvement because older bootloaders boot them at 300 Mhz or 330 Mhz  
    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/ 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  
    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.
     
    Stable images:
    Brief kernel version explanation:
    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 is provided by manufacturer; it is not suggested unless some niche or serious compatibility issues are found with current. edge kernel is the development mainline kernel version, with experimental features and drivers; usually stable but not suitable for production devices.  
    You can switch from one kernel flavour to another using armbian-config or manually via apt.
    Download images from the following directory: https://users.armbian.com/jock/rk322x/armbian/stable
     
    Archived images (August 2021 and before):
    https://armbian.hosthatch.com/archive/rk322x-box/archive/
     
    Multitool:
    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 FAT 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 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 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 FAT 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.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.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.256.bin Downloading bootloader succeeded. ./rkdeveloptool ul rk322x_loader_v1.10.256.bin Upgrading loader succeeded. ./rkdeveloptool wl 0x0 backup.data Write LBA from file (100%) Download here: rk322x_loader_v1.10.256.bin
     
    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  
    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