From f4fc240a26626342a0885758ddd428242a3dc0b0 Mon Sep 17 00:00:00 2001 From: AI Dev Date: Sun, 20 Sep 2026 05:16:23 +0000 Subject: [PATCH] hisilicon: five boards back under the squashfs cap hi3516ev200_lite went 4KB over its 5120KB cap on 2026-09-19 with no commit in this tree responsible. majestic is fetched as .master.tar.bz2 and majestic-webui as its "dist" release asset, so both move on their own: the majestic binary was rebuilt a minute before that build (1288676 -> 1297076 bytes) and the webui dist grew 125267 bytes across the day's SD-card work. Re-squashing the last good nightly's rootfs puts those at +5.52KB and +38.41KB compressed. Four more boards were a couple of ordinary commits behind it -- hi3519v101_lite at 0KB left of 5120KB, hi3516ev100_lite at 8KB, hi3516dv200_lite at 20KB, hi3518ev100_lite at 24KB -- and the webui already carries ~22KB more than the build that failed. Each board drops kernel modules that image can never load, the test #2442 used: hi3516ev200 SCSI: USB_STORAGE is off and no HBA is enabled, so scsi_mod, sd_mod and a Fibre Channel transport had nothing to bind to. Shared with the ultimate variant, which has no USB_STORAGE either, so the wireless stack stays -- ultimate ships mediatek/mt7601u.bin and its mt7601u works. hi3516dv200 the same dead SCSI, plus mt7601u/mac80211/cfg80211: this board ships no firmware at all, so mt7601u could never probe, and nothing else here is built on the stack. hi3519v101 mac80211 and cfg80211 have no user in modules.dep; the only Wi-Fi driver is the staging r8188eu, which carries its own stack and its own firmware. hi3516ev100 mac80211 has no user; cfg80211 and ZD1201 stay because ZD1201 is what selects WIRELESS_EXT here. hi3518ev100 rtl8192cu and rtl8192se wait on rtlwifi/rtl8192cufw*.bin and rtl8192sefw.bin, and the only blobs on the image are rtl8188eufw.bin and mt7601u.bin; mac80211 served only them. cfg80211 stays for the out-of-tree mt7601sta. Measured by re-squashing each board's published rootfs with the modules removed (-b 128K -comp xz, which reproduces the published figure to within 4KB): ev200 5124 -> ~5054, dv200 5100 -> ~4792, hi3519v101 5120 -> ~4936, ev100 5112 -> ~4994, hi3518ev100 5096 -> ~4916. Every edit was run through its own kernel's olddefconfig (oldnoconfig on the 3.0.8 hi3516cv100 tree) to confirm the module set changes as intended and nothing is silently turned back on, and that WIRELESS_EXT, WEXT_CORE and WEXT_PRIV survive on hi3519v101 and hi3516ev100 and WEXT_CORE on hi3518ev100 -- the trap #2442 called out for out-of-tree drivers. --- .../hi3516cv100/hi3518ev100.generic.config | 29 ++++++------ .../hi3516cv300/hi3516ev100.generic.config | 20 ++++---- .../hi3516ev200/hi3516dv200.generic.config | 47 ++++++++----------- .../hi3516ev200/hi3516ev200.generic.config | 21 +++++---- .../hi3519v101/hi3519v101.generic.config | 26 ++++------ 5 files changed, 66 insertions(+), 77 deletions(-) diff --git a/br-ext-chip-hisilicon/board/hi3516cv100/hi3518ev100.generic.config b/br-ext-chip-hisilicon/board/hi3516cv100/hi3518ev100.generic.config index 07bcabcaf6..751cbc8f36 100644 --- a/br-ext-chip-hisilicon/board/hi3516cv100/hi3518ev100.generic.config +++ b/br-ext-chip-hisilicon/board/hi3516cv100/hi3518ev100.generic.config @@ -547,17 +547,10 @@ CONFIG_WIRELESS_EXT_SYSFS=y CONFIG_LIB80211=y # CONFIG_LIB80211_DEBUG is not set # CONFIG_CFG80211_ALLOW_RECONNECT is not set -CONFIG_MAC80211=m -CONFIG_MAC80211_HAS_RC=y -# CONFIG_MAC80211_RC_PID is not set -CONFIG_MAC80211_RC_MINSTREL=y -CONFIG_MAC80211_RC_MINSTREL_HT=y -CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y -CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" -CONFIG_MAC80211_MESH=y -# CONFIG_MAC80211_LEDS is not set -# CONFIG_MAC80211_DEBUGFS is not set -# CONFIG_MAC80211_DEBUG_MENU is not set +# The rtlwifi drivers above were its only users. cfg80211 stays: the +# out-of-tree mt7601sta depends on it, and CFG80211_WEXT=y here is what holds +# WEXT_CORE on for the wext drivers a camera may add. +# CONFIG_MAC80211 is not set # CONFIG_WIMAX is not set # CONFIG_RFKILL is not set # CONFIG_NET_9P is not set @@ -864,10 +857,16 @@ CONFIG_WLAN=y # CONFIG_LIBERTAS is not set # CONFIG_P54_COMMON is not set # CONFIG_RT2X00 is not set -CONFIG_RTL8192SE=m -CONFIG_RTL8192CU=m -CONFIG_RTLWIFI=m -CONFIG_RTL8192C_COMMON=m +# Both wait on firmware no package on this image installs: rtl8192cu asks for +# rtlwifi/rtl8192cufw*.bin and rtl8192se for rtlwifi/rtl8192sefw.bin, while the +# only blobs here are rtlwifi/rtl8188eufw.bin and mediatek/mt7601u.bin. Neither +# could finish probing, and /etc/wireless/usb has no arm that modprobes them. +# That was 330KB of .ko, and the 216KB mac80211 below existed only to serve +# them. Same argument as #2442 and #2404. +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192CU is not set +# CONFIG_RTLWIFI is not set +# CONFIG_RTL8192C_COMMON is not set # CONFIG_WL1251 is not set # CONFIG_WL12XX_MENU is not set # CONFIG_ZD1211RW is not set diff --git a/br-ext-chip-hisilicon/board/hi3516cv300/hi3516ev100.generic.config b/br-ext-chip-hisilicon/board/hi3516cv300/hi3516ev100.generic.config index 1f3e6ed942..dd6f0e4cfe 100644 --- a/br-ext-chip-hisilicon/board/hi3516cv300/hi3516ev100.generic.config +++ b/br-ext-chip-hisilicon/board/hi3516cv300/hi3516ev100.generic.config @@ -651,16 +651,16 @@ CONFIG_CFG80211_DEFAULT_PS=y # CONFIG_CFG80211_INTERNAL_REGDB is not set # CONFIG_CFG80211_WEXT is not set # CONFIG_LIB80211 is not set -CONFIG_MAC80211=m -CONFIG_MAC80211_HAS_RC=y -CONFIG_MAC80211_RC_MINSTREL=y -CONFIG_MAC80211_RC_MINSTREL_HT=y -CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y -CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" -# CONFIG_MAC80211_MESH is not set -# CONFIG_MAC80211_DEBUGFS is not set -# CONFIG_MAC80211_MESSAGE_TRACING is not set -# CONFIG_MAC80211_DEBUG_MENU is not set +# Nothing on this image is a mac80211 driver -- modules.dep shows only +# cfg80211 under it, and the sole Wi-Fi driver here, USB_ZD1201, is a wext +# driver that sits on cfg80211 alone. 318KB of .ko for a stack with no user, +# on a board with 8KB left of 5120KB. cfg80211 and ZD1201 both stay: ZD1201 is +# what selects WIRELESS_EXT here (the symbol has no prompt), and dropping it +# would take the wext API away from any out-of-tree driver a camera adds -- +# the trap #2442 called out. RTL_CARDS drops to n with this: it depends on +# mac80211, but it was a menu with no driver under it (RTL8192CU and friends +# are all off), so no module is lost -- the rootfs never had rtlwifi.ko. +# CONFIG_MAC80211 is not set # CONFIG_WIMAX is not set # CONFIG_RFKILL is not set # CONFIG_NET_9P is not set diff --git a/br-ext-chip-hisilicon/board/hi3516ev200/hi3516dv200.generic.config b/br-ext-chip-hisilicon/board/hi3516ev200/hi3516dv200.generic.config index c4691e57bf..59a3dfc173 100644 --- a/br-ext-chip-hisilicon/board/hi3516ev200/hi3516dv200.generic.config +++ b/br-ext-chip-hisilicon/board/hi3516ev200/hi3516dv200.generic.config @@ -702,25 +702,16 @@ CONFIG_BQL=y # CONFIG_AF_KCM is not set # CONFIG_STREAM_PARSER is not set CONFIG_WIRELESS=y -CONFIG_CFG80211=m -# CONFIG_NL80211_TESTMODE is not set -# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set -CONFIG_CFG80211_DEFAULT_PS=y -# CONFIG_CFG80211_INTERNAL_REGDB is not set -CONFIG_CFG80211_CRDA_SUPPORT=y -# CONFIG_CFG80211_WEXT is not set +# mt7601u below was the only driver on this image built on cfg80211/mac80211, +# and it waits on mediatek/mt7601u.bin -- firmware this board ships no package +# for, so it could never finish probing. That made the whole stack dead weight: +# 628KB of .ko on a rootfs that had 20KB left of 5120KB. Nothing here selects +# WIRELESS_EXT (it is absent from this config, unlike hi3519v101 where r8188eu +# holds it on), so no out-of-tree driver loses an API it has today. Same +# argument as #2442. +# CONFIG_CFG80211 is not set # CONFIG_LIB80211 is not set -CONFIG_MAC80211=m -CONFIG_MAC80211_HAS_RC=y -CONFIG_MAC80211_RC_MINSTREL=y -CONFIG_MAC80211_RC_MINSTREL_HT=y -# CONFIG_MAC80211_RC_MINSTREL_VHT is not set -CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y -CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" -# CONFIG_MAC80211_MESH is not set -# CONFIG_MAC80211_MESSAGE_TRACING is not set -# CONFIG_MAC80211_DEBUG_MENU is not set -CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_MAC80211 is not set # CONFIG_WIMAX is not set # CONFIG_RFKILL is not set # CONFIG_NET_9P is not set @@ -995,18 +986,19 @@ CONFIG_BLK_DEV_RAM_SIZE=65536 # # SCSI device support # -CONFIG_SCSI_MOD=m +# Same dead subsystem as hi3516ev200.generic.config: USB_STORAGE is off below +# and no HBA is enabled, so scsi_mod, sd_mod and the Fibre Channel transport +# have nothing to bind to. SCSI_LOWLEVEL=y is only the menu gate. +# SCSI_MOD is a hidden symbol that defaults to y once SCSI=n; it builds no +# module of its own. +CONFIG_SCSI_MOD=y # CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=m -CONFIG_SCSI_DMA=y -CONFIG_SCSI_NETLINK=y -# CONFIG_SCSI_MQ_DEFAULT is not set -# CONFIG_SCSI_PROC_FS is not set +# CONFIG_SCSI is not set # # SCSI support type (disk, tape, CD-ROM) # -CONFIG_BLK_DEV_SD=m +# CONFIG_BLK_DEV_SD is not set # CONFIG_CHR_DEV_ST is not set # CONFIG_CHR_DEV_OSST is not set # CONFIG_BLK_DEV_SR is not set @@ -1020,7 +1012,7 @@ CONFIG_BLK_DEV_SD=m # SCSI Transports # # CONFIG_SCSI_SPI_ATTRS is not set -CONFIG_SCSI_FC_ATTRS=m +# CONFIG_SCSI_FC_ATTRS is not set # CONFIG_SCSI_ISCSI_ATTRS is not set # CONFIG_SCSI_SAS_ATTRS is not set # CONFIG_SCSI_SAS_LIBSAS is not set @@ -1192,8 +1184,7 @@ CONFIG_WLAN=y # CONFIG_WLAN_VENDOR_INTEL is not set # CONFIG_WLAN_VENDOR_INTERSIL is not set # CONFIG_WLAN_VENDOR_MARVELL is not set -CONFIG_WLAN_VENDOR_MEDIATEK=y -CONFIG_MT7601U=m +# CONFIG_WLAN_VENDOR_MEDIATEK is not set # CONFIG_WLAN_VENDOR_RALINK is not set # CONFIG_WLAN_VENDOR_REALTEK is not set # CONFIG_WLAN_VENDOR_RSI is not set diff --git a/br-ext-chip-hisilicon/board/hi3516ev200/hi3516ev200.generic.config b/br-ext-chip-hisilicon/board/hi3516ev200/hi3516ev200.generic.config index bccb6da3b6..a91f15019b 100644 --- a/br-ext-chip-hisilicon/board/hi3516ev200/hi3516ev200.generic.config +++ b/br-ext-chip-hisilicon/board/hi3516ev200/hi3516ev200.generic.config @@ -1099,18 +1099,23 @@ CONFIG_BLK_DEV_RAM_SIZE=65536 # # SCSI device support # -CONFIG_SCSI_MOD=m +# Nothing on this image can register a SCSI device: USB_STORAGE is off below, +# USB_UAS with it, and no low-level HBA is enabled -- SCSI_LOWLEVEL=y is only +# the menu gate. That left scsi_mod, sd_mod and a Fibre Channel transport on a +# camera, 236KB of .ko that can never bind, on a rootfs 4KB over its cap. The +# usb_f_mass_storage gadget is unaffected: it answers SCSI itself and does not +# go through this subsystem. Same argument as #2442. Shared with the ultimate +# variant, which has no USB_STORAGE either. +# SCSI_MOD is a hidden symbol that defaults to y once SCSI=n; it builds no +# module of its own. +CONFIG_SCSI_MOD=y # CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=m -CONFIG_SCSI_DMA=y -CONFIG_SCSI_NETLINK=y -# CONFIG_SCSI_MQ_DEFAULT is not set -# CONFIG_SCSI_PROC_FS is not set +# CONFIG_SCSI is not set # # SCSI support type (disk, tape, CD-ROM) # -CONFIG_BLK_DEV_SD=m +# CONFIG_BLK_DEV_SD is not set # CONFIG_CHR_DEV_ST is not set # CONFIG_CHR_DEV_OSST is not set # CONFIG_BLK_DEV_SR is not set @@ -1124,7 +1129,7 @@ CONFIG_BLK_DEV_SD=m # SCSI Transports # # CONFIG_SCSI_SPI_ATTRS is not set -CONFIG_SCSI_FC_ATTRS=m +# CONFIG_SCSI_FC_ATTRS is not set # CONFIG_SCSI_ISCSI_ATTRS is not set # CONFIG_SCSI_SAS_ATTRS is not set # CONFIG_SCSI_SAS_LIBSAS is not set diff --git a/br-ext-chip-hisilicon/board/hi3519v101/hi3519v101.generic.config b/br-ext-chip-hisilicon/board/hi3519v101/hi3519v101.generic.config index c5179d772a..b13e8b146a 100644 --- a/br-ext-chip-hisilicon/board/hi3519v101/hi3519v101.generic.config +++ b/br-ext-chip-hisilicon/board/hi3519v101/hi3519v101.generic.config @@ -751,23 +751,17 @@ CONFIG_WIRELESS_EXT=y CONFIG_WEXT_CORE=y CONFIG_WEXT_PROC=y CONFIG_WEXT_PRIV=y -CONFIG_CFG80211=m -# CONFIG_NL80211_TESTMODE is not set -# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set -# CONFIG_CFG80211_REG_DEBUG is not set -CONFIG_CFG80211_DEFAULT_PS=y -# CONFIG_CFG80211_INTERNAL_REGDB is not set -# CONFIG_CFG80211_WEXT is not set +# No driver on this image is built on either one. modules.dep has nothing +# depending on cfg80211 or mac80211: the only Wi-Fi driver here is the staging +# r8188eu, which carries its own stack and its own firmware, and the one +# out-of-tree module is wireguard. That was 525KB of .ko on the board with the +# least room in the tree -- 5120KB of a 5120KB cap, reported and passing for +# weeks. WIRELESS_EXT above survives because r8188eu selects it (it has no +# prompt of its own), so the wext API an out-of-tree driver may need stays. +# Same argument as #2442. +# CONFIG_CFG80211 is not set # CONFIG_LIB80211 is not set -CONFIG_MAC80211=m -CONFIG_MAC80211_HAS_RC=y -CONFIG_MAC80211_RC_MINSTREL=y -CONFIG_MAC80211_RC_MINSTREL_HT=y -CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y -CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" -# CONFIG_MAC80211_MESH is not set -# CONFIG_MAC80211_MESSAGE_TRACING is not set -# CONFIG_MAC80211_DEBUG_MENU is not set +# CONFIG_MAC80211 is not set # CONFIG_WIMAX is not set # CONFIG_RFKILL is not set # CONFIG_RFKILL_REGULATOR is not set