-
Posts
35 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Everything posted by humanus
-
Here's lspci -vvv with an older Radeon: https://paste.armbian.com/zisezuqoza.yaml and boot UART log (it boots but no display is visible) https://paste.armbian.com/asizofulux.sql Here's the same with Radeon RX 550: https://paste.armbian.com/ovinibafux.yaml The kernel complained about missing firmware (for polaris11), which actually was not missing. I had to regenerate initramfs using initramfsctl. After regenerating, the board stopped booting with the card connected: https://paste.armbian.com/qitiwiwoge.yaml Not sure how useful lsusb would be. So it's not super stable yet. I saw that you made these modules built-in. This is not necessary, selecting [M] is enough because then they can be loaded or unloaded (to try passing the card through to a VM I need to blacklist the module, which doesn't work for built-in modules). This is something I can try to do to get display output. Oh and WiFi isn't detected at all but that's probably not a surprise.
-
Yes, of course, but as you said yourself, there are issues with ethernet on mainline. So you can just use a dongle as a temporary workaround to get a stable (or any) connection.
-
Thanks. Missing firmware is not a problem, to fix it one just needs to install armbian-firmware-full.
-
I set up WiFi via serial connection. Then the UI started on the display. You can also do this via USB ethernet dongle.
-
I've not tried the build with working ethernet yet. As for the DP Alt Mode, I had no issues so far with mainline. It might depend a bit on the adapter, the one I tried works great but I can try others which may be worse. I buy very low priced stuff usually, so some may have problems, and it would be representative.
-
amdgpu this one is crucial. nouveau and radeon could be useful but the first one is for nvidia cards (I don't have any to test) and the second one is useful for very old cards mainly. But I'll try passing them through to a VM, for this I don't need any modules other than IOMMU working Just tried your image for Rock 2F, it boots.
-
@alexc Thanks... But the state of PCIE on raspberry pi is much better than on this board. Before getting the GPU working, we should concentrate on getting anything working via the PCIE, and so far now I've not been able to get anything to work (I'll try an nvme drive soon).
-
@alexc amdgpu, it is built as a mainline module by default from what I can see, as well as pcie support.
-
Where did you get the kernel source? I want to add some kernel modules to the config. Or is it vanilla 7.1 from Armbian?
-
to use it on Rock 2F I can just point it to the 2F device tree, right?
-
@alexc With the latest changes from you, incorporated by Nick, the 6.18 kernel boots. But there's a problem with PCI-Express. I can't get anything to work. I tried a GPU and a USB 3.0 hub, connected via a powered flex-to-pcie-1x adapter. Both are detected and get power but don't work. When I do lspci, the hub appears (the GPU doesn't) and when I try `lspci -t`, I get a segmentation fault. So something is wrong. Here is the log: https://paste.armbian.eu/akilodanus.yaml
-
I have no eMMC and the card isn't UHS-II (I use WD Purple cards, they are UHS-I). I don't think I have any UHS-II cards at the moment... Could try a different one though.
-
@alexc @qq20739111 I would be very surprised if the UART log showed anything other than mine. You can find it attached above.
-
@qq20739111 No, this was on 6.18. I already purged this image and the dtbs were updated since then, but the boot log is here: https://paste.armbian.eu/ewudaciluc.pl
-
I downloaded the image. And yes, of course, I needed to set up the wifi connection when armbian asked me to.
-
In my case, WiFi connects correctly on mainline on A7S. Haven't gotten any DP output yet, only on 6.6. There is some spam about DP in UART.
-
I could not get PCIE to work properly on BSP 6.6 on the A7S, but maybe it was my mistake. For SATA over M.2 to work (in case on m.2 SATA drives), the device need to support this electrically, which I'm not sure if A7x boards do. Sent from my SM-S931B using Tapatalk
-
Of course, you can build an A7S image now as well. There's no display output yet.
-
I'm using armbian trixie/BSP 6.6.98 by @Nick A with thermal throttling disabled (`step_wise` policy) and with the performance governor (shouldn't matter that much).
-
I ran Geekbench on the A7S with all the clocks at maximum. Here are the results: https://browser.geekbench.com/v5/cpu/24253556 https://browser.geekbench.com/v6/cpu/17727869 And your script gives me: ╔══════════════════════════════════════════════════╗ ║ CPU Performance Benchmark Tool v1.0 ║ ║ Single · Multi-Core · Big/LITTLE Benchmark ║ ║ Auto-detects heterogeneous cores ║ ╚══════════════════════════════════════════════════╝ ════════════════════════════════════════════════════════════ System Info ════════════════════════════════════════════════════════════ OS: Linux 6.6.98-vendor-sun60iw2 (aarch64) Processor: aarch64 Logical cores: 8 Core topology: 8 cores [homogeneous / unprobed] Python: 3.13.5 (CPython) Test time: 2026-04-21 00:46:32 Single-core 5s/test | Per-core 3rounds x 3s | 8 dimensions ════════════════════════════════════════════════════════════ Single Core Benchmark (Fastest Core) ════════════════════════════════════════════════════════════ [1/8] Integer (Prime Sieve) ... 4637 iters / 5.00s (927.39 ops/s) [2/8] Float (Matrix Mul) ... 7 iters / 5.12s (1.37 ops/s) [3/8] Float (FFT) ... 3 iters / 7.05s (0.43 ops/s) [4/8] Hash (SHA-256) ... 114 iters / 5.02s (22.70 ops/s) [5/8] Memory Sort ... 4 iters / 6.56s (0.61 ops/s) [6/8] Recursion (Fibonacci) ... 1 iters / 11.63s (0.09 ops/s) [7/8] Math (Pi) ... 1852 iters / 5.00s (370.35 ops/s) [8/8] Compress (zlib) ... 25 iters / 5.14s (4.86 ops/s) ════════════════════════════════════════════════════════════ Per-Core Power Probe (8 logical cores) ════════════════════════════════════════════════════════════ System reports no heterogeneous topology, probing empirically 3 rounds x 3s/round, warmup 0.5s, pinned mode, 8 workers Probing Integer (3 rounds): Round 1/3 ... max 923.9 min 277.1 ratio 3.33x pinned Round 2/3 ... max 922.6 min 275.2 ratio 3.35x pinned Round 3/3 ... max 921.8 min 273.9 ratio 3.37x pinned Median results (3 rounds): Core 6: 922.63 ops/s [████████████████████] 100.0% Core 7: 916.12 ops/s [███████████████████░] 99.3% Core 4: 276.21 ops/s [█████░░░░░░░░░░░░░░░] 29.9% Core 1: 276.10 ops/s [█████░░░░░░░░░░░░░░░] 29.9% Core 3: 276.04 ops/s [█████░░░░░░░░░░░░░░░] 29.9% Core 5: 275.76 ops/s [█████░░░░░░░░░░░░░░░] 29.9% Core 2: 275.56 ops/s [█████░░░░░░░░░░░░░░░] 29.9% Core 0: 275.17 ops/s [█████░░░░░░░░░░░░░░░] 29.8% -> Heterogeneity detected: 2 big cores (avg 919.4 ops/s) + 6 little cores (avg 275.8 ops/s) ratio 3.33x Probing Float (3 rounds): Round 1/3 ... max 370.4 min 95.4 ratio 3.88x pinned Round 2/3 ... max 371.1 min 95.4 ratio 3.89x pinned Round 3/3 ... max 369.5 min 95.3 ratio 3.88x pinned Median results (3 rounds): Core 6: 370.39 ops/s [████████████████████] 100.0% Core 7: 369.28 ops/s [███████████████████░] 99.7% Core 5: 95.59 ops/s [█████░░░░░░░░░░░░░░░] 25.8% Core 4: 95.51 ops/s [█████░░░░░░░░░░░░░░░] 25.8% Core 1: 95.46 ops/s [█████░░░░░░░░░░░░░░░] 25.8% Core 3: 95.46 ops/s [█████░░░░░░░░░░░░░░░] 25.8% Core 2: 95.45 ops/s [█████░░░░░░░░░░░░░░░] 25.8% Core 0: 95.36 ops/s [█████░░░░░░░░░░░░░░░] 25.7% -> Heterogeneity detected: 2 big cores (avg 369.8 ops/s) + 6 little cores (avg 95.5 ops/s) ratio 3.87x Multi-benchmark cross-validation agrees: 2 big + 6 little System didn't report heterogeneous, but probe found 2 big + 6 little (ratio 3.58x) ════════════════════════════════════════════════════════════ Big/Little Independent Benchmark (2 big + 6 little) ════════════════════════════════════════════════════════════ Three phases: big(2 threads) / little(6 threads) / mixed(8 threads) [1/8] Integer (Prime Sieve) Big ( 2 threads): iters 3637 | throughput 1818.20 ops/s | per-core min/avg/max: 907.88/909.10/910.33 Little ( 6 threads): iters 5881 | throughput 2939.47 ops/s | per-core min/avg/max: 275.72/489.91/924.17 Mixed ( 8 threads): iters 6989 | throughput 3492.59 ops/s | per-core min/avg/max: 275.81/436.57/919.04 Speedup: big 1.97x little 3.18x mixed 3.78x Efficiency: big 98.4% little 53.0% mixed 47.3% Big per-core min/avg/max: 907.88/909.10/910.33 ops/s Little per-core min/avg/max: 275.72/489.91/924.17 ops/s Mixed per-core min/avg/max: 275.81/436.57/919.04 ops/s [2/8] Float (Matrix Mul) Big ( 2 threads): iters 4 | throughput 1.14 ops/s | per-core min/avg/max: 0.57/0.57/0.57 Little ( 6 threads): iters 8 | throughput 1.95 ops/s | per-core min/avg/max: 0.23/0.32/0.51 Mixed ( 8 threads): iters 8 | throughput 2.59 ops/s | per-core min/avg/max: 0.24/0.32/0.48 Speedup: big 1.48x little 2.54x mixed 3.37x Efficiency: big 74.2% little 42.3% mixed 42.1% Big per-core min/avg/max: 0.57/0.57/0.57 ops/s Little per-core min/avg/max: 0.23/0.32/0.51 ops/s Mixed per-core min/avg/max: 0.24/0.32/0.48 ops/s [3/8] Float (FFT) Big ( 2 threads): iters 2 | throughput 0.74 ops/s | per-core min/avg/max: 0.37/0.37/0.37 Little ( 6 threads): iters 6 | throughput 1.51 ops/s | per-core min/avg/max: 0.18/0.25/0.36 Mixed ( 8 threads): iters 8 | throughput 1.79 ops/s | per-core min/avg/max: 0.16/0.22/0.35 Speedup: big 1.93x little 3.93x mixed 4.65x Efficiency: big 96.3% little 65.4% mixed 58.1% Big per-core min/avg/max: 0.37/0.37/0.37 ops/s Little per-core min/avg/max: 0.18/0.25/0.36 ops/s Mixed per-core min/avg/max: 0.16/0.22/0.35 ops/s [4/8] Hash (SHA-256) Big ( 2 threads): iters 90 | throughput 44.91 ops/s | per-core min/avg/max: 22.44/22.45/22.47 Little ( 6 threads): iters 192 | throughput 93.90 ops/s | per-core min/avg/max: 12.15/15.65/22.60 Mixed ( 8 threads): iters 241 | throughput 117.73 ops/s | per-core min/avg/max: 12.10/14.72/22.54 Speedup: big 1.98x little 4.14x mixed 5.19x Efficiency: big 99.0% little 69.0% mixed 64.9% Big per-core min/avg/max: 22.44/22.45/22.47 ops/s Little per-core min/avg/max: 12.15/15.65/22.60 ops/s Mixed per-core min/avg/max: 12.10/14.72/22.54 ops/s [5/8] Memory Sort Big ( 2 threads): iters 4 | throughput 1.06 ops/s | per-core min/avg/max: 0.53/0.53/0.53 Little ( 6 threads): iters 6 | throughput 2.01 ops/s | per-core min/avg/max: 0.23/0.33/0.49 Mixed ( 8 threads): iters 8 | throughput 2.28 ops/s | per-core min/avg/max: 0.19/0.29/0.47 Speedup: big 1.78x little 3.37x mixed 3.83x Efficiency: big 89.1% little 56.2% mixed 47.9% Big per-core min/avg/max: 0.53/0.53/0.53 ops/s Little per-core min/avg/max: 0.23/0.33/0.49 ops/s Mixed per-core min/avg/max: 0.19/0.29/0.47 ops/s [6/8] Recursion (Fibonacci) Big ( 2 threads): iters 2 | throughput 0.17 ops/s | per-core min/avg/max: 0.08/0.08/0.09 Little ( 6 threads): iters 6 | throughput 0.36 ops/s | per-core min/avg/max: 0.04/0.06/0.08 Mixed ( 8 threads): iters 8 | throughput 0.43 ops/s | per-core min/avg/max: 0.04/0.05/0.08 Speedup: big 2.00x little 4.20x mixed 5.07x Efficiency: big 100.0% little 70.1% mixed 63.4% Big per-core min/avg/max: 0.08/0.08/0.09 ops/s Little per-core min/avg/max: 0.04/0.06/0.08 ops/s Mixed per-core min/avg/max: 0.04/0.05/0.08 ops/s [7/8] Math (Pi) Big ( 2 threads): iters 1492 | throughput 745.39 ops/s | per-core min/avg/max: 370.74/372.70/374.65 Little ( 6 threads): iters 2263 | throughput 1130.50 ops/s | per-core min/avg/max: 94.95/188.42/375.07 Mixed ( 8 threads): iters 2642 | throughput 1319.41 ops/s | per-core min/avg/max: 95.16/164.93/374.73 Speedup: big 2.03x little 3.07x mixed 3.58x Efficiency: big 101.3% little 51.2% mixed 44.8% Big per-core min/avg/max: 370.74/372.70/374.65 ops/s Little per-core min/avg/max: 94.95/188.42/375.07 ops/s Mixed per-core min/avg/max: 95.16/164.93/374.73 ops/s [8/8] Compress (zlib) Big ( 2 threads): iters 20 | throughput 9.51 ops/s | per-core min/avg/max: 4.73/4.75/4.78 Little ( 6 threads): iters 40 | throughput 18.53 ops/s | per-core min/avg/max: 2.21/3.09/4.78 Mixed ( 8 threads): iters 50 | throughput 22.02 ops/s | per-core min/avg/max: 2.09/2.75/4.62 Speedup: big 1.96x little 3.81x mixed 4.53x Efficiency: big 97.8% little 63.5% mixed 56.6% Big per-core min/avg/max: 4.73/4.75/4.78 ops/s Little per-core min/avg/max: 2.21/3.09/4.78 ops/s Mixed per-core min/avg/max: 2.09/2.75/4.62 ops/s ════════════════════════════════════════════════════════════ Score Report (Heterogeneous: 2 big + 6 little) ════════════════════════════════════════════════════════════ Test Single Big Little Mixed Big eff Little eff ──────────────────────────────────────────────────────────────────────────────── Integer (Prime Sieve) 11592 22728 36743 43657 98.4% 53.0% Float (Matrix Mul) 2733 2282 3899 5183 74.2% 42.3% Float (FFT) 142 247 503 596 96.3% 65.4% Hash (SHA-256) 1514 2994 6260 7849 99.0% 69.0% Memory Sort 203 354 670 761 89.1% 56.2% Recursion (Fibonacci) 29 57 119 144 100.0% 70.1% Math (Pi) 1852 3727 5652 6597 101.3% 51.2% Compress (zlib) 972 1901 3705 4405 97.8% 63.5% ──────────────────────────────────────────────────────────────────────────────── Single geomean.................... 719 Big group geomean................. 1236 Little group geomean.............. 2289 Mixed geomean..................... 2760 ════════════════════════════════════════════════════════════ Big/Little Power Comparison ════════════════════════════════════════════════════════════ Big/Little power ratio (from per-core probe): 3.58x Big avg ops/s: 1.99 Little avg ops/s: 0.56 Power composition: Big (2 cores): [████████████████░░░░░░░░░░░░░░] 54.4% 54.4% Little (6 cores): [█████████████░░░░░░░░░░░░░░░░░] 45.6% 45.6% Equivalent big cores: 3.7 (little cores converted to big power) ══════════════════════════════════════════════════ Single score: 719 (fastest core) Big group score: 1236 (big cores only) Little group score: 2289 (little cores only) Mixed score: 2760 (big+little mixed) Mixed / Single: 3.84x ══════════════════════════════════════════════════ Benchmark complete!
-
Wow, thank you for this comprehensive answer. It will probably take me about as much time as until 6.19 is released to try and understand it 😂 Why does this say archlinux? And also, where to get these "idbloader.img" and "u-boot.itb" files from? The console is ttyS0, it works.
-
yeah, this is quite helpful, although the best solution is to wait at least until 6.19. But now I can see that the board was not abandoned, which I was a bit worried about. It seems to be a nice entry-level option and compatibility of both boards with rpi5 HATs due to the exposed PCIe is a great feature. I found the A53 cores quite speedy on Rock 2F and also not to produce much heat. That's why I might have been a bit impatient (I want to be able to use the pcie with mainline fixes).
-
Hi again, it booted and I get console output using this config: # Rockchip RK3528 quad core 1-4GB SoC WIFI/BT 0-32GB eMMC BOARD_NAME="ROCK 2F" BOARD_VENDOR="radxa" BOARDFAMILY="rk35xx" BOOTCONFIG="rock-2-rk3528_defconfig" BOARD_MAINTAINER="CodeChenL" KERNEL_TARGET="vendor,edge" KERNEL_TEST_TARGET="vendor" FULL_DESKTOP="yes" BOOT_LOGO="desktop" BOOT_FDT_FILE="rockchip/rk3528-rock-2f.dtb" BOOT_SCENARIO="spl-blobs" IMAGE_PARTITION_TABLE="gpt" enable_extension "radxa-aic8800" AIC8800_TYPE="usb" function post_family_config__rock2f_use_mainline_uboot() { [[ "${BRANCH}" == "vendor" ]] && return 0 display_alert "$BOARD" "Mainline U-Boot overrides for $BOARD - $BRANCH" "info" # To reuse ATF code in rockchip64_common, let's change the BOOT_SCENARIO and call prepare_boot_configuration() again # BOOT_SCENARIO="tpl-blob-atf-mainline" # prepare_boot_configuration # declare -g BOOTCONFIG="generic-rk3528_defconfig" declare -g BOOTDELAY=1 declare -g BOOTSOURCE="https://github.com/u-boot/u-boot.git" declare -g BOOTBRANCH="tag:v2026.01-rc4" declare -g BOOTPATCHDIR="v2026.01" declare -g BOOTDIR="u-boot-${BOARD}" declare -g UBOOT_TARGET_MAP="BL31=${RKBIN_DIR}/${BL31_BLOB} ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB};;u-boot-rockchip.bin" unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already declare -g BOOTSCRIPT="boot-rockchip64-ttyS0.cmd:boot.cmd" declare -g SERIALCON="ttyS0" # Just use the binman-provided u-boot-rockchip.bin, which is ready-to-go function write_uboot_platform() { dd "if=$1/u-boot-rockchip.bin" "of=$2" bs=32k seek=1 conv=notrunc status=none } function write_uboot_platform_mtd() { flashcp -v -p "$1/u-boot-rockchip-spi.bin" /dev/mtd0 } } I'll try working on it using github. Still I cannot write in the serial console for some reason. There is zero input. So from what I understand, USB won't work with kernel 6.18, right? The wifi won't work as its aic8800-usb, and usb Ethernet either. With no serial input I have no way to communicate with the board. EDIT: I fixed the issue with not being able to conect via serial, it was because of a HAT that was connected. EDIT2: I figured out how to compile kernel 6.19-rc1. Some patches failed, I just removed them for now. I can send you @johlnx the command. EDIT3: Managed to boot 6.19 but it's pretty barebones. No usb, no pci etc. Time is not correct below. Linux rock-2f 6.19.0-rc1-edge-rockchip64 #8 SMP PREEMPT Sun Dec 14 04:05:07 UTC 2025 aarch64 GNU/Linux Now I can wait for your proper implementation.
-
@johlnx Please use paste.armbian.eu, also it seems a bit off-topic Ah I see, you just made a typo and wrote "RK3588" instead of "RK3528".
-
I thought that if something is in mainline it would be quite usable out of the box. I guess not really... And I just learned about this ATF/TF-A thing, not sure what this does yet other than not existing for RK3528. And yes, if I was more experienced I would probably use GitHub to work on this. However, git is quite a complicated tool for people with no formal training in it, with a lot of jargon and assumed knowledge about how branches work. GitHub adds another layer of complexity with its forks. So you are right in principle but only assuming someone knows how to use these tools properly. Anyway, with some stuff commented out and one of Werner's lines changed to declare -g UBOOT_TARGET_MAP="BL31=${RKBIN_DIR}/${BL31_BLOB} ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB};;u-boot-rockchip.bin" the image builds. I also saw the KERNELBRANCH parameter for the build command, but as far as I understand, 6.19.something doesn't exist yet?
