Skip to content

Misc stuff - #1711

Merged
troglobit merged 29 commits into
mainfrom
mt7531-phy-suspend
Oct 19, 2026
Merged

troglobit merged 29 commits into
mainfrom
mt7531-phy-suspend

Conversation

@mattiaswal

@mattiaswal mattiaswal commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor
  • Workaround Link hang on bpi r3 -> bpi r3 setup, the phys both negotioated to be masters
  • Wi-Fi: Remove scan mode
  • Add action to scan (possible in all wifi roles)
  • Documentation fixes
  • Fixes for Acer Vero Connect
  • Fix roaming (802.11r) for WPA3 clients
  • Fix band steering
  • Speed up for tests that is skipped do not load the full yang tree before skipping.

Description

Checklist

Tick relevant boxes, this PR is-a or has-a:

  • Bugfix
    • Regression tests
    • ChangeLog updates (for next release)
  • Feature
    • YANG model change => revision updated?
    • Regression tests added?
    • ChangeLog updates (for next release)
    • Documentation added?
  • Test changes
    • Checked in changed Readme.adoc (make test-spec)
    • Added new test to group Readme.adoc and yaml file
  • Code style update (formatting, renaming)
  • Refactoring (please detail in commit messages)
  • Build related changes
  • Documentation content changes
    • ChangeLog updated (for major changes)
  • Other (please describe):

@mattiaswal mattiaswal added the ci:main Build default defconfig, not minimal label Oct 15, 2026
@mattiaswal
mattiaswal marked this pull request as draft October 15, 2026 08:53
@mattiaswal
mattiaswal force-pushed the mt7531-phy-suspend branch 5 times, most recently from 7b8032c to 221e2e2 Compare October 18, 2026 20:03
@mattiaswal
mattiaswal requested a review from troglobit October 18, 2026 20:05
@mattiaswal
mattiaswal marked this pull request as ready for review October 18, 2026 20:05

