December 24, 2025Dec 24 Actually, I was able to find that IC but in chinese version.. https://datasheet4u.com/datasheets/I-CORE/AiP1628/1571692 Looks like its some kind of low level chip that probably transforms low voltage signals into higher voltage, like the ones used on ethernet ports. Probably to power up the LCD leds.
January 11Jan 11 Hi there, I also bought one (V1.5) and tried to use armbian. Unfortunately, I managed to brick it. I booted your image @johlnx from sd, that worked. Then I overwrote the internal EMMC with your image and the box won't boot anymore. Any idea how I can fix it? I made an backup of the original image, but I also read that it may be incomplete because of read protection in uboot of the emmc? I also tried to get into MaskMode by pressing the button and connecting the USB 2.0 to my Windows-PC but no device is discovered. I attached the serial uboot log. Hope somebody has a suggestion how i can boot something again. Thanks boot_with_armbian_sd_insert.log boot_without_sd_insert.log
January 26Jan 26 @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 Edited January 28Jan 28 by Joao Cordeiro
January 26Jan 26 @shexplorer here are the first 10MB of the internal emmc. Extracted with dd if=/dev/mmcblk1 count=10 bs=1M | gzip > x88pro13_first_10MB_of_mmcblk.gz. please unzip first. see also the solutuion of this page: x88pro13_first_10MB_of_mmcblk1.gz
January 28Jan 28 @shexplorer, connect it to the internal serial port using a USB-to-serial adapter. If you don’t have one, they’re very cheap—search for CH340G on Amazon. Quick safety guide on serial adapters: 1 - Your device has 3.3v serial , check the jumper on the CH340G to make sure its on 3.3v and not 5v 2 - DO NOT CONNECT VCC/3.3v/5v Pin!!! Only connect: ground RX TX 3 - Connect ground from to ground from device Connect RX from usb to TX from device Connect TX from usb to RX from device Let us know if you are having issues with the bound rate or the pinout on your serial header in your device (send us a picture, in that case) Once you get serial, you should see the boot looping endlessly, holding control + c should stop the loop. Then you get an uboot console. there you can chainload your usb or external mmc uboot. With something similar to(ask chatgpt to help you in case of issues): usb start # starts usb devices usb tree # lists devices and partitions usb info # shows USB device info ls usb 0:1 / # lists files on partition 1 of usb 0 fatload usb 0:1 0x82000000 u-boot.bin # 0x82000000 is an example that may work. if it does not, ask chatgpt for other values # u-boot.bin is the usb uboot you want to chanload, might have another name.... ls usb 0:1 will help you find other files # go 0x82000000 # chainloads what you loaded into 0x82000000 memory address. if you change this on the previous line, change it here also. Besides trying to chainload uboot, you can also load linux kernel + initrd + dbt files directly. Again, chatgpt will help you with those commands. But i found chainloading usb uboot easier. It you reach linux console, remember that once you reboot, everything will loop again. So you need to fix what you did to the emmc before rebooting. You have 3 options to fix: 1 - Restore your full backup. -> you get manufactorer android back 2 - Restore 10MB of your backup or johlnx's backup -> you should be able to boot again from usb or external mmc 3 - You can calculate exacly what you need to copy, to maintain your emmc linux but also recover uboot. There should be some space between the partition table data and the 1st partition. Lets imagine, GPT uses 1MB and 1st partition starts at 10MB, you can copy the data between 1MB and 10MB from your backup into the space between 1MB and 10MB of your EMMC. (this is not trivial to do, but again chatgpt can help) This way, you still have a linux on the EMMC, but you have recovered the Uboot env. Edited January 28Jan 28 by Joao Cordeiro
January 28Jan 28 Hi, first of all thank you for your support. Unfortunately, I could not get it to work. I just don't want to boot anything I store on the SD card. Also, the CTRL+C method won't work. I have to reset the board manually after every try and when powering on while holding CTRL+C the only thing I see in the console is "SPL Hotkey: ctrl+c" as additional line. Maybe the only option is to get into Mask Mode and flash the emmc over USB. But the onboard button won't work to enable it at boot. Maybe I can short some pads but without labeling I dont know which. I attached some output logs and photos of the board. boot_with_armbian_sd_insert.log boot_with_ctrl_c.txt boot_without_sd_insert.log
January 28Jan 28 @shexplorer Control +c should have worked after: U-Boot SPL board init U-Boot SPL 2017.09_armbian-2017.09-S93fe-Pe5fd-Hbdb5-Va5b2-Bbf55-R448a (Nov 06 2025 - 16:35:49) SPL Hotkey: ctrl+c Make sure that USB TX is well connected to RX and try to spam it. Or use another terminal emulator, like putty instead of screen on a bash terminal. Maybe control is being intercepted. Edited January 28Jan 28 by Joao Cordeiro
February 14Feb 14 There was a commit 4 days ago on that repo metioned above: https://github.com/joilg/x88pro/commit/a6630814a98b39ec39dc22108c01e35f5d456395 Anyone noticed? Anyone tried it? Any change?
February 18Feb 18 Author I didn't notice it. I'm away from Home now. Will try to do some tests this weekend
February 23Feb 23 @shexplorer I am in the same situation with my x88pro13 box not booting and I do not manage to go in Maskrom mode. Any progress on your side ?
February 24Feb 24 @DaBo no, sorry, no progress on my side. But I also have to admit that I did not had the time to mess around with it some more.
February 28Feb 28 I finally managed to boot in Maskrom mode by shorting the clock pin (red circle on the picture) to ground, then loading the loader (rk3528_spl_loader_v1.07.104.bin) and u-boot with rkdeveloptool.
April 21Apr 21 @DaBo Thanks for sharing this. Are you able to run Armbian on this? Is LAN, HDMI, etc working fine on this?
May 14May 14 @sr4armbian I know of at least 3 main issues: no wifi LAN is 100mbps limited usb is 2.0 limited Also does not look like anyone is actively developing this. Since i use this as a server, i know that HDMI works to the point of showing the console, but i have no experience on a desktop environment. If you dont yet have one of this devices, dont buy one to get a linux box. Not worth it. Edited May 14May 14 by Joao Cordeiro
May 14May 14 @Joao Cordeiro Thanks for your reply. You are right, Amlogic S905X3 seems to be a good hardware without much issue for running Linux servers.
May 23May 23 Author I own the one of the 1st post and I managed to run Kodi desktop within Armbian. Just did few tests as I don't know how to set up remote control and many other things. HDMI works fine but no hardware acceleration for H265 videos (or at least doesn't work smooth enough as in the Android FW). LAN also works but is HW limited to 100mbps as stated by Joao
May 23May 23 I have compiled debian trixie image from the repository of @johlnx for Vontar DQ08 4G+64G and flashed it to eMMC, also adjusting the DTB for wifi GPIOs. Wifi works with the brcm4335 firmware (at least in the 2.4GHz band), usb3.0 works too. Bluetooth does not work and there are still many nasty error messages in the 'dmesg' output.
May 25May 25 On 5/23/2026 at 6:55 PM, epost.deb said: also adjusting the DTB for wifi GPIOs. You can send your DTB, that has wi-fi? Edited May 25May 25 by Energokom
May 25May 25 Android DTB itself is broken in many ways, mainly because wifi gpios from DTB do not show up in the gpioinfo output. It is more important to put the brcm4335-sdio firmware in /lib/firmware/brcm, which is missing in the armbian repository. iw phy0 info shows support of the 5GHz channels, but i don't have such access points nearby. I will check tomorrow with my dual-band AP.
May 27May 27 I can confirm the 5GHz operation on DQ08 board. Now it's time to have a closer look at the kernel source and the non-matching DTS mess.
June 4Jun 4 I have posted a new release on GitHub. Improved version. https://github.com/joilg/x88pro New: Support for Seekwave EA6521 Wifi Chip on Hardware Version 1.4 Frontdisplay shows now Systen Clock. USB3 support now SuperSpeed (5Gbps) IR Remote control implenented Target OS Ubuntu resolute 26.01 LAN is limited to 100mbps. (major advantage is the low quiescent current in standby mode. An external PHY with 1Gbps consumes a significant amount of power in Wake-on-LAN mod) Feedback welcome.
June 5Jun 5 @johlnx I will give it a try. The main reason i bought this board was to place it on my parrents house as a backup storage device. Thats why i wanted the 1 Gbps port. And i understand that i would never get 1Gbps lan -> disk transfer with encryption and such, but 100Mbps is 10 times less. I would be happy with 200Mbps or 300Mbps actual performance. without gigabit support its limited to 100Mbps 😕 And thanks for the reply on the github "The board lacks an external Gigabit PHY; the internal PHY supports only 4 lines, which limits the speed to 100 Mbps." I understand that its physicaly impossible. So im just saying "im sad" I can probably get more than 100Mbps using wifi
June 6Jun 6 Am 4.6.2026 um 17:01 schrieb johlnx: I have posted a new release on GitHub. Improved version. https://github.com/joilg/x88pro New: Support for Seekwave EA6521 Wifi Chip on Hardware Version 1.4 Frontdisplay shows now Systen Clock. USB3 support now SuperSpeed (5Gbps) IR Remote control implenented Target OS Ubuntu resolute 26.01 LAN is limited to 100mbps. (major advantage is the low quiescent current in standby mode. An external PHY with 1Gbps consumes a significant amount of power in Wake-on-LAN mod) Feedback welcome. Please don't test it yet. I have a problem with my development environment. I will upload a new version once I've resolved it.
June 9Jun 9 new Version avaliable https://github.com/joilg/x88pro/releases/tag/0.6 New: Support now Hardware Version 1.4+ (EA6521 WIFI Chip) for WIFI and Bluetooth Display driver for HT1628 IR Remote USB 3.0 SuperSpeed (5Gbps) Ubuntu resolute 26.04 target OS please Test it now.
June 10Jun 10 I tried 0.6, wifi not working, i own one with EA6521. I made it work on 0.5 changing the .dts a little bit (thanks to Claude) Quote: cat /proc/device-tree/seekwcn_boot/gpio_chip_en 2>/dev/null | od -An -tu4 603979776 285212672 0 Quote Those values decoded: 0x24000000 = gpiochip reference, 0x11000000 = pin 17, 0x00000000 = flags. So gpio_chip_en is still pin 17 (GPIO 49) — the old wrong value. The DTB patches didn't survive the OS reinstall. We need to redo all the fixes we established work: # Fix seekwcn_boot GPIOs sed -i 's/gpio_host_wake = <0x24 0x06 0x01>/gpio_host_wake = <0x24 0x12 0x00>/' /tmp/x88pro.dts sed -i 's/gpio_chip_wake = <0x24 0x10 0x00>/gpio_chip_wake = <0x24 0x11 0x00>/' /tmp/x88pro.dts sed -i 's/gpio_chip_en = <0x24 0x11 0x00>/gpio_chip_en = <0x24 0x06 0x00>/' /tmp/x88pro.dts # Fix sdio-pwrseq reset-gpios sed -i 's/post-power-on-delay-ms = <0x8c>/reset-gpios = <0x24 0x06 0x01>;\n\t\tpost-power-on-delay-ms = <0x8c>/' /tmp/x88pro.dts # Disable wireless-bluetooth and wireless-wlan nodes sed -i '0,/status = "okay"/{/wireless-bluetooth/{n;n;n;n;n;n;n;n;n;s/status = "okay"/status = "disabled"/}}' /tmp/x88pro.dts # Verify seekwcn_boot node grep -A 12 'seekwcn_boot {' /tmp/x88pro.dts cp /boot/dtb/rockchip/rk3528-x88pro.dtb /boot/dtb/rockchip/rk3528-x88pro.dtb.bak dtc -I dts -O dtb /tmp/x88pro.dts -o /boot/dtb/rockchip/rk3528-x88pro.dtb 2>/dev/null # 3. Fix module loading mv /etc/modules-load.d/aic8800-btlpm.conf /etc/modules-load.d/aic8800-btlpm.conf.disabled echo "blacklist aic8800_bsp" > /etc/modprobe.d/blacklist-aic.conf echo "blacklist aic8800_btlpm" >> /etc/modprobe.d/blacklist-aic.conf echo "blacklist aic8800_btlpm_sdio" >> /etc/modprobe.d/blacklist-aic.conf echo "extraargs=modprobe.blacklist=aic8800_bsp,aic8800_btlpm,aic8800_btlpm_sdio" >> /boot/armbianEnv.txt # 4. Build skw modules dkms add -m ea6621q -v 1.0 2>/dev/null || true dkms build -m ea6621q -v 1.0 dkms install -m ea6621q -v 1.0 # 5. Set module load order cat > /etc/modules-load.d/skw.conf << 'EOF' skw_bootcoms skw_sdio skw skwbt EOF Right now i cannot try it, if someone else wants to try this... EDIT: the if in the wifi section of the provisioning doesn't detect correctly, the searched directory doesn't exists so it won't install the module Edited June 10Jun 10 by 8lall0
June 11Jun 11 @8lall0 Thank you very much for helpfull comittment. I put the changes into the Repro. New Release 0.7
June 19Jun 19 Hi, I have X88 Pro 13 hardware revision 1.7 and tested both Armbian releases v0.6 and v0.7 from the repository. Unfortunately, neither WiFi nor USB 3.0 are working. Hardware info: Device: X88 Pro 13 (Rev 1.7) WiFi chip: AIC8800 (device ID 0x6621, SDIO) Tested images: v0.6 and v0.7 What I tried: USB 3.0: DTB already has maximum-speed = "super-speed" configured USB 3.0 controller exists (Bus 002, 5000M) But only USB 2.0 PHY available (usb2-phy only, no usb3-phy) All USB devices connect to Bus 001/003 (480M) instead of Bus 002 USB Ethernet adapter limited to 100 Mbps Result: USB 3.0 not functional (no PHY in RK3528?) WiFi (AIC8800): Firmware present in /lib/firmware/aic8800/ Drivers load: aic8800_bsp_sdio, aic8800_fdrv_sdio SDIO device detected: mmc2:0001:1, device 0x6621 Error: aicbsp_platform_power_on fails with "fail to set AIC_WIFI power state to 1" No wlan0 interface appears Tried manual GPIO reset (GPIO1_6 = pin 38) - no effect WiFi (EA6621q/SKW drivers): Applied DTB patches from user 8lall0 (GPIO remapping for seekwcn_boot) Built ea6621q DKMS drivers successfully DTB patches verified correct: gpio_chip_en = GPIO1_6 Error: Kernel segmentation fault when loading/unloading SKW modules SDIO scan timeout: "wait scan card time out" Current status: ✅ Armbian boots successfully from SD card ✅ Ethernet via USB adapter works (100 Mbps) ❌ WiFi not working (power-on failure) ❌ USB 3.0 not working (no PHY available) Questions: Is Rev 1.7 supported? Are there different GPIO configurations needed? Does RK3528 actually have USB 3.0 PHY or only controller? Any suggestions for WiFi power issue with AIC8800? Thanks for any help!
June 21Jun 21 Update on 0.7: Led Display works perfectly Wifi works perfectly after reboot (i would suggest it on screen after the driver is built) Unable to test USB3 at the moment Installed Kodi, unable to get video acceleration (it says llvmpipe with CPU at almost 100%, clearly is running software rendering) @serovan did you reboot after first boot? But yes, probably your revision has different pinout for the peripherals (wifi and PHY) Edited June 21Jun 21 by 8lall0
June 25Jun 25 NEWS! I got Mali450 on kodi! I compiled my kodi version with the dockerfile attached. About the acceleration, quoting Claude: Quote The Mali-450 GPU was present in the device tree but never initializing because its PWM voltage regulator (vdd-gpu) pointed to a PWM controller with status = "disabled". Fixed with a one-line DT overlay enabling pwm@ffa90000, added to armbianEnv.txt. Result: GL_RENDERER = Mali450 — full hardware acceleration for both UI and video. EDIT: to make KODI working just set Settings → Player → Videos → Render method → Direct to plane Dockerfile.cross Edited June 25Jun 25 by 8lall0
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.