Install CE from SD card to eMMC on VIM3

Try with this DTB for Amlogic-NG:
g12b_a311d_khadas_vim3.dtb (72.8 KB)

There are 3 different versions:

  • 20.0
  • 20.1 and 20.2 (same as 20.0 with auto_cali_idx = 0 instead of 1)
  • 20.3 and 20.4 (more differences)
1 Like

Thank you for the information!

For now I decided to stick with the SD card as I see NO becoming the next standard in the near future and it would be (I think) easier to switch SD cards than doing a new eMMC.
Even got a better SD card (a V30 instead of a slower Class 10).

@vpeter is right again. Only Nexus ng 20.0 booting with network.
I’ve made test with the different DTB’s and retrieved the kodi.log files:
20.0
20.1
20.2
20.3
20.4
20.4 @Portisch DTB from above
20.4 with 20.0 DTB

dmesg from 20.4 with 20.0 DTB

Khadas VIM3 pro V13 (OOWOW says V12) 2009 3720

Kodi logs are useless in this case. only dmesg is helpfull. does it work or not?

Only 20.0 DTB working. There is a dmesg Nexus ng 20.4 with DTB 20.0 booting ok.

Did you try Amlogic-no?

Yes, it works OK. So you suggest to leave ng?

Yes, it’s EOL.

1 Like

Amlogic-no is not fully fledged yet. It’s running on VIM3 but some parts still missing.
Tried Amlogic-ng again. NG Omega nightly connects only with wifi. The Ethernet network DHCP detection is not working right since ng 20.0. It’s detecting wrong subnet and IPV4 addresses.
Was there a change in the ethernet dhcp network handling since ng 20.0?
Why is no 21 nightly working all right?

Since Amlogic.ne ethernet network is not working on VIM3 I’ve tried dtb.img from Amlogic.ng 20.0 Nexus on latest nightly of Amlogic.ng 21.1 Omega 20240508. I’ve copied dtb.img and dtb.xml to /flash and the latest Omega build booted with working ethernet. Could You check if there was a change in network stack since ng 20.0 in dtb.img? If yes then something went wrong for some VIM3’s there.

Decompiled Amlogic.ng 20.0 dtb and Amlogic.ng 20.2 dtb files and the single difference which makes ethernet adapter not working is:
***** 0.dts
pinctrl-0 = <0x18>;
auto_cali_idx = <0x01>;
phandle = <0x84>;
***** 2.dts
pinctrl-0 = <0x18>;
auto_cali_idx = <0x00>;
phandle = <0x84>;


I’m sure this change in dtb makes VIM3 ethernet not working after Nexus 20.0.
Could somebody tell me why is this change is necessary?

All images installed on fresh USB stick are working here.

CoreELEC (official): 20.5-Nexus (Amlogic-ng.arm)
CoreELEC (official): 20.5-Nexus_nightly_20240413 (Amlogic-ng.arm)
CoreELEC (official): 21.0-Omega (Amlogic-ng.arm)
CoreELEC (official): 21.1-Omega_nightly_20240510 (Amlogic-ng.arm)
      Machine model: Khadas VIM3
     CoreELEC dt-id: g12b_a311d_khadas_vim3
      Amlogic dt-id: g12b_kvim3

eth0      Link encap:Ethernet  HWaddr C8:63:14:70:32:8a


CoreELEC (official): 22.0-P_nightly_20240511 (Amlogic-no.aarch64)
      Machine model: Khadas VIM3
     CoreELEC dt-id: g12b_a311d_khadas_vim3

eth0      Link encap:Ethernet  HWaddr 02:00:00:18:04:01

You can change auto_cali_idx in dtb by command below and will stick it until next update. Then you need to run commands again.

mount -o remount,rw /flash
fdtget -t i /flash/dtb.img /ethernet@ff3f0000 auto_cali_idx
fdtput -t i /flash/dtb.img /ethernet@ff3f0000 auto_cali_idx 1
fdtget -t i /flash/dtb.img /ethernet@ff3f0000 auto_cali_idx
mount -o remount,ro /flash
reboot
1 Like

