Vim3 doesn't boot anymore from emmc

Hi All,

Today I rebooted my vim3 and it didn’t came back to life. I was running mainline linux (5.10-rc6) from emmc (no sdcard) and I didn’t have any big issues so far… until now.

I think the error is related to this message (full log below):

Device 0: unknown device
Card did not respond to voltage select! : -110

Any ideas on how to fix it?

This is the output of mmc info from uboot:

=> mmc info
Device: mmc@ffe07000
Manufacturer ID: 15
OEM: 100
Name: BJTD4 
Bus Speed: 52000000
Mode: MMC High Speed (52MHz)
Rd Block Len: 512
MMC version 5.1
High Capacity: Yes
Capacity: 29.1 GiB
Bus Width: 4-bit
Erase Group Size: 512 KiB
HC WP Group Size: 8 MiB
User Capacity: 29.1 GiB WRREL
Boot Capacity: 4 MiB ENH
RPMB Capacity: 4 MiB ENH
Boot area 0 is not write protected
Boot area 1 is not write protected
=> mmc list
sd@ffe03000: 0
sd@ffe05000: 1
mmc@ffe07000: 2 (eMMC)

Here is the full serial log up until the crash:

G12B:BL:6e7c85:2a3b91;FEAT:E0F83180:402000;POC:B;RCY:0;SPINOR:0;CHK:1F;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: 222756

BL2 Built : 15:22:05, Aug 28 2019. g12b g1bf2b53 - luan.yuan@droid15-sz

Board ID = 8
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: 0003ae02
eMMC boot @ 0
sw8 s
DDR driver_vesion: LPDDR4_PHY_V_0_1_18 build time: Aug 28 2019 15:22:01
board id: 8
Load FIP HDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
fw parse done
Load ddrfw from eMMC, src: 0x00060200, des: 0xfffd0000, size: 0x0000c000, part: 0
Load ddrfw from eMMC, src: 0x00038200, des: 0xfffd0000, size: 0x00004000, part: 0
PIEI prepare done
fastboot data load
00000000
emmc switch 1 ok
00000000
emmc switch 2 ok
fastboot data verify
verify result: 265
Cfg max: 4, cur: 1. Board id: 255. Force loop cfg
LPDDR4 probe
ddr clk to 1608MHz
Load ddrfw from eMMC, src: 0x0003c200, des: 0xfffd0000, size: 0x0000c000, part: 0
00000000
emmc switch 0 ok

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 Write leveling coarse delay
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read dq deskew training
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
Load ddrfw from eMMC, src: 0x00048200, des: 0xfffd0000, size: 0x0000c000, part: 0
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!

channel==0
RxClkDly_Margin_A0==87 ps 9
TxDqDly_Margin_A0==106 ps 11
RxClkDly_Margin_A1==106 ps 11
TxDqDly_Margin_A1==106 ps 11
TrainedVREFDQ_A0==27
TrainedVREFDQ_A1==26
VrefDac_Margin_A0==27
DeviceVref_Margin_A0==27
VrefDac_Margin_A1==27
DeviceVref_Margin_A1==26


