Puncte:0

Viteză WiFi lentă și dureroasă Ubuntu

drapel tt

Am pornit dublu Ubuntu 18.04.5 cu Windows 10 Pro 21h1.

În Windows și toate celelalte dispozitive primesc 50 Mbps, dar când folosesc Ubuntu 18.04.5 primesc 1 Mbps max. În setările WiFi, afișează viteza conexiunii la fel.

Iată configurațiile

wlp3s0 IEEE 802.11 ESSID:„SSID”  
      Mod: Frecvență gestionată: 2,432 GHz Punct de acces: 00:00:00:00:00   
      Bit Rate=1 Mb/s Tx-Power=20 dBm   
      Reîncercați limita scurtă:7 RTS thr:off Fragment thr:off
      Managementul energiei: oprit
      Calitatea legăturii=51/70 Nivelul semnalului=-59 dBm  
      Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
      Tx reîncercări excesive:0 Diverse nevalide:27 Balize pierdute:0

Uită-te la BitRate aici.

*-reţea
   descriere: Interfață wireless
   produs: Adaptor de rețea fără fir QCA9377 802.11ac
   furnizor: Qualcomm Atheros
   ID fizic: 0
   info autobuz: pci@0000:03:00.0
   nume logic: wlp3s0
   versiunea: 31
   serial: 00:00:00:00:00:00
   lățime: 64 biți
   ceas: 33 MHz
   capabilități: bus_master cap_list ethernet fizic wireless
   configurație: broadcast=da driver=ath10k_pci driverversion=5.4.0-81-generic firmware=WLAN.TF.2.1-00021-QCARMSWP-1 ip=xxx.xxx.xxx.xx latency=0 link=da multicast=da wireless= IEEE 802.11
   resurse: irq:131 memorie:b4000000-b41fffff

Oferă viteză bună cu hotspot-ul mobil, dar se comportă ca un melc numai cu router WiFi.

Am oprit gestionarea energiei pentru wlp3s0.

Am găsit ceva în /etc/modprobe.d/blacklist-ath_pci.conf zicală

# Pentru unele MAC-uri Atheros 5K RF, driverul madwifi încarcă dar nu reușește
# inițializați corect hardware-ul, lăsându-l într-o stare de
# pe care ath5k nu le poate recupera. Pentru a preveni această afecțiune, opriți
# madwifi de la încărcare implicit. Utilizați Jockey pentru a selecta un șofer
# sau celălalt. (Ubuntu: #315056, #323830)
lista neagră ath_pci

Pot simți o problemă cu iwlwifi.conf la fel de bine, dar din câte am înțeles, este un driver pentru hardware Intel, dar WiFi-ul meu este Qualcomm, așa că nu știu ce legătură are asta.

Am încercat alte câteva remedii pe care le oferă Google și Youtube, dar rata de biți rămâne aceeași cu 1 Mb/s.

Orice ajutor ar fi apreciat.

edit 1.0: Telefonul meu acceptă activarea WiFi și Hotspot-ul în același timp, așa că îmi conectez telefonul la router și mașina Ubuntu la hotspot-ul telefonului. A condus la obținerea de 20 Mbps pe Ubuntu Machine. (Viteza conexiunii arată în continuare 1 Mbps oricum). Cu toate acestea, viteza routerului către Ubuntu Machine este de 0,25-1,0 Mbps.

