Support for Orange Pi PC Plus (h3 already supported)

Hi!
I have pretty much Linux-Experience as Admin, but none in Kernel-Development.

How difficult would it be to add support for the OrangePi PC Plus? I imagine that it won't be that difficult since the board has pretty good Linux support in Armbian and there are OpenWRT supported H3-Boards.

I just tried to add the board for my own. I basically searched for all occurences of "OrangePi" in the source-code and added the PC Plus where needed:

diff --git a/package/boot/uboot-sunxi/Makefile b/package/boot/uboot-sunxi/Makefile
index 59aa4f0..ab46e1d 100644
--- a/package/boot/uboot-sunxi/Makefile
+++ b/package/boot/uboot-sunxi/Makefile
@@ -162,6 +162,12 @@ define U-Boot/orangepi_pc
   BUILD_DEVICES:=sun8i-h3-orangepi-pc
 endef
 
+define U-Boot/orangepi_pc_plus
+  BUILD_SUBTARGET:=cortexa7
+  NAME:=Orange Pi PC Plus (H3)
+  BUILD_DEVICES:=sun8i-h3-orangepi-pc-plus
+endef
+
 define U-Boot/orangepi_plus
   BUILD_SUBTARGET:=cortexa7
   NAME:=Orange Pi Plus (H3)
@@ -255,6 +261,7 @@ UBOOT_TARGETS := \
        orangepi_zero \
        orangepi_r1 \
        orangepi_pc \
+       orangepi_pc_plus \
        orangepi_plus \
        orangepi_2 \
        orangepi_pc2 \
diff --git a/target/linux/sunxi/image/cortex-a7.mk b/target/linux/sunxi/image/cortex-a7.mk
index 969864b..bb403c2 100644
--- a/target/linux/sunxi/image/cortex-a7.mk
+++ b/target/linux/sunxi/image/cortex-a7.mk
@@ -168,6 +168,15 @@ endef
 
 TARGET_DEVICES += sun8i-h3-orangepi-plus
 
+define Device/sun8i-h3-orangepi-pc-plus
+  DEVICE_TITLE:=Xunlong Orange Pi PC Plus
+  DEVICE_PACKAGES:=kmod-rtc-sunxi
+  SUPPORTED_DEVICES:=xunlong,orangepi-pc-plus
+  SUNXI_DTS:=sun8i-h3-orangepi-pc-plus
+endef
+
+TARGET_DEVICES += sin8i-h3-orangepi-pc-plus
+
 define Device/sun8i-h3-orangepi-2
   DEVICE_TITLE:=Xunlong Orange Pi 2
   DEVICE_PACKAGES:=kmod-rtc-sunxi

To be honest, I can't find the .dts-files ... Where are they? Or are they downloaded on-the-fly?

