Merrii Hummingbird
Hardware highlights
Model | Ports |
---|---|
Merrii Hummingbird | 2x USB, 1x 10/100/1000 ethernet, 2xMMC, HDMI, sound |
Remember: HDMI Output is not available in OpenWrt by default. Use console instead.
Availability
The board is available from various vendors, including the manufacturer itself, see here for the H4-DKT kit
Serial
You can use your usual serial levelshifter. The UART is located next to the flash chip, the pinout is printed on the back of the board.
Status
- Please refer to soc.allwinner.sunxi regarding the Allwinner A31 SOC.
- The basic peripherals (MMC, GMAC/ethernet, USB) are supported, while a basic console can be provided via HDMI.
Installation process
Please refer to soc.allwinner.sunxi.
Tricky part: There is a difference in the boot process compared to the A10/A20 boards. The board will first boot off the onboard NAND. The original AllWinner u-boot will detect that an SD card is inserted, then will reset the CPU and jump to start the SPL on the SD card.
dmesg
-Boot 2016.01 (Jan 22 2016 - 23:52:45 +0100) Allwinner Technology CPU: Allwinner A31? (SUN6I, id: 7) DRAM: 1 GiB MMC: SUNXI SD/MMC: 0 *** Warning - bad CRC, using default environment Setting up a 1024x768 vga console (overscan 0x0) In: serial Out: vga Err: vga Net: eth0: ethernet@01c30000 starting USB... USB0: USB EHCI 1.00 USB1: USB OHCI 1.0 scanning bus 0 for devices... 2 USB Device(s) found Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found U-Boot script /boot.scr reading /boot.scr 377 bytes read in 18 ms (19.5 KiB/s) ## Executing script at 43100000 reading uImage 2185080 bytes read in 2242 ms (951.2 KiB/s) reading dtb 25096 bytes read in 54 ms (453.1 KiB/s) ## Booting kernel from Legacy Image at 42000000 ... Image Name: ARM OpenWrt Linux-4.4 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2185016 Bytes = 2.1 MiB Load Address: 40008000 Entry Point: 40008000 Verifying Checksum ... OK ## Flattened Device Tree blob at 43000000 Booting using the fdt blob at 0x43000000 Loading Kernel Image ... OK Using Device Tree in place at 43000000, end 43009207 Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.4.0 (wigyori@trabant) (gcc version 5.2.0 (OpenWrt GCC 5.2.0 r47791) ) #8 SMP PREEMPT Fri Jan 22 23:53:35 CET 2016 [ 0.000000] CPU: ARMv7 Processor [410fc073] revision 3 (ARMv7), cr=10c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] Machine model: Merrii A31 Hummingbird [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: Using PSCI v0.1 Function IDs from DT [ 0.000000] PERCPU: Embedded 12 pages/cpu @ef7b1000 s17984 r8192 d22976 u49152 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 259840 [ 0.000000] Kernel command line: console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Memory: 1029472K/1045504K available (4340K kernel code, 205K rwdata, 1228K rodata, 268K init, 641K bss, 16032K reserved, 0K cma-reserved, 259072K highmem) [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB) [ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB) [ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB) [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB) [ 0.000000] .text : 0xc0008000 - 0xc05784ac (5570 kB) [ 0.000000] .init : 0xc0579000 - 0xc05bc000 ( 268 kB) [ 0.000000] .data : 0xc05bc000 - 0xc05ef6a8 ( 206 kB) [ 0.000000] .bss : 0xc05f2000 - 0xc06926b0 ( 642 kB) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4. [ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 [ 0.000000] NR_IRQS:16 nr_irqs:16 16 [ 0.000000] Architected 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.000006] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns [ 0.000017] Switching to timer-based delay loop, resolution 41ns [ 0.000268] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns [ 0.000410] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 9556302233 ns [ 0.000622] Console: colour dummy device 80x30 [ 0.000651] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000) [ 0.000666] pid_max: default: 32768 minimum: 301 [ 0.000754] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000765] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.001303] CPU: Testing write buffer coherency: ok [ 0.001607] /cpus/cpu@0 missing clock-frequency property [ 0.001621] /cpus/cpu@1 missing clock-frequency property [ 0.001632] /cpus/cpu@2 missing clock-frequency property [ 0.001644] /cpus/cpu@3 missing clock-frequency property [ 0.001656] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.001721] Setting up static identity map for 0x40008280 - 0x400082d8 [ 0.080393] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.110414] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002 [ 0.140446] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003 [ 0.140492] Brought up 4 CPUs [ 0.140513] SMP: Total of 4 processors activated (192.00 BogoMIPS). [ 0.140520] CPU: All CPU(s) started in HYP mode. [ 0.140525] CPU: Virtualization extensions available. [ 0.146712] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 3 [ 0.147194] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.147317] pinctrl core: initialized pinctrl subsystem [ 0.148493] NET: Registered protocol family 16 [ 0.148758] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.191399] reg-fixed-voltage usb1-vbus: could not find pctldev for node /soc@01c00000/pinctrl@01c20800/usb1_vbus_pin@0, deferring probe [ 0.192937] SCSI subsystem initialized [ 0.193691] usbcore: registered new interface driver usbfs [ 0.193801] usbcore: registered new interface driver hub [ 0.193926] usbcore: registered new device driver usb [ 0.194322] pps_core: LinuxPPS API ver. 1 registered [ 0.194331] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.194404] PTP clock support registered [ 0.195038] Advanced Linux Sound Architecture Driver Initialized. [ 0.196044] clocksource: Switched to clocksource arch_sys_counter [ 0.196896] simple-framebuffer 7fd00000.framebuffer: framebuffer at 0x7fd00000, 0x300000 bytes, mapped to 0xf0880000 [ 0.196910] simple-framebuffer 7fd00000.framebuffer: format=x8r8g8b8, mode=1024x768x32, linelength=4096 [ 0.210211] Console: switching to colour frame buffer device 128x48 [ 0.221999] simple-framebuffer 7fd00000.framebuffer: fb0: simplefb registered! [ 0.232216] NET: Registered protocol family 2 [ 0.232837] TCP established hash table entries: 8192 (order: 3, 32768 bytes) [ 0.232912] TCP bind hash table entries: 8192 (order: 4, 65536 bytes) [ 0.233027] TCP: Hash tables configured (established 8192 bind 8192) [ 0.233092] UDP hash table entries: 512 (order: 2, 16384 bytes) [ 0.233151] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) [ 0.233370] NET: Registered protocol family 1 [ 0.235132] futex hash table entries: 1024 (order: 4, 65536 bytes) [ 0.235285] audit: initializing netlink subsys (disabled) [ 0.235338] audit: type=2000 audit(0.220:1): initialized [ 0.244719] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.245378] bounce: pool size: 64 pages [ 0.245395] io scheduler noop registered [ 0.245407] io scheduler deadline registered [ 0.245441] io scheduler cfq registered (default) [ 0.249172] sun6i-a31-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver [ 0.249574] sun6i-a31-r-pinctrl 1f02c00.pinctrl: Reset controller missing [ 0.322604] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled [ 0.325672] console [ttyS0] disabled [ 0.345905] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 41, base_baud = 1500000) is a U6_16550A [ 0.943581] console [ttyS0] enabled [ 0.950986] sun7i-dwmac 1c30000.ethernet: no regulator found [ 0.956762] Ring mode enabled [ 0.959815] No HW DMA feature register supported [ 0.964339] Normal descriptors [ 0.967697] TX Checksum insertion supported [ 1.028699] libphy: stmmac: probed [ 1.032104] eth0: PHY ID 001cc915 at 0 IRQ POLL (stmmac-0:00) active [ 1.038486] eth0: PHY ID 001cc915 at 1 IRQ POLL (stmmac-0:01) [ 1.044749] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 1.051348] ehci-platform: EHCI generic platform driver [ 1.056897] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 1.063091] ohci-platform: OHCI generic platform driver [ 1.068681] usbcore: registered new interface driver usb-storage [ 1.075115] mousedev: PS/2 mouse device common for all mice [ 1.081706] i2c /dev entries driver [ 1.086826] i2c-sunxi-p2wi 1f03400.i2c: could not find pctldev for node /soc@01c00000/pinctrl@01f02c00/p2wi, deferring probe [ 1.098684] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0) [ 1.110066] Initializing XFRM netlink socket [ 1.115383] NET: Registered protocol family 10 [ 1.120782] NET: Registered protocol family 17 [ 1.125263] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this. [ 1.137895] can: controller area network core (rev 20120528 abi 9) [ 1.144119] NET: Registered protocol family 29 [ 1.148605] 8021q: 802.1Q VLAN Support v1.8 [ 1.153183] Registering SWP/SWPB emulation handler [ 1.160493] sun6i-a31-r-pinctrl 1f02c00.pinctrl: initialized sunXi PIO driver [ 1.167925] ehci-platform 1c1a000.usb: EHCI Host Controller [ 1.173517] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1 [ 1.181414] ehci-platform 1c1a000.usb: irq 30, io mem 0x01c1a000 [ 1.206097] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00 [ 1.212384] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 1.219200] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.226442] usb usb1: Product: EHCI Host Controller [ 1.231315] usb usb1: Manufacturer: Linux 4.4.0 ehci_hcd [ 1.236645] usb usb1: SerialNumber: 1c1a000.usb [ 1.241642] hub 1-0:1.0: USB hub found [ 1.245419] hub 1-0:1.0: 1 port detected [ 1.249904] ohci-platform 1c1a400.usb: Generic Platform OHCI controller [ 1.256572] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2 [ 1.264395] ohci-platform 1c1a400.usb: irq 31, io mem 0x01c1a400 [ 1.330190] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001 [ 1.336989] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.344202] usb usb2: Product: Generic Platform OHCI controller [ 1.350188] usb usb2: Manufacturer: Linux 4.4.0 ohci_hcd [ 1.355494] usb usb2: SerialNumber: 1c1a400.usb [ 1.360469] hub 2-0:1.0: USB hub found [ 1.364243] hub 2-0:1.0: 1 port detected [ 1.369148] axp20x 2-0068: AXP20x variant AXP221 found [ 1.398732] input: axp20x-pek as /devices/platform/soc@01c00000/1f03400.i2c/i2c-2/2-0068/axp20x-pek/input/input0 [ 1.424228] axp20x 2-0068: AXP20X driver loaded [ 1.429300] sunxi-mmc 1c0f000.mmc: No vqmmc regulator found [ 1.435124] sunxi-mmc 1c0f000.mmc: Got CD GPIO [ 1.476178] sunxi-mmc 1c0f000.mmc: base:0xf0bba000 irq:28 [ 1.482045] sunxi-mmc 1c10000.mmc: No vqmmc regulator found [ 1.487934] sunxi-mmc 1c10000.mmc: allocated mmc-pwrseq [ 1.523284] mmc0: host does not support reading read-only switch, assuming write-enable [ 1.526071] sunxi-mmc 1c10000.mmc: base:0xf0bbe000 irq:29 [ 1.536102] hctosys: unable to open rtc device (rtc0) [ 1.539990] vcc3v0: disabling [ 1.539996] vcc3v3: disabling [ 1.539999] vcc5v0: disabling [ 1.540009] vdd-gpu: disabling [ 1.541168] dc1sw: disabling [ 1.541753] vdd-cpus: disabling [ 1.543521] ALSA device list: [ 1.543524] No soundcards found. [ 1.566081] usb 1-1: new high-speed USB device number 2 using ehci-platform [ 1.573732] Waiting for root device /dev/mmcblk0p2... [ 1.579443] mmc0: new high speed SDHC card at address 0007 [ 1.595482] mmcblk0: mmc0:0007 SD4GB 3.70 GiB [ 1.601186] mmcblk0: p1 p2 [ 1.610549] sunxi-mmc 1c10000.mmc: smc 1 err, cmd 8, RTO !! [ 1.625309] mmc1: queuing unknown CIS tuple 0x80 (2 bytes) [ 1.632306] mmc1: queuing unknown CIS tuple 0x80 (3 bytes) [ 1.639307] mmc1: queuing unknown CIS tuple 0x80 (3 bytes) [ 1.647465] mmc1: queuing unknown CIS tuple 0x80 (7 bytes) [ 1.668255] mmc1: new high speed SDIO card at address 0001 [ 1.687317] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities [ 1.696332] EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities [ 1.708333] EXT4-fs (mmcblk0p2): mounted filesystem without journal. Opts: (null) [ 1.715835] VFS: Mounted root (ext4 filesystem) readonly on device 179:2. [ 1.723107] Freeing unused kernel memory: 268K (c0579000 - c05bc000) [ 1.730605] usb 1-1: New USB device found, idVendor=05e3, idProduct=0608 [ 1.737367] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [ 1.744501] usb 1-1: Product: USB2.0 Hub [ 1.749323] hub 1-1:1.0: USB hub found [ 1.753474] hub 1-1:1.0: 4 ports detected [ 1.862686] init: Console is alive [ 1.866273] init: - watchdog - [ 2.869869] init: - preinit - Detected hummingbird // Merrii A31 Hummingbird Press the [f] key and hit [enter] to enter failsafe mode Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level [ 5.958102] mount_root: mounting /dev/root [ 6.220835] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) [ 6.230585] procd: - early - [ 6.233519] procd: - watchdog - [ 6.972478] procd: - ubus - [ 7.976821] random: ubusd urandom read with 26 bits of entropy available [ 8.978506] procd: - init - Please press Enter to activate this console. [ 9.315619] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 9.334247] ip_tables: (C) 2000-2006 Netfilter Core Team [ 9.343323] nf_conntrack version 0.5.0 (16089 buckets, 64356 max) [ 9.484758] xt_time: kernel timezone is -0000 [ 9.493427] PPP generic driver version 2.4.2 [ 9.498578] NET: Registered protocol family 24 [ 11.427902] RX IPC Checksum Offload disabled [ 11.432293] No MAC Management Counters available [ 11.439165] device eth0 entered promiscuous mode [ 11.445631] br-lan: port 1(eth0) entered forwarding state [ 11.451108] br-lan: port 1(eth0) entered forwarding state [ 13.416472] br-lan: port 1(eth0) entered disabled state [ 35.962541] random: nonblocking pool is initialized [ 51.416311] sun7i-dwmac 1c30000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx [ 51.424690] br-lan: port 1(eth0) entered forwarding state [ 51.430151] br-lan: port 1(eth0) entered forwarding state [ 53.426042] br-lan: port 1(eth0) entered forwarding state BusyBox v1.24.1 (2016-01-22 22:50:34 CET) built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- DESIGNATED DRIVER (Bleeding Edge, r48455) ----------------------------------------------------- * 2 oz. Orange Juice Combine all juices in a * 2 oz. Pineapple Juice tall glass filled with * 2 oz. Grapefruit Juice ice, stir well. * 2 oz. Cranberry Juice ----------------------------------------------------- root@OpenWrt:/# cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 3 (v7l) BogoMIPS : 48.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 3 processor : 1 model name : ARMv7 Processor rev 3 (v7l) BogoMIPS : 48.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 3 processor : 2 model name : ARMv7 Processor rev 3 (v7l) BogoMIPS : 48.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 3 processor : 3 model name : ARMv7 Processor rev 3 (v7l) BogoMIPS : 48.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 3 Hardware : Allwinner sun6i (A31) Family Revision : 0000 Serial : 1652425107027644 root@OpenWrt:/#