update! unfortunately someone screwed up: INSTALL THE BELOW IMG AND NO UPDATES! 🙁

THE SOLUTION: USE x86 BASED DUAL LAN EMBEDDED PC AS ROUTER X-D (with proper software support)

https://www.kernel.org/doc/html/latest/networking/device_drivers/ethernet/stmicro/stmmac.html

https://mjmwired.net/kernel/Documentation/networking/stmmac.txt

latest armbian has a problem: user can use LATEST ARMBIAN.img but it has a problem with the dual LAN interface only (device tree misconfigured) hence only 1x LAN interface will work

(read here and here about this tragedy, does not seem to be a kernel issue but ChatGPT assume device tree issue so here is a backup of a known-to-work rk3328-rock-pi-e.dts)

dmesg | grep rk_gmac
[ 179.480074] rk_gmac-dwmac ff540000.ethernet end0: __stmmac_open: Cannot attach to PHY (error: -19)
[ 529.140404] rk_gmac-dwmac ff540000.ethernet end0: Register MEM_TYPE_PAGE_POOL RxQ-0
[ 529.142478] rk_gmac-dwmac ff540000.ethernet end0: __stmmac_open: Cannot attach to PHY (error: -19)

modinfo stmmac
filename:       /lib/modules/6.14.0-rc4-edge-rockchip64/kernel/drivers/net/ethernet/stmicro/stmmac/stmmac.ko
license:        GPL
author:         Giuseppe Cavallaro <peppe.cavallaro@st.com>
description:    STMMAC 10/100/1000 Ethernet device driver
depends:        pcs_xpcs
intree:         Y
name:           stmmac
vermagic:       6.14.0-rc4-edge-rockchip64 SMP preempt mod_unload aarch64
parm:           watchdog:Transmit timeout in milliseconds (default 5s) (int)
parm:           debug:Message Level (-1: default, 0: no output, 16: all) (int)
parm:           phyaddr:Physical device address (int)
parm:           flow_ctrl:Flow control ability [on/off] (int)
parm:           pause:Flow Control Pause Time (int)
parm:           tc:DMA threshold control value (int)
parm:           buf_sz:DMA buffer size (int)
parm:           eee_timer:LPI tx expiration time in msec (uint)
parm:           chain_mode:To use chain instead of ring mode (int)

modinfo dwmac_rk filename: /lib/modules/6.12.17-current-rockchip64/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.ko license: GPL description: Rockchip RK3288 DWMAC specific glue layer author: Chen-Zhi (Roger Chen) <roger.chen@rock-chips.com> alias: of:N*T*Crockchip,rv1126-gmacC* alias: of:N*T*Crockchip,rv1126-gmac alias: of:N*T*Crockchip,rv1108-gmacC* alias: of:N*T*Crockchip,rv1108-gmac alias: of:N*T*Crockchip,rk3588-gmacC* alias: of:N*T*Crockchip,rk3588-gmac alias: of:N*T*Crockchip,rk3576-gmacC* alias: of:N*T*Crockchip,rk3576-gmac alias: of:N*T*Crockchip,rk3568-gmacC* alias: of:N*T*Crockchip,rk3568-gmac alias: of:N*T*Crockchip,rk3399-gmacC* alias: of:N*T*Crockchip,rk3399-gmac alias: of:N*T*Crockchip,rk3368-gmacC* alias: of:N*T*Crockchip,rk3368-gmac alias: of:N*T*Crockchip,rk3366-gmacC* alias: of:N*T*Crockchip,rk3366-gmac alias: of:N*T*Crockchip,rk3328-gmacC* alias: of:N*T*Crockchip,rk3328-gmac alias: of:N*T*Crockchip,rk3308-gmacC* alias: of:N*T*Crockchip,rk3308-gmac alias: of:N*T*Crockchip,rk3288-gmacC* alias: of:N*T*Crockchip,rk3288-gmac alias: of:N*T*Crockchip,rk3228-gmacC* alias: of:N*T*Crockchip,rk3228-gmac alias: of:N*T*Crockchip,rk3128-gmacC* alias: of:N*T*Crockchip,rk3128-gmac alias: of:N*T*Crockchip,px30-gmacC* alias: of:N*T*Crockchip,px30-gmac depends: stmmac,stmmac-platform intree: Y name: dwmac_rk vermagic: 6.12.17-current-rockchip64 SMP preempt mod_unload aarch64

revert to older armbian… and do not update (yet) X-D

here is a backup of working armbian version:

wget https://dwaves.de/software/iso/armbian/Armbian_24.11.1_Rockpi-e_bookworm_current_6.6.61_minimal.img.xz

sha512sum: fcd4d45fba1dffe5f117b49a58a837b39cabcdd9f7ee6641cbbf0ddd0433905eee314e8c12aeac77894e434daa2fbf2e0cd0981722508a52fb9ae4e2796bdd40

wget https://dwaves.de/software/iso/armbian/rk3328-rock-pi-e.dts ; # just in case user upgrades the thing X-D

in case user wants to update && upgrade: what to do?

# user can try this but not guranteed to work!
# the nic is enabled, but no traffic can be observed? :(
# warning! make backup of all data before testing this!
dtc -I dtb -O dts -o /tmp/rk3328-rock-pi-e.dts /boot/dtb/rockchip/rk3328-rock-pi-e.dtb; # compile from binary to human readable text
# this actually fixes the problem when the user is using this version of dts file
dtc -I dts -O dtb -o /boot/dtb/rockchip/rk3328-rock-pi-e.dtb /tmp/rk3328-rock-pi-e.dts; # recompile from human readable text to binary format and install it at the same time, after that reboot to test

