Jump to content

jock

Members
  • Posts

    1845
  • Joined

  • Last visited

Reputation Activity

  1. Like
    jock got a reaction from Willy Moto in CSC Armbian for RK322x TV box boards   
    All bootloaders allows that, just because the bootloader is not involved in.
    The kernel driver does the thing: it wasn't there before, hence for performance reason booting at high DRAM frequency was good. Now it the driver is there, so there is no necessity to boot at high DRAM frequency because the driver can do the thing during run-time.
     
    You board however has NAND 100%, see clarification on first page.
  2. Like
    jock got a reaction from fabiobassa in CSC Armbian for RK322x TV box boards   
    All bootloaders allows that, just because the bootloader is not involved in.
    The kernel driver does the thing: it wasn't there before, hence for performance reason booting at high DRAM frequency was good. Now it the driver is there, so there is no necessity to boot at high DRAM frequency because the driver can do the thing during run-time.
     
    You board however has NAND 100%, see clarification on first page.
  3. Like
    jock got a reaction from Willy Moto in CSC Armbian for RK322x TV box boards   
    It says ddr2, but actually works fine with ddr3 too.
    BTW, I need to update the rk322x_loader to be more compatible. For example, ddr3 frequency is set to 660 Mhz, but it may cause malfunction on some boards: it is unnecessary nowadays because newer armbian releases (even on mainline kernel!) have the dram memory controller driver to allow run-time and on-demand frequency scaling.
    About the "spectek" bootloader: we noticed that some rare boards only like that old bootloader, using the newer rk322x_loader results in lockups and unstability.
  4. Like
    jock got a reaction from Willy Moto in CSC Armbian for RK322x TV box boards   
    Just use the multitool to backup your current installation if you want to. We are going to erase everything on the NAND so if you want to keep the content just do a quick backup.
    I suggest you to install from scratch, but if you spent time to do some configurations you don't want to lose again, the multitool will make your life easier.
     
    What you need:
    from the ilmich/rkflashtool you need to clone/download the repository and compile the binary using the instructions there.  
    The procedure (if you are already in maskrom mode, go directly to step 8):
    Do the backup using the Multitool Do "Erase Flash" using the Multitool Unplug the power cord, detach all unnecessary things: no network, no hdmi, no sdcard, no power cord and no USB things; if serial adapter is attached, keep only ground and TX wires (stock bootloader uses 1.5mbps speed) Connect the USB male-to-male cable to the computer and then to the USB OTG port of the box The box should turn on automatically, you should see a device with ID 2207:320b running lsusb command Erase the flash bootloader: invoke the command rkflashtool e 0 8192 and wait a few seconds Now we have to put the the board in maskrom mode: unplug the USB cable, wait a few seconds and replug the USB cable. If you don't see anything on serial adapter and the device is listed in lsusb, you are in maskrom mode! As an alternative to unplug/replug, you can also run rkflashtool b 3, but it is preferred to do a power cycle. If you have a serial adapter attached, depending on the loader, you may need to set the speed to 1500000bps or 115200bps to see the box output. Upload the loader to the board: rkflashtool l bin/rk322x_loader_v1.10.238_256.bin Update the loader on the board: rkflashtool a bin/rk322x_loader_v1.10.238_256.bin Unplug the USB cable Done!  
    If you are at step 9 and rkflashtool is stuck at "info: send ddrbin vendor code", do a power cycle and use the alternative 1T bootloader: bin/rk322x_loader_v1.10.238_256_1t.bin
    You can now restore the backup using the multitool (or do a new installation).
     
    Note: I also attached to this post a couple of known working bootloaders in case the one I suggested above does not work and you need to restore back the functionality of your board.
    Use them if the one above does not work.
     
     
    RK322XMiniLoaderAll_V2.51_spectek_en_ddr2_rd_odt_180703.bin RK322XMiniLoaderAll_V2.47_spectek_en_ddr2_rd_odt_171127.bin
  5. Like
    jock got a reaction from Ben N Voutour in CSC Armbian for RK3318/RK3328 TV box boards   
    Hmm, actually I built an newer image with kernel 5.14 and hirsute and the Lima driver is not playing nice at all.
    I tried both the stock mesa coming with Hirsute and latest development mesa and both of them cause the login screen to appear just as you describe: black screen and the cursor.
    Lima driver is somehow complaining with these lines in dmesg:
    [ 39.136659] [drm:lima_sched_timedout_job [lima]] *ERROR* lima job timeout [ 39.136801] lima ff300000.gpu: fail to save task state from Xorg pid 1654: error task list is full [ 39.136818] lima ff300000.gpu: gp task error int_state=0 status=a so I got to investigate this issue too...
     
    edit: uff... ok it seems that the issue is due to the missing operating points in the device tree. I always fall into every time there is a new kernel
  6. Like
    jock got a reaction from AlwinLub in CSC Armbian for RK3318/RK3328 TV box boards   
    Hmm, actually I built an newer image with kernel 5.14 and hirsute and the Lima driver is not playing nice at all.
    I tried both the stock mesa coming with Hirsute and latest development mesa and both of them cause the login screen to appear just as you describe: black screen and the cursor.
    Lima driver is somehow complaining with these lines in dmesg:
    [ 39.136659] [drm:lima_sched_timedout_job [lima]] *ERROR* lima job timeout [ 39.136801] lima ff300000.gpu: fail to save task state from Xorg pid 1654: error task list is full [ 39.136818] lima ff300000.gpu: gp task error int_state=0 status=a so I got to investigate this issue too...
     
    edit: uff... ok it seems that the issue is due to the missing operating points in the device tree. I always fall into every time there is a new kernel
  7. Like
    jock got a reaction from fabiobassa in CSC Armbian for RK3318/RK3328 TV box boards   
    I didn't see any overclocked dtb file here around... however I'm not really fond of overclocking for these chips: they already are scrap parts that somehow reach the nominal frequencies. Some of the rk3318 boxes are also downclocked by manufacturers to 1.1 Ghz to be stable, overclocking is not something I would really love about. It's already hard to get the things together and make the board working stable enough. Adding another big source of instability... hmm I don't think it is a wise idea.
  8. Like
    jock got a reaction from Vasily Petrovich in CSC Armbian for RK322x TV box boards   
    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
  9. Like
    jock got a reaction from Willy Moto in CSC Armbian for RK3318/RK3328 TV box boards   
    @Wester_Minsk thanks for the logs.
    I extracted the ddrbin from the backup you posted above and made an image with that. The ddrbin is the thingy that initializes the DDR memory, an initialization with bad timings may be harmful for the system stability, so give a shot to this experimental image (it's a debian bullseye with command line only):
     
    https://users.armbian.com/jock/rk3318/Armbian_21.11.0-trunk_Rk3318-box_bullseye_current_5.10.64_minimal.img.xz
     
    edit: if you try this on sdcard, be sure to erase the eMMC completely first!
  10. Like
    jock got a reaction from Ben N Voutour in CSC Armbian for RK3318/RK3328 TV box boards   
    Nope, not yet, I'm a bit busy with rk3288 at the moment, but here you go: ddrbin_v1.16.bin
  11. Like
    jock got a reaction from hexdump in CSC Armbian for RK3318/RK3328 TV box boards   
    Nope, not yet, I'm a bit busy with rk3288 at the moment, but here you go: ddrbin_v1.16.bin
  12. Like
    jock reacted to NicoD in armbian-gaming : A tool to install Box86, Box64 and Wine on Armbian Hirsute   
    Hi all.
    I've created a tool to install Box86, Box64 and Wine onto Armbian Hirsute 5.13

    I've tested it on RK3399. Should work on any device with panfrost drivers enabled.

    Please let me know on what it works, or if it doesn't.
     
    Here is the script.
    https://github.com/NicoD-SBC/armbian-gaming
     
    I also made a video where I show how to use it.
     
  13. Like
    jock reacted to Wester_Minsk in CSC Armbian for RK3318/RK3328 TV box boards   
    14 hours up time on eMMC, with  Doker +HA + Pihole load. 
    At the beginning there was one freeze, after which I removed the parameter "rk3318-box-emmc-hc200"  from the armbian-config. 
    Then it works stably. 
    This is already much better than it was, the changes are obvious. 
    I will pick up a good sdcard, and start from it to eliminate the eMMC problem and continue testing. 
  14. Like
    jock got a reaction from Willy Moto in CSC Armbian for RK322x TV box boards   
    All the images in the first page have been updated with the following news:
    Single image for all boxes! Configure your box with sudo rk322x-config once the system has booted Support for Realtek 8188eu, 8189es/etv, 88x2bu and various other wifi chips General better stability eMMC in DDR mode for some boards Enjoy!
  15. Like
    jock got a reaction from Ben N Voutour in CSC Armbian for RK3318/RK3328 TV box boards   
    @Wester_Minskthanks for the firmware and photos. I had a quick look into the device tree and it looked quite standard to me: no particular hardware like Power Management ICs or other significant differences from regular tv boxes.
    I will take a deeper look and check other compatibility things soon!
  16. Like
    jock got a reaction from Wester_Minsk in CSC Armbian for RK3318/RK3328 TV box boards   
    @Wester_Minskthanks for the firmware and photos. I had a quick look into the device tree and it looked quite standard to me: no particular hardware like Power Management ICs or other significant differences from regular tv boxes.
    I will take a deeper look and check other compatibility things soon!
  17. Like
    jock reacted to Wilber in CSC Armbian for RK3318/RK3328 TV box boards   
    Hello! I wanted to thank @jock and everyone that has contributed their time and effort on this project. I am quite happy to be able to use Armbian on my X88 Pro 10.
    I am quite new to customizing linux in general, but learned quite a lot from all the info that was provided about devices trees ( their purpose / why android dtb is not compatible with current kernel device trees, etc ), u-boot and so much more about ARM linux. So thank you all for sharing that information.
     
    I have tested all three images from the beginning of the post and they are working on my board ( Currently using the debian buster current ).
     
    So far, wifi, bluetooth, and the os booting is all working as expected. The next steps for me is to get the front LED working, compiling the mali driver ( need to search how to do that ), making armbian recognize all 4G of RAM, soldering a serial cable on the pads ( quite scared as I have lifted pads on the past ) and lightdm not working for some reason ( previously it was working on another installation of the same image  ).
     
    Here I attach the dtbs extracted using extract-dtb from the multiboot backup of the android stock image.
    https://drive.google.com/file/d/1mktUvlYLj_csZhlFwG-A6sOa44bh1AEG/view?usp=sharing
     
    As well images of my board.
    https://drive.google.com/file/d/1iucHMLsZYqlLgxUFE5QediPYCQ_X3CvR/view?usp=sharing
     
    https://drive.google.com/file/d/1isP5fU32dY0drpOaHhA9N31WQiwiXBCz/view?usp=sharing
     
    And finally the dmesg output.
     
    If I am able to help with anything, I would be happy to! 
  18. Like
    jock got a reaction from q4a in Mainline VPU   
    Everything well with h264 and h265 on my side, with both hantro and rkvdec drivers on kernel 5.14 on rockchip RK322x chip (roughly same performance as H3) and latest LE patches applied.
     
    One thing that always makes me have headaches are the userland kernel headers, which are not the same kernel headers used to compile modules and provided by armbian as a deb package.
     
    The userland kernel headers on Armbian comes from the distribution (debian or ubuntu) and match the distribution kernel version, not the really installed kernel version.
    Mismatch may cause compiling troubles (missing or duplicate structs or costants) or even subtle errors during runtime (unable to initialize things...)
     
    To make the userland kernel headers, compile the kernel on the board (with LE patches applied) and then running
     
    make headers_install INSTALL_HDR_PATH=/usr  
     will install them in the proper place
     
    Just after doing it is possible to go further compiling and installing ffmpeg and then compiling and installing mpv.
     
    This is what I use to compile and install ffmpeg:
     
    ./configure --arch=armhf --extra-libs='-Lpthread -Lm' --disable-debug --enable-stripping --enable-gpl --enable-nonfree --enable-logging --disable-doc --enable-pic --enable-optimizations --enable-ffmpeg --enable-avdevice --enable-avcodec --enable-avformat --enable-swscale --enable-postproc --enable-avfilter --disable-devices --enable-pthreads --disable-w32threads --enable-network --disable-gnutls --disable-gray --enable-swscale-alpha --disable-small --enable-dct --enable-fft --enable-mdct --enable-rdft --disable-crystalhd --disable-vaapi --disable-vdpau --enable-libdrm --enable-version3 --enable-runtime-cpudetect --enable-hardcoded-tables --enable-encoder=ac3 --enable-encoder=aac --enable-encoder=wmav2 --enable-encoder=mjpeg --enable-encoder=png --enable-hwaccels --enable-muxer=spdif --enable-muxer=adts --enable-muxer=asf --enable-muxer=ipod --enable-muxer=mpegts --enable-demuxers --enable-parsers --enable-bsfs --enable-filters --enable-bzlib --enable-libspeex --enable-libx264 --enable-libx265 --enable-zlib --enable-asm --enable-neon --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-openssl --enable-libv4l2 --enable-v4l2-request --enable-libudev make -j4 sudo make install  
    This is what I use to compile and install mpv:
     
    ./waf configure --enable-egl-drm  
    And finally the mpv command line is (run on pure virtual terminal, no X11 at all):
     
    mpv -v --vo=gpu --hwdec=drm --gpu-context=drm --gpu-hwdec-interop=drmprime-drm --drm-draw-plane=overlay --drm-drmprime-video-plane=primary bbb_sunflower_1080p_30fps_normal.mp4  
    the --drm-draw-plane and --drm-drmprime-video-plane arguments are very imporant for my setup, probably because rk322x has no YUV capabilities for overlay plane and MPV refuses to show anything. Also they make the video and draw planes order correct (video below, GUI on top).
     
     
  19. Like
    jock got a reaction from LFPoulain in CSC Armbian for RK3318/RK3328 TV box boards   
    ­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 Ninkbox N1 Max RK3318 by @enigmasphinx  
     
    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:
    Archived images - built by Armbian servers and GPG-signed: https://imola.armbian.com/dl/rk3318-box/archive/ Nightly stables - built from trunk by Armbian servers and GPG-signed: https://github.com/armbian/community Stables provided by me (unsigned): https://users.armbian.com/jock/rk3318/  
    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
     
     
  20. Like
    jock reacted to Igor in Armbian 21.08 has been released   
    Armbian is an established Linux for single board computers that is used in enterprise, IOT micro services and various hobby deployments. Recent desktop improvements bring the platform on-par with key players in the Linux desktop arena while keeping the key advantage – you can easily build your own Linux distribution.
     
     
     
     
    Armbian provides stable releases every three months. They are driven by CURRENT LTS kernel. Adventurers which likes rolling releases, can check EDGE releases which are using latest daily kernel builds with fresh packages from sid, hirsute or impish userland.
     
    Armbian has powerful build system which can build a whole Linux distribution, an OS image or a kernel. Key advantages are simplicity, speed and excellent hardware support. Provides native or cross compilation.
     
    This release is hard work of exceptional individuals who have contributed their time and expertise into this release. Many thanks to – in alphabetic order:

    @balbes150 @AristoChen @belegdol @Werner@Heisath @iav @Igor @Icenowy @lanefu @jock @piter75@Rich Neese@rpardini@going @tkaiser @tparys @TonyMac32 @Azq2 @henkiejan1 @juanesf @psztoch, @redchenjs @Uglymotha

    Special thanks to users and vendors @orangepi, @friendlyelec, @khadas and @olimex that understand the importance of our work and supports the project with donations of cash, hardware & expertise.

    Enjoy!
     
    Highlights
     
    minimal, server or XFCE, Cinnamon and Budgie desktop fast and effective automated language selection on first run regular stable and daily beta & EDGE updates CLI is powered with ZSH or BASH added automated kernel upgrade on EDGE 5.13.y kernels added mainline based SPI boot support for Odroid HC4 added Qemu virtual Armbian builds added CSC images for Tinkerboard 2, Rockpi N10, added ZFS upgrade to v2.1 improved Github Actions CI and CDN network added Cinnamon and Budgie desktop enabled 3D support wherever its possible and works reasonble well added Khadas VIM1-3 & Edge boards, Avnet Microzed enabled VPU support for Rockchip added legacy kernel support for OrangepiZero2, Nvidia Jetson declare Ubuntu Hirsute and Debian Bullseye packages as stable added Ubuntu Impish and Debian Sid as beta build targets added KDE plasma DE as a beta build target
    Details:
     
    What’s Left
     
    long term armbian-config refactoring upgrading Rockchip u-boot from 2010.y to latest resolving Allwinner boot troubles on last u-boot enable 3D on Meson G12 / SM1 infrastructure improvements: mirros, runners, publishing.  
    Details:
     
    Tough Decisions
     
    Odroid C4/HC4 boot problem has to remain unresolved in CURRENT 5.10.y kernel since fixing it would break Khadas boards. Problem was properly solved in EDGE kernel. We had to disable 3D on latest Amlogic boards due to instability Leaving behind published Deepin, Enlightenment, Gnome, i3, KDE plasma, Mate, Xmonad desktop due to space constrains and lack of maintenance. These options are still available within the build tool.  
    Known problems
     
    XFCE desktop is missing package gvfs-backends and xarchiver bullseye doesn’t properly detect locales Helios64 eMMC IO errors with CURRENT kernel OrangepiZero2 EDGE kernel based image doesn’t boot. Will be fixed in bug fix release.  
  21. Like
    jock reacted to hexdump in Cards on the table: Which boxes have working WiFi?   
    the ssv6x5x chips are not supported in mainline or with anything else than the meanwhile quite dated rockchip legacy tree and as the existing sources and docs for them are so bad (and i guess the hardware design as well) they most probably never will be supported in mainline.
     
    mxq boxes can have everything in them: they exist with allwinner, amlogic and rockchip socs in them combined with a large variety of wifi chips. tv boxes can be fun to play with but never expect anything to be too well - you might win the lottery and get a really good one with supported wifi,good case, power supply and heat sink etc. and you can end up on the other end where the 4gb/32gb emmc box you bought in reality is just a1gb/8gb nand box with unsupported wifi there the first components fall off the board after a few weeks. i think the second option get more and more likely nowadays
     
    enjoy those toys if you run across them, but better do not trust in or rely on them ...
     
    best wishes - hexdump
  22. Like
    jock got a reaction from SteeMan in CSC Armbian for RK3318/RK3328 TV box boards   
    @Wester_Minskno, you misread the datasheet.
    Each chip is 2gbit, you have 8, then it's 16gbit / 8 = 2 gbyte, no way out. The specs given by the manufacturer are fake.
  23. Like
    jock got a reaction from fabiobassa in CSC Armbian for RK3318/RK3328 TV box boards   
    @Wester_Minskno, you misread the datasheet.
    Each chip is 2gbit, you have 8, then it's 16gbit / 8 = 2 gbyte, no way out. The specs given by the manufacturer are fake.
  24. Like
    jock got a reaction from fabiobassa in CSC Armbian for RK3318/RK3328 TV box boards   
    Are you sure it is 4gb? If it detects 2Gb probably it is 2gb, and 4gb is a faking spec from the vendor.
    It's hard to tell how much memory you have, you have look into the datasheet for the memory chip and multiply for the number of chips.
  25. Like
    jock got a reaction from Jason Duhamell in CSC Armbian for RK3318/RK3328 TV box boards   
    it could be interesting to know what did you change to make it work
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines