Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Armbian for H313 X96-Q LPDDR3 TV-Box

Featured Replies

@Nick A TY very much for your reply, I've managed to create my first build but I am a bit confused because it made an IMG with a FAT32 boot partition, is it right or did I miss something?
 

On 11/18/2025 at 11:38 AM, Nick A said:

 

 Hello i hope everone is good, i have this X96Q with motherboard reference BA301_141 V4.1 20244 and after trying this image Armbian-unofficial_25.05.0-trunk_X96q-ddr3_bookworm_edge_6.12.11_server.img.xz led turned blue but nothing on screen when i tried to connect uart to read data, for some reason it did boot and work but when i turned off and turn on the device this time with lan attached it didnt want to boot again only blue led, this remember me of miniarch image i have to turn on and off de device like 15 to 20 times for the image to boot, this is what happen with this Armbian-unofficial_25.05.0-trunk_X96q-ddr3_bookworm_edge_6.12.11_server.img.xz maybe because you use miniarch patches, but i found other images that works so good at first time here is the images that works on this device and i hope this might help fix this boot problem with armbian image

 

https://github.com/velvet-os/imagebuilder/releases/tag/230910-02

and this 

https://mega.nz/file/DBUHiZRZ#F_wx89EJ9i4LvCsO2VrTYglx5SrfQGrLxs_DLr6mTUo

Hello, i've just tried https://github.com/velvet-os/imagebuilder/releases/tag/230910-02 image, and boots perfectly from sd card in my x96q tv box, allwinner h313 v4.0, is the only image that worked... i've tried them all....my question is how to install it on the internal memory of the box? i've tried from the terminal with root access, but when i hit cd /root/ and ls, nothing happens.... if anybody can give any ideas i will appreciate it... thanks in advance.

Hey guys, I just wanted some help from you regarding my X96Q. It is a 1+8GB Model with PCB Revision V1.1. It has a H313 processor but sunxi-fel reports H616.

A few weeks ago I repaired the USB port of this box and I was successful in it and everything worked perfectly after that(the device booted up to android and worked perfectly) but Then I started to play with that Hidden button in AV port and I randomly clicked it and I thought it would be harmless but after that the device stuck in Red LED and didn't booted anything(possibly an EMMC Corruption). I tried Phoneix Suit first but it stuck on ram init.

Then I brought a CP2102 Adapter to read the serial logs, and it turned out to be a Dram calibration errors where: Boot0 starts > Initializes The Emmc, the Board and the CPU -> Then the PMU(reported as AXP806 but physically AXP305) sets ram voltage to 1500mV -> Then it tries to Dram training -> fails and throws  [...] "Read calibration error" multiple times —> keeps retrying until it gives up with "[...] Restraining final error."

 

I investigated further and found that my emmc chip's critical sectors are corrupted. I used sunxi-fel to read the emmc and found that it fails to read after 16MB mark, means emmc got corrupted when I repeatedly pressed the AV port button.

Now I tried a Armbian via sd card and it says:

[...] Your Current DRAM Config isnt supported...

Retrying...

And keeps doing In a endless retry loop.

Same for Miniarch, Armbian and many other builds...

 

 Any idea what's the problem with my box?

 

 

IMG_20260625_141348_1.jpg

IMG_20260625_141418_1.jpg

Hi!
I've been using the latest build on my H96Max TV Box (H313, 2GB LPDDR3) for a while and it works just fine.
Recently tho, I've noticed that a more up to date community build for the X96Q DDR3 TV-Box popped up on the main boards page on armbian.com.
So I got curious and tried booting that one, and it boots, but the built in ethernet port doesn't work there for some reason? I checked in the config file, and the kernel does seem to have the right drivers built in (dwmac-sun8i ig?). 
What should I try to get ethernet working on the more recent community builds? 
Thanks in advance!

@Nick A - following up on your Sept 2024 notes about PG18 (wlan_regon) and ssv6x5x only existing for older kernels:

 

On my X96Q (Armbian 6.6.44, DTB sun50i-h313-x96q-lpddr3-uwe5622.dtb) Android was not using UWE5622. Vendor overlay selected SSV:

 

- persist.vendor.overlay.wlan_vendor=ssv

- module_info=ssv:ssv6x5x:0x13030

- Chip: SSV6006C, SDIO 3030:3030 (same IDs as UWE - easy to mis-detect)

- Android ssv6x5x imports Allwinner glue: sunxi_wlan_set_power, sunxi_wlan_get_bus_index, sunxi_mmc_rescan_card

 

What was needed on Armbian:

 

1. Blacklist / block uwe5622_bsp_sdio, sprdwl_ng, sprdbt_tty

2. Free PG18 - remove gpio from /reg_vcc_wifi and reset-gpios from /wifi-pwrseq (U-Boot /delete-property/ overlay alone was not enough on my setup)