# btw apt sources.list should probably look like this (non-free interesting :(
vim /etc/apt/sources.list
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
#deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware

deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
#deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware

deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware
#deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware

deb http://security.debian.org/ bookworm-security main contrib non-free non-free-firmware
#deb-src http://security.debian.org/ bookworm-security main contrib non-free non-free-firmware

RISC-V status quo latest board just dropped

even this latest RISCV board gets CPU wise absolutely +300% demolished by an older RK3588 ARMv8 (which might also be to the low clock speed of the RISC-V of 1.4GHz? why clocking so low?)

  • dentifier Apple M2 Ultra
  • Base Frequency 3.49 GHz
  • Cluster 1 16 Cores
  • Instruction set ARMv8.6-A[3] also known as AArch64 (src: Wiki)

which then also get’s +200% demolished by Xiami’s ARMv8? (how is Xiami doing it? because it’s almost the same CPU?)

 

it’s no wonder that the ARMv8 implementation with more cores and double the clock speed will be faster, really wonder why other vendors can not accieve higher clock speeds?

btw the RK3576 does not seem to be faster than the RK3588

Who is https://en.wikipedia.org/wiki/Rockchip?

ARMv9 around the corner?

who is Radxa?

how to setup install armbian on Rockpi-E RK3588 and run a full desktop + firefox without GPU? does it Debian? Yes it does 🙂

  • Radxa Rockpi E https://www.armbian.com/rockpie/
    • it has no hdmi out so is there a point in writing a desktop enabled disk image to microsdcard?
      • yes and no:
        • yes it is possible to use the desktop via vnc
        • no if user wants to connect a hdmi monitor
# on the user's computer
su - root
apt update
apt -y install xz-utils
# browser to and download https://www.armbian.com/rockpie/
xzcat ./Armbian_24.11.1_Rockpi-e_noble_current_6.6.61.img.xz | dd of=/dev/{YOUR_DEVICE} status=progress

# for example
xzcat ./Armbian_24.11.1_Rockpi-e_noble_current_6.6.61.img.xz | dd of=/dev/mmcblk0 status=progress

# now insert microsd card into the slot on the bottom of the rockpi-e
# with contacts of the microsdcard up (facing the board)

# connect 5V USB-C power (e.g. phone charger or USB port of PC)
# the green LED should light up immedialtey
# after max 30sec the blue LED (right from the green one) should start blinking after a few seconds
# indicating a successfull boot, if not: double check:
# reflash: don't flash to /dev/mmcblk0p1 and don't use any blocksize!

# how to login?
# luckily armbian smart has ssh enabled per default and default pwd set
# connect rockpi-e to a dhcp enabled lan
apt -y install netdiscover

# try to find it by mac
netdiscover
0.0.0.0      5e:4d:7e:a7:d2:95 3 180 Unknown vendor 
192.168.0.65 5e:4d:7e:a7:d2:95 5 300 Unknown vendor

# ssh into it
# usr: root pwd: 1234
ssh root@192.168.0.65
# give pwd 1234

# then a short setup starts
# where user is asked to set root pwd
# and create a new user "user"

# then chose from this english dialects X-D
83) en_AG
84) en_AU.UTF-8 <- went with this one
85) en_BW.UTF-8
86) en_CA.UTF-8
87) en_DK.UTF-8
88) en_GB.UTF-8
89) en_HK.UTF-8
90) en_IE.UTF-8
91) en_IL 260) sd_PK
92) en_IN 261) se_NO
93) en_NG 262) sgs_LT
94) en_NZ.UTF-8
95) en_PH.UTF-8
96) en_SC.UTF-8
97) en_SG.UTF-8
98) en_US.UTF-8
99) en_ZA.UTF-8
100) en_ZM 269) sm_WS
101) en_ZW.UTF-8

# success! :D

lscpu 
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Vendor ID: ARM
Model name: Cortex-A53
Model: 4
Thread(s) per core: 1
Core(s) per cluster: 4
Socket(s): -
Cluster(s): 1
Stepping: r0p4
CPU(s) scaling MHz: 100%
CPU max MHz: 1296.0000
CPU min MHz: 408.0000
BogoMIPS: 48.00
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
NUMA: 
NUMA node(s): 1
NUMA node0 CPU(s): 0-3
Vulnerabilities: 
Gather data sampling: Not affected
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Not affected
Reg file data sampling: Not affected
Retbleed: Not affected
Spec rstack overflow: Not affected
Spec store bypass: Not affected
Spectre v1: Mitigation; __user pointer sanitization
Spectre v2: Not affected
Srbds: Not affected
Tsx async abort: Not affected


how tun run full desktop:

test review benchmark armbian gnu linux on rockpi-e (RK3588 ARMv8 no GPU but desktop via x11vnc and xvfb) (geekbench v5 and v6 (arm) problems)

Links: https://docs.armbian.com/User-Guide_Getting-Started/

NVIDIA Jetson Orion Nano?

Links:

Videos:

 

liked this article?

  • only together we can create a truly free world
  • plz support dwaves to keep it up & running!
  • (yes the info on the internet is (mostly) free but beer is still not free (still have to work on that))
  • really really hate advertisement
  • contribute: whenever a solution was found, blog about it for others to find!
  • talk about, recommend & link to this blog and articles
  • thanks to all who contribute!
admin