Manjaro Arm with M2X POE Eth

Which Khadas SBC do you use?

VIM3 v14
M2X extension board

Which system do you use? Android, Ubuntu, OOWOW or others?

Manajro Arm

Which version of system do you use? Khadas official images, self built images, or others?

Manjaro Arm Server version install via manjaro-arm-installer

Please describe your issue below:

Could not get the m2x eth working.
I bought a m2x board for poe eth and LTE connection.
The LTE parts works great and the power over ethernet cable also works but not the data.

However, I counld not have a place in manjaro to change the DT overlays env.txt file.
Besides, there is also no dt files that I could find in the github.

Is there any way that I could get the eth port on M2X extension board working on Manjaro Arm?

Post a console log of your issue below:

@Spikerguy , would you please help me with this issue?

I’ve tried copy the dtbo (device tree overlay) file from ubuntu and also edited the /boot/extlinux/extlinux.conf file, added the following lines.:

FDTOVERLAYS /dtbs/overlays/m2x-eth.dtbo

And reboot.
But it is still not working work.

This is the content that I collected from the m2x-eth.dtbo file.

───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1   │ /dts-v1/;
   2   │
   3   │
   4   │ / {
   5   │
   6   │     fragment@0 {
   7   │         target = <0xffffffff>;
   8   │
   9   │         __overlay__ {
  10   │             status = "okay";
  11   │             mc_val = <0x4be04>;
  12   │             internal_phy = <0x01>;
  13   │         };
  14   │     };
  15   │
  16   │     __fixups__ {
  17   │         ethmac = "/fragment@0:target:0";
  18   │     };
  19   │ };

Can you share the uboot output from uart serial ?

Hi @Spikerguy , Thank you for your reply.
please find uboot output below.

I found something from the log, is it the root cause?

G12B:BL:6e7c85:2a3b91;FEAT:E0F83180:402000;POC:F;RCY:0;EMMC:0;READ:0;0.
bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0000 - pwm id 0x01
bl2_stage_init 0xc1
bl2_stage_init 0x02

L0:00000000
L1:20000703
L2:00008067
L3:14000000
B2:00402000
B1:e0f83180

TE: 146576

BL2 Built : 19:23:21, Sep 18 2020. g12b g9fde858 - gongwei.chen@droid11-sz

Board ID = 10
Set A53 clk to 24M
Set A73 clk to 24M
Set clk81 to 24M
A53 clk: 1200 MHz
A73 clk: 1200 MHz
CLK81: 166.6M
smccc: 000285cb
eMMC boot @ 0
sw8 s
board id: 10
Load FIP HDR DDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
Get wrong ddr fw magic! Error!!
fw parse done
PIEI prepare done
00000000
emmc switch 1 ok
ddr saved addr:00016000
Load ddr parameter from eMMC, src: 0x02c00000, des: 0xfffd0000, size: 0x00001000, part: 0
00000000
emmc switch 0 ok
fastboot data verify
result: 255
Cfg max: 12, cur: 1. Board id: 255. Force loop cfg
LPDDR4 probe

LPDDR4_PHY_V_0_1_22-Built : 14:57:26, Sep 1 2020. g12b g3c95fed - gongwei.chen@droid11-sz
ddr clk to 1608MHz

dmc_version 0001
Check phy result
INFO : ERROR : Training has failed!
Check phy result
INFO : ERROR : Training has failed!
Check phy result
INFO : End of initialization
INFO : ERROR : Training has failed!
1D training failed
Cfg max: 12, cur: 2. Board id: 255. Force loop cfg
LPDDR4 probe
ddr clk to 1608MHz

dmc_version 0001
Check phy result
INFO : End of CA training
INFO : End of initialization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read enable training
INFO : End of fine write leveling
INFO : End of read dq deskew training
INFO : End of MPR read delay center optimization
INFO : End of Write leveling coarse delay
INFO : End of read delay center optimization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of MPR read delay center optimization
INFO : End of write delay center optimization
INFO : End of read delay center optimization
INFO : End of max read latency training
INFO : Training has run successfully!
1D training succeed
Check phy result
INFO : End of initialization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : Training has run successfully!