3. Out-of-tree sunxi_rf exporting the Android rf-ctrl ABI (hook_sdiohal=0 - kprobe path caused a hard BRK here)

4. Build Kevin's / cdhigh ssv6x5x port for 6.6: https://github.com/cdhigh/armbian_sv6256p

5. Firmware from Android /vendor/etc/firmware/ssv6x5x/ (hashes in the repo - binaries not redistributed)

6. systemd unit with power/scan + retries (cold boot often gets one SDIO probe -110 before success)

 

Result: CHIP ID: SSV6006C0, wlan0 up, NetworkManager, survives reboot.

 

Packaged write-up + scripts:

https://github.com/raauve/x96q-ssv6006-wifi

 

Happy to adjust naming/DT if maintainers want a proper board variant instead of patching the UWE DTB.

 

@Nick A - following up on your Sept 2024 notes about PG18 (wlan_regon) and ssv6x5x only existing for older kernels:

On my X96Q, Android was not using UWE5622. Vendor overlay selected SSV:

  • persist.vendor.overlay.wlan_vendor=ssv
  • module_info=ssv:ssv6x5x:0x13030
  • Chip: SSV6006C, SDIO 3030:3030 (same IDs as UWE - easy to mis-detect)
  • Android ssv6x5x imports Allwinner glue: sunxi_wlan_set_power, sunxi_wlan_get_bus_index, sunxi_mmc_rescan_card

What was needed on Armbian:

  1. Blacklist / block uwe5622_bsp_sdio, sprdwl_ng, sprdbt_tty
  2. Free PG18 - remove gpio from /reg_vcc_wifi and reset-gpios from /wifi-pwrseq (U-Boot /delete-property/ overlay alone was not enough on my setup; on 6.18 I also needed a binary DTB patch after userspace fdtoverlay left PG18 claimed)
  3. Out-of-tree sunxi_rf exporting the Android rf-ctrl ABI (hook_sdiohal=0 - kprobe path caused a hard BRK here)
  4. Build Kevin's / cdhigh ssv6x5x port: https://github.com/cdhigh/armbian_sv6256p
  5. Firmware from Android /vendor/etc/firmware/ssv6x5x/ (hashes in the repo - binaries not redistributed)
  6. systemd unit with power/scan + retries (cold boot often gets one SDIO probe -110 before success)

Validated:

  • Armbian 6.6.44-current-sunxi64 (DTB …-uwe5622.dtb, patched)
  • Armbian 6.18.33-current-sunxi64 / 26.5.1 (fdtfile=allwinner/sun50i-h313-x96q-lpddr3.dtb + /soc/wlan overlay; …-uwe5622.dtb no longer in tree)

Result: CHIP ID: SSV6006C0, wlan0 up, NetworkManager, survives reboot.

Packaged write-up + scripts:
https://github.com/raauve/x96q-ssv6006-wifi

Happy to adjust naming/DT if maintainers want a proper board variant instead of patching the stock DTB.

I have an X96Q v1.3 lpddr3 box and I have built an image from the current build tree described on the Armbian website that works on my machine with Ethernet functioning normally.  For this to work for me I installed docker from the armbian-config utility on a LibreComputer Renegade with 4GB of RAM running Armbian Trixie.

I eventually prepared a script containing the following: ./compile.sh BOARD=x96q BUILD_DESKTOP=no BUILD_MINIMAL=yes RELEASE=resolute KERNEL_CONFIGURE=no KERNEL_BTF=no. and ran it (barring spelling mistakes in the previous) as an ordinary user.

For me it ran successfully and I was able to boot from the image produced with working Ethernet.

It seems to me that it is critical that the image be built on a machine running Armbian and with docker installed.

My Renegade has only 4GB of RAM making The KERNEL_BTF=no necessary. Using the Armbian Imager to download and burn the hosted image produced a bootable image but no Ethernet. Trying to build from source but not having docker installed produced a bootable image without Ethernet.  The wireless drivers leave much to be desired.  I tried upgrading the kernel to 7.x and the result was loss of Ethernet and an attempt to revert to 6.18.48 or whatever failed as well.  My guess is that it is best to freeze the firmware update.  I'll try to post my actual build script and a link to one of my successful build if I can. I hope someone can replicate this process. Many thanks to sicXnull and NickA, your work is greatly appreciated. 

Gmail shared link.url

 

You are welcome to inspect and try the files in the link above at your own risk. The image file works on my x96q but may not on yours. I'd suggest building your own image. Please let me know your results for good or ill.

Edited by HowardGap
Add a link and comments

In case anyone is interested, I tried the x96q image from Armbian's main site today, Sept. 6, 2026. It booted with Ethernet working, Wi-Fi still shows errors to dmesg constantly and the Bluetooth driver seems not to be working, but it survived a firmware update in armbian-upgrade. Many thanks to the maintainer.  

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.