Skip to content

Releases

Release v1.0.12

Choose a tag to compare

@github-actions github-actions released this 07 Nov 12:10

Changes in v1.0.12:

Fixed

  • Multi-Kernel Compatibility for DFS Radar CAC Event (cfg80211_cac_event):
    • Corrected preprocessor guard in os/linux/gl_p2p_kal.c to #if KERNEL_VERSION(6, 12, 0) <= CFG80211_VERSION_CODE.
    • Resolves fatal compilation failure error: too many arguments to function 'cfg80211_cac_event' on Linux kernels 6.1 through 6.11 (such as Debian 12 standard 6.1, Linux 6.6 LTS, and Ubuntu 24.04 6.8), while preserving 5-argument MLO signature compatibility for Linux 6.12+.
  • Multi-Driver Coexistence Architecture & System Namespacing (mt7668 Parity):
    • Isolated SDIO bus driver identifier to .name = "wlan_mt7663_sdio" in os/linux/hif/sdio/sdio.c, eliminating -EBUSY bus registration conflicts with other WLAN drivers.
    • Added module active guard (if lsmod | grep -q "^wlan_mt7663") and multi-bus wildcard discovery (*mmc* / *sd*) to mt7663-shutdown.service for deterministic quiesce without interfering with other hardware.
    • Namespaced system tuning files to prevent package collisions: /usr/lib/udev/mt7663-irq-tune.sh, /etc/sysctl.d/99-mt7663-throughput.conf, and /etc/udev/rules.d/99-mt7663-performance.rules.
    • Automated mt7663-shutdown.service enablement in debian/postinst and cleanup disable in debian/prerm.
  • Procfs Root & MET Profiling Namespacing (/proc/net/wlan_mt7663 & /proc/net/wlan_mt7663_met):
    • Isolated procfs root directory from generic "wlan" to "wlan_mt7663" in os/linux/gl_proc.c and MET procfs directory to "wlan_mt7663_met" in os/linux/gl_kal.c.
    • Resolves kernel warning call trace proc_dir_entry 'net/wlan' already registered when both wlan_mt7663 and wlan_mt7668 kernel modules are loaded simultaneously at boot.

Release v1.0.11

Choose a tag to compare

@github-actions github-actions released this 06 Nov 16:51

Changes in v1.0.11:

Fixed

  • Universal SDIO Controller Device Matching (ffe03000*):
    • Updated mt7663-shutdown.service to dynamically discover and unbind /sys/bus/platform/drivers/meson-gx-mmc/ffe03000* using wildcard matching.
    • Simplified IRQ affinity matching in wlan-irq-tune.sh to pattern /ffe03000/.
    • Ensures seamless operation across kernel versions and DTB variants regardless of whether the platform bus device is named ffe03000.mmc or ffe03000.sd.
  • UsrMerge Packaging Compliance (build-deb.sh):
    • Relocated firmware installation destination from ./lib/firmware/ to ./usr/lib/firmware/ in build-deb.sh.
    • Prevents dpkg -x extraction from converting /lib into a physical directory, which broke the mandatory /lib -> usr/lib symlink on modern Debian/Armbian systems and caused fatal run-init: can't execute '/sbin/init': No such file or directory kernel panics.
  • Multi-Kernel Compatibility for Station Update (cfg80211_new_sta & cfg80211_del_sta):
    • Corrected kernel version preprocessor guard in os/linux/gl_p2p_kal.c to #if (CFG80211_VERSION_CODE >= KERNEL_VERSION(6, 14, 0)).
    • Fixes fatal kernel oops and main_thread crash when stations associate on Linux 5.10 LTS and 6.12 LTS (6.12.114-ophub), while preserving upstream struct wireless_dev * signature compatibility for Linux 6.18+.
  • cfg80211_ops Callback Signatures (os/linux/gl_cfg80211.c & os/linux/include/gl_cfg80211.h):
    • Restored standard struct net_device *ndev parameter type across add_key, get_key, del_key, set_default_mgmt_key, get_station, change_station, add_station, and del_station.
    • Eliminates bogus pointer dereferencing (wdev->netdev) and fixes errno=11 failures during hostapd station flag updates.
  • WPA2/WPA3 Data-Plane Queue Unlocking (fgIsTxKeyReady):
    • Explicitly mark station transmission as allowed (fgIsTxKeyReady = TRUE) and update station queue record (qmUpdateStaRec) upon NL80211_STA_FLAG_AUTHORIZED and pairwise key installation in mtk_cfg_change_station and mtk_p2p_cfg80211_add_key.
    • Resolves client loop where device connected to Wi-Fi but showed "terhubung tanpa internet" due to blocked data queues.
  • Global Station Record Lookup Fallback (nicEventAddPkeyDone & nicRxProcessEventPacket):
    • Added fallback search via cnmGetAnyStaRecByAddress to prevent BSS index mismatch on virtual interface ap0 from dropping key completion events.

