@MattWestB no problem!
@Petroz took a look into the dtb you sent, but found nothing so different than regular base dtb shipped with armbian.
emmc, sdcard and sdio wifi are all child of the same "master" controller, so often when there is a problem with one of them, also others may suffer. Here I absolutely don't know what is the cause of the problem, the board looks like an already known board (probably the board name is written below the heatsink).
I may suggest you to try the multitool and see if you got the same errors in dmesg? multitool uses rockchip legacy 4.19 kernel and things may be a little different there.
@Petroz
eMMC is mmc2 device, and from your dmesg I read:
[ 1.901356] mmc2: card has unknown MMCA version 6
[ 1.901408] mmc2: error -22 whilst initialising MMC card
so, for some reason, your eMMC does not behave well. Can't say anything more, I have never seen such error and can absolutely be a faulty eMMC.
Did you run rk3318-config? Maybe setting/unsetting the emmc-pins overlay can change the situation.
mmc1 is wifi device attached to SDIO bus, mmc0 is the sdcard which has also has a problem getting into high-speed mode, but at least it works.
It would be nice to have some pictures of the board and maybe the original firmware and or its dtb to understand if there are peculiar differences from other boards
From the log:
MMC0 = SD-Card
MMC1 = is the WiFi card but i think its not finding the firmware for it.
MMC2 = eMMC but its being probed with very strange clock speed.
MMC3 = not used or its the eMMC.
With RK-3228 boxes its not working good at the first boot then the system is loading NAND and eMMC support.
If first config no eMMC and only NAND and rebooting and the config only eMMC support and booting and updating the system its being detected in full speed and working OK.
For the WiFi have you loading the full firmware pack ?
The problematic files is in the git https://github.com/armbian/firmware/blob/master/brcm/brcmfmac4330-sdio.rockchip,rk3318-box.txt.
@Petroz Hi!
apt upgrade is safe as long as you mark the linux image and kernel headers as hold, because mainline armbian has no knowledge of rk3318-box and thus their packages do not contain necessary things for rk3318. It's all written in the first page in the installation instructions, apt command included.
Of course, you can use the internal eMMC the way you like.
The missing device is a fault of your board, it is normally available on all boards but many boards also have faulty emmc chips.
dmesg could help.
at first I would like to thank jock for his great work.
It's probably kind of dumb questions, but I'll ask it anyway Should we use apt-get upgrade for those images? Because, when I did, the armbian seems to be crashing during next boot. It seems that rk3318-box.dst is not in a /boot/dts/rockchip directory after the upgrade, and uboot tries to boot from the mmc0 instead of mmc1. My box is H96 max 4GB/64GB which I bought really cheap due to fact it's bricked and always starts in a maskrom mode. Below is the log from uart :
ID:0xFFF
In
DDR3
333MHz
Bus Width=32 Col=11 Bank=8 Row=16 CS=1 Die Bus-Width=16 Size=4096MB
ddrconfig:3
OUT
U-Boot SPL 2021.07-armbian (Jan 25 2022 - 12:54:45 +0000)
Trying to boot from MMC1
NOTICE: BL31: v2.5(release):c1588782-dirty
NOTICE: BL31: Built : 12:54:38, Jan 25 2022
NOTICE: BL31:Rockchip release version: v1.2
U-Boot 2021.07-armbian (Jan 25 2022 - 12:54:45 +0000)
Model: Rockchip RK3318 BOX
DRAM: 4 GiB
MMC: mmc@ff500000: 1, mmc@ff520000: 0, dwmmc@ff5f0000: 3
Loading Environment from MMC... MMC: block number 0x400000 exceeds max(0x4)
*** Warning - !read failed, using default environment
In: serial@ff130000
Out: serial@ff130000
Err: serial@ff130000
Model: Rockchip RK3318 BOX
Net: eth1: ethernet@ff550000
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot/boot.scr
3185 bytes read in 5 ms (622.1 KiB/s)
## Executing script at 00500000
Boot script loaded from mmc 1
211 bytes read in 4 ms (50.8 KiB/s)
11502551 bytes read in 505 ms (21.7 MiB/s)
30345728 bytes read in 1321 ms (21.9 MiB/s)
Failed to load '/boot/dtb/rockchip/rk3318-box.dtb'
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
2698 bytes read in 10 ms (262.7 KiB/s)
Applying kernel provided DT fixup script (rockchip-fixup.scr)
## Executing script at 08000000
Moving Image from 0x2080000 to 0x2200000, end=3f90000
## Loading init Ramdisk from Legacy Image at 06000000 ...
Image Name: uInitrd
Image Type: AArch64 Linux RAMDisk Image (gzip compressed)
Data Size: 11502487 Bytes = 11 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
SCRIPT FAILED: continuing...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Scanning disk mmc@ff500000.blk...
Scanning disk mmc@ff520000.blk...
fs_devread read outside partition 1024
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
Card did not respond to voltage select! : -110
Scanning disk dwmmc@ff5f0000.blk...
Disk dwmmc@ff5f0000.blk not ready
Found 3 disks
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
Card did not respond to voltage select! : -110
starting USB...
Bus usb@ff5c0000: USB EHCI 1.00
Bus usb@ff5d0000: USB OHCI 1.0
Bus usb@ff580000: USB DWC2
scanning bus usb@ff5c0000 for devices... 1 USB Device(s) found
scanning bus usb@ff5d0000 for devices... 1 USB Device(s) found
scanning bus usb@ff580000 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
The other question I have is : canthe eMMC be used as additional storage while booting from SD card? I've checked and there's no additional mmcblk device in /dev. Is the eMMC configuration is missing in devicetree, or its something related to my board (faulty emmc?).