Report about Amlogic S905X4 HK1 RBOX X4

What firmware are we referring to here? The android firmware?

Yes Android 11 on various boxes

Have tested Vontar and Transpeed on Hk1x4
They are cross compatible

I have 8211f so not affected by jl2xx1
Working 1gbit

Currently i have Vontar img from 08 03 2022 on
Hk1x4

About the clones no idea about ethernet chipset

Firmware can be found 4pda

Happy Testing

This seems to work on my X96_X4 too, the device mentioned above, with stable 1GBit/s connection.

It is hardware rev. 1.3

I just got the Mxiii Pro x4. It is ah232 and I didn’t open it but I assume it is jl2xxx too because the mac is 02:00… in CE to and the Android mac is 02:ad:32

12-31 19:00:06.117 0 0 I : [ 1.934636@1] meson8b-dwmac fdc00000.ethernet: device MAC address 02:ad:32:01:70:2a

To use the Android mac this autostart.sh is working for me with both my jl2xxx devices

ethmac=$(fw_printenv -n ethaddr)
ip link set eth0 down
ip link set dev eth0 address $ethmac
ip link set eth0 up

This is not related to the eth phy. Only to the bootloader environment. I need to check why it’s different to the others as they have mac defined.

I checked different android firmware, official HK1, Vontar x4, x96 x4, and custom Android TV, slimBox. All of them have working stable 1Gb link on Android, but no one have “mac” in the enviroment. Some do not have a MAC address at all in the environment, some have MAC in “ethaddr”.

@emveepee, autostart.sh is working for me too, stable 1Gb link, tnx

@emveepee @Dreringer please try this image without your mac script.
You can confirm now with dmesg | grep mac-addr if the mac is set from uboot environment or not like:

CoreELEC:~ # dmesg |grep mac-addr
[    0.000000@0]  uboot setup mac mac-addr: 90:0e:b3:fc:be:8b

So it’s set here by the var mac, yours should be than like uboot setup ethaddr mac-addr: ....
CoreELEC-Amlogic-ne.arm-20.0-Nexus_devel_20221003093146-Generic.img.gz

Hint: the VFD display should work as well now with this image.

Good news and bad the openvfd service is now installed and working but it still gets the bogus mac. http://ix.io/4caL

@Portisch when I bought the second one I figured if it had the jl2xxxx chip, I could mail one to you or the most relevant developer if you wanted to PM me an address.

Would be option, yes.

[    0.000000@0]  Kernel command line: init=/init console=ttyS0,921600 no_console_suspend earlycon=aml-uart,0xfe07a000 ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 loop.max_part=4 loglevel=7 otg_device=0 logo=osd0,loaded,0x00300000 vout=1080p60hz,enable panel_type=lcd_1 hdmitx=,422,12bit
 hdmimode=1080p60hz hdmichecksum=0xbc710000 dolby_vision_on=0 hdr_policy=1 hdr_priority= frac_rate_policy=1 hdmi_read_edid=1 cvbsmode=576cvbs osd_reverse=0 video_reverse=0 irq_check_en=0 androidboot.selinux=permissive androidboot.firstboot=0 jtag=disable androidboot.bootloader=01.01.220620.224252 androidboot.hardware=amlogic androidboot.serialno=ah21280566015c1a11b0e androidboot.wificountrycode=US androidboot.rpmb_state=1x1 androidboot.slot_suffix=_b BOOT_IMAGE=kernel.img boot=LABEL=COREELEC disk=LABEL=STORAGE console=tty0 no_console_suspend keymap=us      vout=1080p60hz,dis logo=osd0,loaded,0x00300000 frac_rate_policy=0 hdmitx=, hdr_policy=1 quiet androidboot.vbmeta.device=/dev/block/vbmeta androidboot.vbmeta.avb_version=1.1 androidboot.vbmeta.device_state=locked androidboot.vbmeta.hash_alg=sha256 androidboot.vbmeta.size=6912 androidboot.vbmeta.digest=918696b10612ff2e5d2b99ef9840a63d4e1e003204c0fb61cb800d28722086fb androidboot.vbmeta.invalidate_on_error=yes androidboot.veritymode=enforcing androidboot.verifiedbootstate=green 

There is no mac or ethaddr in boot parameters defined. The box I have SSH access do read this mac from memory. But in CE kernel it’s not possible anymore since SC2 because of security.
It just read 0x00. But I checked the other HK1 box and might got just an idea. Let me check if it’s somehow possible.

@emveepee please make me a log of your complete bootloader environment with:
fw_printenv | paste

Sure here you go http://ix.io/4cb2

this is your problem:
if keyman read mac ${loadaddr} str; then setenv bootargs ${bootargs} mac=${mac}

Your vendor did not burn the mac unify key.

Please run in CE console:
cat /sys/class/efuse/mac
cat /proc/cpuinfo

#  cat /sys/class/efuse/mac
0x00: 00 00 00 00 00 00 
# cat /proc/cpuinfo 
processor	: 0
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x2
CPU part	: 0xd05
CPU revision	: 0

processor	: 1
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x2
CPU part	: 0xd05
CPU revision	: 0

processor	: 2
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x2
CPU part	: 0xd05
CPU revision	: 0

processor	: 3
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x2
CPU part	: 0xd05
CPU revision	: 0

Serial		: 320b0201000000000e1ba1c115605680
Hardware	: Amlogic

It’s also empty and you need to use your workaround script.
efuse return 0x00
320b0201000000000e1ba1c115605680 what represent the mac is also empty.

You can “fix” your bootloader configuration by:
fw_setenv cmdline_keys 'setenv region_code US; setenv bootargs ${bootargs} mac=${ethaddr}'
The whole keyman stuff is not needed as it is empty. But on next update this change is lost again and you will need to run fw_setenv again.

This image should have now the “workaround” implemented for your cheap sh$%& box:
CoreELEC-Amlogic-ne.arm-20.0-Nexus_devel_20221003163621-Generic.img.gz

Maybe the data is not burned as it’s a used and refurbished eMMC what is assembled in your hardware. I would not trust this peace of hardware, I guess it will fail soon…

EDIT:
Image removed
For devices like yours please use the option config.ini:

Add on bottom coreelec='mac=<your mac>' and it should be permanent available.
So in your case coreelec='mac=02:ad:32:01:70:2a'

EDIT:
Maybe this is working as well:
coreelec='mac=${ethaddr}'

1 Like

OK thanks I can work with my autostart.sh script and rewrite it when it is zeroes to avoid the down/up delay.

Edit: config.ini with my mac worked. The variable doesn’t works because it is not in the environment, I was getting ethaddr with fw_printenv in my script. I might stick with autostart since I can use the same card in multiple devices.

Martin

Hi, can you post again this image, I have the same problems as @emveepee and I want to test this image. Thank you sir for the great job BTW.

Did you try using the earlier ne image File on MEGA with working VFD?

No, the link its not working, but that one I like to try it.

Sorry I didn’t check, I downloaded directly so don’t have a copy.

@Portisch, hi, can you repost the image [CoreELEC-Amlogic-ne.arm-20.0-Nexus_devel_20221003093146-Generic.img.gz], I wish to try it. Thank you.