From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: mcc45tr Date: Fri, 4 Sep 2026 17:48:14 +0300 Subject: [PATCH 080/117] Bluetooth: restore Fedora RFCOMM and BNEP protocols BlueZ enables classic serial profiles and Bluetooth PAN support by default. The pruned Nabu profile omitted their kernel protocols, causing every RFCOMM profile registration to fail with EPROTONOSUPPORT. Restore Fedora-compatible RFCOMM and BNEP support, including their standard filters and TTY endpoint. Signed-off-by: mcc45tr --- senemos/configs/nabu-minimal.config | 5 +++++ senemos/configs/prune-nabu-config.sh | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/senemos/configs/nabu-minimal.config b/senemos/configs/nabu-minimal.config index 54280beac3e8..61ad00663720 100644 --- a/senemos/configs/nabu-minimal.config +++ b/senemos/configs/nabu-minimal.config @@ -96,6 +96,11 @@ CONFIG_ATH10K=m CONFIG_ATH10K_SNOC=m CONFIG_BT=m CONFIG_BT_QCA=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y # Fedora firewalld uses the nftables backend. Keep the compact, known-good # 6.17 ruleset surface so filtering, rejection and NAT work after pruning. diff --git a/senemos/configs/prune-nabu-config.sh b/senemos/configs/prune-nabu-config.sh index 21059fe7462f..689adef61757 100755 --- a/senemos/configs/prune-nabu-config.sh +++ b/senemos/configs/prune-nabu-config.sh @@ -48,7 +48,7 @@ done # amplifiers as consumers of one shared reset GPIO, so its proxy driver is # boot-critical and must not be left to module autoload ordering. module_deny='^(ARM_CCI|ARM_CCN|ARM_CMN|ARM_CORESIGHT|ARM_DSU|ARM_SMMU_V3_PMU|ARM_SPE|NVIDIA_CORESIGHT|CORESIGHT|ALTERA_|FPGA_|OF_FPGA|XILINX_|UACCE|CROS_|EC_|GREYBUS|GNSS|GOOGLE_|IPMI_|TCG_|MHI_|ATH11K|BRCMF|BRCMUTIL|MWIFIEX|RSI_|WCN36XX|WL18XX|WLCORE|RTC_DRV_|SENSORS_|IIO_CROS|IIO_ST_|TOUCHSCREEN_|BACKLIGHT_|BATTERY_|CHARGER_|DRM_|CLK_|SM_|SC_|SA_|SDM_|QCS_|QCM_|IPQ_|MSM_MMCC_|PHY_|TYPEC_|UCSI_|REGULATOR_|MFD_|GPIO_|PWM_|VIDEO_|SND_SOC_|BT_)' -module_allow='^(BACKLIGHT_KTZ8866|ATH10K|ATH10K_SNOC|ATH_COMMON|BT_HCIUART|BT_HIDP|BT_QCA|CHARGER_IDTP9418|CHARGER_LN8000|CHARGER_QCOM_SMB2|SM_CAMCC_8150|DRM_PANEL_NOVATEK_NT36523|GPIO_WCD934X|MFD_WCD934X|TOUCHSCREEN_NT36523_SPI|VIDEO_DEV|VIDEO_CN3927|VIDEO_OV13B10|VIDEO_OV8856|VIDEO_QCOM_CAMSS|VIDEO_QCOM_IRIS|SND_SOC_I2C_AND_SPI|SND_SOC_QCOM.*|SND_SOC_QDSP6.*|SND_SOC_SM8150|SND_SOC_CS35L41.*|SND_SOC_WCD934X|SND_SOC_WCD_COMMON|SND_SOC_WCD_CLASSH|SND_SOC_WCD_MBHC|SND_SOC_WSA881X)$' +module_allow='^(BACKLIGHT_KTZ8866|ATH10K|ATH10K_SNOC|ATH_COMMON|BT_HCIUART|BT_HIDP|BT_QCA|BT_RFCOMM|BT_BNEP|CHARGER_IDTP9418|CHARGER_LN8000|CHARGER_QCOM_SMB2|SM_CAMCC_8150|DRM_PANEL_NOVATEK_NT36523|GPIO_WCD934X|MFD_WCD934X|TOUCHSCREEN_NT36523_SPI|VIDEO_DEV|VIDEO_CN3927|VIDEO_OV13B10|VIDEO_OV8856|VIDEO_QCOM_CAMSS|VIDEO_QCOM_IRIS|SND_SOC_I2C_AND_SPI|SND_SOC_QCOM.*|SND_SOC_QDSP6.*|SND_SOC_SM8150|SND_SOC_CS35L41.*|SND_SOC_WCD934X|SND_SOC_WCD_COMMON|SND_SOC_WCD_CLASSH|SND_SOC_WCD_MBHC|SND_SOC_WSA881X)$' while IFS= read -r symbol; do if [[ $symbol =~ $module_deny && ! $symbol =~ $module_allow ]]; then