How to Access the Serial Console in HI802 / GK802 mini PC

One of the advantage of HiAPad Hi802 (aka Zealz GK802) is that it provides access to UART and I2C pins via through holes on the board. UART4 Tx and Rx pins give you access to the serial console which is a must for bootloader (U-boot), and kernel development or for debugging.

The first thing is the open the casing and locate the debug pins on the board.

Hi802 Board Debug Header Pin Description
Hi802 Board Debug Pins Description

The very best way is probably to solder a pin header, but since I don’t have header, nor soldering iron, I’ve done it the “MacGyver” way with 3 wires connected to TxD, RxD and GND, and some sticky tape.
Hi802 UART Wires

You can now insert the other side of the wires into your USB to TLL debug board (GND <-> GND, Tx <-> Rx, and Rx <-> Tx), and connect it to your Windows or Linux PC. The serial board should be recognized as a serial device. It usually shows as COM1 in Windows, and /dev/ttyUSB0 in Linux, but it may depends on your PC configuration. You can find the correct port in the Hardware Manager (Windows), or with dmesg (Linux).

Configure your preferred terminal emulator (e.g. Hyper Terminal, Putty, Minicom…) with 115200 bps, 8/N/1 and no hardware or software flow control, and power on Hi802 mini PC.

Hi802 Serial Console
Hi802 Serial Console in Ubuntu 12.04

That’s it. Since the board gets a bit hot, the sticky tape tends to peel off, but until now this has not been an issue. I just avoid touching the board to power it on/off, and turn on/off the device via the power strip instead.

For reference here are the logs for GK802 Android boot:

