如何为我的 Qualcomm Atheros AR93xx 无线网络适配器设置正确的比特率?

如何为我的 Qualcomm Atheros AR93xx 无线网络适配器设置正确的比特率?

根据我刚购买的问题Qualcomm Atheros AR93xx Wireless Network Adapter,具体来说TP-LINK TL-WDN4800 N900- 应达到450Mbps。

我在内核上运行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/Linux,当我尝试找到可用的比特率时,我得到了:

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

我尝试手动将其设置为300Mbps sudo iwconfig wlp2s0 rate 300M,但它实际上并没有产生任何预期的效果。

我正在连接到美国网件 N6005GHz 网络模式设置为 300Mbps;此设备距离我的电脑约 3 米,信号好的我猜(第 36 频道上只有 3 个 5GHz 接入点):

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

我的sudo lspci -vv -s 02:00.0产品(抱歉输出太长):

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

我下一步该做什么?我想实现300Mbps,您认为这可能吗?

我已经通过以太网将文件传输到连接到同一路由器的 PC 进行了测试(1000兆位),最佳上传速度(无线到以太网)约为24Mbps,而最佳下载速度(以太网到无线)约为三十二Mbps(值得注意的是,当我将两台 PC 的以太网连接到以太网时,我达到了1000Mbps 毫不费力)。需要更换路由器吗?

欢迎任何建议!

答案1

这个问题的答案很简单:不能,必须依靠驱动程序和固件(NIC 和接入点的驱动程序和固件)来实现正确的事情

显然,对于(相对)较新的 Linux 内核来说不能设置bitrate,但必须依赖于驱动程序/固件卡片以使其正确。

我刚刚更新了我的切入点现在这是输出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

请注意比特率216Mbps。现实世界的测量结果是:上传速度67Mbps,下载速度140Mbps。这肯定是一个进步,但与1000Mbps 有线以太网...

更新:现在我正在使用 5GHz 连接,速度Bit Rate在 216 Mb/s 到 300 Mb/s 之间波动,具体取决于我在一天中的哪个时间连接(我猜这与邻近网络的其他潜在干扰有关)。

答案2

也许我的回答是题外话,但我想你有和我同样的问题:Atheros AR93xx 无线网络适配器在 Linux 下的传输(上传)速率很低。

根据#69Ubuntu 错误 #1670041

应使用此 mac80211 提交来修复 ath10k 上传输 TCP 流的低吞吐量问题:

mac80211:调整 TSQ 节奏转变

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

显然,v4.16-rc5 是第一个具有该提交的版本。

将 Linux 内核升级到较新的版本可以解决此问题(在我的情况下是 Linux 4.17.14)。

相关内容