Jak ustawić prawidłową przepływność dla mojej bezprzewodowej karty sieciowej Qualcomm Atheros AR93xx?

0

Jak na pytanie, które właśnie kupiłem Qualcomm Atheros AR93xx Wireless Network Adapter, a konkretnie TP-LINK TL-WDN4800 N900 - który powinien osiągnąć 450 Mb / s.

Pracuję na jądrze Linux scv 4.10.0-40-generic #44~16.04.1-Ubuntu SMP Thu Nov 9 15:37:44 UTC 2017 x86_64 x86_64 x86_64 GNU/Linuxi kiedy próbuję znaleźć dostępne szybkości transmisji, otrzymuję:

ema@scv:~$ sudo iwlist wlp2s0 bitrate
wlp2s0    unknown bit-rate information.
          Current Bit Rate=54 Mb/s

Próbowałem ręcznie ustawić ją na 300 Mb / s sudo iwconfig wlp2s0 rate 300M, ale tak naprawdę nie daje to pożądanego efektu.

Łączę się z Netgear N600 i trybu na 5GHz sieciowy jest ustawiony do 300Mbps; to urządzenie znajduje się w odległości ~ 3 m od mojego komputera i chyba dobry sygnał (tylko 3 punkty dostępowe 5 GHz na kanale 36):

wlp2s0    IEEE 802.11  ESSID:"M4yb3_n0tX"  
          Mode:Managed  Frequency:5.18 GHz  Access Point: 84:1B:5E:36:9C:22   
          Bit Rate=54 Mb/s   Tx-Power=18 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=57/70  Signal level=-53 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:1  Invalid misc:133   Missed beacon:0

Moje sudo lspci -vv -s 02:00.0produkcje (przepraszam za długą produkcję):

02:00.0 Network controller: Qualcomm Atheros AR93xx Wireless Network Adapter (rev 01)
    Subsystem: Qualcomm Atheros AR93xx Wireless Network Adapter
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 32 bytes
    Interrupt: pin A routed to IRQ 16
    Region 0: Memory at f7b00000 (64-bit, non-prefetchable) [size=128K]
    Expansion ROM at f7b20000 [disabled] [size=64K]
    Capabilities: [40] Power Management version 3
        Flags: PMEClk- DSI- D1+ D2- AuxCurrent=375mA PME(D0+,D1+,D2-,D3hot+,D3cold-)
        Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
        Address: 0000000000000000  Data: 0000
        Masking: 00000000  Pending: 00000000
    Capabilities: [70] Express (v2) Endpoint, MSI 00
        DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <1us, L1 <8us
            ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
        DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
            RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
            MaxPayload 128 bytes, MaxReadReq 512 bytes
        DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
        LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <2us, L1 <64us
            ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
        LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
        LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
        DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported
        DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
        LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
             Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
             Compliance De-emphasis: -6dB
        LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
             EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
    Capabilities: [100 v1] Advanced Error Reporting
        UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
        UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
        UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
        CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
        CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
        AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
    Capabilities: [140 v1] Virtual Channel
        Caps:   LPEVC=0 RefClk=100ns PATEntryBits=1
        Arb:    Fixed- WRR32- WRR64- WRR128-
        Ctrl:   ArbSelect=Fixed
        Status: InProgress-
        VC0:    Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
            Arb:    Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
            Ctrl:   Enable+ ID=0 ArbSelect=Fixed TC/VC=01
            Status: NegoPending- InProgress-
    Capabilities: [300 v1] Device Serial Number 00-00-00-00-00-00-00-00
    Kernel driver in use: ath9k
    Kernel modules: ath9k

Co mam teraz zrobić? Chciałbym osiągnąć 300 Mb / s, myślisz, że będzie to możliwe?

Testowałem, przesyłając pliki do komputera podłączonego do tego samego routera przez Ethernet (1000 Mb / s ), a najlepsza prędkość wysyłania (z sieci bezprzewodowej na Ethernet) wynosi około 24 Mb / s, a najlepsza prędkość pobierania (z sieci Ethernet na sieć bezprzewodową) to około 32 Mb / s (warto zauważyć, że po podłączeniu obu komputerów Ethernet do Ethernetu osiągam 1000 Mb / s bez żadnego wysiłku). Czy router wymaga zmiany?