soc_vref_reg_value 0x 00000025 00000025 00000026 00000024 00000025 00000027 00000026 00000025 00000025 00000025 00000023 00000024 00000026 00000026 00000025 00000026 00000026 00000026 00000027 00000026 00000025 00000026 00000024 00000024 00000026 00000025 00000027 00000026 00000024 00000023 00000027 00000026 dwc_ddrphy_apb_wr((0<<20)|(2<<16)|(0<<12)|(0xb0):0004
dram_vref_reg_value 0x 00000014
2D training succeed
auto size-- 65535DDR cs0 size: 2048MB
DDR cs1 size: 0MB
DMC_DDR_CTRL: 00c0002cDDR size: 2048MB
cs0 DataBus test pass
cs0 AddrBus test pass

non-sec scramble use zero key
ddr scramble enabled

100bdlr_step_size ps== 431
result report
boot times 0Enable ddr reg access
00000000
emmc switch 3 ok
Authentication key not yet programmed
get rpmb counter error 0x00000007
00000000
emmc switch 0 ok
Load FIP HDR from eMMC, src: 0x00010200, des: 0x01700000, size: 0x00004000, part: 0
Load BL3X from eMMC, src: 0x00078200, des: 0x01768000, size: 0x000aa200, part: 0
0.0;M3 CHK:0;cm4_sp_mode 0

MVN_1=0x00000000

MVN_2=0x00000000

[Image: g12b_v1.1.3390-6ac5299 2019-09-26 14:10:05 luan.yuan@droid15-sz]

OPS=0x10

ring efuse init

chipver efuse init

29 0b 10 00 01 20 11 00 00 0f 30 34 33 42 42 50

[0.018961 Inits done]

secure task start!
high task start!
low task start!
run into bl31
NOTICE: BL31: v1.3(release):4fc40b1
NOTICE: BL31: Built : 15:58:17, May 22 2019
NOTICE: BL31: G12A normal boot!
NOTICE: BL31: BL33 decompress pass
ERROR: Error initializing runtime service opteed_fast

U-Boot 2021.07 (Sep 28 2022 - 14:55:03 +0800) khadas-vim3

Model: Khadas VIM3
SoC: Amlogic Meson G12B (A311D) Revision 29:b (10:2)
DRAM: 2 GiB
MMC: sd@ffe03000: 0, sd@ffe05000: 1, mmc@ffe07000: 2
Loading Environment from MMC… *** Warning - bad CRC, using default environment

DISPLAY: setup failsave FullHD mode
In: serial
Out: serial
Err: serial
fusb302_init: Device ID: 0x91
Net: eth0: ethernet@ff3f0000
Failed to load ‘splash.bmp’
** Unrecognized filesystem type **
Can’t set block device
Failed to load ‘/usr/share/fenix/logo/logo.bmp’
** No partition table - mmc 2 **
Couldn’t find partition mmc 2:2
Can’t set block device
[i] display embed logo
starting USB…
Bus usb@ff500000: Register 3000140 NbrPorts 3
Starting the controller
USB XHCI 1.10
scanning bus usb@ff500000 for devices… 2 USB Device(s) found
scanning usb for storage devices… 0 Storage Device(s) found
Setting bus to 0
port mode is pcie
Hit SPACE in 2 seconds to stop autoboot
Device 0: unknown device
meson_pcie_wait_link_up: error: wait linkup timeout
meson_pci_link_up (ret=-5)
PCIE-0: Link up (Gen1-x1, Bus0)

Device 0: unknown device
Card did not respond to voltage select! : -110
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1…
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
372 bytes read in 4 ms (90.8 KiB/s)
1: Manjaro ARM
Retrieving file: /initramfs-linux.img
8183196 bytes read in 351 ms (22.2 MiB/s)
Retrieving file: /Image
28922368 bytes read in 1236 ms (22.3 MiB/s)
Retrieving file: /dtbs/amlogic/meson-g12b-a311d-khadas-vim3.dtb
77253 bytes read in 9 ms (8.2 MiB/s)
Retrieving file: /dtbs/overlays/m2x-eth.dtbo
277 bytes read in 6 ms (44.9 KiB/s)
fdt overlay: /dtbs/overlays/m2x-eth.dtbo - apply
Retrieving file: /uEnv.txt
Failed to load ‘/uEnv.txt’
append: initrd=/initramfs-linux.img root=PARTUUID=9f672a67-02 rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 quiet splash plymouth.ignore-serial-consoles
Moving Image from 0x8080000 to 0x8200000, end=9e50000

Flattened Device Tree blob at 08008000

Booting using the fdt blob at 0x8008000
Loading Ramdisk to 7b73c000, end 7bf09d9c … OK
Loading Device Tree to 000000007b724000, end 000000007b73bfff … OK
vim3: PCIe inactive

Starting kernel …

[ 0.791381] meson-drm ff900000.vpu: Couldn’t bind all components
[ 1.113470] panfrost ffe40000.gpu: error -ENODEV: _opp_set_regulators: no regulator (mali) found
[ 9.511131] ieee80211 phy0: brcmf_dongle_roam: WLC_SET_ROAM_TRIGGER error (-52)

Manjaro Linux 6.1.15-1-MANJARO-ARM-AML (ttyAML0)

AH2E l�G12B:BL:6e7c85:2a3b91;FEAT:E0F83180:402000;POC:F;RCY:0;EMMC:0;READ:0;0.
bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0000 - pwm id 0x01
bl2_stage_init 0xc1
bl2_stage_init 0x02

L0:00000000
L1:20000703
L2:00008067
L3:14000000
B2:00402000
B1:e0f83180

TE: 146576

BL2 Built : 19:23:21, Sep 18 2020. g12b g9fde858 - gongwei.chen@droid11-sz

Board ID = 10
Set A53 clk to 24M
Set A73 clk to 24M
Set clk81 to 24M
A53 clk: 1200 MHz
A73 clk: 1200 MHz
CLK81: 166.6M
smccc: 000285cb
eMMC boot @ 0
sw8 s
board id: 10
Load FIP HDR DDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
Get wrong ddr fw magic! Error!!
fw parse done
PIEI prepare done
00000000
emmc switch 1 ok
ddr saved addr:00016000
Load ddr parameter from eMMC, src: 0x02c00000, des: 0xfffd0000, size: 0x00001000, part: 0
00000000
emmc switch 0 ok
fastboot data verify
result: 255
Cfg max: 12, cur: 1. Board id: 255. Force loop cfg
LPDDR4 probe

LPDDR4_PHY_V_0_1_22-Built : 14:57:26, Sep 1 2020. g12b g3c95fed - gongwei.chen@droid11-sz
ddr clk to 1608MHz

dmc_version 0001
Check phy result
INFO : ERROR : Training has failed!
Check phy result
INFO : ERROR : Training has failed!
Check phy result
INFO : End of initialization
INFO : ERROR : Training has failed!
1D training failed
Cfg max: 12, cur: 2. Board id: 255. Force loop cfg
LPDDR4 probe
ddr clk to 1608MHz

dmc_version 0001
Check phy result
INFO : End of CA training
INFO : End of initialization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read enable training
INFO : End of fine write leveling
INFO : End of read dq deskew training
INFO : End of MPR read delay center optimization
INFO : End of Write leveling coarse delay
INFO : End of read delay center optimization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of MPR read delay center optimization
INFO : End of write delay center optimization
INFO : End of read delay center optimization
INFO : End of max read latency training
INFO : Training has run successfully!
1D training succeed
Check phy result
INFO : End of initialization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : Training has run successfully!

soc_vref_reg_value 0x 00000025 00000025 00000027 00000024 00000025 00000027 00000026 00000025 00000025 00000025 00000023 00000023 00000025 00000026 00000025 00000026 00000026 00000026 00000027 00000026 00000025 00000026 00000024 00000024 00000025 00000025 00000026 00000026 00000025 00000023 00000027 00000026 dwc_ddrphy_apb_wr((0<<20)|(2<<16)|(0<<12)|(0xb0):0004
dram_vref_reg_value 0x 00000015
2D training succeed
auto size-- 65535DDR cs0 size: 2048MB
DDR cs1 size: 0MB
DMC_DDR_CTRL: 00c0002cDDR size: 2048MB
cs0 DataBus test pass
cs0 AddrBus test pass

non-sec scramble use zero key
ddr scramble enabled

100bdlr_step_size ps== 420
result report
boot times 0Enable ddr reg access
00000000
emmc switch 3 ok
Authentication key not yet programmed
get rpmb counter error 0x00000007
00000000
emmc switch 0 ok
Load FIP HDR from eMMC, src: 0x00010200, des: 0x01700000, size: 0x00004000, part: 0
Load BL3X from eMMC, src: 0x00078200, des: 0x01768000, size: 0x000aa200, part: 0
0.0;M3 CHK:0;cm4_sp_mode 0

MVN_1=0x00000000

MVN_2=0x00000000

[Image: g12b_v1.1.3390-6ac5299 2019-09-26 14:10:05 luan.yuan@droid15-sz]

OPS=0x10

ring efuse init

chipver efuse init

29 0b 10 00 01 20 11 00 00 0f 30 34 33 42 42 50

[0.018960 Inits done]

secure task start!
high task start!
low task start!
run into bl31
NOTICE: BL31: v1.3(release):4fc40b1
NOTICE: BL31: Built : 15:58:17, May 22 2019
NOTICE: BL31: G12A normal boot!
NOTICE: BL31: BL33 decompress pass
ERROR: Error initializing runtime service opteed_fast

U-Boot 2021.07 (Sep 28 2022 - 14:55:03 +0800) khadas-vim3

Model: Khadas VIM3
SoC: Amlogic Meson G12B (A311D) Revision 29:b (10:2)
DRAM: 2 GiB
MMC: sd@ffe03000: 0, sd@ffe05000: 1, mmc@ffe07000: 2
Loading Environment from MMC… *** Warning - bad CRC, using default environment

DISPLAY: setup failsave FullHD mode
In: serial
Out: serial
Err: serial
fusb302_init: Device ID: 0x91
Net: eth0: ethernet@ff3f0000
Failed to load ‘splash.bmp’
** Unrecognized filesystem type **
Can’t set block device
Failed to load ‘/usr/share/fenix/logo/logo.bmp’
** No partition table - mmc 2 **
Couldn’t find partition mmc 2:2
Can’t set block device
[i] display embed logo
starting USB…
Bus usb@ff500000: Register 3000140 NbrPorts 3
Starting the controller
USB XHCI 1.10
scanning bus usb@ff500000 for devices… 2 USB Device(s) found
scanning usb for storage devices… 0 Storage Device(s) found
Setting bus to 0
port mode is pcie
Hit SPACE in 2 seconds to stop autoboot
Device 0: unknown device
meson_pcie_wait_link_up: error: wait linkup timeout
meson_pci_link_up (ret=-5)
PCIE-0: Link up (Gen1-x1, Bus0)

Device 0: unknown device
Card did not respond to voltage select! : -110
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1…
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
372 bytes read in 4 ms (90.8 KiB/s)
1: Manjaro ARM
Retrieving file: /initramfs-linux.img
8183196 bytes read in 355 ms (22 MiB/s)
Retrieving file: /Image
28922368 bytes read in 1246 ms (22.1 MiB/s)
Retrieving file: /dtbs/amlogic/meson-g12b-a311d-khadas-vim3.dtb
77253 bytes read in 10 ms (7.4 MiB/s)
Retrieving file: /dtbs/overlays/m2x-eth.dtbo
277 bytes read in 7 ms (38.1 KiB/s)
fdt overlay: /dtbs/overlays/m2x-eth.dtbo - apply
Retrieving file: /uEnv.txt
Failed to load ‘/uEnv.txt’
append: initrd=/initramfs-linux.img root=PARTUUID=9f672a67-02 rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 quiet splash plymouth.ignore-serial-consoles
Moving Image from 0x8080000 to 0x8200000, end=9e50000

Flattened Device Tree blob at 08008000

Booting using the fdt blob at 0x8008000
Loading Ramdisk to 7b73c000, end 7bf09d9c … OK
Loading Device Tree to 000000007b724000, end 000000007b73bfff … OK
vim3: PCIe inactive

Starting kernel …

[ 0.681299] meson-drm ff900000.vpu: Couldn’t bind all components
[ 1.019703] panfrost ffe40000.gpu: error -ENODEV: _opp_set_regulators: no regulator (mali) found
[ 9.591067] ieee80211 phy0: brcmf_dongle_roam: WLC_SET_ROAM_TRIGGER error (-52)

Manjaro Linux 6.1.15-1-MANJARO-ARM-AML (ttyAML0)

Where is the dts for this file ?

Where did you take the dtbo from ?

I found a similar issue on here

Also this

The dtbo file is copied directly from khadas’s official ubuntu (kernal 4.9 version) somewhere under /boot/dtbs.
I install that ubuntu version and the ethernet port works just fine.
Of course the original one on the board does not work any more, so I mean the one on the extension board.

Then I just extrat this dtbo with dts command to see what’s inside. And above info inside dts file is what i saw.

Unlike the previous post, my ethernet port on extension board works on khadas official ubuntu server and desktop (kernel 4.9) and also there android.

Manjaro image is using mainline kernel and not bsp 4.9 kernel.

The dtbo might not fully work on mainline kernel.

Then they use some different nodes and drivers in bsp kernel which is missing in mainline kernel.

Someone from khadas team should advice on this.