channel==1
RxClkDly_Margin_A0==106 ps 11
TxDqDly_Margin_A0==106 ps 11
RxClkDly_Margin_A1==97 ps 10
TxDqDly_Margin_A1==106 ps 11
TrainedVREFDQ_A0==25
TrainedVREFDQ_A1==25
VrefDac_Margin_A0==26
DeviceVref_Margin_A0==25
VrefDac_Margin_A1==26
DeviceVref_Margin_A1==25

 dwc_ddrphy_apb_wr((0<<20)|(2<<16)|(0<<12)|(0xb0):0004 

soc_vref_reg_value 0x 00000024 00000024 00000025 00000023 00000024 00000025 00000025 00000025 00000024 00000022 00000024 00000023 00000026 00000026 00000025 00000025 00000025 00000027 00000024 00000026 00000025 00000025 00000025 00000023 00000026 00000025 00000024 00000026 00000025 00000025 00000025 00000025 dram_vref_reg_value 0x 00000013
2D training succeed
aml_ddr_fw_vesion: LPDDR4_PHY_V_0_1_18 build time: Aug 28 2019 13:54:19
auto size-- 65535DDR cs0 size: 2048MB
DDR cs1 size: 2048MB
DMC_DDR_CTRL: 00e00024DDR size: 3928MB
cs0 DataBus test pass
cs1 DataBus test pass
cs0 AddrBus test pass
cs1 AddrBus test pass

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: 0x000a8000, 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 13 1c 00 00 0f 35 37 4d 4d 4e 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.01 (Feb 19 2021 - 01:25:38 +0000) khadas-vim3

Model: Khadas VIM3
SoC:   Amlogic Meson G12B (A311D) Revision 29:b (10:2)
DRAM:  3.8 GiB
MMC:   sd@ffe03000: 0, sd@ffe05000: 1, mmc@ffe07000: 2
Loading Environment from FAT... detect... booted from emmc...
OK
DISPLAY: setup failsave FullHD mode
In:    serial
Out:   serial
Err:   serial
fusb302_init: Device ID: 0x91
CC connected in 1 as UFP
fusb302 detect chip.port_num = 0
Net:   eth0: ethernet@ff3f0000
Card did not respond to voltage select! : -110
Failed to load 'splash.bmp'
Card did not respond to voltage select! : -110
Failed to load '/usr/share/fenix/logo/logo.bmp'
Error: Bad gzipped data
There is no valid bmp file at the given address
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
Hit SPACE in 1 seconds to stop autobootSF: Detected w25q128fw with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x160000, size 0x8000
SF: 32768 bytes @ 0x160000 Read: OK
** Script wrong header **

Device 0: unknown device
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
switch to partitions #0, OK
mmc2(part 0) is current device
Scanning mmc 2:1...
51661 bytes read in 4 ms (12.3 MiB/s)
ethernet@ff3f0000 Waiting for PHY auto negotiation to complete......... TIMEOUT !

Edit: Booting from an sdcard seem to be working correctly.

It seems like after a system upgrade or something like that a bunch of stuff went missing from /boot.

I booted into the sdcard and copied some files that were missing from the emmc’s boot partition, and it got to start booting linux, but it seems like it is not able to mount the main partition.

This is where the boot hangs:

U-Boot 2021.01 (Feb 19 2021 - 01:25:38 +0000) khadas-vim3

Model: Khadas VIM3
SoC:   Amlogic Meson G12B (A311D) Revision 29:b (10:2)
DRAM:  3.8 GiB
MMC:   sd@ffe03000: 0, sd@ffe05000: 1, mmc@ffe07000: 2
Loading Environment from FAT... detect... booted from emmc...
OK
DISPLAY: setup failsave FullHD mode
In:    serial
Out:   serial
Err:   serial
fusb302_init: Device ID: 0x91
CC connected in 1 as UFP
fusb302 detect chip.port_num = 0
Net:   eth0: ethernet@ff3f0000
Card did not respond to voltage select! : -110
Failed to load 'splash.bmp'
Card did not respond to voltage select! : -110
Failed to load '/usr/share/fenix/logo/logo.bmp'
Error: Bad gzipped data
There is no valid bmp file at the given address
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
Hit SPACE in 1 seconds to stop autobootSF: Detected w25q128fw with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x160000, size 0x8000
SF: 32768 bytes @ 0x160000 Read: OK
** Script wrong header **

Device 0: unknown device
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
switch to partitions #0, OK
mmc2(part 0) is current device
Scanning mmc 2:1...
Found U-Boot script /boot.ini
9333 bytes read in 1 ms (8.9 MiB/s)
## Script run a:08000000 l:9314 c:0
Starting boot.ini...
Setting bus to 0
saradc: 0x0, hw_ver: 0x32 (VIM3.V12)
uboot type: mainline
Scanning mmc 0:1...
Card did not respond to voltage select! : -110
Scanning mmc 0:5...
Card did not respond to voltage select! : -110
Scanning mmc 1:1...
Card did not respond to voltage select! : -110
Scanning mmc 1:5...
Card did not respond to voltage select! : -110
Scanning mmc 2:1...
12287308 bytes read in 514 ms (22.8 MiB/s)
22188040 bytes read in 929 ms (22.8 MiB/s)
51661 bytes read in 3 ms (16.4 MiB/s)
Failed to load '/boot/env.txt'
3780 bytes read in 1 ms (3.6 MiB/s)
Import env.txt
Found custom ethmac: d6:a6:1d:25:02:8a, overwrite eth_mac!
Booting mainline kernel...
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
Setting bus to 0
port mode is usb3.0
Apply dtbo uart3
Failed to load '/dtb/overlays/kvim3/uart3.dtbo'
Apply dtbo pwm_f
Failed to load '/dtb/overlays/kvim3/pwm_f.dtbo'
Apply dtbo i2c3
Failed to load '/dtb/overlays/kvim3/i2c3.dtbo'
Apply dtbo os08a10
Failed to load '/dtb/overlays/kvim3/os08a10.dtbo'
Remove eMMC vendor partitions...
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
## Loading init Ramdisk from Legacy Image at 13000000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    12287244 Bytes = 11.7 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 01000000
   Booting using the fdt blob at 0x1000000
   Loading Ramdisk to 7f448000, end 7ffffd0c ... OK
   Loading Device Tree to 000000007f3d3000, end 000000007f447fff ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.10.0-rc6 (root@b849dcacca66) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #1.0.2 SMP Fri Feb 19 18:16:08 UTC 2021
[    0.000000] Machine model: Khadas VIM3
[    0.000000] Reserved memory: created CMA memory pool at 0x00000000bc800000, size 896 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000f4806fff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000004ffffff]
[    0.000000]   node   0: [mem 0x0000000005300000-0x00000000f4806fff]
[    0.000000] Zeroed struct page in unavailable ranges: 1017 pages
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000000f4806fff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] percpu: Embedded 23 pages/cpu s54936 r8192 d31080 u94208
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 985062
[    0.000000] Kernel command line: root=UUID=4110d4cd-3636-4768-aa8d-2cd02ee74256 rootfstype=ext4 rootflags=data=writeback rw ubootpart=7d835bd3-01 console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 loglevel=7 osd12  fsck.repair=yes net.ifnames=0    jtag=disable mac=d6:a6:1d:25:02:8a  fan=auto khadas_board=VIM3 hwver=VIM3.V12 coherent_pool=2M  imagetype=EMMC_MBR uboottype=mainline 
[    0.000000] uboot setup mac-addr: d6:a6:1d:25:02:8a
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x000000003bfff000-0x000000003ffff000] (64MB)
[    0.000000] Memory: 2904440K/4002844K available (12222K kernel code, 1828K rwdata, 4940K rodata, 2624K init, 789K bss, 180900K reserved, 917504K cma-reserved)
[    0.000000] random: get_random_u64 called from cache_random_seq_create+0x80/0x178 with crng_init=0
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=6.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=6
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] irq_meson_gpio: 100 to 8 gpio interrupt mux initialized
[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000004] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000173] Console: colour dummy device 80x25
[    0.000473] printk: console [tty0] enabled
[    0.000509] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)
[    0.000528] pid_max: default: 32768 minimum: 301
[    0.000702] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.000729] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.002395] rcu: Hierarchical SRCU implementation.
[    0.003687] smp: Bringing up secondary CPUs ...
[    0.004360] Detected VIPT I-cache on CPU1
[    0.004414] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.005543] CPU features: detected: Spectre-v2
[    0.005549] CPU features: detected: Spectre-v4
[    0.005555] Detected VIPT I-cache on CPU2
[    0.005599] CPU2: Booted secondary processor 0x0000000100 [0x410fd092]
[    0.006173] Detected VIPT I-cache on CPU3
[    0.006197] CPU3: Booted secondary processor 0x0000000101 [0x410fd092]
[    0.006755] Detected VIPT I-cache on CPU4
[    0.006780] CPU4: Booted secondary processor 0x0000000102 [0x410fd092]
[    0.007339] Detected VIPT I-cache on CPU5
[    0.007364] CPU5: Booted secondary processor 0x0000000103 [0x410fd092]
[    0.007438] smp: Brought up 1 node, 6 CPUs
[    0.007526] SMP: Total of 6 processors activated.
[    0.007538] CPU features: detected: 32-bit EL0 Support
[    0.007548] CPU features: detected: CRC32 instructions
[    0.007559] CPU features: detected: 32-bit EL1 Support
[    0.022516] CPU: All CPU(s) started at EL2
[    0.022611] alternatives: patching kernel code
[    0.024011] devtmpfs: initialized
[    0.030170] Registered cp15_barrier emulation handler
[    0.030198] Registered setend emulation handler
[    0.030208] KASLR disabled due to lack of seed
[    0.030432] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.030454] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
[    0.043519] pinctrl core: initialized pinctrl subsystem
[    0.044421] NET: Registered protocol family 16
[    0.046252] DMA: preallocated 2048 KiB GFP_KERNEL pool for atomic allocations
[    0.046906] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.047651] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.047708] audit: initializing netlink subsys (disabled)
[    0.047790] audit: type=2000 audit(0.044:1): state=initialized audit_enabled=0 res=1
[    0.048158] thermal_sys: Registered thermal governor 'step_wise'
[    0.048490] cpuidle: using governor ladder
[    0.048541] cpuidle: using governor menu
[    0.048855] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.048968] ASID allocator initialised with 65536 entries
[    0.080885] cryptd: max_cpu_qlen set to 1000
[    0.083712] VSYS_3V3: supplied by DC_IN
[    0.084046] iommu: Default domain type: Translated 
[    0.084155] vgaarb: loaded
[    0.084379] SCSI subsystem initialized
[    0.084535] usbcore: registered new interface driver usbfs
[    0.084571] usbcore: registered new interface driver hub
[    0.084648] usbcore: registered new device driver usb
[    0.085011] mc: Linux media interface: v0.10
[    0.085040] videodev: Linux video capture interface: v2.00
[    0.085190] pps_core: LinuxPPS API ver. 1 registered
[    0.085200] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.085700] Advanced Linux Sound Architecture Driver Initialized.
[    0.086455] clocksource: Switched to clocksource arch_sys_counter
[    0.086678] FS-Cache: Loaded
[    0.092415] NET: Registered protocol family 2
[    0.092823] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    0.092857] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.093007] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[    0.093200] TCP: Hash tables configured (established 32768 bind 32768)
[    0.093337] MPTCP token hash table entries: 4096 (order: 4, 98304 bytes, linear)
[    0.093393] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.093436] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.093571] NET: Registered protocol family 1
[    0.093866] RPC: Registered named UNIX socket transport module.
[    0.093878] RPC: Registered udp transport module.
[    0.093884] RPC: Registered tcp transport module.
[    0.093891] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.093900] NET: Registered protocol family 44
[    0.093913] PCI: CLS 0 bytes, default 64
[    0.094027] Trying to unpack rootfs image as initramfs...
[    0.179747] Freeing initrd memory: 11996K
[    0.180653] kvm [1]: IPA Size Limit: 40 bits
[    0.181345] kvm [1]: vgic interrupt IRQ9
[    0.181475] kvm [1]: Hyp mode initialized successfully
[    0.184991] Initialise system trusted keyrings
[    0.185097] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    0.187849] zbud: loaded
[    0.188668] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.188794] FS-Cache: Netfs 'nfs' registered for caching
[    0.189178] NFS: Registering the id_resolver key type
[    0.189200] Key type id_resolver registered
[    0.189207] Key type id_legacy registered
[    0.189265] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.189621] FS-Cache: Netfs 'cifs' registered for caching
[    0.189770] Key type cifs.idmap registered
[    0.217944] NET: Registered protocol family 38
[    0.217957] Key type asymmetric registered
[    0.217966] Asymmetric key parser 'x509' registered
[    0.217999] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[    0.218115] io scheduler mq-deadline registered
[    0.218127] io scheduler kyber registered
[    0.218203] io scheduler bfq registered
[    0.228053] soc soc0: Amlogic Meson G12B (A311D) Revision 29:b (10:2) Detected
[    0.228984] VCC_3V3: supplied by VSYS_3V3
[    0.229021] VCC_1V8: supplied by VCC_3V3
[    0.229055] VDDIO_AO1V8: supplied by VSYS_3V3
[    0.229097] EMMC_AO1V8: supplied by VCC_3V3
[    0.229128] VDDCPU_A: supplied by regulator-dummy
[    0.229431] VDDCPU_B: supplied by regulator-dummy
[    0.230576] ff803000.serial: ttyAML0 at MMIO 0xff803000 (irq = 22, base_baud = 1500000) is a meson_uart
[    1.103989] printk: console [ttyAML0] enabled
[    1.108922] ffd24000.serial: ttyAML6 at MMIO 0xffd24000 (irq = 29, base_baud = 1500000) is a meson_uart
[    1.117740] serial serial0: tty port ttyAML6 registered
[    1.129591] brd: module loaded
[    1.134632] loop: module loaded
[    1.144842] Loading iSCSI transport class v2.0-870.
[    1.145503] iscsi: registered transport (tcp)
[    1.150165] libphy: Fixed MDIO Bus: probed
[    1.153470] tun: Universal TUN/TAP device driver, 1.6
[    1.158575] usbcore: registered new interface driver rtl8150
[    1.163855] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.169556] ehci-pci: EHCI PCI platform driver
[    1.173977] ehci-platform: EHCI generic platform driver
[    1.179220] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.185243] ohci-pci: OHCI PCI platform driver
[    1.189664] ohci-platform: OHCI generic platform driver
[    1.195255] mousedev: PS/2 mouse device common for all mice
[    1.200609] i2c /dev entries driver
[    1.208161] cpufreq: cpufreq_online: CPU2: Running at unlisted initial frequency: 999999 KHz, changing to: 1000000 KHz
[    1.216897] meson-gx-mmc ffe03000.sd: allocated mmc-pwrseq
[    1.216903] meson-gx-mmc ffe05000.sd: Got CD GPIO
[    1.218101] meson-gx-mmc ffe07000.mmc: allocated mmc-pwrseq
[    1.222953] ledtrig-cpu: registered to indicate activity on CPUs
[    1.236245] meson-sm: secure-monitor enabled
[    1.240355] hid: raw HID events driver (C) Jiri Kosina
[    1.246012] usbcore: registered new interface driver usbhid
[    1.250797] usbhid: USB HID core driver
[    1.260335] NET: Registered protocol family 10
[    1.271164] Segment Routing with IPv6
[    1.271281] NET: Registered protocol family 17
[    1.273782] Key type dns_resolver registered
[    1.278715] registered taskstats version 1
[    1.281913] Loading compiled-in X.509 certificates
[    1.285555] mmc0: queuing unknown CIS tuple 0x80 (2 bytes)
[    1.286717] zswap: loaded using pool lzo/zbud
[    1.294176] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[    1.304016] VCC_5V: supplied by DC_IN
[    1.305786] USB_PWR: supplied by VCC_5V
[    1.306259] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[    1.318637] mmc0: queuing unknown CIS tuple 0x80 (7 bytes)
[    1.324682] mmc0: queuing unknown CIS tuple 0x81 (9 bytes)
[    1.359603] meson-drm ff900000.vpu: Queued 2 outputs on vpu
[    1.359942] meson-drm ff900000.vpu: CVBS Output connector not available
[    1.394520] meson-dw-hdmi ff600000.hdmi-tx: Detected HDMI TX controller v2.01a with HDCP (meson_dw_hdmi_phy)
[    1.397183] random: fast init done
[    1.399069] meson-dw-hdmi ff600000.hdmi-tx: registered DesignWare HDMI I2C bus driver
[    1.411809] meson-drm ff900000.vpu: bound ff600000.hdmi-tx (ops meson_dw_hdmi_ops)
[    1.418645] [drm] Initialized meson 1.0.0 20161109 for ff900000.vpu on minor 0
[    1.423105] mmc0: new high speed SDIO card at address 0001
[    1.424496] meson-drm ff900000.vpu: [drm] Cannot find any crtc or sizes
[    1.437336] meson8b-dwmac ff3f0000.ethernet: IRQ eth_wake_irq not found
[    1.443025] meson8b-dwmac ff3f0000.ethernet: IRQ eth_lpi not found
[    1.449176] meson8b-dwmac ff3f0000.ethernet: PTP uses main clock
[    1.449342] mmc2: new HS200 MMC card at address 0001
[    1.455418] meson-drm ff900000.vpu: [drm] Cannot find any crtc or sizes
[    1.460826] mmcblk2: mmc2:0001 BJTD4R 29.1 GiB 
[    1.466585] meson8b-dwmac ff3f0000.ethernet: User ID: 0x11, Synopsys ID: 0x37
[    1.471231] mmcblk2boot0: mmc2:0001 BJTD4R partition 1 4.00 MiB
[    1.478127] meson8b-dwmac ff3f0000.ethernet: 	DWMAC1000
[    1.484165] mmcblk2boot1: mmc2:0001 BJTD4R partition 2 4.00 MiB
[    1.489166] meson8b-dwmac ff3f0000.ethernet: DMA HW capability register supported
[    1.495216] mmcblk2rpmb: mmc2:0001 BJTD4R partition 3 4.00 MiB, chardev (243:0)
[    1.502465] meson8b-dwmac ff3f0000.ethernet: RX Checksum Offload Engine supported
[    1.511513]  mmcblk2: p1 p2
[    1.517107] meson8b-dwmac ff3f0000.ethernet: COE Type 2
[    1.517109] meson8b-dwmac ff3f0000.ethernet: TX Checksum insertion supported
[    1.532063] meson8b-dwmac ff3f0000.ethernet: Wake-Up On Lan supported
[    1.538449] meson8b-dwmac ff3f0000.ethernet: Normal descriptors
[    1.544276] meson8b-dwmac ff3f0000.ethernet: Ring mode enabled
[    1.550054] meson8b-dwmac ff3f0000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[    1.558230] libphy: stmmac: probed
[    1.564024] dwc3-meson-g12a ffe09000.usb: USB2 ports: 2
[    1.566594] dwc3-meson-g12a ffe09000.usb: USB3 ports: 1
[    1.574421] dwc2 ff400000.usb: supply vusb_d not found, using dummy regulator
[    1.578839] dwc2 ff400000.usb: supply vusb_a not found, using dummy regulator
[    1.585931] dwc2 ff400000.usb: EPs: 7, dedicated fifos, 712 entries in SPRAM
[    1.593426] xhci-hcd xhci-hcd.3.auto: xHCI Host Controller
[    1.598281] xhci-hcd xhci-hcd.3.auto: new USB bus registered, assigned bus number 1
[    1.605948] xhci-hcd xhci-hcd.3.auto: hcc params 0x0228fe6c hci version 0x110 quirks 0x0000000000010010
[    1.615193] xhci-hcd xhci-hcd.3.auto: irq 38, io mem 0xff500000
[    1.621145] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    1.629236] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.636392] usb usb1: Product: xHCI Host Controller
[    1.641225] usb usb1: Manufacturer: Linux 5.10.0-rc6 xhci-hcd
[    1.646914] usb usb1: SerialNumber: xhci-hcd.3.auto
[    1.652023] hub 1-0:1.0: USB hub found
[    1.655466] hub 1-0:1.0: 2 ports detected
[    1.659535] xhci-hcd xhci-hcd.3.auto: xHCI 
[    1.702286] usb usb2: Product: xHCI Host Controller
[    1.707115] usb usb2: Manufacturer: Linux 5.10.0-rc6 xhci-hcd
[    1.712807] usb usb2: SerialNumber: xhci-hcd.3.auto
[    1.718970] hub 2-0:1.0: USB hub found
[    1.721351] hub 2-0:1.0: 1 port detected
[    1.726865] simple-framebuffer f4807000.framebuffer: framebuffer at 0xf4807000, 0x7e9000 bytes, mapped to 0x(____ptrval____)
[    1.736364] simple-framebuffer f4807000.framebuffer: format=x8r8g8b8, mode=1920x1080x32, linelength=7680
[    1.752165] Console: switching to colour frame buffer device 240x67
[    1.760642] simple-framebuffer f4807000.framebuffer: fb0: simplefb registered!
[    1.768371] libphy: mdio_mux: probed
[    1.775414] libphy: mdio_mux: probed
[    1.786043] printk: console [netcon0] enabled
[    1.786110] netconsole: network logging started
[    1.789612] ALSA device list:
[    1.792231]   #0: G12B-KHADAS-VIM3
[    1.796329] Freeing unused kernel memory: 2624K
[    1.814699] Run /init as init process
[    1.939104] input: gpio-keys-polled as /devices/platform/gpio-keys-polled/input/input0
[    1.950829] meson-vrtc ff8000a8.rtc: registered as rtc1
[    1.952910] pca953x 0-0020: using no AI
[    1.961345] rtc-hym8563 0-0051: registered as rtc0
[    1.963303] rtc-hym8563 0-0051: setting system clock to 2021-02-21T11:03:27 UTC (1613905407)
[    2.006510] usb 1-1: new high-speed USB device number 2 using xhci-hcd
[    2.160416] usb 1-1: New USB device found, idVendor=1a40, idProduct=0801, bcdDevice= 1.00
[    2.163234] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    2.170297] usb 1-1: Product: USB 2.0 Hub
[    2.224938] hub 1-1:1.0: USB hub found
[    2.225291] hub 1-1:1.0: 4 ports detected
[    2.268108] raid6: skip pq benchmark and using algorithm neonx8
[    2.268446] raid6: using neon recovery algorithm
[    2.275349] xor: measuring software checksum speed
[    2.279373]    8regs           :  6257 MB/sec
[    2.283438]    32regs          :  7238 MB/sec
[    2.287859]    arm64_neon      :  6725 MB/sec
[    2.290702] xor: using function: 32regs (7238 MB/sec)
[    2.315400] Btrfs loaded, crc32c=crc32c-generic

