ENUM HWSIM_REGTEST(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ enum hwsim_regtest(9) πŸ¦‹

okay bestie, so this is a page from the Kernel API Manual β€” yes, the enum hwsim_regtest one, the regulatory-testing menu of dreams πŸ’… β€” and I'm gonna walk you through every single bit of it, no cap.


✨ NAME ✨

enum hwsim_regtest β€” the type of regulatory tests we offer πŸŽ€ literally the whole menu of test vibes.


🌸 SYNOPSIS 🌸

enum hwsim_regtest {
    HWSIM_REGTEST_DISABLED ,
    HWSIM_REGTEST_DRIVER_REG_FOLLOW ,
    HWSIM_REGTEST_DRIVER_REG_ALL ,
    HWSIM_REGTEST_DIFF_COUNTRY ,
    HWSIM_REGTEST_WORLD_ROAM ,
    HWSIM_REGTEST_CUSTOM_WORLD ,
    HWSIM_REGTEST_CUSTOM_WORLD_2 ,
    HWSIM_REGTEST_STRICT_FOLLOW ,
    HWSIM_REGTEST_STRICT_ALL ,
    HWSIM_REGTEST_STRICT_AND_DRIVER_REG ,
    HWSIM_REGTEST_ALL

};

look at her, all eleven members lined up like a little squad 🫢


🧚 Constants 🧚

  • HWSIM_REGTEST_DISABLED β€” no regulatory tests are performed, and this is the default value. it's giving "we're not doing anything today and that's valid" πŸ’€
  • HWSIM_REGTEST_DRIVER_REG_FOLLOW β€” used for testing the driver regulatory hint. only one driver regulatory hint will be sent, so as such the secondary radios are expected to follow. one leader, the rest follow the vibe ✨
  • HWSIM_REGTEST_DRIVER_REG_ALL β€” used for testing the driver regulatory request with all radios reporting the same regulatory domain. everybody matching, iconic πŸ‘‘
  • HWSIM_REGTEST_DIFF_COUNTRY β€” used for testing the drivers calling different regulatory domains requests. expected behaviour is for an intersection to occur, but each device will still use their respective regulatory requested domains. subsequent radios will use the resulting intersection. the way they all keep their own little vibe and share one?? main character energy but make it collaborative πŸ’–
  • HWSIM_REGTEST_WORLD_ROAM β€” used for testing the world roaming. we accomplish this by using a custom beacon-capable regulatory domain for the first radio. all other device world roam. one custom radio, everybody else just out there roaming the world 🌈
  • HWSIM_REGTEST_CUSTOM_WORLD β€” used for testing the custom world regulatory domain requests. all radios will adhere to this custom world regulatory domain. everybody on the same custom wavelength fr fr πŸ¦‹
  • HWSIM_REGTEST_CUSTOM_WORLD_2 β€” used for testing 2 custom world regulatory domain requests. the first radio will adhere to the first custom world regulatory domain, the second one to the second custom world regulatory domain. all other devices will world roam. two custom worlds, two radios, everyone else vibing in the wild 😭
  • HWSIM_REGTEST_STRICT_FOLLOW β€” used for testing strict regulatory domain settings. only the first radio will send a regulatory domain request and use strict settings. the rest of the radios are expected to follow. strict queen sets the rules, everyone else falls in line πŸ’…
  • HWSIM_REGTEST_STRICT_ALL β€” used for testing strict regulatory domain settings. all radios will adhere to this. no exceptions, no skipping, periodt πŸ”₯
  • HWSIM_REGTEST_STRICT_AND_DRIVER_REG β€” used for testing strict regulatory domain settings, combined with secondary driver regulatory domain settings. the first radio will get a strict regulatory domain setting using the first driver regulatory request, and the second radio will use non-strict settings using the second driver regulatory request. all other devices should follow the intersection created between the first two. strict + chill collab and the rest of the radios follow the intersection they made together 🫢
  • HWSIM_REGTEST_ALL β€” used for testing every possible mix. you will need at least 6 radios for a complete test. we will test in this order:
    1. driver custom world regulatory domain
    2. second custom world regulatory domain
    3. first driver regulatory domain request
    4. second driver regulatory domain request
    5. strict regulatory domain settings using the third driver regulatory domain request
    6. and on β€” should follow the intersection of the 3rd, 4rth and 5th radio regulatory requests.

okay yes bestie, "4rth" is literally spelled like that in the original and I refuse to fix her, she's perfect πŸ™ˆ


πŸ’œ Description πŸ’œ

these are the different values you can use for the regtest module parameter ✨ it's useful to help test world roaming and the driver regulatory_hint call and combinations of these.

if you want to do specific alpha2 regulatory domain tests, simply use the userspace regulatory request, because that will be respected as well without the need of this module parameter πŸŽ€

this is designed only for testing the driver regulatory request, world roaming and all possible combinations. not me being all up in your tests, it's just what she's for πŸ’–


πŸ”₯ SEE ALSO πŸ”₯

  • Kernel file ./drivers/net/wireless/virtual/mac80211_hwsim_main.c

ok and that's the whole page, bestie β€” nothing skipped, nothing summarised, every single constant accounted for πŸ’€βœ¨

alright, cute little sign-off time: this absolute icon lives in ./drivers/net/wireless/virtual, dated October 2026, and it's the enum hwsim_regtest(9) page from the Kernel API Manual πŸŽ€ go forth and test those regulatory domains, ily, bye πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from