T430 : Is it possible to change various BIOS settings? (wifi adapter doesn't work on USB3 port)
My USB Wi‑Fi adapter isn't working properly, so I want to change the xHCI Hand‑off, eHCI Hand‑off, USB transfer time‑out, Device reset time‑out, Device power‑up delay, and Device power‑up delay in seconds settings to see if that fixes it. I wanted to know whether those settings can be changed after installation on Heads.
My USB Wi‑Fi adapter isn't working properly, so I want to change the xHCI Hand‑off, eHCI Hand‑off, USB transfer time‑out, Device reset time‑out, Device power‑up delay, and Device power‑up delay in seconds settings to see if that fixes it. I wanted to know whether those settings can be changed after installation on Heads.
@7320jdng config changes require coreboot config change, rebuild and reflash.
What is the issue exactly? Platform, device, problem encountered?
Actually, a Wi‑Fi adapter EDUP EP‑AX1672 that uses the mt7921u doesn't work properly on QubesOS. Specifically, the USB3 port is unusable, and when using a USB2 port it won't be recognized unless I first attach it from sys‑usb to sys‑net and then detach and reattach it to sys‑net — a sort of ritual. So I thought changing those settings might improve the situation.
Here are the references I consulted. https://github.com/morrownr/USB-WiFi/blob/main/home/USB_Ports.md
Actually, a Wi‑Fi adapter EDUP EP‑AX1672 that uses the mt7921u doesn't work properly on QubesOS. Specifically, the USB3 port is unusable, and when using a USB2 port it won't be recognized unless I first attach it from sys‑usb to sys‑net and then detach and reattach it to sys‑net — a sort of ritual. So I thought changing those settings might improve the situation.
Here are the references I consulted. https://github.com/morrownr/USB-WiFi/blob/main/home/USB_Ports.md
What platform/board?
Actually, a Wi‑Fi adapter EDUP EP‑AX1672 that uses the mt7921u doesn't work properly on QubesOS. Specifically, the USB3 port is unusable, and when using a USB2 port it won't be recognized unless I first attach it from sys‑usb to sys‑net and then detach and reattach it to sys‑net — a sort of ritual. So I thought changing those settings might improve the situation.
Here are the references I consulted. https://github.com/morrownr/USB-WiFi/blob/main/home/USB_Ports.md
Related? https://github.com/Dasharo/dasharo-issues/issues/1557#issuecomment-3320078364
Lenovo T430
I think the content of the link is different from my issue. I just cannot use the Wi-Fi adapter with the USB3 port.
I think the content of the link is different from my issue. I just cannot use the Wi-Fi adapter with the USB3 port.
@7320jdng I renamed issue, feel free to adjust further more.
Actually, a Wi‑Fi adapter EDUP EP‑AX1672 that uses the mt7921u doesn't work properly on QubesOS. Specifically, the USB3 port is unusable, and when using a USB2 port it won't be recognized unless I first attach it from sys‑usb to sys‑net and then detach and reattach it to sys‑net — a sort of ritual. So I thought changing those settings might improve the situation.
Here are the references I consulted. https://github.com/morrownr/USB-WiFi/blob/main/home/USB_Ports.md
@7320jdng for posterity, settings under Heads are hardcoded at build time, and if configurable, will be found under cmos related files. Note that coreboot under heads is also configured to include its coreboot config file (in defconfig format).
One can see the build output relative files included in final coreboot rom stitching phase from build time. From current master aaeb63d commit.
./docker_repro.sh make BOARD=EOL_t430-maximized
2025-10-01 15:00:25+00:00 DONE coreboot-24.12
# Use coreboot.rom, because custom output files might not be processed by cbfstool
"/home/user/heads/build/x86/coreboot-24.12/EOL_t430-maximized/cbfstool" "/home/user/heads/build/x86/coreboot-24.12/EOL_t430-maximized/coreboot.rom" print
FMAP REGION: COREBOOT
Name Offset Type Size Comp
cbfs_master_header 0x0 cbfs header 32 none
cpu_microcode_blob.bin 0x80 microcode 26624 none
fallback/romstage 0x68c0 stage 100440 none
fallback/ramstage 0x1f180 stage 150023 LZMA (321232 decompressed)
config 0x43c00 raw 3482 LZMA (11089 decompressed)
revision 0x44a00 raw 724 none
build_info 0x44d00 raw 101 none
bootsplash.jpg 0x44dc0 bootsplash 43282 none
fallback/dsdt.aml 0x4f700 raw 14742 none
vbt.bin 0x53100 raw 1409 LZMA (4459 decompressed)
cmos.default 0x536c0 cmos_default 256 none
cmos_layout.bin 0x53800 cmos_layout 2108 none
fallback/postcar 0x54080 stage 30604 none
fallback/payload 0x5b880 simple elf 8007978 none
(empty) 0x7fea00 null 3974052 none
bootblock 0xbc8dc0 bootblock 28672 none
2025-10-01 15:00:25+00:00 INSTALL build/x86/coreboot-24.12/EOL_t430-maximized/coreboot.rom => build/x86/EOL_t430-maximized/heads-EOL_t430-maximized-v0.2.0-2790-gaaeb63d.rom
config: the coreboot config file, resulting from config/coreboot-t430-maximized.config
cmos.default: the cmos config file to revert to in case cmos battery is dead/removed to reset to defaults.
Now to answer your question: yes, it would be possible to have cmos settings be configurable at runtime, and kept alive by cmos battery. In case of bricking, users could remove cmos battery to reset to cmos.default content, configurable at runtime. For more info, see https://github.com/linuxboot/heads/issues/1197#issuecomment-1217419331
But prior of going further, let's see what could be configurable at runtime per coreboot 24.12 for t430.
user@heads-master:~/heads$ cat build/x86/coreboot-24.12/src/mainboard/lenovo/t430/cmos.default
## SPDX-License-Identifier: GPL-2.0-only
boot_option=Fallback
debug_level=Debug
power_on_after_fail=Disable
nmi=Enable
volume=0x3
first_battery=Primary
bluetooth=Enable
wwan=Enable
wlan=Enable
touchpad=Enable
sata_mode=AHCI
fn_ctrl_swap=Disable
sticky_fn=Disable
trackpoint=Enable
backlight=Both
usb_always_on=Disable
hybrid_graphics_mode=Integrated Only
me_state=Normal
TLDR: there is nothing configurable at runtime for USB3 port settings. If you find better configuration as code, those would need to be tested and proposed to coreboot.