Release v1.0.10

Choose a tag to compare

@github-actions github-actions released this 02 Nov 16:40

[1.0.8 / 1.0.10] - 2026-10-31

Changed

  • Decoupled Architecture (Pure Kernel DKMS Driver):
    • Decoupled the WSGI Web UI dashboard, Python runtime files, hotspot daemon, and routing scripts out of mt7663-dkms into the standalone companion package: mt7663-router-webui.
    • Reduced mt7663-dkms package dependencies strictly to dkms (>= 2.1.0.0) and build-essential. Zero background daemons, zero external dependencies, and minimal memory footprint.
  • Modular Kernel Parameter (ap_mode):
    • Added kernel module parameter ap_mode via module_param(ap_mode, int, 0644) in os/linux/gl_init.c:
      • ap_mode=0 (default): Pure Wi-Fi Client mode (wlan0 only). Highly stable, lightweight, and ideal for standard desktop/server operations.
      • ap_mode=1: Dynamically instantiates the dedicated virtual interface ap0 alongside wlan0 for Dual-Band Concurrent (DBDC) SoftAP Hotspot & Repeater operations when paired with mt7663-router-webui.

Added

  • Modern Linux 6.7+ & 6.18+ (Ophub) cfg80211 wdev Compatibility:
    • Updated kalP2PGOStationUpdate in os/linux/gl_p2p_kal.c to pass struct wireless_dev *wdev to cfg80211_new_sta() and cfg80211_del_sta() for kernels >= 6.7.0, preventing kernel oops during station association.
  • WPA2/WPA3 Key Handshake Exception Patch (wlanoidSetAddKey):
    • Adjusted key index bitmask in common/wlan_oid.c to permit IS_AUTHENTICATOR (BIT(28)), eliminating key handshake drops during AP encryption setup.
  • TX1 Overflow Fast-Path Interrupt Recovery:
    • Added immediate interrupt acknowledgement for WASR_TX1_OVER_FLOW in nic/nic.c, preventing SDIO bus stalls and dmesg log floods under heavy bidirectional network saturation.
  • State Machine Null-Pointer Guards (ais_fsm.c):
    • Protected 6 AIS FSM event transitions against null pointer dereference (prAdapter->prAisBssInfo != NULL), eliminating kernel panics during rapid interface state transitions.

v1.0.8-rc5

v1.0.8-rc5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 31 Oct 13:19
Immutable release. Only release title and notes can be modified.

Changes in v1.0.8-rc5:

Changed

  • Decoupled Architecture (Pure Kernel DKMS Driver):
    • Decoupled the WSGI Web UI dashboard, Python runtime files, hotspot daemon, and routing scripts out of mt7663-dkms into the standalone companion package: mt7663-router-webui.
    • Reduced mt7663-dkms package dependencies strictly to dkms (>= 2.1.0.0) and build-essential. Zero background daemons, zero external dependencies, and minimal memory footprint.
  • Modular Kernel Parameter (ap_mode):
    • Added kernel module parameter ap_mode via module_param(ap_mode, int, 0644) in os/linux/gl_init.c:
      • ap_mode=0 (default): Pure Wi-Fi Client mode (wlan0 only). Highly stable, lightweight, and ideal for standard desktop/server operations.
      • ap_mode=1: Dynamically instantiates the dedicated virtual interface ap0 alongside wlan0 for Dual-Band Concurrent (DBDC) SoftAP Hotspot & Repeater operations when paired with mt7663-router-webui.

