Skip to content

XM: optional WLANDEV, for a board whose only network is Wi-Fi - #57

Merged
widgetii merged 1 commit into
mainfrom
xm-wlandev
Oct 30, 2026
Merged

widgetii merged 1 commit into
mainfrom
xm-wlandev

Conversation

@widgetii

Copy link
Copy Markdown
Member

OpenIPC brings a radio up only when the U-Boot env names its
/etc/wireless profile in wlandev (S40network). The env this script
writes has none, so a Wi-Fi-only board moved over -- the GK7201V200
G3-WQ-G (000929QB, an ATBM6012B-X, OpenIPC/firmware#2729) -- would
boot with no driver loaded and no way onto the network.

WLANDEV= adds wlandev= to the env, as SENSOR adds
sensor=. The network itself, wlanssid and wlanpass, is the owner's and
is never written here. OpenIPC's fw_printenv finds this env at 0x30000
by its CRC, scanning the partitions in order, so S40network sees it on
the fixed-slot and the split layout alike.

Unset, the env is byte-identical to before (gk7201v200, 33 variables);
set to atbm603x-generic-usb, it gains that one line.

OpenIPC brings a radio up only when the U-Boot env names its
/etc/wireless profile in wlandev (S40network). The env this script
writes has none, so a Wi-Fi-only board moved over -- the GK7201V200
G3-WQ-G (000929QB, an ATBM6012B-X, OpenIPC/firmware#2729) -- would
boot with no driver loaded and no way onto the network.

WLANDEV=<profile> adds wlandev=<profile> to the env, as SENSOR adds
sensor=. The network itself, wlanssid and wlanpass, is the owner's and
is never written here. OpenIPC's fw_printenv finds this env at 0x30000
by its CRC, scanning the partitions in order, so S40network sees it on
the fixed-slot and the split layout alike.

Unset, the env is byte-identical to before (gk7201v200, 33 variables);
set to atbm603x-generic-usb, it gains that one line.
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Allow XM conversions to configure a Wi-Fi radio profile

🐞 Bug fix ✨ Enhancement 🕐 10-20 Minutes

Grey Divider

AI Description

• Adds optional WLANDEV support so Wi-Fi-only boards can load their radio at boot.
• Writes wlandev across all XM environment layouts while leaving network credentials to the owner.
• Preserves the existing environment variables when WLANDEV is unset.
Diagram

graph TD
  W["WLANDEV profile"] -->|if set| X["XM converter"] --> E[("U-Boot env")] --> F["fw_printenv"] --> N["S40network"] --> P["Wireless profile"] --> R["Wi-Fi radio"]
Loading
High-Level Assessment

Adding wlandev alongside the existing optional sensor setting in every environment layout is the smallest change that addresses the boot failure. A broader refactor of environment generation would add risk without helping this fix.

Files changed (1) +15 / -0

Bug fix (1) +15 / -0
_xm2oipc.shAdd optional wlandev to XM U-Boot environments +15/-0

Add optional wlandev to XM U-Boot environments

• Converts a supplied WLANDEV profile name into a wlandev environment entry and includes it in all eleven generated environment layouts. It does not write Wi-Fi SSIDs or passwords.

.github/workflows/_xm2oipc.sh

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can route each severity your way: inline, summary, both, or drop

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@widgetii
widgetii merged commit e6f6357 into main Oct 30, 2026
@widgetii
widgetii deleted the xm-wlandev branch October 30, 2026 11:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant