Hey guys! Follow up on the Zidoo X7.
THIS IS ONLY FOR ZIDOO X7 (personal log,not a tutorial).Only try this if you are experienced with hardware tinkering.I am not tech support, and i am not responsible for bricked devices or damage.
CRITICAL SAFETY WARNING (POWER SUPPLY LEAKAGE):
A cheap or counterfeit adapter can leak hazardous mains voltage onto the DC ground line.
Why this matters:
Connecting via USB-A to USB-A can instantly DESTROY your host PC's motherboard or USB ports.
It can fry your TV's HDMI ports or deliver a severe electric shock.
Rule: If you feel even a mild tingling,DISCARD THAT POWER ADAPTER IMMEDIATELY and use a quality,isolated 5V DC supply.
NOTE: Thermal throttling and other safety features are UNTESTED.Assume untested parts of the system are non-functional.
Near the spdif audio port there is the rockusb flashing mode button hole,use a sim ejecter or something thin and low profile and hold it down while inserting the male to male usb cable.
DOWNLOAD THE DTB FILE(WARNING: I ONLY TESTED USB AND ETHERNET SUPPORT,it was not thoroughly tested so use it ar ur own risk,if u need wifi and bluetooth u need to buy external wireless adapters that are linux supported,i will never add wifi and bluetooth support because its complicated and i am not smart enough) rk3328-zidoox7-custom.dtb
The MicroSD card boot was causing me way too many issues, so I figured I should just erase my eMMC completely and flash Armbian directly onto it. I used rkdeveloptool on Linux for this.
I know its probably not ideal to flash the raw armbian img file directly on the emmc but thats what I had success with, ur success may vary.
PREREQUISITES:
USB-A to USB-A cable:
Premade Commercial Cable: If you use an off-the-shelf USB-A to USB-A cable (where +5V/VCC is connected), DO NOT plug in the DC barrel jack power supply at the same time. Let the TV box draw power directly through the host computer's USB port.Before proceeding,wait a little bit(maximum 2 minutes) so the capacitors discharge.Plug it into the box usb port labeled as "OTG".
Why? Plugging in both the DC power supply and a standard USB cable causes a voltage conflict / backfeeding between the host PC and the box's power rail, which can destroy your computer's USB controller or the board!
Image: Armbian_23.11.1_Rk3318-box_bookworm_current_6.1.63.img.xz (Don't forget to extract the .img file!) (image link is https://armbian.lv.auroradev.org/archive/rk3318-box/archive/Armbian_23.11.1_Rk3318-box_bookworm_current_6.1.63.img.xz)
Loader: Download a loader such as rk3328_loader_ddr333_v1.14.249.bin
STEP 1: CHECK DEVICE MODE
First, run:
sudo rkdeveloptool ld
If it returns something along the lines of:
DevNo=1 Vid=0x2207,Pid=0x320c,LocationID=202 Maskrom
You are good to go
But if it returns LOADER instead:
DevNo=1 Vid=0x2207,Pid=0x320c,LocationID=202 Loader
Run this to restart it in maskrom if it were in loader mode:
sudo rkdeveloptool rd 3
After getting it out of loader proceed further.
STEP 2: LOAD BOOTLOADER AND ERASE FLASH
WARNING! THIS WILL COMPLETELY ERASE THE FLASH MEMORY. Always have a backup before proceeding (I don't know the command for backing up eMMC via rkdeveloptool, so do your research!).
1. Load the loader into RAM:
sudo rkdeveloptool db rk3328_loader_ddr333_v1.14.249.bin
(It should say "Downloading bootloader succeeded.")
2. Erase the flash memory:
sudo rkdeveloptool ef
STEP 3: WRITE ARMBIAN TO EMMC
Write the image to sector 0:
sudo rkdeveloptool wl 0 /path/to/Armbian_23.11.1_Rk3318-box_bookworm_current_6.1.63.img
It should start saying "Write LBA from file" and slowly progress to 100%. This may take a few minutes, so be patient!
Once finished, reboot the device:
sudo rkdeveloptool rd
It should (key word is SHOULD) now boot directly into Armbian.
STEP 4: POST-INSTALLATION & FIXING USB PORTS
If Armbian booted successfully:
1. Complete the initial setup process on screen or via serial console.
2. Plug in an Ethernet cable, find the IP address of the Zidoo X7 on your network, and SSH into it.
3. On ur linux host computer,do "scp /path/to/rk3328-zidoox7-custom.dtb userwithROOTacess@boxip:/tmp/"
4. SSH into it,run sudo cp /tmp/rk3328-zidoox7-custom.dtb /boot/dtb/rockchip/
5. Edit your boot config file:
sudo nano /boot/armbianEnv.txt
You will see something like this:
verbosity=1
bootlogo=false
overlay_prefix=rockchip
fdtfile=rockchip/rk3318-box.dtb
rootdev=UUID=b82a1580-8fe4-456f-abe4-a32ca973b55e
rootfstype=ext4
4. Replace:
fdtfile=rockchip/rk3318-box.dtb
With:
fdtfile=rockchip/rk3328-zidoox7-custom.dtb
5. Save the file,run the command sync wait around 15s then reboot it.
6.Boot back into box,ssh into it back again,type sync just to make sure everything got saved.
NOTE: If u used a wrong dtb file or did something and the box no longer boots,restart it,hook it up to UART and spam press CTRL + C very fast(it may take a lot of tries),u will be dropped on a prompt that looks like a smiley face "=>",remove every storage medium inserted in the tv box,identify how ur emmc identifies(i dont know the command so do ur research),in my case it was mmc erase 0 0x800000(it basically wipes the first 4gb of the EMMC),type reset,box will restart and redo all the steps.
NOTE: Disabling kernel updates is recommended for increased stability on a tv box because a new update can introduce a bug or the dtb may not be read correctly,but it will leave the system a bit more vulnerable.
UART PINS FOR ZIDOO X7(KEEP IN MIND WARNINGS)
PLEASE NOTE IT USES 3.3V LOGIC
NEVER USE A 5V ADAPTER LOGIC
NOTE:1,500,000 bps for uart(1.5mbps)
credits to this link for the original non edited image: https://www.cnx-software.com/wp-content/uploads/2017/08/Z3328_V1.0-Board-Large.jpg
Doug Dimmadome, owner of the Dimmsdale Dimmadome