I did
touch target/linux/*/Makefile
Still it doesn't show up in make menuconfig. Anyone interested in adding board-support?

Anyone interested in adding support or helping me doing it on my own?
Thanks in advance!
Thomas

Btw: target/linux/sunxi/base-files/etc/board.d/02_network looks a bit empty for the sunxi-boards. WLAN-Support only on one board? Am I wrong?

Allwinner/ sunxi is a relatively generic target with very good any active upstream/ mainline support, adding devices (of an already supported sub-target/ SOC) to it should indeed be mostly a matter of providing the correct DTS and image generation code. The DTS is ideally provided by the upstream/ mainline kernel, if it isn't there (yet), you may have to provide it yourself (the sunxi target seems to use upstream backports (patches) here, see target/linux/sunxi/patches-4.14/220-ARM-dts-orange-pi-zero-plus.patch as an example).

Keep in mind that OpenWrt is currently stil based on (the LTS-) kernel 4.14, which might mean you'll have to backport more basic device support for your device (or wait/ switch to 4.19 for your personal porting).

There's support for 4.19 in the tree which works, haven't checked if there's a the Orange Pi PC Plus dts file however in the Linux kernel tree however.

DTS file is downloaded with kernel.

This patch add Opi One and PC Plus boards with kernel 4.19:

diff --git a/package/boot/uboot-sunxi/Makefile b/package/boot/uboot-sunxi/Makefile
index 1d920507c7..ecead6ef12 100644
--- a/package/boot/uboot-sunxi/Makefile
+++ b/package/boot/uboot-sunxi/Makefile
@@ -156,12 +156,24 @@ define U-Boot/orangepi_zero
   BUILD_DEVICES:=sun8i-h2-plus-orangepi-zero
 endef
 
+define U-Boot/orangepi_one
+  BUILD_SUBTARGET:=cortexa7
+  NAME:=Orange Pi One (H3)
+  BUILD_DEVICES:=sun8i-h3-orangepi-one
+endef
+
 define U-Boot/orangepi_pc
   BUILD_SUBTARGET:=cortexa7
   NAME:=Orange Pi PC (H3)
   BUILD_DEVICES:=sun8i-h3-orangepi-pc
 endef
 
+define U-Boot/orangepi_pc_plus
+  BUILD_SUBTARGET:=cortexa7
+  NAME:=Orange Pi PC Plus (H3)
+  BUILD_DEVICES:=sun8i-h3-orangepi-pc-plus
+endef
+
 define U-Boot/orangepi_plus
   BUILD_SUBTARGET:=cortexa7
   NAME:=Orange Pi Plus (H3)
@@ -260,7 +272,9 @@ UBOOT_TARGETS := \
 	nanopi_neo2 \
 	orangepi_zero \
 	orangepi_r1 \
+	orangepi_one \
 	orangepi_pc \
+	orangepi_pc_plus \
 	orangepi_plus \
 	orangepi_2 \
 	orangepi_pc2 \
diff --git a/target/linux/sunxi/Makefile b/target/linux/sunxi/Makefile
index 8d09d4e939..cd1bf30e84 100644
--- a/target/linux/sunxi/Makefile
+++ b/target/linux/sunxi/Makefile
@@ -14,7 +14,7 @@ FEATURES:=fpu usb ext4 display rtc squashfs
 SUBTARGETS:=cortexa8 cortexa7 cortexa53
 MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
 
-KERNEL_PATCHVER:=4.14
+KERNEL_PATCHVER:=4.19
 KERNELNAME:=zImage dtbs
 
 # A10: Cortex-A8
diff --git a/target/linux/sunxi/image/cortex-a7.mk b/target/linux/sunxi/image/cortex-a7.mk
index 58c3b6fc40..ce0cbe5a5c 100644
--- a/target/linux/sunxi/image/cortex-a7.mk
+++ b/target/linux/sunxi/image/cortex-a7.mk
@@ -159,6 +159,16 @@ endef
 TARGET_DEVICES += sun8i-h3-nanopi-neo
 
 
+define Device/sun8i-h3-orangepi-one
+  DEVICE_TITLE:=Xunlong Orange Pi One
+  DEVICE_PACKAGES:=kmod-rtc-sunxi
+  SUPPORTED_DEVICES:=xunlong,orangepi-one
+  SUNXI_DTS:=sun8i-h3-orangepi-one
+endef
+
+TARGET_DEVICES += sun8i-h3-orangepi-one
+
+
 define Device/sun8i-h3-orangepi-pc
   DEVICE_TITLE:=Xunlong Orange Pi PC
   DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-gpio-button-hotplug
@@ -169,6 +179,16 @@ endef
 TARGET_DEVICES += sun8i-h3-orangepi-pc
 
 
+define Device/sun8i-h3-orangepi-pc-plus
+  DEVICE_TITLE:=Xunlong Orange Pi PC Plus
+  DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-gpio-button-hotplug
+  SUPPORTED_DEVICES:=xunlong,orangepi-pc-plus
+  SUNXI_DTS:=sun8i-h3-orangepi-pc-plus
+endef
+
+TARGET_DEVICES += sun8i-h3-orangepi-pc-plus
+
+
 define Device/sun8i-h3-orangepi-plus
   DEVICE_TITLE:=Xunlong Orange Pi Plus
   DEVICE_PACKAGES:=kmod-rtc-sunxi

Compiles without errors. Can you test it with Opi PC Plus?

Sorry, I had no time ;(

Thank you VERY MUCH!! Boots like a charm! (but was difficult to find the board since I didn't think looking into "Allwinner A20/A3x" as the subtarget since I don't know how much h3 and A20 have in common ...)
WiFi isn't detected, yet ... but here I can maybe also put some effort into it when I have time.

Bootlog:


U-Boot SPL 2018.11 (Feb 24 2019 - 00:48:25 +0000)
DRAM: 1024 MiB
Trying to boot from MMC1


U-Boot 2018.11 (Feb 24 2019 - 00:48:25 +0000) Allwinner Technology

CPU:   Allwinner H3 (SUN8I 1680)
Model: Xunlong Orange Pi PC Plus
DRAM:  1 GiB
MMC:   SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
Loading Environment from FAT... Unable to use mmc 1:1... In:    serial
Out:   serial
Err:   serial
Net:   phy interface0
eth0: ethernet@1c30000
starting USB...
USB0:   USB EHCI 1.00
USB1:   USB OHCI 1.0
USB2:   USB EHCI 1.00
USB3:   USB OHCI 1.0
USB4:   USB EHCI 1.00
USB5:   USB OHCI 1.0
USB6:   USB EHCI 1.00
USB7:   USB OHCI 1.0
scanning bus 0 for devices... 1 USB Device(s) found
scanning bus 2 for devices... 1 USB Device(s) found
scanning bus 4 for devices... 1 USB Device(s) found
scanning bus 6 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage 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
377 bytes read in 1 ms (368.2 KiB/s)
## Executing script at 43100000
2810880 bytes read in 125 ms (21.4 MiB/s)
19835 bytes read in 3 ms (6.3 MiB/s)
## Booting kernel from Legacy Image at 42000000 ...
   Image Name:   ARM OpenWrt Linux-4.19.24
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2810816 Bytes = 2.7 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 43000000
   Booting using the fdt blob at 0x43000000
EHCI failed to shut down host controller.
EHCI failed to shut down host controller.
EHCI failed to shut down host controller.
EHCI failed to shut down host controller.
   Loading Kernel Image ... OK
   Using Device Tree in place at 43000000, end 43007d7a

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.19.24 (admini@pc3) (gcc version 7.4.0 (OpenWrt GCC 7.4.0 r0-b7f2adb)) #0 SMP PREEMPT Sun Feb 24 00:48:25 2019
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=30c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Xunlong Orange Pi PC Plus
[    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] random: get_random_bytes called from start_kernel+0x78/0x448 with crng_init=0
[    0.000000] percpu: Embedded 16 pages/cpu @(ptrval) s35084 r8192 d22260 u65536
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 260608
[    0.000000] Kernel command line: console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
[    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: 1028368K/1048576K available (5632K kernel code, 370K rwdata, 1596K rodata, 2048K init, 241K bss, 20208K reserved, 0K cma-reserved, 262132K 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 : 0x(ptrval) - 0x(ptrval)   (7649 kB)
[    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (2048 kB)
[    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 371 kB)
[    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 242 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[    0.000000] 	Tasks RCU enabled.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    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.000006] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000018] Switching to timer-based delay loop, resolution 41ns
[    0.000144] Console: colour dummy device 80x30
[    0.000186] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.000200] pid_max: default: 32768 minimum: 301
[    0.000333] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000347] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000838] CPU: Testing write buffer coherency: ok
[    0.001167] /cpus/cpu@0 missing clock-frequency property
[    0.001189] /cpus/cpu@1 missing clock-frequency property
[    0.001208] /cpus/cpu@2 missing clock-frequency property
[    0.001228] /cpus/cpu@3 missing clock-frequency property
[    0.001239] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.060061] Setting up static identity map for 0x40200000 - 0x40200060
[    0.080058] rcu: Hierarchical SRCU implementation.
[    0.120113] smp: Bringing up secondary CPUs ...
[    0.210521] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.300655] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.390794] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.390874] smp: Brought up 1 node, 4 CPUs
[    0.390893] SMP: Total of 4 processors activated (192.00 BogoMIPS).
[    0.390900] CPU: All CPU(s) started in HYP mode.
[    0.390905] CPU: Virtualization extensions available.
[    0.395275] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.395811] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.395832] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.396154] pinctrl core: initialized pinctrl subsystem
[    0.397330] NET: Registered protocol family 16
[    0.397598] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.399141] No ATAGs?
[    0.425970] SCSI subsystem initialized
[    0.426722] usbcore: registered new interface driver usbfs
[    0.426831] usbcore: registered new interface driver hub
[    0.426968] usbcore: registered new device driver usb
[    0.427341] pps_core: LinuxPPS API ver. 1 registered
[    0.427350] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.427424] PTP clock support registered
[    0.428158] Advanced Linux Sound Architecture Driver Initialized.
[    0.429195] clocksource: Switched to clocksource arch_sys_counter
[    0.439021] NET: Registered protocol family 2
[    0.439603] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
[    0.439630] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    0.439700] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.439815] TCP: Hash tables configured (established 8192 bind 8192)
[    0.439921] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.439980] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.440188] NET: Registered protocol family 1
[    0.440572] kvm [1]: 8-bit VMID
[    0.440970] kvm [1]: vgic interrupt IRQ16
[    0.441062] kvm [1]: Hyp mode initialized successfully
[    0.442831] No memory allocated for crashlog
[    0.442974] workingset: timestamp_bits=30 max_order=18 bucket_order=0
[    0.450662] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.450929] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.453580] bounce: pool size: 64 pages
[    0.453602] io scheduler noop registered
[    0.453610] io scheduler deadline registered
[    0.453823] io scheduler cfq registered (default)
[    0.454636] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
[    0.459317] sun8i-h3-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.461084] sun8i-h3-r-pinctrl 1f02c00.pinctrl: initialized sunXi PIO driver
[    0.525146] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    0.527276] console [ttyS0] disabled
[    0.547926] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 42, base_baud = 1500000) is a U6_16550A
[    1.158210] console [ttyS0] enabled
[    1.166436] loop: module loaded
[    1.171243] libphy: Fixed MDIO Bus: probed
[    1.175775] dwmac-sun8i 1c30000.ethernet: PTP uses main clock
[    1.181574] dwmac-sun8i 1c30000.ethernet: No regulator found
[    1.187514] dwmac-sun8i 1c30000.ethernet: Current syscon value is not the default 148000 (expect 58000)
[    1.196928] dwmac-sun8i 1c30000.ethernet: No HW DMA feature register supported
[    1.204155] dwmac-sun8i 1c30000.ethernet: RX Checksum Offload Engine supported
[    1.211379] dwmac-sun8i 1c30000.ethernet: COE Type 2
[    1.216338] dwmac-sun8i 1c30000.ethernet: TX Checksum insertion supported
[    1.223127] dwmac-sun8i 1c30000.ethernet: Normal descriptors
[    1.228780] dwmac-sun8i 1c30000.ethernet: Chain mode enabled
[    1.234591] libphy: stmmac: probed
[    1.238519] dwmac-sun8i 1c30000.ethernet: Found internal PHY node
[    1.244753] libphy: mdio_mux: probed
[    1.248343] dwmac-sun8i 1c30000.ethernet: Switch mux to internal PHY
[    1.254707] dwmac-sun8i 1c30000.ethernet: Powering internal PHY
[    1.261344] libphy: mdio_mux: probed
[    1.265734] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.272277] ehci-platform: EHCI generic platform driver
[    1.277678] ehci-platform 1c1a000.usb: EHCI Host Controller
[    1.283292] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[    1.291162] ehci-platform 1c1a000.usb: irq 28, io mem 0x01c1a000
[    1.319211] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[    1.325470] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
[    1.333748] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.340971] usb usb1: Product: EHCI Host Controller
[    1.345843] usb usb1: Manufacturer: Linux 4.19.24 ehci_hcd
[    1.351334] usb usb1: SerialNumber: 1c1a000.usb
[    1.356250] hub 1-0:1.0: USB hub found
[    1.360048] hub 1-0:1.0: 1 port detected
[    1.364798] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.371015] ohci-platform: OHCI generic platform driver
[    1.376393] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[    1.383032] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2
[    1.390882] ohci-platform 1c1a400.usb: irq 29, io mem 0x01c1a400
[    1.463362] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19
[    1.474009] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.481241] usb usb2: Product: Generic Platform OHCI controller
[    1.487154] usb usb2: Manufacturer: Linux 4.19.24 ohci_hcd
[    1.492645] usb usb2: SerialNumber: 1c1a400.usb
[    1.497536] hub 2-0:1.0: USB hub found
[    1.501327] hub 2-0:1.0: 1 port detected
[    1.506125] usbcore: registered new interface driver usb-storage
[    1.512366] mousedev: PS/2 mouse device common for all mice
[    1.518397] i2c /dev entries driver
[    1.525251] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[    1.533610] cpu cpu0: Linked as a consumer to regulator.4
[    1.539053] cpu cpu0: Dropping the link to regulator.4
[    1.544352] cpu cpu0: Linked as a consumer to regulator.4
[    1.551039] sunxi-mmc 1c0f000.mmc: Linked as a consumer to regulator.2
[    1.557924] sunxi-mmc 1c0f000.mmc: Got CD GPIO
[    1.587761] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[    1.595113] sunxi-mmc 1c10000.mmc: Linked as a consumer to regulator.2
[    1.624772] sunxi-mmc 1c10000.mmc: initialized, max. request size: 16384 KB
[    1.632146] sunxi-mmc 1c11000.mmc: Linked as a consumer to regulator.2
[    1.646554] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.657398] mmc0: new high speed SDHC card at address aaaa
[    1.663661] mmcblk0: mmc0:aaaa SL08G 7.40 GiB 
[    1.667186] sunxi-mmc 1c11000.mmc: initialized, max. request size: 16384 KB
[    1.669457]  mmcblk0: p1 p2
[    1.678003] NET: Registered protocol family 10
[    1.680716] mmc1: new high speed SDIO card at address 0001
[    1.688562] Segment Routing with IPv6
[    1.692348] NET: Registered protocol family 17
[    1.696842] can: controller area network core (rev 20170425 abi 9)
[    1.703096] NET: Registered protocol family 29
[    1.707555] 8021q: 802.1Q VLAN Support v1.8
[    1.711869] Registering SWP/SWPB emulation handler
[    1.724938] sun4i-usb-phy 1c19400.phy: Linked as a consumer to regulator.5
[    1.732909] ehci-platform 1c1b000.usb: EHCI Host Controller
[    1.738574] ehci-platform 1c1b000.usb: new USB bus registered, assigned bus number 3
[    1.746485] ehci-platform 1c1b000.usb: irq 30, io mem 0x01c1b000
[    1.765404] mmc2: new DDR MMC card at address 0001
[    1.779215] ehci-platform 1c1b000.usb: USB 2.0 started, EHCI 1.00
[    1.785719] mmcblk2: mmc2:0001 8WPD3R 7.28 GiB 
[    1.790647] mmcblk2boot0: mmc2:0001 8WPD3R partition 1 4.00 MiB
[    1.796941] mmcblk2boot1: mmc2:0001 8WPD3R partition 2 4.00 MiB
[    1.803124] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
[    1.811409] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.818622] usb usb3: Product: EHCI Host Controller
[    1.824049] usb usb3: Manufacturer: Linux 4.19.24 ehci_hcd
[    1.829625]  mmcblk2: p1
[    1.833254] usb usb3: SerialNumber: 1c1b000.usb
[    1.838202] hub 3-0:1.0: USB hub found
[    1.842023] hub 3-0:1.0: 1 port detected
[    1.846738] ehci-platform 1c1c000.usb: EHCI Host Controller
[    1.852358] ehci-platform 1c1c000.usb: new USB bus registered, assigned bus number 4
[    1.860254] ehci-platform 1c1c000.usb: irq 32, io mem 0x01c1c000
[    1.889211] ehci-platform 1c1c000.usb: USB 2.0 started, EHCI 1.00
[    1.895460] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
[    1.903736] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.910959] usb usb4: Product: EHCI Host Controller
[    1.915831] usb usb4: Manufacturer: Linux 4.19.24 ehci_hcd
[    1.921322] usb usb4: SerialNumber: 1c1c000.usb
[    1.926234] hub 4-0:1.0: USB hub found
[    1.930031] hub 4-0:1.0: 1 port detected
[    1.934630] ehci-platform 1c1d000.usb: EHCI Host Controller
[    1.940244] ehci-platform 1c1d000.usb: new USB bus registered, assigned bus number 5
[    1.948095] ehci-platform 1c1d000.usb: irq 34, io mem 0x01c1d000
[    1.979213] ehci-platform 1c1d000.usb: USB 2.0 started, EHCI 1.00
[    1.985439] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
[    1.993715] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.000939] usb usb5: Product: EHCI Host Controller
[    2.005811] usb usb5: Manufacturer: Linux 4.19.24 ehci_hcd
[    2.011304] usb usb5: SerialNumber: 1c1d000.usb
[    2.016196] hub 5-0:1.0: USB hub found
[    2.019989] hub 5-0:1.0: 1 port detected
[    2.024570] ohci-platform 1c1b400.usb: Generic Platform OHCI controller
[    2.031221] ohci-platform 1c1b400.usb: new USB bus registered, assigned bus number 6
[    2.039091] ohci-platform 1c1b400.usb: irq 31, io mem 0x01c1b400
[    2.113350] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19
[    2.121631] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.128846] usb usb6: Product: Generic Platform OHCI controller
[    2.134773] usb usb6: Manufacturer: Linux 4.19.24 ohci_hcd
[    2.140263] usb usb6: SerialNumber: 1c1b400.usb
[    2.145153] hub 6-0:1.0: USB hub found
[    2.148933] hub 6-0:1.0: 1 port detected
[    2.153543] ohci-platform 1c1c400.usb: Generic Platform OHCI controller
[    2.160194] ohci-platform 1c1c400.usb: new USB bus registered, assigned bus number 7
[    2.168042] ohci-platform 1c1c400.usb: irq 33, io mem 0x01c1c400
[    2.243348] usb usb7: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19
[    2.251626] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.258838] usb usb7: Product: Generic Platform OHCI controller
[    2.264763] usb usb7: Manufacturer: Linux 4.19.24 ohci_hcd
[    2.270254] usb usb7: SerialNumber: 1c1c400.usb
[    2.275163] hub 7-0:1.0: USB hub found
[    2.278944] hub 7-0:1.0: 1 port detected
[    2.283538] ohci-platform 1c1d400.usb: Generic Platform OHCI controller
[    2.290189] ohci-platform 1c1d400.usb: new USB bus registered, assigned bus number 8
[    2.298038] ohci-platform 1c1d400.usb: irq 35, io mem 0x01c1d400
[    2.373344] usb usb8: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19
[    2.381622] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.388835] usb usb8: Product: Generic Platform OHCI controller
[    2.394761] usb usb8: Manufacturer: Linux 4.19.24 ohci_hcd
[    2.400252] usb usb8: SerialNumber: 1c1d400.usb
[    2.405146] hub 8-0:1.0: USB hub found
[    2.408922] hub 8-0:1.0: 1 port detected
[    2.413263] hctosys: unable to open rtc device (rtc0)
[    2.418872] vcc3v0: disabling
[    2.421862] vcc5v0: disabling
[    2.424829] usb0-vbus: disabling
[    2.428055] ALSA device list:
[    2.431029]   No soundcards found.
[    2.443616] VFS: Mounted root (squashfs filesystem) readonly on device 179:2.
[    2.452862] Freeing unused kernel memory: 2048K
[    2.457533] Run /sbin/init as init process
[    2.696420] init: Console is alive
[    2.700106] init: - watchdog -
[    3.071338] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.121591] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    3.137539] init: - preinit -
[    3.421893] random: jshn: uninitialized urandom read (4 bytes read)
[    3.450153] random: jshn: uninitialized urandom read (4 bytes read)
[    3.469132] random: jshn: uninitialized urandom read (4 bytes read)
[    3.489971] Generic PHY 0.1:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0.1:01, irq=POLL)
[    3.500669] dwmac-sun8i 1c30000.ethernet eth0: No Safety Features support found
[    3.507981] dwmac-sun8i 1c30000.ethernet eth0: No MAC Management Counters available
[    3.515678] dwmac-sun8i 1c30000.ethernet eth0: PTP not supported by HW
[    3.523419] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
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
[    7.049559] F2FS-fs (loop0): Mounted with checkpoint version = 5ccce279
[    7.056948] mount_root: switching to f2fs overlay
[    7.106405] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[    7.170910] urandom-seed: Seeding with /etc/urandom.seed
[    7.254710] procd: - early -
[    7.257663] procd: - watchdog -
[    7.973578] procd: - watchdog -
[    7.976956] procd: - ubus -
[    7.993070] urandom_read: 1 callbacks suppressed
[    7.993078] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.031403] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.037956] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.044884] procd: - init -
Please press Enter to activate this console.
[    8.204916] kmodloader: loading kernel modules from /etc/modules.d/*
[    8.221262] Loading modules backported from Linux version v4.19.23-0-g67d52fae61c1
[    8.228833] Backport generated by backports.git v4.19.23-1-0-g480a925a
[    8.247349] xt_time: kernel timezone is -0000
[    8.279016] PPP generic driver version 2.4.2
[    8.284535] NET: Registered protocol family 24
[    8.291168] usbcore: registered new interface driver rtl8xxxu
[    8.307945] usbcore: registered new interface driver brcmfmac
[    8.321144] usbcore: registered new interface driver rtl8192cu
[    8.327129] kmodloader: done loading kernel modules from /etc/modules.d/*
[   11.475869] Generic PHY 0.1:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0.1:01, irq=POLL)
[   11.486553] dwmac-sun8i 1c30000.ethernet eth0: No Safety Features support found
[   11.493920] dwmac-sun8i 1c30000.ethernet eth0: No MAC Management Counters available
[   11.501676] dwmac-sun8i 1c30000.ethernet eth0: PTP not supported by HW
[   11.509024] br-lan: port 1(eth0) entered blocking state
[   11.514378] br-lan: port 1(eth0) entered disabled state
[   11.520261] device eth0 entered promiscuous mode
[   11.527025] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready



BusyBox v1.30.1 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r0-b7f2adb
 -----------------------------------------------------
root@OpenWrt:/# 

THANKS!!
Thomas

You can try compile this driver. I have only Orange Pi One and this board doesn't have wifi.

It didn't really work, but maybe it compiled wrong ...
I have the armbian-repo here:
~/opt/2/openwrt/

I cloned the driver here:
~/opt/2/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/rtl8189ES_linux

and make this build-command:
make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- KSRC=../linux-4.19.24/

On the router it produced this: https://pastebin.com/Ht7VXQrq

Still thanks very much!!
Thomas

The Status Matrix for the sunxi Linux mainlining effort s a good place to see what features newer kernels enable or which are still missing for the various Allwinner boards as OpenWRT adopts mainline kernel

http://linux-sunxi.org/Linux_mainlining_effort

I found most useful the CPUFreq (DVFS) feature on 4.18 for H3 recently

I use mine for 802.11s mesh so use USB wifi dongles instead of the missing or not working onboard wifi

e.g. Nano Pi NEO

Wifi works on Armbian which probably uses the mainline kernel, too ...

I compiled another time:

PATH=$PATH:~/opt/2/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.4.0_musl_eabi/bin
export PATH
STAGING_DIR=~/opt/2/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.4.0_musl_eabi
export STAGING_DIR
cd opt/2/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/rtl8189ES_linux/
make clean
make -j6 ARCH=arm CROSS_COMPILE=arm-openwrt-linux-muslgnueabi- KSRC=../linux-4.19.24/ KVER=4.19.24

The Compiler-Warnings: https://pastebin.com/9T2DdGmq

Another time some stack-problem on insmod: https://pastebin.com/DvJQRiEH

Enough for tonight ...
Thomas

Did you manage to compile and use the wifi adapter?

No sorry, I didn't. But I don't use the OPi as Router anymore.