Fórum Root.cz

Hlavní témata => Sítě => Téma založeno: Hamparle 18. 03. 2021, 11:20:28

Název: Jak omezit linkovou rychlost wifi
Přispěvatel: Hamparle 18. 03. 2021, 11:20:28
Zdravíčko, potřeboval bych omezit rychlost dat na síti (na 802.11n 20MHz  1x1). Přijde mi nejtransparentnější to udělat tak, že na daném síťovém rozhraní prostě nebude dostupná rychlosti wifi 72Mbps, ale řekněme třeba jen 45 (Nevím jestli půjdou omezit ingress a egress oboje a dokonce i nezávisle, můj odhad je, že RX neovlivním, to je věc protějšího uzle). Nebude potřeba žádný wondershaper.



Jak se toto nastaví? Půjde to pomocí iw?
Název: Re:Jak omezit linkovou rychlost wifi ; OPera
Přispěvatel: Hamparle 18. 03. 2021, 11:53:42
Kód: [Vybrat]
sudo iw dev  wlan0 set bitrates ht-mcs-2.4 3
command failed: Operation not supported (-95)
sudo iw dev  phy0 set bitrates legacy-2.4 18
command failed: Operation not supported (-95)
Půjde s tím něco dělat? (Zkoušel jsem i po  ip link set down wlan0)

A co případně RX strana mince?
Název: Re:Jak omezit linkovou rychlost wifi
Přispěvatel: IDontCare 18. 03. 2021, 11:55:02
man tc
Název: Re:Jak omezit linkovou rychlost wifi
Přispěvatel: Hamparle 18. 03. 2021, 11:56:36
man tc
Rozumím, ale říkal jsem, že wondershaper jsem zkoušel a ten interně  používá tc class, tc qdisc.
Název: Re:Jak omezit linkovou rychlost wifi
Přispěvatel: jouda2 18. 03. 2021, 16:04:26
Oba směry samozřejmě jdou. dělá se to přes něco jako (UTFDDG - kdesi je na to hezký návod)
ifconfig ifb0 up
tc qdisc add dev wifi0 ingress handle ffff:
tc filter add dev wifi0 parent ffff: protocol ip u32 match u32 0 0 action connmark action mirred egress redirect dev ifb0 flowid ffff:1

Název: Re:Jak omezit linkovou rychlost wifi
Přispěvatel: Ondrej Nemecek 18. 03. 2021, 16:12:33
Jaká je motivace a cíl? Podle toho použijete vhodné řešení.

Linkovou rychlost nastavíte přímo wifině. Wifi je half-duplex, takže se o pásmo dělí upstrem i downstream. Čili pokud linku omezíte, ovlivníte tím oba směry a zhoršíte latenci při vytížení linky. Omezit rychlost má smysl hlavně v zarušeném prostředí nebo při slabém signálu - získáte stabilnější linku (spolu se zvýšením retry limit a nastavením pásma pouze na 2.4GHz to často pomůže dosáhnout pomalé, ale funkční linky). Rychlost nastavíte na AP nebo na klientovi. Na AP se to projeví u všech spojení, na klientovi jen u toho jednoho wifi spojení. Případně lze ovlivňovat i existující spojení a najít pokusem omylem nějaké optimum, pomocí příkazů iw - záleží na podpoře karty a driveru, možná budete muset vynutit reasociaci k AP.

Pokud ale chcete mít dobrou latenci z toho jednoho a samého klienta, potřebujete mít naopak wifi linku co nejrychlejší a omezit tcp/ip datový tok u nedůležitých spojení (co je nedůležité si musíte definovat). Zde nastupuje QOS a případně různé další shapery (tc). Dobře to nastavit může být náročnější úkol než se na první pohled zdá. Pro domácí potřeby bych zkusil kouknout, zda AP zařízení nemá něco takového integrovaného. Dnes to mají i nejlevnější AP routery. Pokročilejší zařízení mají další funkce, které se mohou hodit (Mikrotik...). Ten ingress se řídí obtížněji a linka reaguje hůře než u outgress, ale jde to (https://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.adv-qdisc.ingress.html).