hi3518ev300: add an RTL8188EU profile with the driver in the kernel, and drop excludes firmware now handles (#157)
Follow-up to OpenIPC/firmware#2410, which left MT7601U as the only in-tree USB Wi-Fi stack on hi3518ev300. RTL8188EU lands here as a camera profile, splitting the two adapters across the two repositories. hi3518ev300_lite_generic-rtl8188eu builds the driver INTO the kernel rather than shipping it as a module: a profile whose only Wi-Fi is that driver has no reason to carry it as loadable code, and the rootfs is the partition under pressure. The out-of-tree rtl8188eus-openipc cannot make that move -- it is an external kernel-module package, never linked into vmlinux -- so this uses the in-tree staging driver at CONFIG_R8188EU=y through a variant kernel config, the same shape as gk7205v200.generic-otg.config. Built in, the driver also has no modprobe problem: as a module it was unreachable, because /etc/wireless/usb's rtl8188eu-generic profile modprobes '8188eu' while the in-tree module is 'r8188eu'. Linked into the kernel it binds off its own USB device table at boot. CONFIG_R8188EU selects WIRELESS_EXT, so the wext ABI firmware#2410 dropped comes back on this variant only. It requests rtlwifi/rtl8188eufw.bin, so linux-firmware-openipc comes with it. Registered in .github/firmware-drift.json against the firmware blob it derives from. MEASURED in CI, against the module-based version of the same profile: uImage [1873KB/2048KB] -> [1991KB/2048KB] 56KB free rootfs.squashfs [5084KB/5120KB] -> [4728KB/5120KB] 392KB free Also drops excludes entries firmware now handles upstream: r8188eu.ko from xiaomi-mjsxj02hl, and r8188eu.ko + scsi_mod.ko + sd_mod.ko from yuancam-dgk423403. Both cameras build green; both run out-of-tree Realtek drivers over nl80211 and are otherwise unaffected. Not tested on a camera. This changes which 8188EU driver is used -- mainline staging rather than the Realtek vendor fork -- so it wants confirmation that a dongle is detected at boot without a modprobe, associates, and streams.
This commit is contained in:
@@ -720,6 +720,13 @@
|
|||||||
"blob": "d027af78c683d0cb625e94fb8b525d4d1d39466a",
|
"blob": "d027af78c683d0cb625e94fb8b525d4d1d39466a",
|
||||||
"reconciled": "2026-08-25",
|
"reconciled": "2026-08-25",
|
||||||
"note": "device-local copy of a firmware file"
|
"note": "device-local copy of a firmware file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"builder": "devices/hi3518ev300_lite_generic-rtl8188eu/br-ext-chip-hisilicon/board/hi3516ev200/hi3518ev300.generic-rtl8188eu.config",
|
||||||
|
"firmware": "br-ext-chip-hisilicon/board/hi3516ev200/hi3518ev300.generic.config",
|
||||||
|
"blob": "8534433dca5ef19f2132ad2d1f73f6f3e83ae1f5",
|
||||||
|
"reconciled": "2026-09-13",
|
||||||
|
"note": "rtl8188eu variant of the generic config: R8188EU=y instead of unset, which brings WIRELESS_EXT back; identical otherwise"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"builder_only_symbols": {
|
"builder_only_symbols": {
|
||||||
|
|||||||
+2771
File diff suppressed because it is too large
Load Diff
+68
@@ -0,0 +1,68 @@
|
|||||||
|
# Architecture
|
||||||
|
BR2_arm=y
|
||||||
|
BR2_cortex_a7=y
|
||||||
|
BR2_ARM_EABI=y
|
||||||
|
BR2_ARM_FPU_NEON_VFPV4=y
|
||||||
|
BR2_ARM_INSTRUCTIONS_THUMB2=y
|
||||||
|
|
||||||
|
# Toolchain
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz"
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-musleabi"
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||||
|
|
||||||
|
# Kernel
|
||||||
|
BR2_LINUX_KERNEL=y
|
||||||
|
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||||
|
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_KERNEL).tar.gz"
|
||||||
|
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||||
|
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/hi3518ev300.generic-rtl8188eu.config"
|
||||||
|
BR2_LINUX_KERNEL_UIMAGE=y
|
||||||
|
BR2_LINUX_KERNEL_XZ=y
|
||||||
|
|
||||||
|
# Filesystem
|
||||||
|
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config"
|
||||||
|
BR2_PACKAGE_UBOOT_TOOLS=y
|
||||||
|
BR2_PACKAGE_ZLIB=y
|
||||||
|
BR2_PACKAGE_JSON_C=y
|
||||||
|
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||||
|
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
|
||||||
|
BR2_PACKAGE_WIREGUARD_TOOLS=y
|
||||||
|
BR2_PACKAGE_WIRELESS_TOOLS=y
|
||||||
|
BR2_PACKAGE_WPA_SUPPLICANT=y
|
||||||
|
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
|
||||||
|
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
|
||||||
|
BR2_TARGET_ROOTFS_CPIO=y
|
||||||
|
BR2_TARGET_ROOTFS_SQUASHFS=y
|
||||||
|
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
|
||||||
|
|
||||||
|
# OpenIPC
|
||||||
|
BR2_OPENIPC_SOC_VENDOR="hisilicon"
|
||||||
|
BR2_OPENIPC_SOC_MODEL="hi3518ev300"
|
||||||
|
BR2_OPENIPC_SOC_FAMILY="hi3516ev200"
|
||||||
|
BR2_OPENIPC_VARIANT="lite"
|
||||||
|
BR2_OPENIPC_FLASH_SIZE="8"
|
||||||
|
|
||||||
|
# Packages
|
||||||
|
BR2_PACKAGE_DROPBEAR_OPENIPC=y
|
||||||
|
BR2_PACKAGE_HISILICON_OPENSDK=y
|
||||||
|
BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y
|
||||||
|
BR2_PACKAGE_IPCTOOL=y
|
||||||
|
BR2_PACKAGE_LIBCURL_OPENIPC=y
|
||||||
|
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
|
||||||
|
# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set
|
||||||
|
# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set
|
||||||
|
# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set
|
||||||
|
BR2_PACKAGE_LIBEVENT_OPENIPC=y
|
||||||
|
BR2_PACKAGE_LIBOGG_OPENIPC=y
|
||||||
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
||||||
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_RTL_8188EU=y
|
||||||
|
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
||||||
|
BR2_PACKAGE_MAJESTIC=y
|
||||||
|
BR2_PACKAGE_MBEDTLS_OPENIPC=y
|
||||||
|
BR2_PACKAGE_OPUS_OPENIPC=y
|
||||||
|
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
|
||||||
|
BR2_PACKAGE_YAML_CLI=y
|
||||||
Executable
+23
@@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Perform basic settings on a known IP camera
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Set custom upgrade url
|
||||||
|
#
|
||||||
|
fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/hi3518ev300_lite_generic-rtl8188eu-nor.tgz'
|
||||||
|
#
|
||||||
|
# rtl8188eu-generic is the /etc/wireless/usb profile that runs `modprobe 8188eu`,
|
||||||
|
# which is the module rtl8188eus-openipc builds. The in-tree staging driver this
|
||||||
|
# SoC used to carry was called r8188eu and nothing ever modprobed it.
|
||||||
|
#
|
||||||
|
fw_setenv wlandev rtl8188eu-generic
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Set wlan device and credentials if need
|
||||||
|
#
|
||||||
|
#fw_setenv wlanssid Router
|
||||||
|
#fw_setenv wlanpass 12345678
|
||||||
|
#
|
||||||
|
|
||||||
|
exit 0
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
#
|
||||||
|
# R8188EU is built into the kernel on this variant, so the rootfs carries no
|
||||||
|
# Wi-Fi driver at all. MT7601U goes, and mac80211 goes with it -- modules.dep
|
||||||
|
# shows mt7601u is its only consumer, and the in-tree r8188eu talks cfg80211,
|
||||||
|
# which is built in.
|
||||||
|
#
|
||||||
|
/lib/modules/4.9.37/kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
|
||||||
|
/lib/modules/4.9.37/kernel/net/mac80211/mac80211.ko
|
||||||
-1
@@ -42,6 +42,5 @@
|
|||||||
#
|
#
|
||||||
/lib/modules/4.9.37/hisilicon/camhi-motor.ko
|
/lib/modules/4.9.37/hisilicon/camhi-motor.ko
|
||||||
/lib/modules/4.9.37/kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
|
/lib/modules/4.9.37/kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
|
||||||
/lib/modules/4.9.37/kernel/drivers/staging/rtl8188eu/r8188eu.ko
|
|
||||||
/lib/modules/4.9.37/kernel/fs/f2fs/f2fs.ko
|
/lib/modules/4.9.37/kernel/fs/f2fs/f2fs.ko
|
||||||
|
|
||||||
|
|||||||
-3
@@ -58,10 +58,7 @@
|
|||||||
#
|
#
|
||||||
/lib/modules/4.9.37/kernel/drivers/i2c/busses/i2c-tiny-usb.ko
|
/lib/modules/4.9.37/kernel/drivers/i2c/busses/i2c-tiny-usb.ko
|
||||||
/lib/modules/4.9.37/kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
|
/lib/modules/4.9.37/kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
|
||||||
/lib/modules/4.9.37/kernel/drivers/scsi/scsi_mod.ko
|
|
||||||
/lib/modules/4.9.37/kernel/drivers/scsi/scsi_transport_fc.ko
|
/lib/modules/4.9.37/kernel/drivers/scsi/scsi_transport_fc.ko
|
||||||
/lib/modules/4.9.37/kernel/drivers/scsi/sd_mod.ko
|
|
||||||
/lib/modules/4.9.37/kernel/drivers/staging/rtl8188eu/r8188eu.ko
|
|
||||||
/lib/modules/4.9.37/kernel/drivers/usb/gadget/libcomposite.ko
|
/lib/modules/4.9.37/kernel/drivers/usb/gadget/libcomposite.ko
|
||||||
/lib/modules/4.9.37/kernel/drivers/usb/gadget/function/u_ether.ko
|
/lib/modules/4.9.37/kernel/drivers/usb/gadget/function/u_ether.ko
|
||||||
/lib/modules/4.9.37/kernel/drivers/usb/gadget/function/u_serial.ko
|
/lib/modules/4.9.37/kernel/drivers/usb/gadget/function/u_serial.ko
|
||||||
|
|||||||
Reference in New Issue
Block a user