Added

  • Modern Linux 6.7+ & 6.18+ (Ophub) cfg80211 wdev Compatibility:
    • Updated kalP2PGOStationUpdate in os/linux/gl_p2p_kal.c to pass struct wireless_dev *wdev to cfg80211_new_sta() and cfg80211_del_sta() for kernels >= 6.7.0, preventing kernel oops during station association.
  • WPA2/WPA3 Key Handshake Exception Patch (wlanoidSetAddKey):
    • Adjusted key index bitmask in common/wlan_oid.c to permit IS_AUTHENTICATOR (BIT(28)), eliminating key handshake drops during AP encryption setup.
  • TX1 Overflow Fast-Path Interrupt Recovery:
    • Added immediate interrupt acknowledgement for WASR_TX1_OVER_FLOW in nic/nic.c, preventing SDIO bus stalls and dmesg log floods under heavy bidirectional network saturation.
  • State Machine Null-Pointer Guards (ais_fsm.c):
    • Protected 6 AIS FSM event transitions against null pointer dereference (prAdapter->prAisBssInfo != NULL), eliminating kernel panics during rapid interface state transitions.

v1.0.8-rc3

v1.0.8-rc3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Oct 16:06
Immutable release. Only release title and notes can be modified.

Changes in v1.0.8-rc3:

Fixed

  • Hotspot Client Discovery in Status Command: Enhanced /usr/sbin/mt7663-hotspot status to accurately detect, deduplicate, and display connected client stations with their hostname, IP address, MAC, and ARP reachability state by reading active dnsmasq DHCP leases and ip neigh tables instead of relying on MediaTek's unpopulated iw dev ap0 station dump.
  • Automated Release Notes & Native CLI Pipeline: Transitioned CI/CD release workflow to native GitHub CLI (gh release create) with automated changelog extraction directly from CHANGELOG.md for seamless atomic release asset publishing.

v1.0.8-rc1

v1.0.8-rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Oct 13:55
Immutable release. Only release title and notes can be modified.

Changes in v1.0.8-rc1:

Added

  • Dual-Band 5 GHz 802.11ac SoftAP / Hotspot Mode Support (ap0): Added high-performance Wi-Fi Hotspot mode operating on a dedicated virtual interface (ap0) alongside pure Client (wlan0) mode without interference or regression.
  • Turnkey Hotspot Utility & Service (mt7663-hotspot): Integrated hotspot CLI tool (/usr/sbin/mt7663-hotspot), systemd service (mt7663-hotspot.service), and hostapd configuration template (/etc/hostapd/hostapd-mt7663.conf) with automatic IP gateway setup, DHCP Option 26 (MTU 1408), and NAT Masquerade packet routing.
  • NetworkManager AP Isolation (99-mt7663-unmanaged-ap0.conf): Bundled NetworkManager rule designating ap0 as unmanaged so NetworkManager leaves AP operations solely to hostapd while continuing to manage wlan0 client mode smoothly.

Fixed

  • Linux >= 6.7 cfg80211 Association Kernel Oops: Updated kalP2PGOStationUpdate in os/linux/gl_p2p_kal.c to pass struct wireless_dev *wdev instead of net_device to cfg80211_new_sta() and cfg80211_del_sta(), resolving kernel crashes upon client station association.
  • Amlogic SDIO Buffer Overflow & Firmware Assert (wsys_i #565): Enforced hardware-safe MTU of 1408 (mtu = 1408, max_mtu = 1408) across all dynamic AP/P2P interfaces in gl_p2p_cfg80211.c and gl_p2p.c, preventing Ethernet frame overflow on Amlogic Meson G12A (max_req_size = 1536).
  • TX1 Overflow Fast-Path Interrupt Handling: Added immediate acknowledgement and clearing of WASR_TX1_OVER_FLOW in nic/nic.c to prevent interrupt storms and maintain stable hardware communication.
  • P2P Station Flag Error (errno=11): Updated mtk_cfg_change_station in os/linux/gl_cfg80211.c to cleanly return success for AP interfaces, eliminating hostapd station flag failure warnings.

Release v1.0.7 - Linux Kernel 5.10 LTS Support & Universal Cross-Kernel Packaging

Choose a tag to compare

@github-actions github-actions released this 29 Oct 13:49
Immutable release. Only release title and notes can be modified.

Changes in v1.0.7:

Added

  • Full Linux Kernel 5.10 LTS Support: Expanded native compatibility to include Linux Kernel 5.10 LTS (e.g. 5.10.272-ophub) on FiberHome HG680-FJ.
  • Universal DTB Collection (dtbfix/): Bundled pre-compiled Device Tree blobs (meson-g12a-hg680-fj-uni.dtb, fixed.dtb, ori.dtb) to provide seamless 32kHz reference clocking and MicroSD hardware stability across both Kernel 5.10 and Kernel 6.x.
  • Dynamic Cross-Kernel Toolchain Alignment: Enhanced debian/postinst self-healing logic to conditionally inspect header sources for symsearch.c, enabling automatic, zero-intervention modpost rebuilding across both Kernel 5.x and Kernel 6.x under Debian 12 Bookworm.

Fixed

  • Pre-installation Kernel Guard: Replaced obsolete Kernel < 6.0 warning in debian/preinst with informative guidance directing Kernel 5.x users to the universal DTB.
  • DTC Audio Routing Escape Bug: Resolved string-splitting octal escape sequence glitch (Lineout\x08U2) in Device Tree compilation, ensuring 100% clean ALSA DAPM routing without axg-sound-card warnings in dmesg.

Release v1.0.6 - Production Ready with Automated CI/CD & Self-Healing DKMS Packaging

Choose a tag to compare

@github-actions github-actions released this 29 Oct 01:08

Full Changelog: v1.0.5...v1.0.6

Release v1.0.5 - Modern Linux 6.18+ Timer API Bridge & Silent Production Logging

Choose a tag to compare

@elsangithub elsangithub released this 29 Oct 01:16

Changes in v1.0.5:

Added

  • Linux 6.18+ Modern Kernel Support: Added backward/forward compatibility bridge for Linux 6.18+ timer subsystem modernization (timer_delete_sync(), timer_delete(), and container_of from_timer mapping) alongside FB_EVENT_BLANK fallback, while maintaining 100% native compatibility with Linux 6.12 LTS.
  • Pre-installation Kernel Guard (preinst): Automatically detects running kernel during package installation (dpkg -i) and warns if running on Kernel < 6.0, detailing FiberHome HG680-FJ's hardware DTB dependency on meson-g12-pwm-v2.
  • Makefile Kernel Architecture Check: Emits diagnostic compile-time warning if targeting Kernel < 6.0.
  • Kernel Focus Realignment: Shifted project focus and roadmap exclusively to modern 6.x series (Linux 6.12+ LTS & 6.18+ LTS).

Changed

  • Silent Production Logging: Completely silenced all development debug messages ([scan-start], [scan-set-ch], [wlanoidSetAddKey], [wlan-ack], [wlan-cfg], and [wlan-bufbin]), eliminating red error text and log spam in dmesg.
  • Clean Kernel Dmesg: Driver is now whisper-quiet and zero-spam in production kernel environments.
  • Version Leap: Skipped v1.0.4 directly to v1.0.5 per project release schedule.

Release v1.0.3 - Native SMP CPU Affinity, Instant Udev IRQ Mapping & 802.11ac Boost

Choose a tag to compare

@elsangithub elsangithub released this 29 Oct 01:16

Changes in v1.0.3:

Added

  • Native SMP CPU Affinity: Thread workers rx_thread and hif_thread in os/linux/gl_kal.c dynamically bind to online CPUs excluding CPU0 (set_cpus_allowed_ptr), ensuring packet and SDIO bus processing never contend with system timers or OS scheduler on CPU0.
  • Udev Instant IRQ Mapping: Replaced external systemd service with instantaneous 99-wlan-performance.rules udev trigger, dynamically setting ffe03000.mmc SDIO IRQ SMP affinity to CPU 2,3 upon network device registration with zero race conditions.
  • 802.11ac High-Throughput Aggregation: Enabled AmsduInAmpduTx 1 and VhtAmsduInAmpduTx 1 in wifi_mt7661.cfg to allow multi-MSDU packing per AMPDU over 5GHz radio.
  • VHT Beamforming & RX Diversity: Enabled StaVHTBfee 1 (Explicit VHT Beamformee) and StbcRx 1 (Space-Time Block Coding) in firmware configuration for enhanced SNR and signal reception from multi-antenna routers.
  • HIF Processing Loop Expansion: Doubled HifTxLoop to 32 and OsTxLoop to 16 for higher batch processing under sustained network load.

Removed

  • Redundant wlan-tune.service systemd unit file (now completely handled natively by udev).