I fixed that issue by setting the root device to the correct uuid, but then the system started without wifi… and I can’t find the wifi interfaces… will take another look tomorrow

@Marco can you state the image number you flashed eg. “v210131” etc.
maybe the khadas team can check to see if the fenix source had any patches the next day or such…

Hi @Electr1 ,

How do I check that? It doesn’t show up on the boot messages and I can’t find it in the fenix repo.

I am still unable to get wlan interfaces to show up (I didn’t try anything though :stuck_out_tongue: )

Here’s what I think the relevant parts of dmesg:

[    3.842288] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    3.857854] brcmfmac: F1 signature read @0x18000000=0x17294359
[    3.864204] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4359-sdio for chip BCM4359/9
[    3.869525] brcmfmac mmc0:0001:1: Direct firmware load for brcm/brcmfmac4359-sdio.bin failed with error -2
[    4.192896] Bluetooth: hci0: BCM: chip id 121
[    4.193372] Bluetooth: hci0: BCM: features 0x0e
[    4.195145] Bluetooth: hci0: BCM4359C0
[    4.195161] Bluetooth: hci0: BCM4359C0 (003.001.006) build 0000
[    4.195278] Bluetooth: hci0: BCM: firmware Patch file not found, tried:
[    4.202008] Bluetooth: hci0: BCM: 'brcm/BCM4359C0.hcd'
[    4.207108] Bluetooth: hci0: BCM: 'brcm/BCM.hcd'
[    4.871922] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