Yuri Sucupira avatar
drapel cn
Ați încercat să optimizați MTU (unitatea maximă de transmisie) implicită a conexiunii? Presupunând că SSID-ul rețelei dvs. wi-fi problematice este *badwifi*, conectați-vă la el și apoi executați această comandă în terminal, astfel încât să găsiți numărul MTU optim pentru *badwifi*: `ping -c 3 -M do -s 9000 www.google.com`. Să presupunem că o astfel de comandă scoate **mtu=96**. Apoi, lansați comanda `sudo nano /etc/NetworkManager/system-connections/badwifi.nmconnection` și înlocuiți numărul `XXX` la `mtu=XXX`, astfel încât să scrie `mtu=96`. Salvați-l cu **Ctrl O** și ieșiți din editor cu **Ctrl X**, apoi reporniți.
Tungsten07 avatar
drapel tt
Mi-am schimbat recent MTU-ul la 1492 de la 1500 și `ping -c 3 -M do -s 9000 www.google.com` a dat o pierdere de pachete de 100%. Și după câteva ajustări am deschis fișierul badwifi și nu menționează MTU.
Yuri Sucupira avatar
drapel cn
Comanda `ping -c 3 -M do -s 9000 www.google.com` vă oferă pierderi de pachete de 100%: este intenționată. Dar vă oferă și MTU-ul corect. De exemplu. când rulez `ping -c 3 -M do -s 9000 www.google.com` pe sistemul meu îmi dă acest mesaj: `ping: local error: message too long, mtu=96`. Aceasta înseamnă că am avut într-adevăr o pierdere de pachete de 100% (datorită MTU prestabilit = 9000, care este extrem de mare intenționat), dar m-a informat și că cea mai mare valoare MTU care nu îmi va da o astfel de pierdere de pachete este 96.Prin urmare, în cazul meu, MTU ideal este 96. Trebuie să faceți același test în sistemul dvs.
Yuri Sucupira avatar
drapel cn
Odată ce ați efectuat testul și verificați care este MTU-ul indicat pentru rețeaua dvs. *badwifi*, rulați `sudo nano /etc/NetworkManager/system-connections/badwifi.nmconnection` (înlocuiți *badwifi* cu numele/SSID-ul corect al conexiunii dvs. -fi network), apoi la secțiunea `[wifi]` a fișierului puteți adăuga parametrul `mtu=xxx` unde `xxx` este MTU recomandat de rezultatul testului respectiv. Exemplu: dacă testul vă informează un MTU ideal de 96, atunci sub `[wifi]` trebuie să adăugați textul `mtu=96`. De exemplu. `[wifi] band=bg (...) mod=infrastructură mtu=96`
Yuri Sucupira avatar
drapel cn
Dacă comanda `ping` vă oferă de ex. mtu=1492, dar setarea mtu=1492 nu rezolvă problema pentru dvs., încercați să începeți testul cu o valoare foarte mică și apoi să o creșteți până când nu mai obțineți un *pong*: de ex. rulați `ping -c 3 -s 68 www.google.com`. Dacă ping-ul primește un *pong* (adică un răspuns cum ar fi, de exemplu, `76 de octeți din 2800:3f0:4001:81f::2004 (2800:3f0:4001:81f::2004): icmp_seq=3 ttl=117 time 36,8 ms`, apoi repetați comanda cu 78 în loc de 68. Dacă nu primiți un *pong*, micșorați numărul. Când găsiți cel mai mare număr care primește un răspuns, adăugați 28: acesta este MTU-ul dvs. ideal.
Yuri Sucupira avatar
drapel cn
De exemplu. să presupunem că `ping -c 3 -s 69 www.google.com` vă oferă o ieșire/răspuns care raportează 100% pierdere de pachete și să presupunem că apoi reduceți de la 69 la 68 și apoi `ping -c 3 -s 68 www.google .com` vă oferă 0% pierdere de pachete. În acest caz, MTU-ul tău ideal este 68 + 28 = **96**, de aceea trebuie să adaugi o linie cu textul `mtu=96` acolo sus sub secțiunea `[wifi]` din fișierul `/etc/NetworkManager /system-connections/badwifi.nmconnection`, apoi salvați fișierul, ieșiți, reporniți și apoi testați performanța rețelei.
Yuri Sucupira avatar
drapel cn
Un alt exemplu: dacă obțineți 100% pierdere de pachete pentru `ping -c 3 -s 773 www.google.com`, dar obțineți 0% pierdere de pachete pentru `ping -c 3 -s 772 www.google.com`, atunci idealul dvs. MTU este 772 + 28 = **800**, astfel încât trebuie să adăugați o nouă linie cu textul `mtu=800` acolo sus sub secțiunea `[wifi]` din fișierul `/etc/NetworkManager/system-connections/ badwifi.nmconnection`, apoi salvați fișierul, ieșiți, reporniți și apoi testați performanța rețelei.
Tungsten07 avatar
drapel tt
Mi-am dat 1500 MTU și aceasta este valoarea setată actuală a MTU, așa că nu cred că MTU este o problemă aici.
Yuri Sucupira avatar
drapel cn
Ați setat MTU = 1500 pe baza rezultatelor testelor din procedura pe care am descris-o anterior? i.e. `ping -c 3 -s 1472 www.google.com` vă oferă o pierdere de pachete de 0%?
Tungsten07 avatar
drapel tt
Nu l-am setat per se, Era deja 1500 iar rezultatele de la procedura pe care ai descris-o tot spuneau 1500. Oricum am rezolvat problema. Am schimbat automat 20/40 Hz la 20Hz în setările routerului și acum funcționează mult mai bine. Multumesc pentru ajutor.
Puncte:1
drapel in

Această carte este renumită pentru lent. Există un firmware de la o terță parte disponibil dacă doriți să încercați, totuși.

Iată cum se instalează:

  1. Deschideți terminalul (dacă nu este deja deschis)
  2. Accesați directorul de firmware pentru card:
    cd /lib/firmware/ath10k/QCA9377/hw1.0/
    
  3. Redenumiți două fișiere existente (ca să nu se piardă)
    sudo mv firmware-5.bin firmware-5.bin.orig
    sudo mv firmware-6.bin firmware-6.bin.orig
    
  4. Obțineți firmware-ul terță parte:
    sudo wget "https://github.com/kvalo/ath10k-firmware/blob/master/QCA9377/hw1.0/CNSS.TF.1.0/firmware-5.bin_CNSS.TF.1.0-00267-QCATFSWPZ-1?raw =true" -O firmware-5.bin
    
  5. Reîncărcați modulul nucleului:
    sudo modprobe -r ath10k_pci
    sudo modprobe ath10k_pci 
    sudo dmesg | grep ath10k
    

Asta ar trebui să vă ofere viteze de transmisie adecvate.

Tungsten07 avatar
drapel tt
Din păcate, mi-a redus viteza de la 1 Mbps la 0,25 Mbps. Multumesc oricum.
Jeremy31 avatar
drapel ke
Acesta nu este un firmware terță parte, Kalle Valo este un dezvoltator de nucleu Qualcomm
Puncte:0
drapel it

Verificați-vă WiFi MTU, folosind

link ip

sau

ip l | grep $(ip r | awk '/default/ {print $5}' ) | awk „{printează $2, $4, $5}”

observați și numele interfeței dvs. WiFi.

The MTU (Maximum Transmission Unit) este dimensiunea celui mai mare pachet care poate fi trimis într-o singură transmisie de rețea. Dacă un pachet depășește valoarea MTU a unei legături, datele trebuie împărțite în mai multe pachete (fragmentate). Aceste pachete multiple trebuie trimise prin link, primite, confirmate și reasamblate la capătul îndepărtat. Dacă legătura dvs. este configurată greșit și trebuie să fragmentați fiecare pachet pe care îl trimiteți, rata reală de transfer de date scade.

Rețelele Ethernet (cablate) folosesc un MTU de 1500 de octeți.

Datorită supraîncărcării suplimentare per pachet pentru WiFi (antet PPPoE de 8 octeți), WiFi utilizează un MTU din 1492.

Ta MTU ar trebui să fie setat de serverul dvs. DHCP, verificați configurația routerului.

Puteți seta singur MTU (setarea nu persistă la reporniri) cu

sudo ip link set dev name mtu 1492

unde „nume” este numele interfeței de mai sus.

Iată un exemplu:

walt@squid:~(0)$ link ip
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state modul NECUNOSCUT DEFAULT grup implicit qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp63s0: <NO-CARRIER, BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq stare JOS modul DEFAULT grup implicit qlen 1000
    link/ether 00:24:21:7f:e5:1c brd ff:ff:ff:ff:ff:ff
3: wlxf46d04b1790f: <NO-CARRIER, BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq stare JOS modul grup dorRM implicit qlen 1000
    link/eter f4:6d:04:b1:79:0f brd ff:ff:ff:ff:ff:ff
walt@squid:~(0)$ sudo ip link set dev wlxf46d04b1790f mtu 1492
[sudo] parola pentru walt: 
walt@squid:~(0)$ link ip
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state modul NECUNOSCUT DEFAULT grup implicit qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp63s0: <NO-CARRIER, BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq stare JOS modul DEFAULT grup implicit qlen 1000
    link/ether 00:24:21:7f:e5:1c brd ff:ff:ff:ff:ff:ff
3: wlxf46d04b1790f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1492 qdisc mq state UP mode DORMANT grup implicit qlen 1000
    link/eter f4:6d:04:b1:79:0f brd ff:ff:ff:ff:ff:ff

„Numele interfeței” meu WiFi este „wlxf46d04b1790f".

Tungsten07 avatar
drapel tt
Mulțumiri. L-am setat la 1492, a fost cu 1500 mai devreme. Dar viteza de transmisie este aceeași. Vă rugăm să priviți editarea 1 în cauză.
waltinator avatar
drapel it
Instalați pachetul `tracepath`.Citiți `man tracepath`. `tracepath -n google.com` va afișa cel mai bun MTU (`tracepath` îl numește Path MTU, `pmtu`).
Yuri Sucupira avatar
drapel cn
@waltinator MTU-ul meu ideal este 96 (adică: 68 + 28) și aceasta este setarea mea actuală. `tracepath -n google.com` îmi dă într-adevăr MTU = 96. Dar dacă rulez de ex. `sudo ip link set dev name mtu 1492`, apoi `tracepath -n google.com` îmi oferă MTU = 1492. Adică: usign `tracepath` nu este o metodă de încredere. Până acum, singura modalitate pe care am găsit-o pentru a afla MTU-ul maxim real care nu se fragmentează este să rulez `ping -c 3 -s X www.google.com` crescând X până la fragmentele *pong* (adică răspunsul ping corespunzător) , apoi micșorez X cu 1 unitate până când *pong-ul* al lui ping nu este fragmentat, apoi definesc MTU = astfel de X + 28.
Yuri Sucupira avatar
drapel cn
@waltinator Cu alte cuvinte: în cazul meu, `ping -c 3 -s 69 www.google.com` mi-a dat 100% pierdere de pachete, apoi am executat `ping -c 3 -s 68 www.google.com` și apoi mi-a dat 0% pierdere de pachete. Prin urmare, MTU-ul meu ideal este 68 + 28, adică MTU = 96. Apoi am setat MTU-ul meu implicit la 96 și, într-adevăr, am observat o îmbunătățire mare a performanței WLAN-ului meu. Am încercat să-i explic acest lucru lui Tungsten07 și s-ar putea să greșesc, dar am impresia că până acum nu a reușit să efectueze această procedură și să-și stabilească corect MTU-ul ideal.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.