@troglobit troglobit left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One major finding, a few minor comment ones (we don't want AI to learn bad habits), and some recommendations for the CLI online help generator.

Comment thread src/confd/src/hardware.c Outdated
Comment thread src/confd/src/hardware.c Outdated
Comment thread src/confd/src/hardware.c Outdated
Comment thread src/confd/src/hardware.c Outdated
Comment thread src/confd/yang/confd/infix-hardware.yang Outdated
Two MT7531 ports bounced together never link up again: both leave
power-down with the same master/slave seed.  Pulse power-down on one
end when a resumed port hears its partner but has no link after 5 s.
… read checks

Our series carried "preserve VLAN tags on trapped link-local frames"
without its companion, so BPDUs reached a VLAN-aware bridge tagged and
STP was blind on the MT7531.  Also stop treating a failed MDIO read as
ATC/VTCR command completion.
The board directory is acer-connect-vero-w6m since 3fdbe15, image
creation has failed with "Board directory not found" ever since.
It is 7 or 9 depending on the stock version, explain how to find the
U-Boot console entry.
Acer assigns non-consecutive per-interface addresses, so derive from a
locally administered base and set the real ones as custom-phys-address.
netopeer2 accepts the TCP connection as soon as it listens but drops the
session without a hello while it loads or replaces its host key, right
after boot and after every test reset.  Retry for ten seconds, the way
the ssh transport already retries exit code 255.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
With the AP and the client configured in parallel the client sometimes
associates before the 5GHz BSS is up, lands on 2.4GHz and, with
background scanning off, never scans again.  The 5GHz BSS then never
sees it and nothing asks it to move, so the test timed out.  Tell it to
scan while waiting, like the later steer-back step already does; the
steer script then moves it within seconds.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
The band steering directive of a 2.4 GHz radio names the same-SSID
access point on another radio, but only the changed interface's radio
was regenerated.  Enabling or adding the 5 GHz access point after the
2.4 GHz one left the 2.4 GHz radio without the directive, so no probe
suppression and no steer loop for that pair.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
…tion

The product record is written from the Infix shell, so the section
belongs after Infix is on the unit, not before the required files.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
Lists the networks in range with SSID, BSSID, frequency, channel,
signal and security, from the CLI as 'show hardware <radio> scan' and
over NETCONF/RESTCONF as the scan action next to channel-survey.  Works
on a radio without any interface, like the survey, and scans from the
station's own interface when there is one, which is what a connected
client needs to be seen by another band for steering.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
A WiFi interface with only a radio used to run wpa_supplicant with a
dummy network to scan in the background, and the station reported the
results as scan-results.  The scan action on the radio replaces both:
no interface is needed to scan, and nothing scans unasked.  A WiFi
interface without a mode is now created but idle.  The WebUI gets a
Scan networks button per radio in place of the station's list, and the
Raspberry Pi factory configs lose their mode-less wifi0.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
No ssh to the client needed, the radio's scan action scans from the
station interface and gets the client seen on the 5GHz BSS.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
Column widths follow the content instead of the fixed padding, so a
bridge member at the kernel's 15-character limit no longer runs into
the PROTOCOL column.  SimpleTable rows gain an optional style for the
grey container rows.  Same text as before, only the spacing moved.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
A radio may host one station next to its access points, the change
command is gone, the key holder example used a different keystore form,
show hardware takes the radio name directly, a non-WDS station in a
bridge fails at apply time, and the scan output leaf is encryption.
Note management frame protection on stations, the hashed interface
number in derived MAC addresses, and WPA3-only networks in the scan.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
The must allowed open although its error message, the doc and the band
itself do not.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
Password and passphrase leaves prompt interactively under edit since
v26.09.0.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
They relied on the mode-less wifi0 the Raspberry Pi factory configs no
longer create, so the configuration was rejected for a missing radio.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
Loading all modules took ~0.7 s per DUT before a test could even ask
has_feature() and skip.  The module list is enough for that.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
gethostname() still answers "infix" when the hardware handler runs at
boot, the hostname is applied last in the transaction, so every node's
access points got the same R0KH-ID.  hostapd routes a key pull by that
name, so a roaming client's key was fetched from the wrong node and the
roam was rejected with status 53.
A client moving between the bands of one node had to pull its key at
the roam, the siblings were never key holders of each other.  They are
no roaming candidates though, a node asking its clients to leave is
going down with all of them.
Stop and start the 5 GHz BSS in hostapd alone: a configuration change
restarts hostapd and every BSS with it, so the client logs in afresh
instead of roaming.
mkdocs runs a list with no blank line before it into the paragraph above.
Reported for the WiFi key radio parameters, same issue fixed elsewhere.
Drop the hostapd.sh wrapper.  The handover becomes hostapd's stop:
script, and wifi-neighbors and each wifi-steer pair are services of
their own on <pid/hostapd>.  hostapd only writes its PID file when it
forks, so finit writes it now.  The helpers log under their own names.
wpa_supplicant before 2.11 weighs the candidates against the current
access point even with disassociation imminent, and stays.  With an
MBO transition reason it takes the first acceptable candidate.
The lease file survives reconfiguration and reboot on purpose, so a
test inherits the previous tests' leases in its operational data.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
Every access point is created with its address, custom or derived,
before hostapd starts.  Without use_driver_iface_addr hostapd gives a
second BSS on the radio the primary's address plus one and changes the
interface under us, so operational data read right after the commit
disagrees with the air.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
The CLI help shows only the first line of a description.
Background scanning was off, so a station stayed on a fading access
point until it lost it.  New station roaming settings, on by default.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
The kernel keeps scan results for 30 s, so a network gone since showed
up in the scan action.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
@mattiaswal
mattiaswal requested a review from troglobit October 19, 2026 08:53
@mattiaswal mattiaswal changed the title Mt7531 phy suspend Misc stuff Oct 19, 2026

@troglobit troglobit left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect! ✨

@troglobit
troglobit merged commit cdae874 into main Oct 19, 2026
12 checks passed
@troglobit
troglobit deleted the mt7531-phy-suspend branch October 19, 2026 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:main Build default defconfig, not minimal

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants