Repository navigation
Conversation
ian77chen
force-pushed
the
staging-WIFI-15716-eap112-kernel-6.6
branch
from
October 28, 2026 03:38
74aa10e to
deb2bf7
Compare
✅ PR & Commit Guidelines — all checks passedCommits, PR description, C style, and milestone all look good. Thanks! Commit hygieneNo issues found. C styleNo issues found. PR description (ticket link)No issues found. MilestoneNo issues found. See OPENWIFI_PR_GUIDELINES.md and OPENWIFI_CODING_GUIDELINES.md. Items marked |
tanyasingh-ec
requested review from
ArifAlam,
SebastianHuang-ec and
venkatchimata
and removed request for
SebastianHuang-ec
October 28, 2026 07:32
EAP112 was the last MT7981 board built from the 5.4 SDK feed (feeds/mediatek-sdk). EAP111 and the Sonicfi boards already use feeds/mediatek, which brings Linux 6.6, mac80211 backports 6.12.6 and upstream mt76. EAP112 could not follow because its HaLow radio used the Morse mm61xx 1.11.4 driver, which hard-codes backports v5.18.1 and does not build against 6.12.6. Add the board to feeds/mediatek: a 6.6 DTS whose partitions and MM6108 SPI node match the 5.4 image, and a filogic image with the same sysupgrade layout and compat version, so the 5.4 image accepts the upgrade without -F. The eth swap, network and GPIO switch cases and the default mt76 EEPROM are extended to EAP112. On 6.6 the GPIO base moves from 455 to 512, u-boot-env from mtd2 to mtd1, and the radio and SPI device paths change, so uci-defaults and the wifi-migrate hotplug rewrite the kept LTE GPIOs, modem USB path and radio paths, and drop a kept ubootenv config that would otherwise stop fw_env.config from being regenerated. The driver now takes the HaLow reset GPIO from the DTS, so the halow-gpio-reset init script is removed. The three gpio LEDs are labelled green:power (pio 9), orange:halow (pio 34) and blue:lte (pio 35) as on main, matching their function on this board, instead of the 5.4 names orange:wan and blue:wlan5g. board.d gives EAP112 its own case, separate from EAP111: green:power stays the default-on power LED, orange:halow follows the HaLow AP netdev (wlan0) and blue:lte the LTE netdev (wwan0), so the orange LED no longer follows WAN activity. main leaves these two triggers commented out and names the HaLow netdev phy0-ap0; in this tree the HaLow radio is radio0, whose AP netdev is wlan0, and mbim brings wwan0 up only once the data bearer is connected. The led-* aliases refer to the nodes by phandle, so diag.sh and ucentral-state need no change. Move the Morse stack to mm6108-2.0.1, which is built for backports 6.12.6: driver, firmware, board config with the v12 BCFs, morsecli and the S1G hostapd and wpa_supplicant. The driver is loaded with AutoProbe so that it registers before mt7915e and HaLow stays phy0 as on 5.4. netifd-morse takes the 2.0.1 scripts with the earlier TIP HaLow fixes re-applied, renames the HaLow phy back after the driver reloads it performs and migrates the options 2.0.1 renamed. iwinfo reads the new noise label and reports HaLow signal from the station RSSI. detect_mac80211() numbered the radios in phy order, and the HaLow phy can still come up as phy3, as seen after a driver reload. uCentral renders a config against the current wireless section names and then regenerates the file with "wifi config" before applying it, so a changed phy order put the 2G and 5G settings on the wrong sections, pointed the 5G SSID at a radio that no longer existed and left 5G disabled. detect_mac80211() now numbers the Morse phy first, so radio0 is HaLow and the 2G and 5G sections keep their names in either order. Boards without a Morse phy keep the old order. setup_morse_wireless() also uses the device path it read instead of a fixed one. Add a mac80211 patch that skips the chanctx assignment for AP_VLAN on hardware restart. A HaLow watchdog restart with a 4addr WDS client otherwise hits the check-sdata-in-driver warning. On the other boards this path is only reached on a hardware restart with an AP_VLAN up. Tested on EAP112: the QA sanity and regression suites (2.4 GHz, 5 GHz, cloud management) show no product failures; a HaLow station associates, gets an address and passes ping; LTE comes up over MBIM as a separate WWAN uplink with the wired WAN kept and pings out. With this commit on the current staging-for-v4.2.0-LTS, /sys/class/leds lists green:power, orange:halow and blue:lte; green stays on, orange is on while the HaLow AP is up and goes off when the HaLow radio is down or has no SSID, and blue comes on when the LTE bearer connects, blinks with LTE traffic and goes off on ifdown. Fixes: WIFI-15716 Signed-off-by: Ian Chen <ian77_chen@accton.com>
ian77chen
force-pushed
the
staging-WIFI-15716-eap112-kernel-6.6
branch
from
October 28, 2026 07:50
deb2bf7 to
b565f77
Compare
tanyasingh-ec
self-requested a review
October 28, 2026 11:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
EAP112 was the last MT7981 board built from the 5.4 SDK feed (feeds/mediatek-sdk). EAP111 and the Sonicfi boards already use feeds/mediatek, which brings Linux 6.6, mac80211 backports 6.12.6 and upstream mt76. EAP112 could not follow because its HaLow radio used the Morse mm61xx 1.11.4 driver, which hard-codes backports v5.18.1 and does not build against 6.12.6.
Add the board to feeds/mediatek: a 6.6 DTS whose partitions and MM6108 SPI node match the 5.4 image, and a filogic image with the same sysupgrade layout and compat version, so the 5.4 image accepts the upgrade without -F. The eth swap, network and GPIO switch cases and the default mt76 EEPROM are extended to EAP112. On 6.6 the GPIO base moves from 455 to 512, u-boot-env from mtd2 to mtd1, and the radio and SPI device paths change, so uci-defaults and the wifi-migrate hotplug rewrite the kept LTE GPIOs, modem USB path and radio paths, and drop a kept ubootenv config that would otherwise stop fw_env.config from being regenerated. The driver now takes the HaLow reset GPIO from the DTS, so the halow-gpio-reset init script is removed.
The three gpio LEDs are labelled green:power (pio 9), orange:halow (pio 34) and blue:lte (pio 35) as on main, matching their function on this board, instead of the 5.4 names orange:wan and blue:wlan5g. board.d gives EAP112 its own case, separate from EAP111: green:power stays the default-on power LED, orange:halow follows the HaLow AP netdev (wlan0) and blue:lte the LTE netdev (wwan0), so the orange LED no longer follows WAN activity. main leaves these two triggers commented out and names the HaLow netdev phy0-ap0; in this tree the HaLow radio is radio0, whose AP netdev is wlan0, and mbim brings wwan0 up only once the data bearer is connected. The led-* aliases refer to the nodes by phandle, so diag.sh and ucentral-state need no change.
Move the Morse stack to mm6108-2.0.1, which is built for backports 6.12.6: driver, firmware, board config with the v12 BCFs, morsecli and the S1G hostapd and wpa_supplicant. The driver is loaded with AutoProbe so that it registers before mt7915e and HaLow stays phy0 as on 5.4. netifd-morse takes the 2.0.1 scripts with the earlier TIP HaLow fixes re-applied, renames the HaLow phy back after the driver reloads it performs and migrates the options 2.0.1 renamed. iwinfo reads the new noise label and reports HaLow signal from the station RSSI.
detect_mac80211() numbered the radios in phy order, and the HaLow phy can still come up as phy3, as seen after a driver reload. uCentral renders a config against the current wireless section names and then regenerates the file with "wifi config" before applying it, so a changed phy order put the 2G and 5G settings on the wrong sections, pointed the 5G SSID at a radio that no longer existed and left 5G disabled. detect_mac80211() now numbers the Morse phy first, so radio0 is HaLow and the 2G and 5G sections keep their names in either order. Boards without a Morse phy keep the old order. setup_morse_wireless() also uses the device path it read instead of a fixed one.
Add a mac80211 patch that skips the chanctx assignment for AP_VLAN on hardware restart. A HaLow watchdog restart with a 4addr WDS client otherwise hits the check-sdata-in-driver warning. On the other boards this path is only reached on a hardware restart with an AP_VLAN up.
Tested on EAP112: the QA sanity and regression suites (2.4 GHz, 5 GHz, cloud management) show no product failures; a HaLow station associates, gets an address and passes ping; LTE comes up over MBIM as a separate WWAN uplink with the wired WAN kept and pings out. With this commit on the current staging-for-v4.2.0-LTS, /sys/class/leds lists green:power, orange:halow and blue:lte; green stays on, orange is on while the HaLow AP is up and goes off when the HaLow radio is down or has no SSID, and blue comes on when the LTE bearer connects, blinks with LTE traffic and goes off on ifdown.
Fixes: WIFI-15716