U-Boot 2009.08-dirty (Jan 16 2013 – 20:46:15)CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Temperature: 59 C, calibration data 0x5804fe69
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock : 66000000Hz
ipg per clock : 66000000Hz
uart clock : 80000000Hz
cspi clock : 60000000Hz
ahb clock : 132000000Hz
axi clock : 264000000Hz
emi_slow clock: 29333333Hz
ddr clock : 528000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 24000000Hz
Board: i.MX6Q-RICHTECHIE: unknown-board Board: 0x63012 [WDOG]
Boot Device: SD
I2C: ready
DRAM: 1 GB
MMC: FSL_ESDHC: 0,FSL_ESDHC: 1
Error: re-tried 100 times without response. Give up
*** Warning – bad CRC, using default environmentIn: serial
Out: serial
Err: serial
check key…..
Checking for recovery command file…
normal boot…
Net: got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot: 0
kernel @ 10808000 (4360688)
ramdisk @ 11800000 (1191460)
kernel cmdline:
use uboot command line:
console=ttymxc3,115200 androidboot.console=ttymxc3 init=/init rw video=Starting kernel …

Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.0.35-02345-g411d6f6-dirty (root@richtechie-amd64) (gcc version 3
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6Quad Richtechie Board
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, silicon rev 1.2
PERCPU: Embedded 7 pages/cpu @c1168000 s5760 r8192 d14720 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 203264
Kernel command line: console=ttymxc3,115200 androidboot.console=ttymxc3 init=/i
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 576MB 226MB = 802MB total
Memory: 801736k/801736k available, 246840k reserved, 526336K highmem
Virtual kernel memory layout:
vector : 0xffff0000 – 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 – 0xfffe0000 ( 896 kB)
DMA : 0xfbe00000 – 0xffe00000 ( 64 MB)
vmalloc : 0xd2800000 – 0xf2000000 ( 504 MB)
lowmem : 0xc0000000 – 0xd2000000 ( 288 MB)
pkmap : 0xbfe00000 – 0xc0000000 ( 2 MB)
modules : 0xbf000000 – 0xbfe00000 ( 14 MB)
.init : 0xc0008000 – 0xc003f000 ( 220 kB)
.text : 0xc003f000 – 0xc07dc784 (7798 kB)
.data : 0xc07de000 – 0xc082e860 ( 323 kB)
.bss : 0xc082e884 – 0xc095edf0 (1218 kB)
Preemptible hierarchical RCU implementation.
NR_IRQS:496
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
MXC_Early serial console at MMIO 0x21f0000 (options ‘115200’)
bootconsole [ttymxc3] enabled
Calibrating delay loop… 1581.05 BogoMIPS (lpj=7905280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
Initializing cgroup subsys cpuacct
CPU: Testing write buffer coherency: ok
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (6324.22 BogoMIPS).
print_constraints: dummy:
NET: Registered protocol family 16
print_constraints: vddpu: 725 1300 mV at 1150 mV fast normal
print_constraints: vddcore: 725 1300 mV at 1150 mV fast normal
print_constraints: vddsoc: 725 1300 mV at 1150 mV fast normal
print_constraints: vdd2p5: 2000 2775 mV at 2400 mV fast normal
print_constraints: vdd1p1: 800 1400 mV at 1100 mV fast normal
print_constraints: vdd3p0: 2800 3150 mV at 3000 mV fast normal
—richtechie board init—
INT1 = 0, INT2 = 1
—richtechie board init end—
hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.
hw-breakpoint: maximum watchpoint size is 4 bytes.
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x02070000, Cache size: 1048576 B
IMX usb wakeup probe
bio: create slab at 0
print_constraints: vmmc: 3300 mV
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Freescale USB OTG Driver loaded, $Revision: 1.55 $
add wake up source irq 75
imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
Advanced Linux Sound Architecture Driver Version 1.0.24.
Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
cfg80211: Calling CRDA to update world regulatory domain
i2c-core: driver [max17135] using legacy suspend method
i2c-core: driver [max17135] using legacy resume method
Switching to clocksource mxc_timer1
NET: Registered protocol family 2
IP route cache hash table entries: 16384 (order: 4, 65536 bytes)
TCP established hash table entries: 65536 (order: 7, 524288 bytes)
TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
TCP: Hash tables configured (established 65536 bind 65536)
TCP reno registered
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Unpacking initramfs…
Freeing initrd memory: 1160K
PMU: registered new PMU device of type 0
Static Power Management for Freescale i.MX6
wait mode is disabled for i.MX6
cpaddr = d2880000 suspend_iram_base=d2864000
PM driver module loaded
IMX usb wakeup probe
i.MXC CPU frequency driver
highmem bounce pool size: 64 pages
ashmem: initialized
NTFS driver 2.1.30 [Flags: R/W].
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.16)
msgmni has been set to 540
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver hdmi
mxc_hdmi mxc_hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1
fbcvt: 1280×720@60: CVT Name – .921M9
imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)
imx-sdma imx-sdma: loaded firmware 1.1
imx-sdma imx-sdma: initialized
Serial: IMX driver
imx-uart.3: ttymxc3 at MMIO 0x21f0000 (irq = 61) is a IMX
console [ttymxc3] enabled, bootconsole disabled
console [ttymxc3] enabled, bootconsole disabled
imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX
loop: module loaded
vcan: Virtual CAN interface driver
CAN device driver interface
flexcan netdevice driver
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
PPTP driver version 0.8.5
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
usbcore: registered new interface driver kaweth
rtl8150: v0.6.2 (2004/08/27):rtl8150 based usb-ethernet driver
usbcore: registered new interface driver rtl8150
hso: drivers/net/usb/hso.c: Option Wireless
usbcore: registered new interface driver hso
usbcore: registered new interface driver asix
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver cdc_eem
usbcore: registered new interface driver dm9601
usbcore: registered new interface driver smsc75xx
usbcore: registered new interface driver smsc95xx
usbcore: registered new interface driver gl620a
usbcore: registered new interface driver net1080
usbcore: registered new interface driver plusb
usbcore: registered new interface driver rndis_host
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver MOSCHIP usb-ethernet driver
usbcore: registered new interface driver int51x1
usbcore: registered new interface driver kalmia
usbcore: registered new interface driver ipheth
usbcore: registered new interface driver sierra_net
usbcore: registered new interface driver cx82310_eth
cdc_ncm: 04-Aug-2011
usbcore: registered new interface driver cdc_ncm
usbcore: registered new interface driver lg-vl600
usbcore: registered new interface driver rndis_wlan
ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
add wake up source irq 72
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Initializing USB Mass Storage driver…
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for IPWireless converter
usbcore: registered new interface driver ipwtty
ipw: v0.4:IPWireless tty driver
USB Serial support registered for iuu_phoenix
usbcore: registered new interface driver iuu_phoenix
iuu_phoenix: v0.12:Infinity USB Unlimited Phoenix driver
USB Serial support registered for moto-modem
usbcore: registered new interface driver moto-modem
USB Serial support registered for navman
usbcore: registered new interface driver navman
USB Serial support registered for GSM modem (1-port)
usbcore: registered new interface driver option
option: v0.7.2:USB Driver for GSM modems
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
USB Serial support registered for Qualcomm USB modem
usbcore: registered new interface driver qcserial
ARC USBOTG Device Controller driver (1 August 2005)
android_usb gadget: Mass Storage Function, version: 2009/09/11
android_usb gadget: Number of LUNs=1
lun0: LUN: removable file: (no medium)
Gadget Android: controller ‘fsl-usb2-udc’ not recognized
android_usb gadget: android_usb ready
Suspend udc for OTG auto detect
fsl-usb2-udc: bind to driver android_usb
mousedev: PS/2 mouse device common for all mice
input: gpio-keys as /devices/platform/gpio-keys/input/input0
i2c-core: driver [isl29023] using legacy suspend method
i2c-core: driver [isl29023] using legacy resume method
using rtc device, snvs_rtc, for alarms
snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0
i2c /dev entries driver
Linux video capture interface: v2.00
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video16
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video17
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v1.1.0)
imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.20.0-ioctl (2011-02-02) initialised: dm-devel@redhat.com
Bluetooth: Virtual HCI driver ver 1.3
Bluetooth: HCI UART driver ver 2.2
usb 1-1: new high speed USB device number 2 using fsl-ehci
Bluetooth: HCI H4 protocol initialized
Bluetooth: HCI BCSP protocol initialized
Bluetooth: HCILL protocol initialized
Bluetooth: BlueFRITZ! USB driver ver 1.2
usbcore: registered new interface driver bfusb
Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mmc0: SDHCI controller on platform [sdhci-esdhc-imx.3] using DMA
mmc1: SDHCI controller on platform [sdhci-esdhc-imx.2] using DMA
mxc_vdoa mxc_vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
VPU initialized
revserved_memory_account:viv_gpu registerd
Thermal calibration data is 0x5804fe69
Anatop Thermal registered as thermal_zone0
anatop_thermal_probe: default cooling device is cpufreq!
no check
mmc0: new high speed SDHC card at address aaaa
mmcblk0: mmc0:aaaa SU08G 7.40 GiB
mmcblk0: p1 p2 p3 < p5 p6 p7 p8 p9 > p4
mmcblk0: p4 size 11711490 extends beyond EOD, truncated
[## BT ##] init_module
usb 1-1: new high speed USB device number 3 using fsl-ehci
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
logger: created 256K log ‘log_main’
logger: created 256K log ‘log_events’
logger: created 256K log ‘log_radio’
logger: created 256K log ‘log_system’
usbcore: registered new interface driver snd-usb-audio
mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio
asoc: mxc-hdmi-soc imx-hdmi-soc-dai.0 mapping ok
ALSA device list:
#0: imx-hdmi-soc
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (12545 buckets, 50180 max)
ctnetlink v0.93: registering with nfnetlink.
NF_TPROXY: Transparent proxy support initialized, version 4.1.0
NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
xt_time: kernel timezone is -0000
IPv4 over IPv4 tunneling driver
GRE over IPv4 demultiplexor driver
ip_tables: (C) 2000-2006 Netfilter Core Team
arp_tables: (C) 2002 David S. Miller
TCP cubic registered
NET: Registered protocol family 10
ip6_tables: (C) 2000-2006 Netfilter Core Team
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
NET: Registered protocol family 15
can: controller area network core (rev 20090105 abi 8)
NET: Registered protocol family 29
can: raw protocol (rev 20090105)
can: broadcast manager protocol (rev 20090105 t)
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
L2TP core driver, V2.0
PPPoL2TP kernel driver, V2.0
L2TP IP encapsulation support (L2TPv3)
L2TP netlink interface
L2TP ethernet pseudowire support (L2TPv3)
lib80211: common routines for IEEE802.11 drivers
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
Bus freq driver module loaded
Bus freq driver Enabled
mxc_dvfs_core_probe
DVFS driver module loaded
regulator_init_complete: vddpu: incomplete constraints, leaving on
snvs_rtc snvs_rtc.0: setting system clock to 2013-01-23 04:51:21 UTC (135891668)
Freeing init memory: 220K
init: cannot find ‘/system/bin/gpu_init.sh’, disabling ‘gpu_init’
init: cannot find ‘/system/etc/install-recovery.sh’, disabling ‘flash_recovery’
android_usb: already disabled
mtp_bind_config
root@android:/ # usb 1-1.4.1: new low speed USB device number 5 using fsl-ehci
warning: `rild’ uses 32-bit capabilities (legacy support in use)
usb 1-1.4.1: device v1a2c p0002 is not supported
input: USB USB Keykoard as /devices/platform/fsl-ehci.0/usb1/1-1/1-1.4/1-1.4.1/1
generic-usb 0003:1A2C:0002.0001: input,hidraw0: USB HID v1.10 Keyboard [USB USB0
input: USB USB Keykoard as /devices/platform/fsl-ehci.0/usb1/1-1/1-1.4/1-1.4.1/2
generic-usb 0003:1A2C:0002.0002: input,hidraw1: USB HID v1.10 Device [USB USB K1
usb 1-1.4.2: new low speed USB device number 6 using fsl-ehci
usb 1-1.4.2: device v1c4f p0003 is not supported
input: SIGMACHIP Usb Mouse as /devices/platform/fsl-ehci.0/usb1/1-1/1-1.4/1-1.43
generic-usb 0003:1C4F:0003.0003: input,hidraw2: USB HID v1.10 Mouse [SIGMACHIP 0
ERROR: v4l2 capture: slave not found!

…and Ubuntu 11.10 boot (which fails to mount the rootfs on my device most of the time):

U-Boot 2009.08 (Jan 03 2013 – 19:41:36)CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Temperature: 47 C, calibration data 0x5804fe69
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock : 66000000Hz
ipg per clock : 66000000Hz
uart clock : 80000000Hz
cspi clock : 60000000Hz
ahb clock : 132000000Hz
axi clock : 264000000Hz
emi_slow clock: 29333333Hz
ddr clock : 528000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 24000000Hz
Board: i.MX6Q-RICHTECHIE: unknown-board Board: 0x63012 [POR]
Boot Device: SD
I2C: ready
DRAM: 1 GB
MMC: FSL_ESDHC: 0,FSL_ESDHC: 1
Error: re-tried 100 times without response. Give up
*** Warning – bad CRC, using default environment

In: serial
Out: serial
Err: serial
Checking for recovery command file…
** Bad partition 6 **
Net: got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot: 0
mmc1 is current device

MMC read: dev # 1, block # 2048, count 8192 … 8192 blocks read: OK
## Booting kernel from Legacy Image at 10800000 …
Image Name: Linux-;
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3955796 Bytes = 3.8 MB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK

Starting kernel …

Linux version 3.0.35-2026-geaaf30e (richtechie@richtechie-ubuntu904) (gcc versi3
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6Quad Richtechie Board
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, silicon rev 1.2
PERCPU: Embedded 7 pages/cpu @8c008000 s5440 r8192 d15040 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 210944
Kernel command line: console=ttymxc3,115200 ip=dhcp root=/dev/mmcblk0p1 rootwait
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 576MB 256MB = 832MB total
Memory: 834592k/834592k available, 213984k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 – 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 – 0xfffe0000 ( 896 kB)
DMA : 0xf4600000 – 0xffe00000 ( 184 MB)
vmalloc : 0xc0800000 – 0xf2000000 ( 792 MB)
lowmem : 0x80000000 – 0xc0000000 (1024 MB)
pkmap : 0x7fe00000 – 0x80000000 ( 2 MB)
modules : 0x7f000000 – 0x7fe00000 ( 14 MB)
.init : 0x80008000 – 0x80039000 ( 196 kB)
.text : 0x80039000 – 0x8075f178 (7321 kB)
.data : 0x80760000 – 0x807bd4c0 ( 374 kB)
.bss : 0x807bd4e4 – 0x8080a74c ( 309 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:496
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
MXC_Early serial console at MMIO 0x21f0000 (options ‘115200’)
bootconsole [ttymxc3] enabled
Console: colour dummy device 80×30
Calibrating delay loop… 1581.05 BogoMIPS (lpj=7905280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (6324.22 BogoMIPS).
print_constraints: dummy:
NET: Registered protocol family 16
print_constraints: vddpu: 725 1300 mV at 1150 mV fast normal
print_constraints: vddcore: 725 1300 mV at 1150 mV fast normal
print_constraints: vddsoc: 725 1300 mV at 1200 mV fast normal
print_constraints: vdd2p5: 2000 2775 mV at 2400 mV fast normal
print_constraints: vdd1p1: 800 1400 mV at 1100 mV fast normal
print_constraints: vdd3p0: 2800 3150 mV at 3000 mV fast normal
—richtechie board init—
INT1 = 1, INT2 = 0
—richtechie board init end—
hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.
hw-breakpoint: maximum watchpoint size is 4 bytes.
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x02070000, Cache size: 1048576 B
IMX usb wakeup probe
bio: create slab at 0
print_constraints: vmmc: 3300 mV
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Freescale USB OTG Driver loaded, $Revision: 1.55 $
add wake up source irq 75
imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
Advanced Linux Sound Architecture Driver Version 1.0.24.
Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
cfg80211: Calling CRDA to update world regulatory domain
i2c-core: driver [max17135] using legacy suspend method
i2c-core: driver [max17135] using legacy resume method
Switching to clocksource mxc_timer1
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
PMU: registered new PMU device of type 0
Static Power Management for Freescale i.MX6
wait mode is enabled for i.MX6
cpaddr = c0880000 suspend_iram_base=c0864000
PM driver module loaded
IMX usb wakeup probe
i.MXC CPU frequency driver
NTFS driver 2.1.30 [Flags: R/W DEBUG].
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 1630
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver hdmi
mxc_hdmi mxc_hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1
fbcvt: 1280×720@60: CVT Name – .921M9
imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)
Console: switching to colour frame buffer device 160×45
imx-sdma imx-sdma: loaded firmware 1.1
imx-sdma imx-sdma: initialized
Serial: IMX driver
imx-uart.3: ttymxc3 at MMIO 0x21f0000 (irq = 61) is a IMX
console [ttymxc3] enabled, bootconsole disabled
console [ttymxc3] enabled, bootconsole disabled
imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX
loop: module loaded
vcan: Virtual CAN interface driver
CAN device driver interface
flexcan netdevice driver
FEC Ethernet Driver
usbcore: registered new interface driver catc
catc: v2.8:CATC EL1210A NetMate USB Ethernet driver
usbcore: registered new interface driver kaweth
pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet driver
usbcore: registered new interface driver pegasus
rtl8150: v0.6.2 (2004/08/27):rtl8150 based usb-ethernet driver
usbcore: registered new interface driver rtl8150
hso: drivers/net/usb/hso.c: Option Wireless
usbcore: registered new interface driver hso
usbcore: registered new interface driver asix
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver cdc_eem
usbcore: registered new interface driver dm9601
usbcore: registered new interface driver smsc75xx
usbcore: registered new interface driver smsc95xx
usbcore: registered new interface driver gl620a
usbcore: registered new interface driver net1080
usbcore: registered new interface driver plusb
usbcore: registered new interface driver rndis_host
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver MOSCHIP usb-ethernet driver
usbcore: registered new interface driver int51x1
usbcore: registered new interface driver kalmia
usbcore: registered new interface driver ipheth
usbcore: registered new interface driver sierra_net
usbcore: registered new interface driver cx82310_eth
cdc_ncm: 04-Aug-2011
usbcore: registered new interface driver cdc_ncm
usbcore: registered new interface driver lg-vl600
ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
add wake up source irq 72
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
usbcore: registered new interface driver usblp
Initializing USB Mass Storage driver…
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver ums-realtek
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
USB Serial support registered for Garmin GPS usb/tty
usbcore: registered new interface driver garmin_gps
garmin_gps: v0.36:garmin gps driver
USB Serial support registered for IPWireless converter
usbcore: registered new interface driver ipwtty
ipw: v0.4:IPWireless tty driver
USB Serial support registered for iuu_phoenix
usbcore: registered new interface driver iuu_phoenix
iuu_phoenix: v0.12:Infinity USB Unlimited Phoenix driver
USB Serial support registered for Keyspan – (without firmware)
USB Serial support registered for Keyspan 1 port adapter
USB Serial support registered for Keyspan 2 port adapter
USB Serial support registered for Keyspan 4 port adapter
usbcore: registered new interface driver keyspan
keyspan: v1.1.5:Keyspan USB to Serial Converter Driver
USB Serial support registered for Keyspan PDA
USB Serial support registered for Keyspan PDA – (prerenumeration)
usbcore: registered new interface driver keyspan_pda
keyspan_pda: v1.1:USB Keyspan PDA Converter driver
USB Serial support registered for KL5KUSB105D / PalmConnect
usbcore: registered new interface driver kl5kusb105d
kl5kusb105: v0.4:KLSI KL5KUSB105 chipset USB->Serial Converter driver
USB Serial support registered for KOBIL USB smart card terminal
usbcore: registered new interface driver kobil
kobil_sct: 21/05/2004:KOBIL USB Smart Card Terminal Driver (experimental)
USB Serial support registered for MCT U232
usbcore: registered new interface driver mct_u232
mct_u232: z2.1:Magic Control Technology USB-RS232 converter driver
USB Serial support registered for Moschip 2 port adapter
mos7720: 2.1:Moschip USB Serial Driver
usbcore: registered new interface driver moschip7720
USB Serial support registered for Moschip 7840/7820 USB Serial Driver
mos7840: 1.3.2:Moschip 7840/7820 USB Serial Driver
usbcore: registered new interface driver mos7840
USB Serial support registered for moto-modem
usbcore: registered new interface driver moto-modem
USB Serial support registered for navman
usbcore: registered new interface driver navman
USB Serial support registered for ZyXEL – omni.net lcd plus usb
usbcore: registered new interface driver omninet
omninet: v1.1:USB ZyXEL omni.net LCD PLUS Driver
USB Serial support registered for GSM modem (1-port)
usb 1-1: new high speed USB device number 2 using fsl-ehci
usbcore: registered new interface driver option
option: v0.7.2:USB Driver for GSM modems
USB Serial support registered for oti6858
usbcore: registered new interface driver oti6858
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
USB Serial support registered for qcaux
usbcore: registered new interface driver qcaux
USB Serial support registered for Qualcomm USB modem
usbcore: registered new interface driver qcserial
USB Serial support registered for Quatech SSU-100 USB to Serial Driver
usbcore: registered new interface driver ssu100
ssu100: v0.1:Quatech SSU-100 USB to Serial Driver
USB Serial support registered for symbol
usbcore: registered new interface driver symbol
usbcore: registered new interface driver cypress_cy7c63
ARC USBOTG Device Controller driver (1 August 2005)
mousedev: PS/2 mouse device common for all mice
input: gpio-keys as /devices/platform/gpio-keys/input/input0
i2c-core: driver [isl29023] using legacy suspend method
i2c-core: driver [isl29023] using legacy resume method
snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0
i2c /dev entries driver
Linux video capture interface: v2.00
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video16
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video17
i2c-core: driver [mag3110] using legacy suspend method
i2c-core: driver [mag3110] using legacy resume method
imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)
Bluetooth: Virtual HCI driver ver 1.3
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCI H4 protocol initialized
Bluetooth: HCI BCSP protocol initialized
Bluetooth: HCILL protocol initialized
Bluetooth: HCIATH3K protocol initialized
Bluetooth: Broadcom Blutonium firmware driver ver 1.2
usbcore: registered new interface driver bcm203x
Bluetooth: Digianswer Bluetooth USB driver ver 0.10
usbcore: registered new interface driver bpa10x
Bluetooth: BlueFRITZ! USB driver ver 1.2
usbcore: registered new interface driver bfusb
Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mmc0: SDHCI controller on platform [sdhci-esdhc-imx.3] using DMA
mmc0: new high speed SDHC card at address 1234
mmc1: SDHCI controller on platform [sdhci-esdhc-imx.2] using DMA
mmcblk0: mmc0:1234 SA08G 7.28 GiB
VPU initialized
Thermal calibration data is 0x5804fe69
mmcblk0: p1
Anatop Thermal registered as thermal_zone0
anatop_thermal_probe: default cooling device is cpufreq!
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
caam caam.0: device ID = 0x0a16010000000000
caam caam.0: job rings = 2, qi = 0
alg: No test for authenc(hmac(md5),cbc(aes)) (authenc-hmac-md5-cbc-aes-caam)
caam caam.0: authenc-hmac-md5-cbc-aes-caam
alg: No test for authenc(hmac(sha1),cbc(aes)) (authenc-hmac-sha1-cbc-aes-caam)
caam caam.0: authenc-hmac-sha1-cbc-aes-caam
alg: No test for authenc(hmac(sha224),cbc(aes)) (authenc-hmac-sha224-cbc-aes-ca)
caam caam.0: authenc-hmac-sha224-cbc-aes-caam
alg: No test for authenc(hmac(sha256),cbc(aes)) (authenc-hmac-sha256-cbc-aes-ca)
caam caam.0: authenc-hmac-sha256-cbc-aes-caam
alg: No test for authenc(hmac(md5),cbc(des3_ede)) (authenc-hmac-md5-cbc-des3_ed)
caam caam.0: authenc-hmac-md5-cbc-des3_ede-caam
alg: No test for authenc(hmac(sha1),cbc(des3_ede)) (authenc-hmac-sha1-cbc-des3_)
caam caam.0: authenc-hmac-sha1-cbc-des3_ede-caam
alg: No test for authenc(hmac(sha224),cbc(des3_ede)) (authenc-hmac-sha224-cbc-d)
caam caam.0: authenc-hmac-sha224-cbc-des3_ede-caam
alg: No test for authenc(hmac(sha256),cbc(des3_ede)) (authenc-hmac-sha256-cbc-d)
caam caam.0: authenc-hmac-sha256-cbc-des3_ede-caam
alg: No test for authenc(hmac(md5),cbc(des)) (authenc-hmac-md5-cbc-des-caam)
caam caam.0: authenc-hmac-md5-cbc-des-caam
alg: No test for authenc(hmac(sha1),cbc(des)) (authenc-hmac-sha1-cbc-des-caam)
caam caam.0: authenc-hmac-sha1-cbc-des-caam
alg: No test for authenc(hmac(sha224),cbc(des)) (authenc-hmac-sha224-cbc-des-ca)
caam caam.0: authenc-hmac-sha224-cbc-des-caam
alg: No test for authenc(hmac(sha256),cbc(des)) (authenc-hmac-sha256-cbc-des-ca)
caam caam.0: authenc-hmac-sha256-cbc-des-caam
caam caam.0: cbc-aes-caam
caam caam.0: cbc-3des-caam
caam caam.0: cbc-des-caam
usb 1-1.4: new high speed USB device number 3 using fsl-ehci
platform caam_jr.0: registering rng-caam
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
hub 1-1.4:1.0: USB hub found
hub 1-1.4:1.0: 4 ports detected
mingwen:10,de,6,0:2,0,0,0
[## BT ##] init_module
usbcore: registered new interface driver snd-usb-audio
mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio
asoc: mxc-hdmi-soc imx-hdmi-soc-dai.0 mapping ok
ALSA device list:
#0: imx-hdmi-soc
NET: Registered protocol family 26
TCP cubic registered
NET: Registered protocol family 17
can: controller area network core (rev 20090105 abi 8)
NET: Registered protocol family 29
can: raw protocol (rev 20090105)
can: broadcast manager protocol (rev 20090105 t)
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
lib80211: common routines for IEEE802.11 drivers
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
Bus freq driver module loaded
Bus freq driver Enabled
mxc_dvfs_core_probe
DVFS driver module loaded
regulator_init_complete: vddpu: incomplete constraints, leaving on
snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 00:00:01 UTC (1)
usb 2-1: new high speed USB device number 2 using fsl-ehci
usb 1-1.4.1: new low speed USB device number 4 using fsl-ehci
usb 1-1.4.1: device v1a2c p0002 is not supported
input: USB USB Keykoard as /devices/platform/fsl-ehci.0/usb1/1-1/1-1.4/1-1.4.1/1
generic-usb 0003:1A2C:0002.0001: input,hidraw0: USB HID v1.10 Keyboard [USB USB0
input: USB USB Keykoard as /devices/platform/fsl-ehci.0/usb1/1-1/1-1.4/1-1.4.1/2
generic-usb 0003:1A2C:0002.0002: input,hidraw1: USB HID v1.10 Device [USB USB K1
usb 1-1.4.2: new low speed USB device number 5 using fsl-ehci
usb 1-1.4.2: device v1c4f p0003 is not supported
input: SIGMACHIP Usb Mouse as /devices/platform/fsl-ehci.0/usb1/1-1/1-1.4/1-1.43
generic-usb 0003:1C4F:0003.0003: input,hidraw2: USB HID v1.10 Mouse [SIGMACHIP 0
EXT3-fs (mmcblk0p1): error: couldn’t mount because of unsupported optional feat)
EXT2-fs (mmcblk0p1): error: couldn’t mount because of unsupported optional feat)
Unable to handle kernel NULL pointer dereference at virtual address 0000003c
pgd = 80004000
[0000003c] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP
Modules linked in:
Unable to handle kernel NULL pointer dereference at virtual address 00000b04
pgd = 80004000
[00000b04] *pgd=00000000

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard

24 Replies to “How to Access the Serial Console in HI802 / GK802 mini PC”

  1. You don’t have a soldering iron? For shame….

    Even some temperature-controlled soldering stations are only around $100 now. A simple 25W standalone iron is <$20.

  2. I got a cheapo Chinese temperature controlled station for like $20… not that spectacular but it actually works, temperature control too.
    Cool stuff though… to be able to do it this easily… this is intended to be hackable, others just have some surface pads and it’s much tougher to solder to those.
    It it were about $50 I’d get one but it’s just too expensive at $100, I can get a Hardkernel Odroid for this money.

  3. They’re a useful thing to have for any hardware hacking or the odd kit. Perhaps also pick up some braided copper wick for cleaning up and/or a solder sucker for de-soldering joints. I hear that flux is useful to have too, although I’ve never used it myself.

    Is there enough room to solder in a set of header pins and still get the case back together?

  4. I had picked up right angle header pins from sparkfun but they were just a little bit too big to fit in the hole.
    For now I’ve resorted to hanging the serial cable out the HDMI end and have hot glued it to the internal plastic casing.

  5. Are the solder points for the serial console 0.100 inches (2.54 mm) pitch?
    Or are they 0.0787 inches (2.00 mm)?

  6. @Dmitry
    “Not everyone knows how to solder. Some are pure programmers.”

    Well, being a “pure programmer” and hacking on embedded systems is like doing it blind-folded. I’m saying that based on my own experience, having started hacking on PocketPCs+Linux several years ago. Now that I’m scratching technologies like reflow soldering, it feels much more solid ;-).

  7. @Paul
    @Dmitry
    Yep, soldering is pretty useful. If you have to ask/wait for somebody else to do it for you at the office, it’s not so nice, and it wastes your (and others’) time. The only time I needed expert help was for some SMT ICs soldering.

  8. Hello,

    I have soldered a DB-9 connector to the pins and I use a USB to RS232 adapter.

    When I try to connect with Minicom, I only get garbage on the screen (a soup of non-ascii characters).

    Do you know where it could come from? Bad solder quality? I use the connection settings as presented in this article.

  9. @sebokie
    USB to RS232 (+3 to +15 volts or −3 to −15 volts) or USB to TTL (3.3v/5V)? You need a USB to TTL adapter. If you’ve used your USB to RS232 with a null modem cable before, that’s not the one you need here.

Leave a Reply

Your email address will not be published. Required fields are marked *

Boardcon Rockchip and Allwinner SoM and SBC products
Boardcon Rockchip and Allwinner SoM and SBC products