There is not guide page for USB-typeC port and input

Which Khadas SBC do you use?


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

Windows + Ubuntu

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

board v1.3, image supported by Khadas (VIM3_Pie_V211220.7z)

Please describe your issue below:

I’m trying to write using USB burning tool for OS update, but I don’t know how to connect USB OTG to PC. There is no information on the external power supply method of the guide documentation.(VIM3/3L External Power Supply [Khadas Docs]) When the power of the board is supplied from PC, it reboots indefinitely due to insufficient current. Can I supply power to the VIN connector and connect the USB type-C(OTG) to PC? Could you let me know how I can connect correct?

Post a console log of your issue below:

U-Boot 2015.01-g10d1af967c (Dec 20 2021 - 09:34:48)

DRAM:  3.8 GiB
Relocation Offset is: d6d38000
mmu cfg end: 0xe0000000
mmu cfg end: 0xe0000000
spi_post_bind(spifc): req_seq = 0
register usb cfg[0][1] = 00000000d7e826c0
aml_i2c_init_port init regs for 0
MCU version: 0x00 0x03
MCU version is to low! Doesn't support froce boot from SD card.
NAND:  get_sys_clk_rate_mtd() 292, clock setting 200!
bus cycle0: 6,timing: 7
NAND device id: 0 9f ff ff ff ff
No NAND device found!!!
nand init failed: -6
get_sys_clk_rate_mtd() 292, clock setting 200!
bus cycle0: 6,timing: 7
NAND device id: 0 9f ff ff ff ff
No NAND device found!!!
nand init failed: -6
MMC:   aml_priv->desc_buf = 0x00000000d3d28a70
aml_priv->desc_buf = 0x00000000d3d2adb0
SDIO Port B: 0, SDIO Port C: 1
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x3, tx-dly 0, clock 400000
emmc/sd response timeout, cmd8, cmd->cmdarg=0x1aa, status=0x3ff2800
emmc/sd response timeout, cmd55, cmd->cmdarg=0x0, status=0x3ff2800
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x1, tx-dly 0, clock 40000000
[set_emmc_calc_fixed_adj][875]find fixed adj_delay=20
init_part() 297: PART_TYPE_AML
[mmc_init] mmc init success
start dts,buffer=00000000d3d2d620,dt_addr=00000000d3d2d620
get_partition_from_dts() 92: ret 0
parts: 17
00:      logo   0000000000800000 1
01:  recovery   0000000001800000 1
02:      misc   0000000000800000 1
03:      dtbo   0000000000800000 1
04:  cri_data   0000000000800000 2
05:     param   0000000001000000 2
06:      boot   0000000001000000 1
set has_boot_slot = 0
07:       rsv   0000000001000000 1
08:  metadata   0000000001000000 1
09:    vbmeta   0000000000200000 1
10:       tee   0000000002000000 1
11:    vendor   000000001c000000 1
12:       odm   0000000008000000 1
13:    system   0000000064000000 1
14:   product   0000000008000000 1
15:     cache   0000000046000000 2
16:      data   ffffffffffffffff 4
init_part() 297: PART_TYPE_AML
eMMC/TSD partition table have been checked OK!
crc32_s:0x1577dad == storage crc_pattern:0x1577dad!!!
crc32_s:0xee152b83 == storage crc_pattern:0xee152b83!!!
crc32_s:0x79f50f07 == storage crc_pattern:0x79f50f07!!!
mmc env offset: 0x4d400000
In:    serial
Out:   serial
Err:   serial
aml log : internal sys error!
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
_verify_dtb_checksum()-3354: calc b043bf11, store b043bf11
_verify_dtb_checksum()-3354: calc b043bf11, store b043bf11
dtb_read()-3569: total valid 2
update_old_dtb()-3550: do nothing
aml_i2c_init_port init regs for 0
fusb302_init: Device ID: 0x91
CC connected in 1 as UFP
charge ic max_vol = 12000mv max_cur = 6000ma
chip->pos_power = 1, chip->pd_output_vol=5000  chip->pd_output_cur=3000
fusb302 detect chip.port_num = 0
amlkey_init() enter!
[EFUSE_MSG]keynum is 1
vpu: driver version: v20190313
vpu: detect chip type: 9
vpu: clk_level default: 7(666667000Hz), max: 7(666667000Hz)
vpu: clk_level in dts: 7
vpu: vpu_power_on
vpu: set_vpu_clk
vpu: set clk: 666667000Hz, readback: 666666667Hz(0x100)
vpu: set_vpu_clk finish
vpu: vpu_module_init_config
vpp: vpp_init
vpp: vpp osd2 matrix rgb2yuv..............
hdr_func 4, hdr_process_select 0x1
cvbs: cpuid:0x29
cvbs: find performance_pal config
lcd: lcd_debug_print flag: 0
lcd: detect mode: tablet, key_valid: 0
lcd: detect lcd_clk_path: 1
lcd: failed to get lcd_cpu_gpio_names
lcd: load config from dts
lcd: pinctrl_version: 2
lcd: use panel_type=lcd_1
lcd: bl: pinctrl_version: 2
lcd: bl: name: backlight_pwm, method: 1
lcd: error: gpio: wrong name invalid
lcd: bl: pwm_reg=0x00800002
lcd: bl: aml_bl_power_ctrl: 0
Net:   use internal ethernet
dwmac.ff3f0000amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 1
MACADDR:02:00:00:15:12:01(from chipid)