on /usr/lib/firmware/brcm/

I have:

BCM43430A1.hcd  BCM4354A2.hcd

But on the sdcard I have:

/usr/lib/firmware/brcm/brcmfmac4359-sdio.txt
/usr/lib/firmware/brcm/brcmfmac4359-sdio.bin

Which seem to be different. And the program is looking for BCM4359C0, but I just don’t have that. Any ideas how to go back to when it worked?

Copying the files over fixed the issue, but I fear I might be missing something else. Like shouldn’t this firmware files be installed as part of a regular package?

This is the new dmesg messages:

[    4.031187] random: crng init done
[    4.031195] random: 7 urandom warning(s) missed due to ratelimiting
[    4.221353] Bluetooth: hci1: BCM: chip id 121
[    4.221696] Bluetooth: hci1: BCM: features 0x0e
[    4.223247] Bluetooth: hci1: BCM4359C0
[    4.223271] Bluetooth: hci1: BCM4359C0 (003.001.006) build 0000
[    4.227904] Bluetooth: hci1: BCM: firmware Patch file not found, tried:
[    4.227910] Bluetooth: hci1: BCM: 'brcm/BCM4359C0.hcd'
[    4.227912] Bluetooth: hci1: BCM: 'brcm/BCM.hcd'
[    4.781135] meson8b-dwmac ff3f0000.ethernet eth0: PHY [0.0:00] driver [RTL8211F Gigabit Ethernet] (irq=39)
[    4.784567] meson8b-dwmac ff3f0000.ethernet eth0: No Safety Features support found
[    4.784577] meson8b-dwmac ff3f0000.ethernet eth0: PTP not supported by HW
[    4.784814] meson8b-dwmac ff3f0000.ethernet eth0: configuring for phy/rgmii link mode
[    5.932072] brcmfmac: F1 signature read @0x18000000=0x17294359
[    5.938243] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4359-sdio for chip BCM4359/9
[    5.960642] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac4359-sdio.khadas,vim3.txt failed with error -2
[    6.432107] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4359-sdio for chip BCM4359/9
[    6.441894] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[    6.456282] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4359/9 wl0: Sep 20 2019 20:22:36 version 9.87.51.11.34 (edb7293@shgit) (r711217) FWID 01-c7feb1ee
[    6.932062] ieee80211 phy0: brcmf_dongle_roam: WLC_SET_ROAM_TRIGGER error (-52)
[    7.312044] meson8b-dwmac ff3f0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[    7.312150] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   10.676908] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

Can you share the image you used to flash emmc?
Which distro have you been using?

This is ubuntu 20.04 Focal, I originally flashed it with the krescue image for 5.7-rc7 VIM3_Ubuntu-gnome-focal_Linux-5.7-rc7_arm64_SD-USB_V0.9-20200530.img.xz, then built my own kernel using fenix and upgraded it with the deb files.

Everything worked for a few days, then I did an apt upgrade, also uninstalled a bunch of apps that I was not using (mostly everything except ubuntu-server) and then rebooted and saw that problem.

@Marco try making a brand new image with fenix and use it,
I’ve discussed it multiple times, any image from v0.9-200530 has this problem, i’ve tested it, and it gave me the same issues…

using a newer image fixed it immediately,
if you need you can get a newer image here:

cheers