<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>60631</bug_id>
          
          <creation_ts>2026-09-19 08:43:22 +0300</creation_ts>
          <short_desc>NetworkManager при создании точки доступа откатывается на частоту с no-IR вместо внятной ошибки</short_desc>
          <delta_ts>2026-09-19 08:43:22 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>NetworkManager</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anton Farygin">rider</reporter>
          <assigned_to name="Mikhail Efremov">sem</assigned_to>
          <cc>sem</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>299622</commentid>
    <comment_count>0</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-09-19 08:43:22 +0300</bug_when>
    <thetext>При создании точки доступа Wi-Fi NetworkManager, не найдя разрешённой частоты, безусловно
откатывается на первую частоту из зашитого списка, не проверяя флаг no-IR. В результате
25 секунд идёт попытка поднять AP на частоте, запрещённой в текущем регуляторном домене,
а пользователь получает сообщение «802.1X supplicant took too long to authenticate»
(«Превышено время ожидания запрашивающего авторизацию»), никак не связанное с причиной отказа.

Стенд: Gigabyte Z790 GAMING X AX (BIOS F15), Intel Core i5-14600K, Intel Wi-Fi 6E AX211
(CNVi 0000:00:14.3, драйвер iwlwifi, ПО 89.735b75a4.0 so-a0-gf-a0-89.ucode, интерфейс wlo1).
Альт Рабочая станция K 11.4 (ветка p11, чистая установка с
kworkstation-install-11.4-RC20260611-x86_64.iso, обновление внутри ветки 2026-09-18),
ядро 6.12.85-6.12-alt1, Plasma 6.7.4 на Wayland, NetworkManager-1.54.4-alt3.g32a370d177.
Код, о котором идёт речь, в Сизифе (NetworkManager-1.58.1-alt2) тот же — проверено по git.

Исходное состояние: домен phy самоуправляемый (приходит из прошивки iwlwifi), в RU все каналы
5 ГГц помечены no-IR, то есть разрешённой для AP частоты в диапазоне A нет вообще:

    # iw reg get
    phy#0 (self-managed)
    country RU: DFS-UNSET
            (5170 - 5190 @ 160), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, ..., PASSIVE-SCAN
            (5250 - 5270 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, ..., PASSIVE-SCAN
            (5735 - 5755 @ 80), (6, 22), (N/A), AUTO-BW, IR-CONCURRENT, ..., PASSIVE-SCAN

    # iw list | grep -E &apos;\* 5[0-9]{3}&apos; | grep -v &apos;no IR&apos; | grep -v disabled
    (пусто)

    # iw list | grep -E &apos;\* 5[0-9]{3}&apos; | head -4
            * 5180.0 MHz [36] (22.0 dBm) (no IR)
            * 5200.0 MHz [40] (22.0 dBm) (no IR)
            * 5220.0 MHz [44] (22.0 dBm) (no IR)
            * 5240.0 MHz [48] (22.0 dBm) (no IR)

Шаги:

    # nmcli device wifi hotspot ifname wlo1 band a ssid test password 12345678

Фактический результат — через 25 секунд:

    Error: Connection activation failed: 802.1X supplicant took too long to authenticate.

    # journalctl -u NetworkManager -b | tail
    device (wlo1): Config: added &apos;frequency&apos; value &apos;5765&apos;
    device (wlo1): Config: added &apos;freq_list&apos; value &apos;5035 5040 5045 5055 5060 5080 5170 5180 ... 4915 4920 ... 4980&apos;
    device (wlo1): supplicant interface state: inactive -&gt; disconnected
    device (wlo1): Activation: (wifi) Hotspot network creation took too long, failing activation
    device (wlo1): state change: config -&gt; failed (reason &apos;supplicant-timeout&apos;)

    # journalctl -u wpa_supplicant -b | tail -2
    wlo1: Failed to start AP functionality

5765 МГц (канал 153) — частота с no-IR, поднять на ней точку доступа нельзя в принципе.
Явно заданные каналы 7, 36, 40 и 149 дают ровно то же самое.

Ожидаемый результат: активация завершается сразу и с диагностикой по существу, вида
«в диапазоне A нет частот, разрешённых для точки доступа в текущем регуляторном домене».

Где это в коде (ветка sisyphus, NetworkManager-1.58.1-alt2),
src/core/devices/wifi/nm-device-wifi.c:3399-3404:

    freq = nm_platform_wifi_find_frequency(nm_device_get_platform(device),
                                           nm_device_get_ifindex(device),
                                           rnd_freqs,
                                           TRUE);
    if (freq == 0)
        freq = rnd_freqs[0];

Сам поиск частоты корректен: src/libnm-platform/wifi/nm-wifi-utils-nl80211.c:396-406 пропускает
и disabled, и — при ap=TRUE — no_ir:

    for (j = 0; freqs[j] != 0; j++) {
        for (i = 0; i &lt; self-&gt;num_freqs; i++) {
            if (self-&gt;freqs[i].disabled)
                continue;
            if (ap &amp;&amp; self-&gt;freqs[i].no_ir)
                continue;
            if (self-&gt;freqs[i].freq == freqs[j])
                return freqs[j];
        }
    }
    return 0;

Возврат 0 означает ровно «разрешённой частоты нет», и обрабатывать его откатом на rnd_freqs[0]
(произвольный элемент зашитого и предварительно перемешанного списка, уже без единой проверки)
неверно: активация заведомо провалится, причём по таймауту wpa_supplicant и с сообщением про
802.1X, которого в этом сценарии нет вовсе.

Для сравнения, на 2,4 ГГц, где IR разрешён, точка доступа поднимается сразу:

    # nmcli device wifi hotspot ifname wlo1 band bg ssid test password 12345678
    Device &apos;wlo1&apos; successfully activated
    # iw dev wlo1 info
            ssid test / type AP / channel 6 (2437 MHz)

Что железо умеет 5-ГГц AP, проверено принудительной сменой домена: после iw reg set прошивка
выдала домен, в котором каналы 149-173 разрешены для IR, и точка доступа поднялась:

    # iw dev wlo1 info
            ssid test5 / type AP / channel 149 (5745 MHz), width: 20 MHz / txpower 22.00 dBm

Дефект апстримный (наших патчей в этом месте нет), исправлять его логично тоже в апстриме:
ветка freq == 0 общая для всех трёх диапазонов.

Найдено при аппаратном ретесте ошибки 52263.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>