ramdump_init, add:0, size:0
Start read misc partition datas!
info->magic =
info->version_major = 1
info->version_minor = 0
info->slots[0].priority = 15
info->slots[0].tries_remaining = 7
info->slots[0].successful_boot = 0
info->slots[1].priority = 14
info->slots[1].tries_remaining = 7
info->slots[1].successful_boot = 0
info->crc32 = -1075449479
active slot = 0

aml log : internal sys error!
reboot_mode:::: cold_boot
lcd: error: outputmode[576cvbs] is not support
do_hpd_detect: hdmimode=1080p60hz
do_hpd_detect: colorattribute=444,8bit
Saving Environment to aml-storage...
mmc env offset: 0x4d400000
Writing to MMC(1)... done
no sink, fallback to 720p60hz[4]
hdr mode is 0
dv  mode is ver:0  len: 0
hdr10+ mode is 0
read hdmichecksum 0x00000000, colorattribute 444,8bit
read hdmimode 1080p60hz, colorspace <NULL>, colordepth <NULL>
do_get_parse_edid: autoMode = false, manualMode=16
isYuv4kSink: false, maxTMDSRate=150
do_get_parse_edid: non-yuv4k sink: inColorSpace: HDMI_COLOR_FORMAT_RGB
do_get_parse_edid: default inColorDepth: HDMI_COLOR_DEPTH_24B
TV is same, initial mode is: 576cvbs attr: 444,8bit
dolby_status 0
osd: hpd_state=0
cvbs: outputmode[panel] is invalid
hdmitx: outputmode[panel] is invalid
vpp: vpp_matrix_update: 0
vpp: g12a/b post2(bit12) matrix: YUV limit -> RGB ..............
lcd: enable: TS050, mipi, 1080x1920@55.4Hz
lcd: tablet driver init(ver 20191115): mipi
lcd: lcd_pll_wait_lock: pll_lock=1, wait_loop=1
vpp: vpp_init_lcd_gamma_table
lcd: pixel_clk = 120.000MHz, bit_rate = 960.000MHz, lanebyteclk = 120.000MHz
lcd:  Waiting STOP STATE LANE
                                                                         bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0000 - pwm id 0x01
bl2_stage_init 0xc1
bl2_stage_init 0x02


TE: 182100

BL2 Built : 19:23:21, Sep 18 2020. g12b g9fde858 - gongwei.chen@droid11-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: 00031038
eMMC boot @ 0
sw8 s
board id: 8
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
emmc switch 1 ok
ddr saved addr:00016000
Load ddr parameter from eMMC, src: 0x02c00000, des: 0xfffd0000, size: 0x00001000, part: 0
emmc switch 0 ok
fastboot data verify
result: 255
Cfg max: 12, cur: 1. Board id: 255. Force loop cfg
LPDDR4 probe

No need extra powe supply if you just want to isntall new OS.

Just connect the board to your PC with USB cable, and then follow the documentation to enter upgrade to install new OS.

Thanks for your reply, numbqq.
But I have still a problem. Rebooting occurs continuously when an expansion board or perphral device (USB mouse, HDMI, etc…) is connected. It’s not clear yet, but when connect to PC using PC USB power, it seems that reboot occurs due to insufficient current. Every time you do an OS update, you have to disassemble all the equipment and reassemble when the update is complete. It seems to consume a lot of current. Could I get a solution about this?

Maybe you can use a USB Hub which can provide more current.

Thanks for your suggestion.
I am not able to get USB hub. Later I will do that if possible. Have you ever gotten a problem with consuming a lot of current when connecting expansion board?

Yes, it is possable if your PC USB host can’t provide enough power when you connect much extra devices.

Dear numbqq,

That’s enough by your response. Your answer makes me help as many.