Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.
Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou
… více »Český statistický úřad rozšiřuje Statistický geoportál o Datový portál GIS s otevřenými geografickými daty. Ten umožňuje stahování datových sad podle potřeb uživatelů i jejich prohlížení v mapě a přináší nové možnosti v oblasti analýzy a využití statistických dat.
Kevin Lin zkouší využívat chytré brýle Mentra při hraní na piano. Vytváří aplikaci AugmentedChords, pomocí které si do brýlí posílá notový zápis (YouTube). Uvnitř brýlí běží AugmentOS (GitHub), tj. open source operační systém pro chytré brýle.
Jarní konference EurOpen.cz 2025 proběhne 26. až 28. května v Brandýse nad Labem. Věnována je programovacím jazykům, vývoji softwaru a programovacím technikám.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
root@censored# iw reg set CZ root@censored# hostapd -dd /etc/hostapd/hostapd.conf random: Trying to read entropy from /dev/random Configuration file: /etc/hostapd/hostapd.conf nl80211: interface wlan0 in phy phy0 rfkill: initial event: idx=0 type=2 op=0 soft=0 hard=0 rfkill: initial event: idx=3 type=1 op=0 soft=0 hard=0 nl80211: Using driver-based off-channel TX nl80211: Use separate P2P group interface (driver advertised support) nl80211: Add own interface ifindex 5 nl80211: Add own interface ifindex 41 nl80211: Set mode ifindex 41 iftype 3 (AP) nl80211: Create interface iftype 6 (MONITOR) nl80211: New interface mon.wlan0 created: ifindex=56 nl80211: Add own interface ifindex 56 nl80211: Adding interface wlan0 into bridge br0 BSS count 1, BSSID mask 00:00:00:00:00:00 (0 bits) nl80211: Regulatory information - country=CZ nl80211: 2400-2483 @ 40 MHz nl80211: 5150-5350 @ 80 MHz nl80211: 5470-5725 @ 80 MHz nl80211: 57240-65880 @ 2160 MHz nl80211: Added 802.11b mode based on 802.11g information Allowed channel: mode=1 chan=1 freq=2412 MHz max_tx_power=16 dBm Allowed channel: mode=1 chan=2 freq=2417 MHz max_tx_power=16 dBm Allowed channel: mode=1 chan=3 freq=2422 MHz max_tx_power=16 dBm Allowed channel: mode=1 chan=4 freq=2427 MHz max_tx_power=16 dBm Allowed channel: mode=1 chan=5 freq=2432 MHz max_tx_power=16 dBm Allowed channel: mode=1 chan=6 freq=2437 MHz max_tx_power=16 dBm Allowed channel: mode=1 chan=7 freq=2442 MHz max_tx_power=16 dBm Allowed channel: mode=1 chan=8 freq=2447 MHz max_tx_power=16 dBm Allowed channel: mode=1 chan=9 freq=2452 MHz max_tx_power=16 dBm Allowed channel: mode=1 chan=10 freq=2457 MHz max_tx_power=16 dBm Allowed channel: mode=1 chan=11 freq=2462 MHz max_tx_power=16 dBm Allowed channel: mode=0 chan=1 freq=2412 MHz max_tx_power=16 dBm Allowed channel: mode=0 chan=2 freq=2417 MHz max_tx_power=16 dBm Allowed channel: mode=0 chan=3 freq=2422 MHz max_tx_power=16 dBm Allowed channel: mode=0 chan=4 freq=2427 MHz max_tx_power=16 dBm Allowed channel: mode=0 chan=5 freq=2432 MHz max_tx_power=16 dBm Allowed channel: mode=0 chan=6 freq=2437 MHz max_tx_power=16 dBm Allowed channel: mode=0 chan=7 freq=2442 MHz max_tx_power=16 dBm Allowed channel: mode=0 chan=8 freq=2447 MHz max_tx_power=16 dBm Allowed channel: mode=0 chan=9 freq=2452 MHz max_tx_power=16 dBm Allowed channel: mode=0 chan=10 freq=2457 MHz max_tx_power=16 dBm Allowed channel: mode=0 chan=11 freq=2462 MHz max_tx_power=16 dBm channel [0] (36) is disabled for use in AP mode, flags: 0x77 wlan0: IEEE 802.11 Configured channel (36) not found from the channel list of current mode (2) IEEE 802.11a wlan0: IEEE 802.11 Hardware does not support configured channel Could not select hw_mode and channel. (-4) wlan0: Unable to setup interface. Flushing old station entries Deauthenticate all stations nl80211: Remove interface ifindex=56 netlink: Operstate: linkmode=0, operstate=6 nl80211: Set mode ifindex 41 iftype 2 (STATION)Pochopitelně jsem zkoušel několik různých kanálu z 5GHz a pořád to samé. Nějaký nápad?
root@somwhere# du -k /lib/firmware/iwlwifi-7260-9.ucode 664 /lib/firmware/iwlwifi-7260-9.ucode
Prosím, nauč se číst:
v konfiugráku změním hw_mode na g ⇒ a kanál 3 ⇒ 36
Neboli po lopatě: Když to funguje, mám v konfiguráku hw_mode=6 a channel=3. Pak změním na: hw_mode=a a channel=36 a vylije to tu hlášku, co je nad tím.
iw
root@xxxxx# iwlist wlan0 channel wlan0 32 channels in total; available frequencies : Channel 01 : 2.412 GHz Channel 02 : 2.417 GHz Channel 03 : 2.422 GHz Channel 04 : 2.427 GHz Channel 05 : 2.432 GHz Channel 06 : 2.437 GHz Channel 07 : 2.442 GHz Channel 08 : 2.447 GHz Channel 09 : 2.452 GHz Channel 10 : 2.457 GHz Channel 11 : 2.462 GHz Channel 12 : 2.467 GHz Channel 13 : 2.472 GHz Channel 36 : 5.18 GHz Channel 40 : 5.2 GHz Channel 44 : 5.22 GHz Channel 48 : 5.24 GHz Channel 52 : 5.26 GHz Channel 56 : 5.28 GHz Channel 60 : 5.3 GHz Channel 64 : 5.32 GHz Channel 100 : 5.5 GHz Channel 104 : 5.52 GHz Channel 108 : 5.54 GHz Channel 112 : 5.56 GHz Channel 116 : 5.58 GHz Channel 120 : 5.6 GHz Channel 124 : 5.62 GHz Channel 128 : 5.64 GHz Channel 132 : 5.66 GHz Channel 136 : 5.68 GHz Channel 140 : 5.7 GHza
# iw list Wiphy phy0 Band 1: Capabilities: 0x11e2 HT20/HT40 Static SM Power Save RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 3839 bytes DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 4 usec (0x05) HT TX/RX MCS rate indexes supported: 0-15, 32 Frequencies: * 2412 MHz [1] (16.0 dBm) * 2417 MHz [2] (16.0 dBm) * 2422 MHz [3] (16.0 dBm) * 2427 MHz [4] (16.0 dBm) * 2432 MHz [5] (16.0 dBm) * 2437 MHz [6] (16.0 dBm) * 2442 MHz [7] (16.0 dBm) * 2447 MHz [8] (16.0 dBm) * 2452 MHz [9] (16.0 dBm) * 2457 MHz [10] (16.0 dBm) * 2462 MHz [11] (16.0 dBm) * 2467 MHz [12] (16.0 dBm) (passive scanning, no IBSS) * 2472 MHz [13] (16.0 dBm) (passive scanning, no IBSS) Bitrates (non-HT): * 1.0 Mbps * 2.0 Mbps (short preamble supported) * 5.5 Mbps (short preamble supported) * 11.0 Mbps (short preamble supported) * 6.0 Mbps * 9.0 Mbps * 12.0 Mbps * 18.0 Mbps * 24.0 Mbps * 36.0 Mbps * 48.0 Mbps * 54.0 Mbps Band 2: Capabilities: 0x11e2 HT20/HT40 Static SM Power Save RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 3839 bytes DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 4 usec (0x05) HT TX/RX MCS rate indexes supported: 0-15, 32 Frequencies: * 5180 MHz [36] (16.0 dBm) (passive scanning, no IBSS) * 5200 MHz [40] (16.0 dBm) (passive scanning, no IBSS) * 5220 MHz [44] (16.0 dBm) (passive scanning, no IBSS) * 5240 MHz [48] (16.0 dBm) (passive scanning, no IBSS) * 5260 MHz [52] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5280 MHz [56] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5300 MHz [60] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5320 MHz [64] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5500 MHz [100] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5520 MHz [104] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5540 MHz [108] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5560 MHz [112] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5580 MHz [116] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5600 MHz [120] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5620 MHz [124] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5640 MHz [128] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5660 MHz [132] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5680 MHz [136] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5700 MHz [140] (16.0 dBm) (passive scanning, no IBSS, radar detection) * 5720 MHz [144] (disabled) * 5745 MHz [149] (disabled) * 5765 MHz [153] (disabled) * 5785 MHz [157] (disabled) * 5805 MHz [161] (disabled) * 5825 MHz [165] (disabled) Bitrates (non-HT): * 6.0 Mbps * 9.0 Mbps * 12.0 Mbps * 18.0 Mbps * 24.0 Mbps * 36.0 Mbps * 48.0 Mbps * 54.0 Mbps max # scan SSIDs: 20 max scan IEs length: 393 bytes Coverage class: 0 (up to 0m) Supported Ciphers: * CCMP (00-0f-ac:4) * TKIP (00-0f-ac:2) * WEP40 (00-0f-ac:1) * WEP104 (00-0f-ac:5) * CMAC (00-0f-ac:6) * WPI-SMS4 (00-14-72:1) Available Antennas: TX 0 RX 0 Supported interface modes: * IBSS * managed * AP * AP/VLAN * monitor * P2P-client * P2P-GO * Unknown mode (10) software interface modes (can always be added): * AP/VLAN * monitor valid interface combinations: * #{ managed } <= 1, #{ AP, P2P-client, P2P-GO } <= 1, #{ Unknown mode (10) } <= 1, total <= 3, #channels <= 1 Supported commands: * new_interface * set_interface * new_key * new_beacon * new_station * new_mpath * set_mesh_params * set_bss * authenticate * associate * deauthenticate * disassociate * join_ibss * join_mesh * remain_on_channel * set_tx_bitrate_mask * action * frame_wait_cancel * set_wiphy_netns * set_channel * set_wds_peer * Unknown command (84) * Unknown command (87) * Unknown command (85) * Unknown command (89) * Unknown command (92) * Unknown command (104) * connect * disconnect Supported TX frame types: * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * Unknown mode (10): 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 Supported RX frame types: * IBSS: 0x40 0xb0 0xc0 0xd0 * managed: 0x40 0xd0 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * mesh point: 0xb0 0xc0 0xd0 * P2P-client: 0x40 0xd0 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * Unknown mode (10): 0x40 0xd0 Device supports RSN-IBSS. WoWLAN support: * wake up on disconnect * wake up on magic packet * wake up on pattern match, up to 20 patterns of 16-128 bytes * can do GTK rekeying * wake up on GTK rekey failure * wake up on EAP identity request * wake up on 4-way handshake * wake up on rfkill release HT Capability overrides: * MCS: ff ff ff ff ff ff ff ff ff ff * maximum A-MSDU length * supported channel width * short GI for 40 MHz * max A-MPDU length exponent * min MPDU start spacing Device supports TX status socket option. Device supports HT-IBSS.Akorát je teda divný to „passive scanning, no IBSS“. Přitom "iw reg get" ukáže (správně) "CZ"...
Tento seznam podporovaných kanálů rozhodně není v pořádku, což jsem podrobněji popsal níže. Právě ono divné „passive scanning, no IBSS“ ukazuje na možný problém.
Měl jsem tentýž problém s Atherosem a musel jsem si hacknout kernelový driver. Driver totiž trvá na „lokalizaci“ zapsané v ROM WiFi karty. Co nastavuje CRDA, je v podstatě irelevantní. Ba mnohem hůř: Nastavovat CRDA je chyba, pokud jde o dostupné vlastnosti, protože nikdy nedochází k nahrazení pravidel jinými, nýbrž k vytvoření průniku povolení a sjednocení zákazů (či jak to slušně nazvat). Tedy z hlediska dostupných frekvencí, výkonů a režimů (ne nutně z hlediska zákona) je nejlepší zrušit veškerá nastavení CRDA a rozhodně nenechávat v konfiguraci (často) implicitní „world domain“ ani nic jiného. Pokud už má karta v ROM české prostředí (což je velmi výjimečný případ, bohužel), nastavení lokalizace nic nezmění. Pokud má v ROM jakékoliv jiné prostředí, nastavení CRDA může možnosti karty pouze dále omezit, nikdy ne rozšířit.
Nakonec jsem hacknul kernelový driver tak, aby předstíral, že v ROM našel lokalizaci CZ (což je, jestli se nepletu, 203 v jednou z numerických formátů). Podle lidí od Atherosu je to hrubě nekorektní kvůli nějakým údajným magickým nikdy nepublikovaným kalibračním údajům, které má karta někde uložené a které pak můžou způsobovat imaginární a hypotetickou nekompatibilitu. Na to já ovšem seru, protože chci, aby zaprvé hostapd uměl využít kanály 12 a 13 v pásmu 2.4 GHz a zadruhé aby hostapd uměl využít vůbec nějaké kanály v pásmu 5 GHz, protože ve „world“ doméně ani v doméně karty, kterou jsem objednal z Číny (ale měla v ROM doménu „Aruba“ nebo co — fakt vtipné), nic z uvedeného není možné.
Nemůžu si pomoct, ale tenhle regulační fanatismus je nehorázně otravný. Pakliže vím, že jsem v České republice a že můj server sedí v České republice, měl bych prostě mít možnost nastavit CZ/203 a nevidím důvod k jakékoliv další debatě. Až budu porušovat zákon, pak ať si na mě klidně někdo došlápne. Ale driver by měl umožnit jakékoliv nastavení bez hnusných hacků v kernelu. No a pokud jde o skryté, hypotetické a imaginární kalibrační údaje, které prý znemožňují snadné přenastavení WiFi chipsetu z jedné lokalizace do jiné, takové prasárny by se měly zakázat. Mělo by být zakázáno něco takového nejen tvrdit, ale i provádět, pokud někdo něco tak nesmyslného opravdu dělá. (Dokud někdo nezveřejní dokumentaci, je to pro mě pustá konspirační teorie, která je pouze velmi populární na mailing listech Atherosu, dnes již vlastně Qualcommu.)
Nejhorší je, že většina notebooků se prodává s kartami ve „world“ doméně, kde je téměř všechno zakázáno. U těchto karet pak nastavení lokalizace úplně postrádá smysl, protože omezenější už ta pravidla být nemůžou, tedy průnik povolení a sjednocení zákazů vrací už jen stále znova to samé. S takovými notebooky se pak nedají dělat žádné 5GHz access pointy a všechny kanály, které nejsou globálně povolené, se dají používat pouze v roli klienta s pasivním scanningem. Za takové předpisy by měla někoho sejmout cihla do hlavy.
Vidím tam naprosto jasně: passive scanning, no IBSS. K tomu není co dodat. To je přesně ten problém, o kterém jsem psal, a žádný jiný. Kanály jsou povolené pouze v režimu klienta (a pouze s pasivním scanováním), rozhodně ne v režimu AP. Tedy není divu, že není možné vytvořit na takových (de facto) zakázaných kanálech access point. Nastavovat CRDA není ani náhodou dobrý nápad. Ničemu to neprospívá a jak už jsem psal, může to povolené režimy WiFi karty pouze dále omezit, nikdy ne rozšířit.
U chipsetu, na kterém AP na 5 GHz bez problémů funguje, například na mém serveru, bude iw list
vypadat například následovně:
$ iw list Wiphy phy0 max # scan SSIDs: 4 max scan IEs length: 2257 bytes Coverage class: 0 (up to 0m) Device supports RSN-IBSS. Device supports T-DLS. Supported Ciphers: * WEP40 (00-0f-ac:1) * WEP104 (00-0f-ac:5) * TKIP (00-0f-ac:2) * CCMP (00-0f-ac:4) * CMAC (00-0f-ac:6) Available Antennas: TX 0x7 RX 0x7 Configured Antennas: TX 0x7 RX 0x7 Supported interface modes: * IBSS * managed * AP * AP/VLAN * WDS * monitor * mesh point * P2P-client * P2P-GO Band 1: Capabilities: 0x11ef RX LDPC HT20/HT40 SM Power Save disabled RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 3839 bytes DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 8 usec (0x06) HT TX/RX MCS rate indexes supported: 0-23 Bitrates (non-HT): * 1.0 Mbps * 2.0 Mbps (short preamble supported) * 5.5 Mbps (short preamble supported) * 11.0 Mbps (short preamble supported) * 6.0 Mbps * 9.0 Mbps * 12.0 Mbps * 18.0 Mbps * 24.0 Mbps * 36.0 Mbps * 48.0 Mbps * 54.0 Mbps Frequencies: * 2412 MHz [1] (20.0 dBm) * 2417 MHz [2] (20.0 dBm) * 2422 MHz [3] (20.0 dBm) * 2427 MHz [4] (20.0 dBm) * 2432 MHz [5] (20.0 dBm) * 2437 MHz [6] (20.0 dBm) * 2442 MHz [7] (20.0 dBm) * 2447 MHz [8] (20.0 dBm) * 2452 MHz [9] (20.0 dBm) * 2457 MHz [10] (20.0 dBm) * 2462 MHz [11] (20.0 dBm) * 2467 MHz [12] (20.0 dBm) * 2472 MHz [13] (20.0 dBm) * 2484 MHz [14] (disabled) Band 2: Capabilities: 0x11ef RX LDPC HT20/HT40 SM Power Save disabled RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 3839 bytes DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 8 usec (0x06) HT TX/RX MCS rate indexes supported: 0-23 Bitrates (non-HT): * 6.0 Mbps * 9.0 Mbps * 12.0 Mbps * 18.0 Mbps * 24.0 Mbps * 36.0 Mbps * 48.0 Mbps * 54.0 Mbps Frequencies: * 5180 MHz [36] (23.0 dBm) * 5200 MHz [40] (23.0 dBm) * 5220 MHz [44] (23.0 dBm) * 5240 MHz [48] (23.0 dBm) * 5260 MHz [52] (20.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5280 MHz [56] (20.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5300 MHz [60] (20.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5320 MHz [64] (20.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5500 MHz [100] (26.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5520 MHz [104] (26.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5540 MHz [108] (26.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5560 MHz [112] (26.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5580 MHz [116] (26.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5600 MHz [120] (26.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5620 MHz [124] (26.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5640 MHz [128] (26.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5660 MHz [132] (26.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5680 MHz [136] (26.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5700 MHz [140] (26.0 dBm) (no IR, radar detection) DFS state: usable (for 4097484 sec) * 5745 MHz [149] (disabled) * 5765 MHz [153] (disabled) * 5785 MHz [157] (disabled) * 5805 MHz [161] (disabled) * 5825 MHz [165] (disabled) Supported commands: * new_interface * set_interface * new_key * start_ap * new_station * new_mpath * set_mesh_config * set_bss * authenticate * associate * deauthenticate * disassociate * join_ibss * join_mesh * remain_on_channel * set_tx_bitrate_mask * frame * frame_wait_cancel * set_wiphy_netns * set_channel * set_wds_peer * tdls_mgmt * tdls_oper * probe_client * set_noack_map * register_beacons * start_p2p_device * set_mcast_rate * connect * disconnect Supported TX frame types: * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 Supported RX frame types: * IBSS: 0x40 0xb0 0xc0 0xd0 * managed: 0x40 0xd0 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * mesh point: 0xb0 0xc0 0xd0 * P2P-client: 0x40 0xd0 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * P2P-device: 0x40 0xd0 software interface modes (can always be added): * AP/VLAN * monitor valid interface combinations: * #{ managed, WDS, P2P-client } <= 2048, #{ AP, mesh point, P2P-GO } <= 8, total <= 2048, #channels <= 1, STA/AP BI must match * #{ IBSS, AP } <= 1, total <= 1, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz } HT Capability overrides: * MCS: ff ff ff ff ff ff ff ff ff ff * maximum A-MSDU length * supported channel width * short GI for 40 MHz * max A-MPDU length exponent * min MPDU start spacing Device supports TX status socket option. Device supports HT-IBSS. Device supports low priority scan. Device supports scan flush. Device supports AP scan.
Klíčové je, že tam jsou vidět následující čtyři kanály bez omezení:
* 5180 MHz [36] (23.0 dBm) * 5200 MHz [40] (23.0 dBm) * 5220 MHz [44] (23.0 dBm) * 5240 MHz [48] (23.0 dBm)
Jedině na těchto kanálech se pak dá provozovat access point na 5 GHz. Abych získal přístup k těmto čtyřem kanálům (jejichž využití je v naprostém souladu s českými předpisy, ale driver je zakázal na základně nesprávného identifikátoru státu v EEPROM WiFi karty), musel jsem si hacknout driver. Ale o tom všem už jsem tady už psal. Zdroják není třeba „získávat“, je to přece open-source. V případě staršího Atherosu (ath9k) stačí upravit driver tak, aby předstíral, že v EEPROM karty našel třeba českou lokalizaci. Bez tohoto kroku se AP na 5 GHz vytvořit nedá. Úprava je nakonec celkem intuitivní a jednoduchá, leč velmi ohyzdná:
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index 07e2526..8dcb4fb 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c @@ -2376,7 +2376,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah) u8 ant_div_ctl1, tx_chainmask, rx_chainmask; eeval = ah->eep_ops->get_eeprom(ah, EEP_REG_0); - regulatory->current_rd = eeval; + regulatory->current_rd = 32971; if (ah->opmode != NL80211_IFTYPE_AP && ah->hw_version.subvendorid == AR_SUBVENDOR_ID_NEW_A) { diff --git a/net/wireless/reg.c b/net/wireless/reg.c index 6dee0ad..dfd7756 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c @@ -1900,7 +1900,7 @@ static void restore_regulatory_settings(bool reset_user) restore_custom_reg_settings(&rdev->wiphy); } - regulatory_hint_core(world_alpha2); + regulatory_hint_core("CZ"); /* * This restores the ieee80211_regdom module parameter @@ -2351,7 +2351,7 @@ int __init regulatory_init(void) user_alpha2[1] = '7'; /* We always try to get an update for the static regdomain */ - err = regulatory_hint_core(cfg80211_world_regdom->alpha2); + err = regulatory_hint_core("CZ"); if (err) { if (err == -ENOMEM) return err;
Méně ohyzdné řešení by zahrnovalo úpravu driveru tak, aby v případě nastavení CRDA provedl nikoliv průnik povolení a sjednocení zákazů, nýbrž nahrazení původní sady pravidel novou. To by pak bylo univerzální řešení, které by fungovalo v různých státech. Faktem ale je, že u serveru, který se ze státu do státu nestěhuje, může i drobný ošklivý hack splnit svůj účel.
Dlužno ještě dodat, že jsou celkem tři zdroje pravidel. Zaprvé, data v EEPROM WiFi chipsetu. Zadruhé, kód státu explicitně nastavený uživatelem v konfiguraci CRDA. Zatřetí, data získaná prostřednictvím 802.11d během asociace s access pointem, což se ovšem vztahuje pouze na klientské stanice, nikoliv na AP. Výsledná sada pravidel a omezení se vypočte ze tří jmenovaných (průnik povolení, sjednocení zákazů). Omezení pravidel trvá po celou dobu uptime, tedy například cestování s notebookem ze státu do státu nenahradí na základě 802.11d jednu sadu pravidel jinou, ale místo toho při každé změně státu pravidla dále omezí tak, aby příslušný WiFi chipset splňoval všechna pravidla ze všech dosud navštívených států (na základě podle 802.11d).
Sečteno a podtrženo, toto je zkrátka dobré vědět, když člověk narazí na podivné problémy s WiFi a s možnostmi konfigurace.
Na takových kanálech především nebude iniciovat sítě v režimu Ad-Hoc (IBSS). Navíc passive scanning znamená, že při hledání AP nikdy nebude vysílat probe frames a na daném kanále začne vůbec něco vysílat jedině tehdy, pokud přijme beacon od nějakého existujícího AP na příslušném kanále. Na základě existence AP na daném kanále začne karta předpokládat, že se tento kanál smí v daném místě používat. Sama od sebe ale nikdy nebude iniciovat vznik sítí nebo aktivně (pomocí probe frames) hledat access pointy. To může být problém ve spoustě případů, kupodivu také například u některých Infrastructure sítí se skrytým SSID. (Proto jich v praxi moc nevidíme. Zmrzačené WiFi adaptéry nastavené do „world“ domény by se k mnoha z nich bez důkladného hacknutí nepřipojily, i když souvislost se vším výše uvedeným mi nikdy nebyla příliš jasná.) Přísně vzato, No IBSS znamená, že se na daném kanále nemají vytvářet Ad-Hoc sítě. V praxi je to ovšem (přinejmenším u Atherosu) tak, že driver odmítne vytvářet i normální access point pro BSS. Neznám příslušné předpisy natolik přesně, abych věděl, zda mezi těmito dvěma zákazy vede nějaká implikace. Možná ano, vzhledem k tomu, že se spousta driverů něčím takovým řídí.
* Unknown command (84) * Unknown command (87) * Unknown command (85) * Unknown command (89) * Unknown command (92) * Unknown command (104)Podla tych cisiel sa da v kode dohladat o aky prikaz sa jedna. Napriklad mu tam chyba prikaz "start_ap". Inak pokial by to bolo tak ako hovoris (pises), tak by mu zrejme nefungovalo ani vytvorenie AP na pasme 2.4GHz a kanaloch 12 & 13, ktore "passive scanning" a "NO-IBSS" obsahuju rovnez. To by nam mohol prezradit tazatel ci moze na tychto kanaloch vytvorit AP.
Spousta starších Intel chipsetů (například Ultimate-N 6300 (rev 35) na mém notebooku) neumí režim AP vůbec. Asi je to problém firmwaru spíš než driveru, který s novějšími chipsety naprosto normálně AP podporuje. Ať už je to jakkoliv, párkrát jsem už na takový problém u Intelu narazil.
Tiskni
Sdílej: