Search the Community
Showing results for 'tv'.
-
Hi, I would like to know if its possible to boot from SD card in my model of Android TV BOX. It does not have a reset button but has an update app. Its a Giga TV Box HD890 4K. It has an Amlogic CPU I do all the process of installing Armbian in the SD card, Android starts an update and it says: "Map file is too short". I really dont know what I have to do to enable multi boot. Installation is aborted. Im getting really upset for not being able to install Armbian. Any help to this issue would be really welcome. Sorry for my bad english
-
Hello, sorry for my very bad english. I recently I bought a TV box with an h618 processor And I want to install Linux to make it a server but I only find images for the h616 processor, can I install one of these images on my TV box? It seems that the h616 processor and the h618 procesador are almost the same Thanks :D
-
Installed to the EMMC with armbian-install and no issues it all. Took about 10 minutes and now boots from the EMMC with no SD card inserted. I think I paid $35AU for this thing and it came with the remote, a bluetooth keyboard, HDMI cable and power supply. Absolute bargain when you compare it to the current price of Rasperry PI's especially when it comes with it's own case and internal storage. Thanks to everyone who contributed to getting these images out there, it's fantastic. I've also got the IR remote working. I followed rafman's post but this didn't fully work for me. It allowed the remote to work and I could see it was working with ir-keytable -t but the desktop and any open apps wouldn't respond to it. The solution was to copy the toml file to /etc/rc_keymaps/magcubic.toml then edit /etc/rc_maps.cfg and add the following to the bottom of the file * rc-empty <whatever_name>.toml * rc-empty magcubic.toml Adding the line to the rc.local file was not required. I've attached a picture of the remote and the toml file I created. I didn't map the buttons in the top right section as this remote has a learning function and you're supposed to learn the codes from your TV remote. But here are the codes my remote was using for these buttons by default. Power 0x1f1 Set 0x1f2 TVIN 0x1f3 VOL- 0x1f4 VOL+ 0x1f5 Edit: If you are going to use on media player apps you will probably want to edit the toml file and change "KEY_OK" to "KEY_SPACE". OK doesn't let you select things with the OK button but SPACE does. magcubic.toml
-
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
- 3063 replies
-
23
-
Version 3 Has been released! Complete UI Overhaul The entire user interface has been rebuilt from the ground up using Qt QML, delivering a modern automotive HMI experience optimized for touchscreen displays. New Home Screen - Large centered clock with configurable 12-hour/24-hour format - Gradient background (#00021A → #001D3F) - Swipe navigation to media player - Clean, minimal design with Readex Pro typography New Bottom Navigation Dock - 5-button dock: Home | Music | Android Auto | Volume | Settings - Always visible for quick access (except when running AA) - Icon-based navigation with visual feedback New Music Player - Album art display with track metadata - Playback controls (Previous, Play/Pause, Next) - Integrated with system media Redesigned Settings - Modern two-column layout with left sidebar navigation - 8 categories: General, Video, Audio, Input, Bluetooth, WiFi, System, About - Toggle switches, sliders, and radio buttons - Real-time system info (CPU temp, memory, frequency) - Live date/time display in header New Features - 12/24-Hour Time Toggle: Switch between time formats in Settings → General - Readex Pro Font: Variable weight font for consistent automotive typography - Modernized UI: The Original Crankshaft-NG was just not suitable for car use so i had to refresh it Technical Changes - Qt Widgets → QML Migration — Complete rewrite of UI layer - UIBackend Bridge — New C++ backend class exposing 50+ properties to QML - EGLFS Optimized — Designed for direct framebuffer rendering - No Animations — Instant transitions for 1GB RAM constraint - Centralized Theming — Theme.qml singleton for consistent styling Removed - GPIO settings (not applicable to TV Boxes) - DAC settings (using ALSA directly) - RTC settings (no CMOS battery, NTP only) - TSL2561 light sensor support (Pi-specific) - Camera module settings (Pi-specific) Bug Fixes - Fixed Cursor issue by utilizing Cursor plane (41, z-pos 2) - Fixed std::mutex missing include in RtAudioOutput - Fixed ColorOverlay import for Qt GraphicalEffects - Fixed time display showing 24hr with AM/PM suffix - Fixed buffer overflow warning in FFmpegDrmVideoOutput - Fixed QCursor conversion error in autoapp.cpp Known Issues: - Music player metadata not populated (requires media service integration, will be done in the next patch) - Volume popup not implemented (this require modifying the asound.conf before implementing) Issues? Open a ticket in https://github.com/Harleythetech/openauto-rk3229-armbian/issues Download https://github.com/Harleythetech/openauto-rk3229-armbian/releases/tag/oark322x-V3.0.0-alpha
-
Inspired by the incredible work @jock and @ilmich have done to make the RK322x platform stable on mainline Linux, I decided to tackle the application side of things. My goal was to turn these "e-waste" TV boxes into fully functional, low-latency Android Auto head units for our cars. This fork of OpenAuto is built as one of my "Is it possible to turn this into that?" projects. It turned out to be one heck of a nightmare to pull off, but at the same time a lot of fun because I can see the potential of these TV Boxes as something you can actually put in your car and turn into a usable head unit! System Requirements Target Device: RK322x TV Box (e.g., MXQ Pro 4K). OS: Armbian Bookworm or Trixie (Kernel 6.1+ recommended). RAM: 1GB recommended. FFMPEG Installed: This build requires a specific build of ffmpeg that can be found here. Release: v2.0.0-alpha This release represents a major architectural overhaul. I have removed heavy dependencies (PulseAudio, QtAudio, GStreamer) in favor of a lean, direct-to-hardware pipeline using RtAudio (ALSA) and FFmpeg v4l2_request. Download: https://github.com/Harleythetech/openauto-rk3229-armbian/releases Technical Details Video Engine: Switched from GStreamer to a custom FFmpeg + V4L2-Request backend. Leverages the v4l2drmprime patch set for Zero-Copy rendering. Enables full hardware H.264 decoding on Rockchip stateless decoders. Result: Stable 1080p 60fps stream on a 1GB RAM device. Audio Overhaul: Replaced PulseAudio and QtAudio with RtAudio. This creates a direct, low-latency path to the ALSA hardware driver. Display: Targets linuxfb (Framebuffer) by default instead (eglfs and ffmpeg have issues when you run them together due to DRM master lock) Configuration This release requires a specific ALSA configuration to allow audio mixing (dmix) without PulseAudio. Create/Edit /etc/asound.conf: pcm.!default { type asym playback.pcm "dmix_hdmi" capture.pcm "plug_null" } ctl.!default { type hw card 0 } pcm.plug_null { type plug slave.pcm "null" } pcm.dmix_hdmi { type dmix ipc_key 1024 ipc_perm 0666 slave { pcm { type hw card 0 device 0 } format S16_LE rate 48000 channels 2 period_size 512 buffer_size 4096 } bindings { 0 0 1 1 } } Known Issues Invisible Cursor: The mouse cursor works but is currently invisible when the FFmpeg video backend is active (rendering layer order issue). Backend Fallback: In rare edge cases where DRM initialization fails, the app may incorrectly default to Qt software output. Probably more, i haven't tested it that much Development Status: Active & Seeking Contributors Currently, I am the sole maintainer focusing on the RK322x platform (specifically the RK3229). I am actively looking for developers interested in expanding support to other devices (such as RK3328, RK3399, or Allwinner H3/H6). If you have experience with C++, Qt, or V4L2/DRM and want to help turn these TV boxes into capable head units, contributions are highly welcome! Repository: https://github.com/Harleythetech/openauto-rk3229-armbian Credits: @jock and @ilmich for ffmpeg patches and the csc-armbian-for-rk322x-tv-box-boards opencardev for openauto and aasdk
-
DISCLAIMER (PLEASE READ): everything you can find in this thread (binaries, texts, code snippets, etc...) are provided AS-IS and are not part of official Armbian project. For this reason not people from Armbian project nor myself are responsible for misuse or loss of functionality of hardware. Please don't ask about support or assistance in other non-community forums nor in the official Armbian github repository, instead post your questions in this thread, in the TV Boxes forum section (hardware related) or in the Peer-to-peer support section (general linux/software related). Thank you! This thread is to give stable and mature long-term range support to rk3318/rk3328 found in many tv boxes in Armbian project as Community Supported Configuration (CSC). The current work is mainlined into Armbian project, but your mileage may vary; most recent developments live on my personal fork on github -> here <- Important notes: is just a personal opinion, but apparently widely supported, that rk3318 chip is not an official rockchip part. They probably are scrap rk3328 parts which have not passed conformance tests but are sold anyway to tv boxes manufacturers. They don’t reach the same operating frequency of the rk3328, have much higher leakage currents (and thus higher temperatures) and often the boards they are installed on are low quality with low quality components, in fact a very very common issue is the eMMC failure due to bad parts and bad soldering. So said, I personally suggest not to buy any rk3318 tv box, but instead find a properly supported SBC (Single Board Computer) if you need a reliable product. In the unfortunate case you already have such product, this thread may help you have some fun with them. What works: • Works on RK3318 and RK3328 TV boxes with DDR3 memories • Mainline u-boot • Mainline ATF provided as Trusted Execution Environment • All 4 cores are working • Ethernet • Serial UART (configured at stock 1.5Mbps) • Thermals and frequency scaling • OTG USB 2.0 port (also as boot device!) • EHCI/OHCI USB 2.0 ports and XHCI USB 3.0 ports • MMC subsystem (including , SD and sdio devices) • Hardware video acceleration (fully supported via RKMPP on legacy kernel, support via hantro and rkvdec kernel driver on mainline) • Various WIFI over SDIO are supported • Full acceleration on legacy kernel and mainline kernel • U-boot boot order priority: first the sdcard, then the USB OTG port and eventually the internal ; you can install u-boot (and the whole system) in the internal and u-boot will always check for images on external sdcard/USB first. Unbrick: Technically, rockchip devices cannot be bricked. If the internal flash does not contain a bootable system, they will always boot from the sdcard. If, for a reason, the bootable system on the internal flash is corrupted or is unable to boot correctly, you can always force the maskrom mode shorting the clock pin on the PCB. The procedure is explained here for rk322x, but for rk3318/28 is the same. In most of the rk3318/28 boards, shorting the clock pin is difficult or impossible because eMMC are BGA chips with no exposed pins. Pay double attention when burning something on the internal flash memory and always test first the image booting from the sdcard to be sure it works before burning anything in internal flash. This is a list of posts where forum users have been able to spot the eMMC clock pin to trigger the maskrom mode: H96 Max+ (board signature: RK3318_V1.4) by @Gausus X88 PRO 10 (board signature: X88_PRO_B) by @mathgaming HK1 Max (board signature YX_RK3318) by @Constantin Gatej Ninkbox N1 Max RK3318 by @enigmasphinx Hongtop H50 (board signature t98-3318-221-v11) by @GmP Partecipation and debugging: If you want to partecipate or need help debugging issues, do not hesitate to share your experience with the installation procedure of the boxes. In case of issues and missed support, provide as many as possible of these things is very useful to try and bring support for an unsupported board: some photos of both sides of the board. Details of the eMMC, DDR and Wifi chips are very useful! upload the device tree binary (dtb) of your device. We can understand a lot of things of the hardware from that small piece of data; and alternative is a link to the original firmware (you can do a full backup with the Multitool); dmesg and other logs (use armbianmonitor -u that automatically collects and uploads the logs online) attach a serial converter to the device and provide the output of the serial port; Multimedia: Mainline kernel: 3D acceleration is provided by Lima driver and is already enabled. Hardware video decoding: https://forum.armbian.com/topic/19258-testing-hardware-video-decoding-rockchip-allwinner/ Legacy kernel: If you need multimedia features, like OpenGL/OpenGL ES acceleration, hardware accelerated Kodi, ffmpeg and mpv you can take a look to this post Installation (via SD card): Building: You can build your own image follow the common steps to build armbian for other tv boxes devices: when you are in the moment to choose the target board, switch to /TVB/ boards and select "rk3318-box" from the list. Prebuilt images: Nightly stables - built from trunk by Armbian servers and GPG-signed: https://github.com/armbian/community Multitool: Multitool - A small but powerful image for RK3318/RK3328 TV Box maintenance. Download it from here Quick installation instructions on eMMC: Build or download your preferred Armbian image and a copy of the Multitool; Burn the Multitool on an SD card; once done, place the Armbian image in images folder of the SD card NTFS partition; Plug the SD card in the TV box and plug in the power cord. After some seconds the blue led starts blinking and the Multitool appears; OPTIONAL: you can do a backup of the existing firmware with "Backup flash" menu option; Choose "Burn image to flash" from the menu, then select the destination device (usually mmcblk2) and the image to burn; Wait for the process to complete, then choose "Shutdown" from main menu; Unplug the power cord and the SD card, then replug the power cord; Wait for 10 seconds, then the led should start blinking and HDMI will turn on. The first time the boot process will take a couple of minutes or more because the filesystem is going to be resized, so be patient and wait for the login prompt. On first boot you will be asked for entering a password for root user of your choice and the name and password for a regular user Run rk3318-config to configure the board specific options Run armbian-config to configure timezone, locales and other personal options Congratulations, Armbian is now installed! Despite the procedure above is simple and reliable, I always recommend to first test that your device boots Armbian images from SD Card. Due to the really large hardware variety, there is the rare chance that the images proposed here may not boot. If a bad image is burned in , the box may not boot anymore forcing you to follow the unbrick section at the top of this post. Quick installation instructions to boot from SD Card: If you are already running Armbian from eMMC, skip to the next step. Instead if you are running the original firmware you need to first erase the internal flash; to do so download the Multitool, burn it on an SD Card, plug the SD Card and power the TV Box. Use "Backup flash" if you want to do a backup of the existing firmware, then choose "Erase flash" menu option. Build or download your preferred Armbian image; Uncompress and burn the Armbian image on the SD Card; Plug the SD Card in the TV Box and power it on; Wait for 10 seconds, then the led should start blinking and HDMI will turn on. The first time the boot process will take a couple of minutes or more because the filesystem is going to be resized, so be patient and wait for the login prompt; On first boot you will be asked for entering a password for root user of your choice and the name and password for a regular user Run rk3318-config to configure the board specific options Run armbian-config to configure timezone, locales and other personal options, or also to transfer the SD Card installation to internal ; Congratulations, Armbian is running from SD Card! Tutorial - How to install Armbian on your TV Box (by @awawa) : https://www.hyperhdr.eu/2022/01/tv-box-mania-i-part-x88-pro-10.html A note about boot device order: With Armbian also comes mainline U-boot. If you install Armbian, the bootloader will look for valid bootable images in this order: External SD Card External USB Stick in OTG Port Internal The Multitool does not boot / How to burn image directly on eMMC: Some boards have the sdcard attached to an auxiliary (called also sdmmc_ext or external) controller which is not the common one. Forum findings declare that those boards are not able to boot from sdcard with stock firmware and they neither do in maskrom mode: the stock firmware always boots even if you put the multitool on sdcard. In such case, burning images directly on eMMC is the only way to have a working Armbian installation. You can follow these instructions by @fabiobassa to burn images directly on eMMC: https://forum.armbian.com/topic/17597-csc-armbian-for-rk3318rk3328-tv-box-boards/?do=findComment&comment=130453 Notes and special hardware: Script to change DDR memory frequency here Wireless chip AP2734, SP2734, HY2734C and similars: they are clones of AmPAK AP6334 which is combo wifi + bluetooth of broadcom BCM4334/B0 chips. You may need a special nvram file, instructions by @paradigman are here Critics, suggestions and contributions are welcome! Credits: @fabiobassa for his ideas, inspiration, great generosity in giving the boards for development and testing. The project of bringing rk3318 into armbian would not have begun without his support! @hexdump for his precious support in early testing, ideas and suggestions @MX10.AC2Nfor his patience in testing mxq-rk3328-d4 board support All the rockhip64 maintainers at Armbian project who have done and do most of the work to support the platform
- 1970 replies
-
20
-
These instructions are for Amlogic CPUs for TV Boxes. Note: If you have previously run other distributions on the box such as coreelec the below installation will not work. You will need to restore the original android firmware before attempting the install. coreelec changes the boot environment in ways that are incompatible with these Armbian builds. Download links: Weekly Community Rolling Builds: https://www.armbian.com/amlogic-s9xx-tv-box/ or build your own image using the Armbian build framework Once you download your chosen build, you need to burn the image to an SD card. Generally balenaEtcher is recommended as it does a verification of the burn. Also be sure to use high quality SD cards. Once you have the SD card with your chosen build, then you need to edit the boot configuration file on the SD card. In the BOOT partition of the SD card there will be a file /boot/extlinux/extlinux.conf, that you need to edit. There will also be a extlinux.conf.template file to use as a reference. You will need to add a line into the extlinux.conf file for the Device Tree (dtb) file you will be using for your box. Place this line before the APPEND line as shown in the .template file. Basically you need to have the correct dtb for your box. You may need to attempt to use different dtb files until you find the one that works the best for your box's hardware (there are a bunch of dtb files in /boot/dtb/amlogic/... to try depending on your cpu architecture and hardware). It is unlikely that there will be a matching dtb file for your TV box. The idea is to find the one that works best for your box. This may mean that you try booting with different dtb files until you fine one that works good enough for your needs. By searching the forums you will find information about what dtbs other users have found work best for different boxes. Because you are booting from an SD card, you can easily try different dtb files. The dtd files are named by cpu family. So for example dtb files for the s905x2 cpu are named meson-g12a-*. Below there is a table that shows the identifiers for each familiy (g12a for s905x2 in this case). Next you need to copy the correct uboot for your box. This is needed for how these builds boot on amlogic boxes. There are four different u-boot files located in the /boot directory: u-boot-s905, u-boot-s905x-s912, u-boot-s905x2-s922, u-boot-s905x3 You need to copy (note copy not move) the u-boot file that matches your cpu to a new file named u-boot.ext in the /boot directory So for example with a TX3 mini box that has an s905w cpu you would copy u-boot-s905x-s912 to u-boot.ext: cp u-boot-s905x-s912 u-boot.ext (See table below for more details on which u-boot to use for which cpu) Once you have your SD card prepared you need to enable multiboot on the box. There are different ways documented to do this, but the most common is the "toothpick" method. The "toothpick" method means to hold the reset button while applying power to the box. The reset button is often hidden and located at the back of the audio/video jack connector. By pressing that button with a toothpick or other such pointed device you can enable multiboot. What you need to do is have the box unplugged, have your prepared sd card inserted, then press and hold the button while inserting the power connector. Then after a bit of time you can release the button. (I don't know exactly how long you need to hold the button after power is applied, but if it doesn't work the first time try again holding for longer or shorter times). You should now be booting into armbian/linux. Note that the first boot takes longer as it is enlarging the root filesystem to utilize the entire SD card. After you are satisfied that your box is working correctly for your needs you can optionally copy the installation from the SD card to internal emmc storage (assuming your box has emmc). (Note: Installing to emmc has some risks of bricking your box. Don't do this unless you feel you understand how to reinstall your box's android firmware) You install armbian to emmc by running the shell script in the /root directory: install-aml.sh. Note: It is not possible to install into emmc on boxes with the s905 cpu (s905x, s905w, s905x2, etc however should all be supported). It is recommended that you make a backup of emmc first. Also be prepared if anything goes horribly wrong with your emmc install to reinstall the android firmware using the Amlogic USB Burning Tool to unbrick your device. If you have or can find an original android firmware on the internet and you can generally (but not always) recover a bricked box using the Amlogic tool and the original firmware file. Mapping from CPU to uboot and dtb: u-boot-s905 s905 - gxbb u-boot-s905x2-s912 S905X - gxl S905W - gxl S905D - gxl S905L - gxl S805X - gxl S912 - gxm A311D - gxm u-boot-s905x2-s922 S905X2 - g12a S922 - g12b u-boot-s905x3 S905X3 - sm1 Not supported or not tested S805 - S905W2 - S905X4 - S805X2 - s4 A113D - axg A113X - axg Note: Followup posts in this thread should be limited to comments to improve or better understand these instructions. Other issues should be posted as new questions in the Amlogic CPU Boxes sub-forum.
- 38 replies
-
12
-
Currently working on a build for this device. It boots and is about 90% functional on 6.6 and 6.7 Kernel https://github.com/sicXnull/armbian-build/tree/X96Q-TVBOX-LPDDR3 Working - Desktop - Ethernet - Wifi Not working - DTS could use some work. Right now it does not detect internal EMMC so installing to EMMC is not an option. - Likely other things i've missed. I've uploaded two images to my git. Full w/Mate Desktop Minimal/Server Feel free to compile this yourself if you don't trust my images, it's encouraged. Changes are on the X96Q-TVBOX-LPDDR3 Branch Full W/Desktop ./compile.sh build BOARD=x96q-tvbox BRANCH=current BUILD_DESKTOP=yes BUILD_MINIMAL=no EXPERT=yes KERNEL_CONFIGURE=no KERNEL_GIT=shallow RELEASE=bookworm Minimal/Server ./compile.sh build BOARD=x96q-tvbox BRANCH=current BUILD_DESKTOP=no BUILD_MINIMAL=yes EXPERT=yes KERNEL_CONFIGURE=no KERNEL_GIT=shallow RELEASE=bookworm
-
If this is AW869A chip then it uses the AIC 8800 Linux Driver. My X98H TV box has a AIC8800 chip in it. https://linux-sunxi.org/Wifi#AW869A AW869A The AW869A is a highly integrated module with Dual band WiFi6 combination solution to support 1 × 1 IEEE 802.11b/g/n/ac/ax WLAN standards It uses the aic8800 firmware. A driver can be found at AIC 8800 Linux Driver. You'll need to compare the GPIO settings. Your Android dts uses HEX the mainline kernel is using DEC. https://www.rapidtables.com/convert/number/hex-to-decimal.html?x=12 rfkill { compatible = "allwinner,sunxi-rfkill"; status = "okay"; chip_en; power_en; pinctrl-0 = <0x63>; pinctrl-names = "default"; phandle = <0xcc>; wlan { compatible = "allwinner,sunxi-wlan"; clocks = <0x0e 0x04>; clock-names = "osc32k-out"; wlan_busnum = <0x01>; wlan_power; wlan_regon = <0x23 0x06 0x12 0x00>; wlan_hostwake = <0x23 0x06 0x0f 0x00>; wakeup-source; phandle = <0xcd>; }; bt { compatible = "allwinner,sunxi-bt"; clocks = <0x0e 0x04>; clock-names = "osc32k-out"; bt_power; bt_rst_n = <0x23 0x06 0x13 0x01>; phandle = <0xce>; }; }; btlpm { compatible = "allwinner,sunxi-btlpm"; status = "okay"; uart_index = <0x01>; bt_wake = <0x23 0x06 0x11 0x00>; bt_hostwake = <0x23 0x06 0x10 0x01>; wakeup-source; phandle = <0xd0>; }; Mainline dts: https://github.com/NickAlilovic/build/blob/666dc0fabd8a284ccf50d784f6bd0bf948dd073d/patch/kernel/archive/warpme-6.12/2001-arm64-dts-allwinner-h618-add-x98h.patch#L87-L95 https://github.com/NickAlilovic/build/blob/666dc0fabd8a284ccf50d784f6bd0bf948dd073d/patch/kernel/archive/warpme-6.12/2001-arm64-dts-allwinner-h618-add-x98h.patch#L182-L200 https://github.com/NickAlilovic/build/blob/666dc0fabd8a284ccf50d784f6bd0bf948dd073d/patch/kernel/archive/warpme-6.12/2001-arm64-dts-allwinner-h618-add-x98h.patch#L278-L297 The specific values <0x23 0x06 0x12 0x00> generally map to: 0x23: The controller or bank ID: pinctrl@300b000 { phandle = <0x23>; 0x06: The specific GPIO pin number: In Allwinner's pinctrl driver, banks are 32 pins wide. The formula is: (Bank_Letter_Index * 32) + Pin_Number 1. The Bank Index Map Bank Index PA 0 PB 1 PC 2 PD 3 PE 4 PF 5 PG 6 PH 7 PI 8 0x12: The active-high/low flags or drive strength. In the 3-cell GPIO format used by Allwinner (sunxi), the third cell (e.g., 0x12) is a bitmask that defines the electrical properties of the pin. To decode 0x12 (which is binary 0001 0010), you break it down into bits: 1. Bitmask Breakdown for 0x12 Bit 0 (0x01): Active Polarity. 0 = Active High. 1 = Active Low (Our bit 0 is 0, so this is Active High). Bit 1 (0x02): Open Drain / Open Source. 0 = Push-Pull. 1 = Single-ended/Open-Drain (Our bit 1 is 1, so this is Open-Drain). Bit 4 (0x10): Internal Pull-up. 0 = No pull-up. 1 = Pull-up Enabled (Our bit 4 is 1, so this is Pull-up Enabled). Summary of 0x12: This pin is configured as Active High, with an Open-Drain output and an internal Pull-up resistor enabled. 0x00: Reserved or additional configuration. In Allwinner-based systems (like the H6 or H616), this value is defined in the GPIO controller's device tree binding documentation within the Linux kernel source code. The structure is documented in the kernel under Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml
-
🏆 Become a sponsor, help to add other boards in armbian standart, you don't need to be a programmer to help the community, just need a copy of the ARM BOARD and a x86 computer to compile new versions. If you like what you see here and want to help: Donate Armbian the like button only costs a few dollars. Armbian Needs you help! Product Specification: Chipset: Rockchip RK3576 Octa Core ARM Mali G52 MC3 WIFI: WiFi6 11ax 1x1 80 MHz wifi controller: AP6275P RAM: DDR4 4GB/8GB ROM: eMMC 32GB/64GB/128GB OS: Android 14.0 || Armbian Vendor 6.1 Ethernet: 1000M Standard RJ-45 Bluetooth: BT 5.0 The RK3576 is indeed a lower-cost SoC but features four Cortex-A72 and four Cortex-A53 cores instead Android Base Files: H96-RK3576-ANDROID.dts H96-RK3576-ANDROID.dts H96-RK3576-BOX.dtb H96-RK3576-BOX.dtb RK3576_MiniLoaderAll.bin Vendor Kernel DTS: @RealAn H96-RK3576-VENDOR.dts Mainline status: Verify wifi controller: AP6275P Wifi Driver: https://drive.google.com/file/d/1n6x4tg5Xh24nWllOTJTq1ldVyDkK8W2Q/view?usp=sharing Flashing Tools: https://drive.google.com/file/d/1nLgPCBN0qmbzufWDFmISYc92JUpvwMPc/view?usp=sharing build_armbian.csc: https://drive.google.com/file/d/1VNR5QJlPylPsce9PI9O2TB3wOpshK2Bh/view?usp=sharing @hzdm Stock Firmware: method https://drive.google.com/file/d/1zLGvIxLE6vf8iSTjsyEr-Ly4MZ6ZahBB/view?usp=sharing Flashing Firmware Tutorial Factory Firmware for H96 Max M9 https://disk.yandex.ru/d/pWGEtRel0P9ejg https://drive.google.com/drive/folders/1g63F8fGSLEA9iK2_Mqzd6F0xfaTRnGlm?usp=sharing Factory Firmware for H96 Max M9S https://disk.yandex.ru/d/H17eGTYCjgmCsg https://drive.google.com/drive/folders/1Q360l5XbTVsWIvWkqy2xJ0sLpqHRSApM?usp=sharing TTL debug: RX TX GND pins: Enable SDCARD Reader: @rustamt method from 4pda Force board Maskrom Mode Maskrom Pins:
-
If you can get termux app to run in android, you may be able to dump the dtb, which may give you clues as to the compatability of the chip. I have issues with some tv boxes with termux versions, but there are older versions available if the current one in playstore won't load or just doesn't work. su -c 'dd if=/sys/firmware/fdt of=<USB_PATH>/device.dtb' or simply su -c 'cp /sys/firmware/fdt <USB_PATH>/device.dtb' [Change USB_PATH as required, of course] The path /sys/firmware/fdt is correct for accessing the in-memory DTB on most running Linux/Android systems. The link http://nskhuman.ru/allwinner/krugh618.php?np=3 refers to what looks like your box or similar: "The board contains a microcircuit with the designation HK5236F - this is a hybrid microcircuit, its possible analogue is AW869A manufactured by Allwinner. AW869A is a dual-band WiFi6, BT5.2 highly integrated module, supporting WLAN 1*1 IEEE 802.11a/b/g/n/ac/ax and BT 5.2 standard, can realize WLAN/BT, has low power consumption" The links after that text give more info....
-
This is a great thread. I've had a magcubic android 12 box I've been using for a while just to watch things off a USB when we stay at hotels. It looks like the one in this video but the chip ID's are different. Mine seems to be running with Samsung memory, the clock chip? is FD650 instead of FD6551 and the wifi chip is labelled as HK5236F. Most hotel TV's don't support modern video codecs so this has worked ok. But I want to look at accessing my NAS remotely and this box is a bit of a dud if you want to install your own apps. Play store doesn't work, aurora store doesn't work. Tried sideloading Tailscale and it just crashes. While doing some research I noticed it also seems to be sold under the Vontar brand so I flashed @Nick A "Armbian-unofficial_25.05.0-trunk_Vontar-h618_bookworm_edge_6.12.11_xfce_desktop.img" to an SD card and it booted up. Happy days. It appears to have ethernet but I have not plugged it in yet. No wifi though. I just have 2 questions. 1. Is there any way this can be made to boot from internal storage or do I need to keep the SD card in if I want to run Armbian on it? 2. Is there a driver available for this wifi chip and do I need to mess around updating the boot image or can I just run a command for it? I'm not a regular linux user but I've got a bit of experience messing around. I don't currently have an environment setup to build my own image but I've played around with WSL before so I could probably set something up. Thanks for everyone that has contributed to this. It's good to make use of these boxes considering how cheap they are.
-
That isn't what you use for amlogic tv boxes. Follow the instructions linked from the download page: https://www.armbian.com/amlogic-s9xx-tv-box
-
CSC Armbian for RK3318/RK3328 TV box boards
SanchopansA replied to jock's topic in Rockchip CPU Boxes
Hello everyone! I have TV box MX10 based on RK3328. It freezes on the manufacturer's label on boot. So I need to update the firmware. I followed the instructions from 1st post but didn't get success. When I run "Erase eMMC" it change modal windows with messages very fast and at the end shows "Successfully done". The same when I run "Write new image". It shows immediately that it is flashed. I have run the shell and checked `dmesg` and found there errors like "group start error -110, status 0x0". What does it mean? Then I installed "rkdeveloptool" and followed steps from this thread: - ld - I see TV box in Loader mode - rd 3 - switch to Maskrom mode - dd loader.bin - done - wl 0x0 armbian.img - done - rd - toexit when I run tv box I got the same freeze on logo and that's all Is eMMC died? or? -
Hello everyone, I have three Amlogic S905x TV boxes with a dead EMMC, and one with a desoldered EMMC (since I thought without it, they would boot from the microSD card). Is there a way to force them to boot into Armbian? Holding the power button doesn't work, and desoldering the EMMC didn't help either. I was able to boot Armbian using UART. A workaround is to use Ardruino, which sends commands to boot Armbian after a while, but that's a workaround, and I'd like a more elegant solution. 1) Download the *.img.gz image for the amlogic_s905x 2) Write the image to the microSD card using Rufus. 3) Connect the UART. Steps 2-6 in the brick instructions. 4) Insert the microSD card with Armbian into the console. 5) Turn on the console, close the testpoint, and at a certain point, the UART boot log will stop at gxl_p212_v1#. 6) Execute the following commands: mmc dev 1 env default -a -f;save setenv preboot 'if fatload mmc 0 1020000 aml_autoscript; then autoscr 1020000; fi; if fatload usb 0 1020000 aml_autoscript; then autoscr 1020000; fi; if fatload mmc 1 1020000 emmc_autoscript; then autoscr 1020000; fi;' save reboot Is there a simpler way to boot from a microSD card to default settings? Maybe I need to cleverly write a bootloader to it?
-
So I bought this chinise Android TV Box and would love to install armbian on it. I am new on this and discovered armbian just after buying it. I didn't know there was no support and not official open source for the Rockchip RK3528, otherwise I would have chosen any other. The box works fine but it has that known malware that send packets to suspicious links (I scanned activity with pi-hole). Description says it has 2GB RAM and 16GB storage (Hynix H26M51002KPR) WiFi chip is LGX8800D I attach images of the board and all of it's componentes, including IR sensor and display. It also has a red LED that turns on when in stand-by mode. I hope this help to develop or patch a working version of armbian for it. I have already read about some patches around that would probably work, but I' new to this and I'm not sure how to start. What I would like to do first is a completly ROM backup, and start doing test with a pendrive or SD card, not writting directly to the eMMC (if possible) until the important things get working. And any help would be appreciated. Edit: I will keep posting in this thread with my progress (or attemps!)
-
I am trying to install armbian on my Xiaomi mi tv box 3 I got the image on a flash drive it's a 16 gig USB 3 stick I got the files ready also but I don't know why it freezes when i enter the recovery screen and click on reboot to boatloader so If any on can help me fix this problem or start again that would be really useful thx
-
I installed Waydroid on an Amlogic Meson GXM (S912) TV box. The SOC has a Mali-T820 GPU, and the box has 2 GB of RAM and 16 GB of eMMC. This was easy to do and Waydroid worked, but it was very slow, even before it heated the SOC to 80°C, which is probably its throttling limit. I removed Waydroid because it was too slow. I wasn't trying anything demanding. Even navigating Android Settings was ridiculously slow. This is a bit surprising because the hardware was designed for running Android. I was not running much else, just Wayfire and one or two Alacritty consoles. I don't think I was running out of memory. Is it possible to get decent Waydroid performance on other arm64 hardware?
-
Armbian for H313 X96-Q LPDDR3 TV-Box
Andrés Pérez Domínguez x replied to sicxnull's topic in Allwinner CPU Boxes
Hi there this is not an x96 but a 'Q10 android TV' the mb looks the same as x96 i have tried some miniarch and your armbians versions (thanks for sharing) but nothing works, anyone can identificate if this mb is compatible ? There is no information about this exact model since it looks very recent. thanks in advance -
I’m using the DEVMFC version [https://github.com/devmfc/debian-on-amlogic]. Additionally, I took the `/boot` partition and copied all the files from the Devmfc_Ubuntu-Oracular_6.12.11-meson64_Minimal-25.01.24.img.xz image. Then, I downloaded the same version available from the Armbian community, but with a graphical interface: Armbian_community_25.5.0-trunk.4_Aml-s9xx-box_noble_current_6.12.12_xfce_desktop.img.xz. I first flashed the Armbian image onto a USB drive. Then, in the `/boot` partition, I moved all existing root files into a `/backup` folder. After that, I copied the files from the DEVMFC version into the root of the `/boot` partition on the USB drive. Surprisingly, when I tried to boot this setup on a TV Box similar to the Vontar X4, which has an S905X4 processor, it actually booted! It prompted me to create a root password, a regular user, set the language, and select a time zone. Then, it successfully launched into X for the graphical interface. However, it seems that USB ports were either disabled, or the system froze—the login screen was visible, and the keyboard cursor was blinking, but no input was possible. I believe this is a solid starting point for getting Armbian images with a graphical interface running on S905X4 (Meson SC2), S905W2 (Meson S4), and S905Y4 (Meson S4) processors. Even without hardware-accelerated graphics, it should still be usable for basic applications like Notepad, text editors, spreadsheets, calculators, terminal access, and other simple tasks. Has anyone else made progress running Armbian on the S905X4?
-
Hello community, I am looking for help to boot Armbian on a generic TV Box sold as "MXQ Pro 4K 5G". I have tried multiple images (including official and community builds from sicXnull), but I only get a black screen or signal loss immediately after the boot attempt. Device Specifications: Model on case: MXQ Pro 4K 5G Board ID: IK316Q-EMCP_V4.1 SoC: Allwinner H313 (identified as sun50iw9p1 in Android) RAM: 1GB (Single chip configuration) Storage: 8GB eMMC Current Status: I am able to boot into the stock Android. To attempt the Armbian boot, I am using the reboot update command from a terminal emulator within Android. The issue: Upon executing the reboot command, the Android system shuts down, the display signal cuts off (or stays black), and the device never initializes Armbian (no HDMI output, no LEDs blinking differently). What I have tried: Builds from sicXnull repository (Kernel 6.x). Ophub community builds (H616/H313 variants). I have updated the extlinux.conf / uEnv.txt to point to the sun50i-h313-x96-q-lpddr3.dtb (and others like x96-mate), but the result is always the same failure to initialize. Has anyone successfully booted this specific board revision (IK316Q_V4.1)? Is there a specific bootloader argument or a different DTB required for this MXQ clone? Photos of the board are attached. Thanks!
-
🏆 Become a sponsor, help to add other boards in armbian standart, you don't need to be a programmer to help the community, just need a copy of the ARM BOARD and a x86 computer to compile new versions. If you like what you see here and want to help: Donate Armbian the like button only costs a few dollars. Armbian Needs you help! This Armbian adventure was summarized in my Public Github Repository. H96 MAX V56 RK3566 8gb Ram SD-Card unofficial images: Tutorial SD-Card Version v0.5 ARMBIAN BETA unofficial H96 MAX V56 RK3566 8gb EMMC Chainloader to mainline HotnikQ unofficial images: Tutorial EMMC Version V0.7 ARMBIAN BETA unofficial H96 MAX V56 RK3566 8gb EMMC Mainline Boot Hzdm unofficial images: Tutorial EMMC Version v0.8 ARMBIAN unofficial H96 MAX V56 RK3566 8gb EMMC Mainline Boot Hzdm unofficial images: Tutorial EMMC Version v0.9 ARMBIAN BETA unofficial H96 MAX V56 RK3566 8gb EMMC Chainloader to mainline HotnikQ unofficial images: Tutorial EMMC Version v1.0 ARMBIAN unofficial H96 MAX V56 RK3566 8gb EMMC Hzdm Mainline Boot Custom unofficial images: Tutorial Build Your own Armbian EMMC unofficial image H96 MAX V56 RK3566 EMMC Raspiblitz HotnikQ unofficial images: Tutorial Build Raspiblitz on EMMC Armbian Bullseye unofficial H96 MAX V56 RK3566 8gb EMMC Hzdm Mainline Boot unofficial images: Tutorial Build Your own V1.1 Armbian EMMC unofficial image H96 MAX V56 RK3566 8gb Vendor Kernel 5.1.16 Tutorial Build Your own Armbian Rockchip Kernel vendor Kernel 5.1.16 Armbian Joshua Riek Ubuntu Rockchip Images kernel 5.1 H96 MAX V56 RK3566 8gb Vendor Kernel 6.1.43 Tutorial Build Your own Armbian Rockchip Kernel vendor Kernel 6.1.43 Armbian Joshua Riek Ubuntu Rockchip Images Kernel 6.1 Tutorial Flash H96 Max on Linux Desktop Tutorial Build Your own Armbian with Maxios Lan Device Using Linux Power Shell H96 MAX V56 RK3566 8gb EMMC Ning Mainline Kernel: Armbian EMMC official image Armbian Desktop Gnome kernel The Latest official Debian BookWorm Server Kernel Minimal The Latest official Desktop Test Images: Pre-Build Desktop 22.04 Armbian Test Image (PT-BR) Community Official Images: Armbian_community_25.2.0-trunk.410_H96-tvbox-3566_bookworm_current_6.12.11_minimal.img.xz Armbian_community_25.2.0-trunk.410_H96-tvbox-3566_noble_current_6.12.11_gnome_desktop.img.xz Bleding Edge images: Armbian-unofficial_25.11.0-trunk_H96-tvbox-3566_bookworm_edge_6.16.10_gnome_desktop.tar.xz Software description: V0.5 = @armbian The Armbian SD card image "Compiled From Armbian Project" V0.8 = @hzdm Project with Mainline Bootloader "Boot the 64gb Emmc Armbian with Mainline Rockchip" V0.9 = @hzdm Release Mainline Bootloader "Boot the 32gb and 64gb Emmc Armbian with Mainline Rockchip" V1.0 = @hotnikq The Armbian SD card inside the Android Legacy Rockchip Image "Two Original Glued Images: Android boot for Linux" V1.2 = @ning Release Device Tree and Bootloader to longterm 6.6.27 Kernel "Boot with Mainline Rockchip" V1.3 = @Hqnicolas Github PR Enable h96 Rk3566 TV-Box device for Kernel 6.8 V1.4 = @pocosparc Github PR Enable OpenVFD and IR controller V1.5 = @dfahren Github PR Update U-boot 2025.01 for Kernel 6.12+ @fevangelou Linux Flash Tutorial @WINEDS Build Armbian for Maxios Lan Chip Board Video drivers: https://developer.arm.com/downloads/-/mali-drivers/bifrost-kernel https://docs.mesa3d.org/download.html https://docs.mesa3d.org/drivers/panfrost.html Wifi Driver: https://drive.google.com/file/d/1B1LmAylalETcnBEWiPiJHL0MjK5xlIV4/view?usp=sharing For Boards Newer than 2025: Follow @WINEDS method to compile Armbian with the ethernet and wifi drivers Front Panel Display: Tutorial Repo: https://github.com/jefflessard/tm16xx-display UEFI: https://github.com/hqnicolas/h96v56_uefi/releases/tag/v1.2.1 Or Just Live install Wifi Driver: cd /lib/firmware/brcm/ sudo wget https://github.com/CoreELEC/brcmfmac_sdio-firmware-aml/raw/master/firmware/brcm/fw_bcm4335b0_ag.bin sudo ln -s fw_bcm4335b0_ag.bin brcmfmac4335-sdio.h96-TVbox,rk3566.bin sudo reboot now nmcli dev wifi sudo rmmod brcmfmac_wcc brcmfmac brcmutil modprobe brcmfmac Topic description: This topic aims to demonstrate the path taken to the Armibian EMMC solution. In our path we create a lot of ready-to-use ROM files, some users burn an use this images without learning with the Linux compilation process. the name of the topic is efforts but that's no effort at all, you should try compile your own images. Device Capability Test: Using Rockchip SoCs NPU. Drivers: https://github.com/rockchip-linux/rknpu2 User Guide: https://github.com/rockchip-linux/rknpu2/blob/master/doc/Rockchip_RKNPU_User_Guide_RKNN_API_V1.4.0_EN.pdf OpenCV: https://opencv.org/blog/2022/11/29/working-with-neural-processing-units-npus-using-opencv/ A discussion on Reddit: https://www.reddit.com/r/OrangePI/comments/12b3jmj/accessing_the_npu_on_the_orange_pi/ Transformers models: https://github.com/usefulsensors/useful-transformers Usage: https://www.crowdsupply.com/useful-sensors/ai-in-a-box/ Usage: https://youtu.be/pN8mKZ5wpdQ
-
Hello. I have easily managed to get armbian up and running of a usb stick, in fact everything worked perfect (hdmi, wifi, gbit ethernet, etc.). The tv box is h96-air-gbit (as the dtb is named), amlogic s905x3 soc, 32gb mmc, 4gb RAM, gigabit ethernet, 2xusb 2.0, 1xusb 3.0, sd card, hdmi, av port (reset button inside), spdif. The thing is, I wanted to benefit from the 32gb internal mmc storage, since I was running armbian from a 8gb usb stick (had a lot of those hanging around, and didn't want to buy a bigger one). I did notice the image I used had not armbian-install script, nor nand-sata-install. I did a manual install (snapshot copy) of my current system with the help of Claude.ai 1. step - create an setup another partition on the emmc (currently there were 2x 4M partitions - the bootloader I presume) sudo fdisk /dev/mmcblk1 sudo mkfs.ext4 -L ARMBIAN_ROOT /dev/mmcblk1p1 Note: Doing this seems enough reasonable to me (well, to my limited knowledge), no overwriting should have happened 2. step - snapshot copy the OS sudo mkdir -p /mnt/emmc sudo mount /dev/mmcblk1p1 /mnt/emmc sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/emmc/ Note: This also seems alright, and the commands exited with no errors 3. step - update the extlinux.conf, the cmdline to point to the right UUID - the one from the emmc sudo blkid /dev/mmcblk1p1 sudo nano /mnt/emmc/boot/extlinux/extlinux.conf 4. step - just confirm everything is set, and shutdown, disconnect power and reconnect cat /mnt/emmc/boot/extlinux/extlinux.conf sync sudo umount /mnt/emmc Note: Everything seemed fine and correct. So after the whole process, I shut it down, removed the usb and booted. It didn't come online after a while, so I rebooted with hdmi connected (I did face some issues before, like unusally slow boot times in headless mode). It just never turned on. The logo was gone, so I figured something went quite wrong. Currently, the situation is the following: I reopened the board to connect uart for diagnostics. So The board without external storage (usb, sd card) doesn't boot, it does a certain sequence, but fails and just hangs (no reboot loop). If I have an external usb, the one which worked before (correct setup), it reboots in loop - it does try to boot from the usb, but fails. Chatgpt suggests that I probably overwrote some portions of the bootloader or firmware files on which armbian relied (some or most of the env vars are probably gone). Claude has a similar suggestion (FDT_BAD_MAGIC, get partition table from dts faild - the bootloader is messed up). I did try booting from usb and from sd - forcing multi boot (reset button), but that's definitely not the issue. The bootloader seems to be working up to a certain point - but booting from usb or sd produce the same error - last few lines of the log, right before the reboot (and it reboots indefinitely in loop): Device: SDIO Port B Manufacturer ID: fe OEM: 3456 Name: ASTCTran Speed: 50000000 Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 7.3 GiB mmc clock: 40000000 Bus Width: 4-bit Device: SDIO Port B Manufacturer ID: fe OEM: 3456 Name: ASTCTran Speed: 50000000 Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 7.3 GiB mmc clock: 40000000 Bus Width: 4-bit reading aml_autoscript 800 bytes read in 11 ms (70.3 KiB/s) ## Executing script at 01080000 ## Error: "bootfromsd" not defined get partition info failed !! reboot use default mode: normal bl31 reboot reason: 0xd bl31 reboot reason: 0x1 system cmd 1. Since, the aml_autoscript should definitely be working, the bootloader is the most probable issue. So, what Claude suggests is to flash s905x3 compatible u-boot. I managed to get the board in usb burn mode by mask rom (toothpick reset method didn't work). Currently I have the board plugged to pc (usb male to male) and uart connected (improvised RP2040 zero uart bridge). Please provide me with instructions and what to do. I soft bricked the board by following plausible instructions from ai, I don't want to hard brick it (I really liked it:) Also, I keep the board connected, since I don't know if I could reintroduce mask rom mode if turned off. Here is the complete log of one of the infinite reboots from the loop: SM1:BL:511f6b:81ca2f;FEAT:A0F83180:20282000;POC:F;RCY:0; EMMC:0; READ:0;0.0;CHK:0; bl2_stage_init 0x01 bl2_stage_init 0x81 hw id: 0x0001 - pwm id 0x00 bl2_stage_init 0xc0 bl2_stage_init 0x02 L0:00000000 L1:00000703 L2:00008067 L3:15000020 S1:00000000 B2:20282000 B1:a0f83180 TE: 146487 BL2 Built : 15:21:48, Aug 28 2019. g12a g1bf2b53 - luan.yuan@droid15-sz Board ID = 1 Set cpu clk to 24M Set clk81 to 24M Use GP1_pll as DSU clk. DSU clk: 1200 Mhz CPU clk: 1200 MHz Set clk81 to 166.6M fw parse done Load ddrfw from eMMC, src: 0x00060200, des: 0xf ffd0000, size: 0x0000c000, part: 0 Load ddrfw from eMMC, src: 0x00038200, des: 0xfffd0000, size: 0x00004000, part: 0 PIE I prepare done fastboot data load 00000000 emmc switch 1 ok ddr saved addr:00016000 Load ddr parameter from eMMC, src: 0x02c00000, des: 0xfffd0000, size: 0x00001000, part: 0 00000000 emmc switch 0 ok fastboot data verify verify result: 265 Cfg max: 5, cur: 1. Board id: 255. Force loop cfg DDR4 probe ddr clk to 912MHz Load ddrfw from eMMC, src: 0x00 014200, des: 0xfffd0000, size: 0x0000c000, part: 0 dmc_version 0001 Check phy result INFO : End of initialization INFO : End of read enable training INFO : End of fi ne write leveling INFO : ERROR : Training has failed! 1D training failed Cfg max: 5, cur: 2. Board id: 255. Force loop cfg DDR3 probe ddr clk to 792MHz Load ddrfw from eMMC, src: 0x0002c2 00, des: 0xfffd0000, size: 0x0000c000, part: 0 dmc_version 0001 Check phy result INFO : End of initialization INFO : End of read enable training INFO : End of fine wr ite leveling INFO : End of read dq deskew training INFO : End of MPR read delay center optimization INFO : End of Write leveling coarse delay INFO : End of write delay center optimization INFO : End of read delay center optimization INFO : End of max read latency training INFO : Td BL3X from eMMC, src: 0x00078200, des: 0x01768000, size: 0x000c8000, part: 0 BL33 CHK: 0xfffffff1 ADDR 01 7a1970 Load FIP HDR from eMMC, src: 0x00010200, des: 0x01700000, size: 0x00004000, part: 1 00000000 emmc switch 1 ok Load BL3X from eMMC, src: 0x00078200, des: 0x01768000, size: 0x000c8000, part: 1 bl2z: ptr: 05129330, size: 00001e40 0.0;M3 C HK:0;cm4_sp_mode 0 MVN_1=0x00000000 MVN_2=0x00000000 [Image: g12a_v1.1.3390-6ac5299 2019-09-26 14:09:46 luan.yuan@droid15-sz] OPS=0x10 ring efuse init 2b 0c 10 00 01 07 0e 00 00 0f 32 34 50 4d 50 50 [0.933 001 Inits done] secure task start! high task start! low task start! run into bl31 NOTICE: BL31: v1.3(release):4fc40b1 NOTICE: B L31: Built : 15:57:33, May 22 2019 NOTICE: BL31: G12A normal boot! NOTICE: BL31: BL33 decompress pass ERROR: Error initializing runtime service opteed_fast U-Boot 2015.01 (Jun 1 9 2020 - 20:04:27) DRAM: 3.8 GiBspi_post_bind(spifc): req_seq = 0 register usb cfg[0][1] = 00000000d7f3ec90 NAND: get_sys_clk_rate_mtd() 290, clock setting 200! NAND device id: 0 ff ff ff ff ff No NAND device found!!! nand init failed: -6 get_sys_clk_rate_mtd() 290, clock setting 200! NAND device id: 0 ff ff ff ff ff No NAND device found! !! nand init failed: -6 MMC: aml_privemmc/sd response timeout, cmd8, status=0x1ff2800 emmc/sd response timeout, cmd55, status=0x1ff2800 co-phase 0x3, tx-dly 0, clock 400000 co-phase 0x3, tx-dly 0, clock 40000000 aml_sd_retry_refix[983]:delay = 0x0,gadjust =0x162000 [mmc_startup] mmc refix success init_part() 282: PART_TYPE_DOS [mmc_init] mmc init success Amlogic multi-dtb tool Cannot find legal dtb! start dts,buffer=00000000d3e53620,dt_addr=00000000d3e53620 check_valid_dts: FDT_ERR_BADMAGIC get_partition_from_dts() 91: ret -9 get_partition_from_dts() 94: ret -9 get_ptbl_from_dtb()-272: get partition table from dts faild mmc_device_init()-1254: get partition table from dtb failed get_ptbl_rsv()-494: magic faild MPT, mmc_device_init()-1281: dtb&rsv are not exisIn: serial Out: s_verify_dtb_checksum()-3477: calc 0, store 0 update_dtb_info()-3585: cpy 1 is not val id _verify_dtb_checksum()-3477: calc 0, store 0 update_dtb_info()-3585: cpy 0 is not valid dtb_read()-3694: total valid _verify_dtb_checksum()-3477: calc 0, store 0 update_dtb _info()-3585: cpy 1 is not valid _verify_dtb_checksum()-3477: calc 0, store 0 update_dtb_info()-3585: cpy 0 is not valid dtb_read()-3694: total valid 0 emmc - EMMC sub system Usa ge: emmc dtb_read addr size emmc dtb_write addr size emmc erase dtb emmc erase key emmc fastboot_read addr size emmc fastboot_write addr size vpu: vpu_power_on vpu:[K M]Error:f[keymanage_dts_get_key_device]L100:/unify not parsed yet! [KM]Error:f[_get_km_ops_by_name]L248:key eth_exphy_para not know device 4 [KM]Error:f[key_unify_read]L312:key[eth_ exphy_para] no cfg in dts dwmac.f f3f0000 Waiting for PHY auto negotiation to complete. . . . done The Bes t Window is index 44 [KM]Error:f[keymanage_dts_get_key_device]L100:/unify not parsed yet! [KM]Error:f[_get_km_ops_by_name]L248:key eth_exphy_para not know device 4 [KM]E rror:f[key_unify_write]L279:key[eth_exphy_para] no cfg in dts libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr <a ddress>" command. Aborting! dwmac.ff3f0000[KM]Error:f[keymanage_ta: erase the area which is uboot or data store erase partition <partition_name>: erase the area whi ch partition in u-boot store erase dtb store erase key store disprotect key store rom_protect on/off store scrub off|partition size scrub the area from offset and size store dtb i read/read/write addr <size> read/write dtb, size is optional store key read/write ad= 0 info->crc32 = 0 Magic is incorrect. boot-info is invalid. Resetting. save boo t-info info->magic = info->version_major = 1 info->version_minor = 0 info->slots[0].priority = 15 info->slots[0].tries_remaining = 7 info->slots[0].successful_boot = 0 info->slots[1].priority = 14 info->slots[1].tries_remaining = 7 info->slots[1].successful_boot = 0 info->crcion in u-boot store erase dtb store erase key store disprotect key st ore rom_protect on/off store scrub off|partition size scrub the area from offset and size store dtb iread/read/write addr <size> read /write dtb, size is optional store key read/write addr <size> read/write key, size is optional store ddr_parameter read/write addr <size> read/write ddr parameter[KM]Error:f[keymanage_dedid preferred_mode is <NULL>[0] hdr mode is 0 dv mode is ver:0 len: 0 hdr10+ mode is 0 [OSD]check dts: FDT_ERR_BADMAGIC, load default fb_addr parameters [OSD]set initrd_high: 0x3d800000 [OSD]fb_addr for logo: 0x3d800000 [OSD]check dts: FDT_ERR_BADMAGIC, load default fb_addr parameters [OSD]fb_addr for logo: 0x3d800000 [OSD]VPP_OFIFO_SIZE:0xfff01fff [CANVAS]canvas init [CANVAS]addr=0x3d800000 width=3840, height=2160 Cannot find dev. amot store erase dtb store erase key store disprotect key store rom_protect on/off store scrub off|partition size scrub the area from offset and size store dtb iread/read/write addr <size> read/write dtb, size is optional store key read/write addr <size> read/write key, size is optional store ddr_parameter read/write addr <size> read/write ddr parameter, size is o[KM]Error:f[keymanage_dnel error SARADC channel(2) is 0x3ff. saradc - saradc sub-system Usage: saradc saradc open <channel> - open a SARADC channel saradc close - close the SARADC saradc getval - get the value in current channel saradc test - test the SARADC by channel-7 saradc get_in_range <min> <max> - return 0 if current value in the range of current channel Command: bcb uboot-command Start ron_name>: erase the area which partition in u-boot store erase dtb store erase key store disprotect key store rom_protect on/off store scrub off|partition size scrub the area from offset and size store dtb iread/read/write addr <size> read/write dtb, size is optional store key read/write addr <size> read/write key, size is optional store ddr_parameter read/writeuboot-command Hit Enter or space or Ctrl+C key to stop autoboot -- : 0 Unknown command 'ddr_auto_fast_boot_check' - try 'help' pll tsensor avg: 0x1e95, u_efuse: 0x807a temp1: 25 ddr tsensor avg: 0x1eaf, u_efuse: 0x8076 temp2: 26 device cool done CONFIG_SYSTEM_AS_ROOT: systemroot system_mode: 1 Start read misc partition datas! Cannot find dev. amlmmc cmd <NULL> failed store - STORE sub-system Usage: store init flag store read name addr off|partition size read 'size' bytes starting at offset 'off' to/from memory address 'addr', skipping bad blocks. store write name addr off|partitiote addr <size> read/write key, size is optional store ddr_parameter read/write addr <size> read/write ddr parameter, size is optional store mbr addr update mbr/partition table by dtb [burnup]Err:store_read_ops,L84:cmd failed, ret=1, [store read misc 0xd3e4d090 0x0 0x820] failed to store read misc. info->magic = info->version_majosful_boot = 0 info->crc32 = -1075449479 Cannot find dev. amlmmc cmd <NULL> failed store - STORE sub-system Usage: store init flag store read name addr off|partition size read 'size' bytes starting at offset 'off' to/from memory address 'addr', skipping bad blocks. store write name addr off|partition size write 'size' bytes starting at offset 'off' to/frarameter read/write addr <size> read/write ddr parameter, size is optional store mbr addr update mbr/partition table by dtb [burnup]Err:store_write_ops,L148:cmd [store write misc 0xd3e4d090 0x0 0x820] failed active slot = 0 CONFIG_AVB2: null active_slot: normal Cannot find dev. amlmmc cmd <NULL> failed store - STORE sub-system Usage: store init flag store r on/off store scrub off|partition size scrub the area from offset and size store dtb iread/read/write addr <size> read/write dtb, size is optional store key read/write addr <size> read/write key, size is optional store ddr_parameter read/write addr <size> read/write ddr parameter, size is optional store mbr addr update mbr/partition table by dtb [burnup]Err:stornoSof sof timeout, reset usb phy tuning card in co-phase 0x2, tx-dly 0, clock 400000 co-phase 0x2, tx-dly 0, clock 400000 co-phase 0x2, tx-dly 0, clock 400000 co-phase 0x2, tx-dly 0, clock 400000 co-phase 0x2, tx-dly 0, clock 40000000 aml_sd_retry_refix[983]:delay = 0x0,gadjust =0x162000 [mmc_startup] mmc refix success init_part() 282: PART_TYPE_DOS [mmc_init] mmc init success Device: SDIO Port B Manufacturer ID: fe OEM: 3456 Name: ASTCTran Speed: 50000000 Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 7.3 GiB mmc clock: 40000000 Bus Width: 4-bit Device: SDIO Port B Manufacturer ID: fe OEM: 3456 Name: ASTCTran Speed: 50000000 Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 7.3 GiB mmc clock: 40000000 Bus Width: 4-bit reading aml_autoscript 800 bytes read in 11 ms (70.3 KiB/s) ## Executing script at 01080000 ## Error: "bootfromsd" not defined get partition info failed !! reboot use default mode: normal bl31 reboot reason: 0xd bl31 reboot reason: 0x1 system cmd 1.
-
Rupa X88 Pro 13 - RK3528 board with images
Joao Cordeiro replied to fedes_gl's topic in Rockchip CPU Boxes
@shexplorer I did something similar to a tv box i had around, not this model. Generally, the cpu comes with some sort of uboot. Written in firmware not emmc. The catch is that that uboot usually writes its persistent environment on the eMMC. And most of the time its not even a file on a partition, like in (and this is an example) between bytes 2000 to 8000 of the mmc. This uboot is only visible via serial console. no hdmi output. (and its quite old) This uboot then attempts to chainload the mmc or usb uboot. And its at this phase you get image. So on my setup, i had CPU uboot but no environment (because i smashed it with my armbian image...), and that environment was needed to boot both mmc or usb. Using a serial port (and pressing control +c ) i was able to instruct uboot it to boot armbian on the usb drive. And i mean manually with command like fatload 0x1000000 usb0.1 linux.img. But every time i reloaded would go back to the endless loop. So the next step was to find a stock image of my device and dump it into the emmc, via usb booted linux. (i actually only copied like the 1st 10MB, only needed uboot env, not the chinese android) Please know that this is not the image you download from any manufacturer website, those are snap-in upgrades that only change part of the emmc, you need a image that someone extracted with dd command from the entire mmc. After that i swore to never touch that emmc again... Maybe this is your problem too Get a serial connected to your device and check if you can see the cpu level uboot. If it is the same issue, maybe someone here can give you the 1st 10MB of their device, if you create a new thread asking for it. Edited to place the "e" on emmc. tnx johlnx for the fix