Wszelkie sugestie są mile widziane!

Emanuele
źródło
2
802.11n i 802.11ac wymagają włączenia WMM, a jeśli wymagane jest szyfrowanie, muszą używać WPA2 (AES-CCMP). Jeśli nie są one dostępne, utkniesz przy szybkościach 802.11a i 802.11g (54 Mb / s). Zaktualizuj swoje pytanie, aby zawierało informacje o tym, jak masz WMM i zabezpieczenia skonfigurowane na twoim AP i kliencie.
Spiff,
Co to jest WMM? Wiem, że używam WPA2 (choć AES, nie AES-CCMP). Masz pomysł, jak to potwierdzić? W przypadku, gdy wynika to z punktu dostępu, prawda?
Emanuele
WMM to QoS dla Wi-Fi. Został on znormalizowany jako 802.11e, jeśli dobrze pamiętam, ale wiele produktów wciąż nazywa to WMM. Podobnie jak wiele produktów mówi „AES”, a nie bardziej „AES-CCMP”. Musisz włączyć te rzeczy również w AP i na klientach, chociaż większość łatwych w użyciu klientów domyślnie włącza te funkcje i dostosowuje się do tego, na co pozwala AP. Ale Linux jest zwykle bardziej „zrób to sam”.
Spiff,
Nie krępuj się wskazać mi jakiejkolwiek konkretnej dokumentacji / strony Linux / Ubuntu, chętnie czytam i dokumentuję siebie ...
Emanuele
Znalazłem te ustawienia i włączenie / wyłączenie nie miało znaczenia. Aktualizacja oprogramowania punktu dostępowego załatwiła sprawę (patrz moja odpowiedź).
Emanuele

Odpowiedzi:

0

Odpowiedź na pytanie jest bardzo prosta: nie można, trzeba polegać na sterownikach i oprogramowaniu układowym (zarówno karty sieciowej, jak i punktu dostępowego), aby postępować właściwie .

Najwyraźniej w (względnie) najnowszych jądrach Linuksa nie można konfigurować bitrate, ale trzeba polegać na sterowniku / oprogramowaniu karty, aby to zrobić poprawnie.

Właśnie zaktualizowałem oprogramowanie mojego punktu dostępu, a teraz jest to wynik iwconfig wlp2s0:

wlp2s0    IEEE 802.11  ESSID:"M4yb3_n0tX"  
          Mode:Managed  Frequency:5.18 GHz  Access Point: 84:1B:5E:36:9C:22   
          Bit Rate=216 Mb/s   Tx-Power=18 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=56/70  Signal level=-54 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:112   Missed beacon:0

Pamiętaj, że szybkość transmisji wynosi 216 Mb / s. Pomiary w świecie rzeczywistym to teraz: prędkość wysyłania 67 Mb / s, prędkość pobierania 140 Mb / s. Zdecydowanie poprawa, wciąż daleko od 1000 Mbps przewodowego Ethernetu ...

Aktualizacja: teraz, gdy korzystam z połączenia 5 GHz, Bit Rateoscyluje między 216 Mb / s do 300 Mb / s, w zależności od tego, o której godzinie łączę się w ciągu dnia (wydaje mi się, że ma to związek z innymi potencjalnymi zakłóceniami sieci sąsiednich).

Emanuele
źródło
0

Być może moja odpowiedź jest nie na temat, ale myślę, że masz taki sam problem jak mój: karta sieci bezprzewodowej Atheros AR93xx ma niską szybkość przesyłania (wysyłania) w systemie Linux.

Według # 69 błędu Ubuntu # 1670041 :

Niska przepustowość z transmisją strumieni TCP na ath10k powinna zostać naprawiona za pomocą tego zatwierdzenia mac80211:

mac80211: Dostosuj przesunięcie stymulacji TSQ

https://git.kernel.org/linus/36148c2bbfbe50c50206b6f61d072203c80161e0

Najwyraźniej v4.16-rc5 było pierwszym wydaniem, które miało takie zatwierdzenie.

Aktualizacja jądra Linuksa do nowszej wersji może to naprawić (w moim przypadku Linux 4.17.14).

cherrot
źródło