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:
@@ -532,7 +532,7 @@ async function loadWifi() {
|
||||
}
|
||||
|
||||
// WiFi hardware info
|
||||
const wifiText = await fetch('/api/wifi/info').then(r => r.text()).catch(() => '');
|
||||
const wifiText = await fetch('/api/wifi/info').then(r => r.ok ? r.text() : '').catch(() => '');
|
||||
const wc = document.getElementById('wifi-hw-info');
|
||||
if (wifiText.trim()) {
|
||||
const lines = wifiText.trim().split('\n').filter(l => l.includes('='));
|
||||
@@ -576,7 +576,7 @@ function updateKmodBtn(id, loaded) {
|
||||
|
||||
async function toggleKmod(mod) {
|
||||
const kmod = await api('/api/kmod');
|
||||
const key = mod.replace('rc_', '').replace('_cmd', '_cmd');
|
||||
const key = mod.replace('rc_', '').replace('_cmd', '');
|
||||
const mapKey = mod === 'rc_wifi_mon' ? 'wifi_mon' : mod === 'rc_shannon_cmd' ? 'shannon_cmd' : 'diag_bridge';
|
||||
const loaded = kmod && kmod[mapKey];
|
||||
const action = loaded ? 'unload' : 'load';
|
||||
@@ -683,7 +683,11 @@ async function loadCarrier() {
|
||||
const cc = await api('/api/carrier/config');
|
||||
if (cc) {
|
||||
setToggle('toggle-volte', cc.volte);
|
||||
setToggle('toggle-vonr', cc.vonr);
|
||||
setToggle('toggle-wfc', cc.wfc);
|
||||
setToggle('toggle-vt', cc.vt);
|
||||
setToggle('toggle-apn', cc.apn);
|
||||
setToggle('toggle-nradv', cc.nradv);
|
||||
setToggle('toggle-nettype', cc.hide_network_type === '0' ? '1' : '0');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user