v1.1.0: Complete kernel modules, fix WebUI bugs
Kernel modules fully implemented for kernel 6.6/Tensor G5: - rc_wifi_mon: kprobes kallsyms, bcmdhd iovar monitor/promisc/allmulti, sysfs status at /sys/kernel/rc_wifi_mon/, clean unpatch on unload - rc_shannon_cmd: ioctl interface (AT_CMD, GET_URC, SET_TIMEOUT, GET_STATUS, FLUSH), URC ring buffer (64 entries), modem probe on init - rc_diag_bridge: HDLC decode with CRC-16 validation, FTM ioctl, EFS read/write/stat/unlink, version query, subsystem dispatch - rc_ioctl.h: shared userspace header for all ioctl definitions - All modules handle class_create() API change in kernel 6.4+ WebUI fixes: - Fix malformed WiFi firmware JSON output - Add vonr/vt/apn/nradv to carrier config read endpoint - Fix carrier toggle state loading in frontend - Fix redundant replace in kmod toggle logic Makefile: single-module build (MOD=), make package target uninstall.sh: unload kernel modules before cleanup
This commit is contained in:
@@ -1,16 +1,35 @@
|
||||
# RadioControl out-of-tree kernel modules
|
||||
# Build: make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- KERNEL_DIR=/path/to/kernel
|
||||
#
|
||||
# Build all:
|
||||
# make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- KERNEL_DIR=/path/to/kernel
|
||||
#
|
||||
# Build specific module:
|
||||
# make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- KERNEL_DIR=/path/to/kernel MOD=rc_wifi_mon
|
||||
#
|
||||
# Target: Pixel 10 Pro Fold (rango), Tensor G5, kernel 6.6.102
|
||||
|
||||
KERNEL_DIR ?= /lib/modules/$(shell uname -r)/build
|
||||
|
||||
obj-$(CONFIG_RC_WIFI_MON) += rc_wifi_mon.o
|
||||
obj-$(CONFIG_RC_DIAG_BRIDGE) += rc_diag_bridge.o
|
||||
obj-$(CONFIG_RC_SHANNON_CMD) += rc_shannon_cmd.o
|
||||
obj-$(CONFIG_RC_DIAG_BRIDGE) += rc_diag_bridge.o
|
||||
|
||||
# Default: build all
|
||||
CONFIG_RC_WIFI_MON ?= m
|
||||
CONFIG_RC_DIAG_BRIDGE ?= m
|
||||
CONFIG_RC_SHANNON_CMD ?= m
|
||||
CONFIG_RC_DIAG_BRIDGE ?= m
|
||||
|
||||
# Allow building a single module via MOD=name
|
||||
ifdef MOD
|
||||
CONFIG_RC_WIFI_MON = n
|
||||
CONFIG_RC_SHANNON_CMD = n
|
||||
CONFIG_RC_DIAG_BRIDGE = n
|
||||
CONFIG_$(shell echo $(MOD) | tr a-z A-Z) = m
|
||||
endif
|
||||
|
||||
# Extra compiler flags for Android/ARM64
|
||||
ccflags-y += -Wno-unused-function
|
||||
ccflags-y += -DCONFIG_RADIOCONTROL
|
||||
|
||||
all:
|
||||
$(MAKE) -C $(KERNEL_DIR) M=$(CURDIR) modules
|
||||
@@ -20,3 +39,15 @@ clean:
|
||||
|
||||
install:
|
||||
$(MAKE) -C $(KERNEL_DIR) M=$(CURDIR) modules_install
|
||||
|
||||
# Copy built modules to the module package directory
|
||||
package:
|
||||
@mkdir -p ../../common/kmod_out
|
||||
@for ko in *.ko; do \
|
||||
if [ -f "$$ko" ]; then \
|
||||
cp "$$ko" ../../common/kmod_out/; \
|
||||
echo "Packaged: $$ko"; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
.PHONY: all clean install package
|
||||
|
||||
Reference in New Issue
Block a user