If you check the dts for sc2(S905X4) in CoreELEC’s kernel (inherently Amlogic’s 4.9 Linux kernel), it uses “amlogic, g12a-eth-dwmac” as the compatible string
While the dtb used for 5.4 Android kernel uses “amlogic,meson-axg-dwmac” as the compatible string:
And if you check the dwmac-meson (it reports to kernel as dwmac-meson6) and dwmac-meson8b in the kernel, of these two compatible strings only g12a- matches a driver and it’s dwmac-meson
And since it’s written in mesonsc2.dtsi which is included by all Aml dev boards (like ah212) and CE devices’ dtb, I don’t think the meson8b driver is ready to be used in 4.9 kernel… You could try to modify the compatible string in the dtb (just dtc decompile and compile) but I don’t think the driver will work
7Jj, thanks for this explaination, even if i will need some time to understand that, i think it is something you developers already thinked about, and maybe the problem is elsewhere.
What i might try in the next days, is to hook up a USB3 HDD to the box, and transfer massive amounts of data over smb shares to and from it, i want to test, how fast and stable it is on android.
edit:
I now finished this test. I generated 512GiB file with random data, and transferred it over Gb LAN to FTP-server on android. Then i send it back from ftp-server over the network again. The md5sum of recieved file is still the same, so no error occoured. This at least proves, that the hardware can work without faults, even if i was not satisfied with the speed of ftp-server.
Holy Cow Batman, the CoreELEC group has added the last piece to this awesome firmware. I just noticed that there is now a “Reboot from eMMC/NAND”, and it works.
I thought this would be impossible to implement on the S905X4 processors.
Now this inexpensive device does everything except shine my shoes.
Now, I am trying to use the included Docker to create an HDHomeRun DVR engine. It is already running a Tvheadend DVR server.
A truly amazing piece of code for these boxes.
Kudos to the whole crew.
Nice! This is the first report of a working JL2101 on a S905X4 box, would you mind also testing Portisch’s test image (just put it in the update folder and reboot) without the official driver?
The IR remote will not work natively, as intended, you need to download corresponding config from the repo or make one by yourself if none is found :
The LED though, it can’t work and there’s no workaround.
Sorry, the above feedback is not entirely correct.
The network cable I used for yesterday’s test has only 7 cores connected (total 8 cores), it may only work at 100M network speed, but it does get the correct IP.
But today when I tested with another 1 Gigabit Ethernet cable, I found that HK1 could not get the correct LAN IP address, even if I manually set the IP, it could not connect to the network.
It’s the JL2101 PHY working at 100Mbps, the PHY is indeed JL2101 if you check the PHY id, just not working at 1Gbps due to a faulty cable
Also from @empa43 's further test, the PHY at least works at 100Mbps, so you can at least get a working ethernet on a S905X4 box with JL2101PHY, even it’s only 100Mbps. Just use a 4-wire cable or connect it to a 100Mbps switch/router port, or limit it to 100Mbps through ethtool.
Although this might get the end-users confused (using 1gbit dtb for 100m ethernet), but it at least works now instead of not working at all
hi 7Ji,thanks for your help.
I’m new to COREELEC and can only do simple tests.
Do you think it’s possible to fix this problem to make the JL2101 work at 1000M?
Or is there anything else I can do.
Thanks!
I can confirm my device works at 100Mbs but I cannot confirm that is using the JL2101 and not the internal device. This does need the patches to control the eth0 device
I also changed the mac to the Android mac as I don’t like “fake” devices on my network so my /storage/.config/autostart.sh look like
CoreELEChk:~ # cat .config/autostart.sh
ethtool -s eth0 speed 100 duplex full autoneg off
ifconfig eth0 down
ifconfig eth0 hw ether mac:address up
It’s not possible to use the internal PHY when there’s an external PHY as
The MAC is physically wired to the JL2101 PHY, then to the RJ45 port, the internal PHY is not wired to the port at all (you can try to desolder the JL2101 PHY and use the dtb with internal PHY, the ethernet will not work at all since the RJ45 port is not connected to any PHY)
The dtb defines the external PHY control GPIOs and other things, the internal PHY won’t be invoked with these operations, it’s not initialized at all
Edit:
You still need the patch to properly initialize the MAC so it is delayed enough until JL2101 is ready. The delay in the driver is not needed only when the bootup itself is slow enough (for the first boot, since some files need to be written first before network is started; or you have a pretty slow drive)
I didn’t know that the internal phy was not available thanks. This eth0 interface is not that stable with dropped packets over 50Mbs though using generic phy.
Been testing the ability of this X4 device, and it seems to be very capable. Using the power of CoreELEC, this device can run the Tvheadend DVR server, and the Emby server at the same time.
For testing, I used the $20 USD onn. Android TV 4K UHD Streaming Device (only available in the US). Emby server running under CE, plays everything except LIVE TV. Perhaps I am missing a setting.
Also, most of my media is on external HDDs connected to a miniPC, so I had to mount those drives (what a pain).