X96 Max+ 1Gbit LAN Problem

I have a strange problem with the LAN. Very often after a fresh boot Ethernet is not coming up. No matter if i set dhcp or manual.

In general the LAN Adapter works because sometimes it boots and the LAN works with 1Gbit, so i guess anything is a bit buggy during boot.

Anybody had similar problems?

I noticed same problem sometimes on X96_x4 rev. 1.3 on
CoreELEC 20.2 ng stable.
What helps, is to deacivate LAN in CoreELEC Settings, and activate it again after that. No reboot required.
Also i have switched off WLAN.

I have also deactivated WLAN. For me turning LAN ON/OFF in CoreELEC settings is not working so often. In my situation it works only when i pull out the LAN cable and plug it in again :frowning:

I checked also dmesg in console to see what is causing that problem that the LAN Adapter is not detect during boot, but without luck yet.

sounds to me like bad Ethernet cable or Ethernet jack issue (eg bad contacts)

I use the same cable with an RPI and never had a problem. I also thought about bad contacts in the new android box first, but the box is never loosing ethernet when it once booted successfully with LAN. I can stream videos without any issues then.

I guess this problem appears during the boot process. Is there any tool in CoreELEC to make a boot log? I just checked dmesg output, but have not found anything suspicious there. I want to find out which ethernet adapter is in the box exactly.

What’s the output of ethtool eth0 in working & non-working case?

dmesg | paste
Maybe you use the JL2xxx chip. It’s known for such issues.

This is the output with working LAN:

Settings for eth0:
        Supported ports: [ TP AUI BNC MII FIBRE ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
        Link partner advertised pause frame use: Symmetric
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: external
        Auto-negotiation: on
        Supports Wake-on: ug
        Wake-on: d
        Current message level: 0x0000003f (63)
                               drv probe link timer ifdown ifup
        Link detected: yes

without working LAN i can`t ssh into the box :frowning:

This is all i found in the dmesg output about the eth interface:

RX Checksum Offload Engine supported
COE Type 2
TX Checksum insertion supported
Wake-Up On Lan supported
Enable RX Mitigation via HW Watchdog Timer
libphy: stmmac: probed
eth%d: PHY ID 937c4032 at 0 IRQ POLL (stmmac-0:00) active
eth%d: PHY ID 937c4032 at 7 IRQ POLL (stmmac-0:07)

No log no issues…
You have JL2XXX chip. Use Amlogic-ne if possible.

I tried this with working LAN:

lsmod | grep jl

no result, so i guess i am not having this eth device because such a module is not loaded.

My box is using Generic PHY driver

I have the S905X3 chipset, so you suggest i should flash the S905X4 image to my sd-card and try booting that?

My idea is to set it to 100mbit full-duplex without auto negotiation with ethtool but my autostart.sh is not working in CoreELEC and there exist not /etc/network/interfaces file in CoreELEC.

Use command like that

ethtool -s eth0 speed 100 duplex full autoneg on

I would use with autoneg off because i think that could be the reason the eth device is not detected during boot sometimes.

ethtool -s eth0 speed 100 duplex full autoneg off

but the problem is to auto execute that command as early as possible during boot process.

Then write some systemd script which starts after network is up.

Good idea that sounds like it is worth a try :+1: thanks

Hello, if it is a gigabit eth0 network card, do not need to execute commands, the default is a gigabit full duplex right?

Default speed depends on your switch/router. Normally auto negotiation is finding the best speed between the card and the switch/router.

The problem here is that the card is not detected during boot sometimes, so i try to force a speed and duplex mode without negotiation.

I googled about this JL2XXX chip and it seems the issue is really caused during boot. It was said that the box is booting to fast in that case no ip is assigned :frowning: or just a 169.xxx.xxx.xxx ip is assigned.

My Box is a S905X3 Box, but it seems this JL2XXX chip is used in lots of modern S905X4 boxes. Is there hope this driver will still be developed and this boot bug gets solved?

I think in general this driver works, when i have a successful boot with ethernet it runs rock solid.

Hello, my Tencent Aurora 4 pro, also used the JL2101 chip Ethernet card, temporarily did not encounter the problem you said oh, s905x4 equipment.