Amlogic-ng, -ne, and Android has network problem on my VIM3 pro I do not know why?
With Amlogic-no was never a problem, but it is not for daily driver.

With Your solution ethernet is working so I can use -ng and -ne for now. Thank You.

Still no idea why the trouble making change was made in the code. I asked on the Khadas forum for this but have few hope for an answer there.

Then maybe some hw problem or your network setup. Like strange router.

Because other users has no issues this will have to be your workaround.

Of course. This is CoreELEC code and obviously this forum is more appropriate.

1 Like

Maybe but I’ve quite extensive network and VIM3 is the single device with problem.

OK I will use this, appreciate your help. But the original setting for auto_cali_idx was 1. Every device was OK till then. Khadas changed the code, why?

I think linux code is written by Khadas. Latest official Android images from Khadas have network problem on my device. They changed the value of auto_cali_idx so they should know why this was necessary if it was at all?

so, what is the solution for installing in internal eMMC?
I see in post #35 that its possibly a outdated tool.

can my output from my VIM3 Pro help?

CoreELEC (official): 22.0-P_nightly_20240522 (Amlogic-no.aarch64)
      Machine model: Khadas VIM3
     CoreELEC dt-id: g12b_a311d_khadas_vim3

CoreELEC:~ # blkid
/dev/param: UUID="162c67da-2f93-43d6-855c-310ce0098bf2" BLOCK_SIZE="4096" TYPE="ext4"
/dev/vendor: LABEL="vendor" UUID="0c70056c-5d72-53f7-93e4-c56a1b61e40a" BLOCK_SIZE="4096" TYPE="ext4"
/dev/tee: UUID="e4a31968-9b99-4597-b1e5-38ff86bd5b6c" BLOCK_SIZE="4096" TYPE="ext4"
/dev/metadata: UUID="492a9c55-683e-4236-ab38-b138296984be" BLOCK_SIZE="4096" TYPE="ext4"
/dev/system: LABEL="/" UUID="74ab2787-89b4-5f32-9f21-2c085107ac1e" BLOCK_SIZE="4096" TYPE="ext4"
/dev/product: LABEL="product" UUID="06344823-b858-5e63-9bb4-bf477b3d54d4" BLOCK_SIZE="4096" TYPE="ext4"
/dev/cache: UUID="4ebc59c8-73ca-4a06-af38-ebab3a86b4fa" BLOCK_SIZE="4096" TYPE="ext4"
/dev/odm: LABEL="odm" UUID="f9c06985-41cc-4ded-927f-34c54eaa7e78" BLOCK_SIZE="4096" TYPE="ext4"
/dev/data: UUID="dbd98af0-4805-4b7d-8445-4c8e6435c7f9" BLOCK_SIZE="4096" TYPE="ext4"
/dev/mmcblk1p1: SEC_TYPE="msdos" LABEL_FATBOOT="COREELEC" LABEL="COREELEC" UUID="2205-1344" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="c3e2c779-01"
/dev/mmcblk1p2: LABEL="STORAGE" UUID="9aff1a96-e93e-46f3-ab5f-1b69ae73e9b5" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="c3e2c779-02"
/dev/loop0: BLOCK_SIZE="524288" TYPE="squashfs"
CoreELEC:~ # ceemmc -x

Starting CoreELEC eMMC installation tool...

eMMC size: 0x000747c00000 [32GB]

No CoreELEC installation found on eMMC

Install in dual boot mode, CoreELEC and Android on eMMC
  Use CoreELEC data from
    [1] current used SD or USB device
    [2] existing backup on current used SD or USB device

Install in single boot mode, only CoreELEC on eMMC
  Use CoreELEC data from
    [3] current used SD or USB device
    [4] existing backup on current used SD or USB device

Please choose one option? [1/2/3/4]: 3

Free space of 'partition CE_FLASH': 512MB
Warning: Could not find 'dto' partition!
Could not find 'CE_STORAGE' partition!
Failed to read size of partition 'CE_STORAGE'!
Failed to create new partition table!

As everywhere in forum written: use dual boot.