Điểm:0

Tốc độ WiFi chậm đau đớn Ubuntu

lá cờ tt

Tôi đã khởi động kép Ubuntu 18.04.5 với Windows 10 Pro 21h1.

Trong windows và tất cả các thiết bị khác, tôi nhận được 50 Mb/giây nhưng khi sử dụng Ubuntu 18.04.5, tôi nhận được tối đa 1Mb/giây. Trong cài đặt WiFi, nó hiển thị tốc độ liên kết như nhau.

Đây là các cấu hình

wlp3s0 IEEE 802.11 ESSID:"SSID"  
      Chế độ:Được quản lý Tần số:2,432 GHz Điểm truy cập: 00:00:00:00:00   
      Tốc độ bit=1 Mb/s Tx-Power=20 dBm   
      Thử lại giới hạn ngắn:7 RTS thr:off Fragment thr:off
      Quản lý năng lượng: tắt
      Chất lượng liên kết=51/70 Mức tín hiệu=-59 dBm  
      Rx không hợp lệ nwid:0 Rx mật mã không hợp lệ:0 Rx mảnh không hợp lệ:0
      Thử lại quá nhiều Tx:0 Misc không hợp lệ:27 Đèn hiệu bị bỏ lỡ:0

Nhìn vào BitRate ở đây.

*-mạng
   Mô tả: Giao diện không dây
   sản phẩm: Bộ điều hợp mạng không dây QCA9377 802.11ac
   Nhà cung cấp: Qualcomm Atheros
   id vật lý: 0
   thông tin xe buýt: pci@0000:03:00.0
   tên logic: wlp3s0
   phiên bản: 31
   nối tiếp: 00:00:00:00:00:00
   chiều rộng: 64 bit
   xung nhịp: 33MHz
   khả năng: bus_master cap_list ethernet vật lý không dây
   cấu hình: Broadcast=yes driver=ath10k_pci driverversion=5.4.0-81-generic firmware=WLAN.TF.2.1-00021-QCARMSWP-1 ip=xxx.xxx.xxx.xx độ trễ=0 link=yes multicast=yes wireless= IEEE802.11
   tài nguyên: irq:131 bộ nhớ:b4000000-b41fffff

Nó cho tốc độ ổn với điểm phát sóng di động nhưng hoạt động như một con ốc sên chỉ với bộ định tuyến WiFi.

Tôi đã tắt quản lý năng lượng cho wlp3s0.

tôi tìm thấy một cái gì đó trong /etc/modprobe.d/blacklist-ath_pci.conf nói

# Đối với một số MAC Atheros 5K RF, trình điều khiển madwifi tải nhưng không thành công
# khởi tạo chính xác phần cứng, để nó ở trạng thái từ
# mà ath5k không thể phục hồi. Để ngăn chặn tình trạng này, hãy dừng
# madwifi tải theo mặc định. Sử dụng Jockey để chọn một trình điều khiển
# hoặc khác. (Ubuntu: #315056, #323830)
danh sách đen ath_pci

Tôi có thể cảm thấy một số vấn đề với iwlwifi.conf cũng như tôi hiểu đó là trình điều khiển cho phần cứng Intel nhưng WiFi của tôi là Qualcomm nên tôi không biết điều đó có liên quan gì đến nó.

Tôi đã thử một số biện pháp khắc phục khác mà Google và Youtube cung cấp nhưng Tốc độ bit vẫn giữ nguyên là 1 Mb/s.

Bất kỳ trợ giúp sẽ được đánh giá cao.

chỉnh sửa 1.0: Điện thoại của tôi hỗ trợ bật WiFi và Điểm phát sóng cùng lúc nên tôi kết nối điện thoại của mình với bộ định tuyến và máy Ubuntu với điểm phát sóng của điện thoại. Nó dẫn đến nhận được 20Mbps trên Ubuntu Machine. (Dù sao thì tốc độ liên kết vẫn hiển thị 1 Mbps). Tuy nhiên, tốc độ của bộ định tuyến tới Ubuntu Máy là 0,25-1,0 Mbps.

Yuri Sucupira avatar
lá cờ cn
Bạn đã thử tối ưu hóa MTU (đơn vị truyền tối đa) mặc định của kết nối chưa? Giả sử rằng SSID của mạng wi-fi có vấn đề của bạn là *badwifi*, hãy kết nối với mạng đó rồi chạy lệnh này trong thiết bị đầu cuối để bạn tìm thấy số MTU tối ưu cho *badwifi*: `ping -c 3 -M do -s 9000 www.google.com`. Giả sử rằng lệnh như vậy xuất ra **mtu=96**. Tiếp theo, ra lệnh `sudo nano /etc/NetworkManager/system-connections/badwifi.nmconnection` và thay thế số `XXX` tại `mtu=XXX` để nó đọc `mtu=96`. Lưu nó bằng **Ctrl O** và thoát trình chỉnh sửa bằng **Ctrl X**, sau đó khởi động lại.
Tungsten07 avatar
lá cờ tt
Gần đây, tôi đã thay đổi MTU của mình thành 1492 từ 1500 và `ping -c 3 -M do -s 9000 www.google.com` đã làm mất gói 100%. Và sau một vài lần chỉnh sửa, tôi đã mở tệp badwifi và nó không đề cập đến MTU.
Yuri Sucupira avatar
lá cờ cn
Lệnh `ping -c 3 -M do -s 9000 www.google.com` khiến bạn mất gói 100%: đó là cố ý. Nhưng nó cũng cung cấp cho bạn MTU chính xác. Ví dụ. khi tôi chạy `ping -c 3 -M do -s 9000 www.google.com` trên hệ thống của tôi, nó cho tôi thông báo sau: `ping: lỗi cục bộ: thông báo quá dài, mtu=96`. Điều này có nghĩa là tôi thực sự đã bị mất gói 100% (do MTU = 9000 được đặt trước, giá trị này rất cao có mục đích), nhưng nó cũng cho tôi biết rằng giá trị MTU cao nhất sẽ không khiến tôi bị mất gói như vậy là 96.Do đó, trong trường hợp của tôi, MTU lý tưởng là 96. Bạn cần thực hiện kiểm tra tương tự trong hệ thống của mình.
Yuri Sucupira avatar
lá cờ cn
Sau khi bạn thực hiện kiểm tra và kiểm tra xem MTU được chỉ định cho mạng *badwifi* của bạn là gì, hãy chạy `sudo nano /etc/NetworkManager/system-connections/badwifi.nmconnection` (thay thế *badwifi* bằng tên/SSID chính xác của mạng wi của bạn -fi), sau đó tại phần `[wifi]` của tệp, bạn có thể thêm tham số `mtu=xxx` trong đó `xxx` là MTU được đề xuất bởi đầu ra của thử nghiệm đó. Ví dụ: nếu bài kiểm tra cho bạn biết MTU lý tưởng là 96, thì trong `[wifi]`, bạn phải thêm văn bản `mtu=96`. Ví dụ. `[wi-fi] ban nhạc = bg (...) chế độ = cơ sở hạ tầng mtu=96`
Yuri Sucupira avatar
lá cờ cn
Nếu lệnh `ping` đó cung cấp cho bạn, ví dụ: mtu=1492 nhưng cài đặt mtu=1492 không giải quyết được vấn đề cho bạn, hãy thử bắt đầu thử nghiệm của bạn với một giá trị rất nhỏ rồi tăng giá trị đó cho đến khi bạn không nhận được *pong* nữa: ví dụ: chạy `ping -c 3 -s 68 www.google.com`. Nếu lệnh ping nhận được *pong* (nghĩa là một phản hồi chẳng hạn như `76 byte từ 2800:3f0:4001:81f::2004 (2800:3f0:4001:81f::2004): icmp_seq=3 ttl=117 time= 36,8 ms`, sau đó lặp lại lệnh đó với 78 thay vì 68. Nếu bạn không nhận được *pong*, hãy giảm số xuống. Khi bạn tìm thấy số cao nhất nhận được phản hồi, hãy thêm 28 vào số đó: đó là MTU lý tưởng của bạn.
Yuri Sucupira avatar
lá cờ cn
Ví dụ. giả sử rằng `ping -c 3 -s 69 www.google.com` cung cấp cho bạn đầu ra/trả lời báo cáo 100% mất gói và giả sử rằng sau đó bạn giảm 69 xuống 68 và sau đó `ping -c 3 -s 68 www.google. .com` mang lại cho bạn tỷ lệ mất gói 0%. Trong trường hợp như vậy, MTU lý tưởng của bạn là 68 + 28 = **96**, do đó bạn phải thêm một dòng có văn bản `mtu=96` vào đó dưới phần `[wifi]` trong tệp `/etc/NetworkManager /system-connections/badwifi.nmconnection`, sau đó lưu tệp, thoát, khởi động lại rồi kiểm tra hiệu suất mạng của bạn.
Yuri Sucupira avatar
lá cờ cn
Một ví dụ khác: nếu bạn bị mất gói 100% đối với `ping -c 3 -s 773 www.google.com` nhưng bị mất gói 0% đối với `ping -c 3 -s 772 www.google.com`, thì lý tưởng của bạn là MTU là 772 + 28 = **800**, do đó bạn phải thêm một dòng mới có nội dung `mtu=800` ở dưới phần `[wifi]` trong tệp `/etc/NetworkManager/system-connections/ badwifi.nmconnection`, sau đó lưu tệp, thoát, khởi động lại rồi kiểm tra hiệu suất mạng của bạn.
Tungsten07 avatar
lá cờ tt
Tôi đã cho tôi 1500 MTU và đó là giá trị MTU được đặt hiện tại của tôi nên tôi không nghĩ MTU là vấn đề ở đây.
Yuri Sucupira avatar
lá cờ cn
Bạn có đặt MTU = 1500 dựa trên kết quả kiểm tra của quy trình mà tôi đã mô tả trước đây không? I E. `ping -c 3 -s 1472 www.google.com` có làm bạn mất gói 0% không?
Tungsten07 avatar
lá cờ tt
Tôi đã không đặt nó mỗi lần, Nó đã là 1500 và kết quả từ quy trình bạn mô tả vẫn cho biết 1500. Dù sao thì tôi cũng đã giải quyết được vấn đề. Tôi đã thay đổi tự động 20/40 Hz thành 20Hz trong phần cài đặt của bộ định tuyến và nó hiện đang hoạt động tốt hơn. Cảm ơn bạn đã giúp đỡ.
Điểm:1
lá cờ in

Thẻ này nổi tiếng vì sự chậm chạp của nó. Có chương trình cơ sở của bên thứ 3 Tuy nhiên, có sẵn nếu bạn muốn dùng thử.

Đây là cách cài đặt nó:

  1. Mở Terminal (nếu chưa mở)
  2. Chuyển đến thư mục phần sụn cho thẻ:
    cd /lib/firmware/ath10k/QCA9377/hw1.0/
    
  3. Đổi tên hai tệp hiện có (để chúng không bị mất)
    Sudo mv firmware-5.bin firmware-5.bin.orig
    Sudo mv firmware-6.bin firmware-6.bin.orig
    
  4. Tải chương trình cơ sở của bên thứ 3:
    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. Tải lại mô-đun hạt nhân:
    Sudo modprobe -r ath10k_pci
    Sudo modprobe ath10k_pci 
    sudo dmesg | grep ath10k
    

Điều đó sẽ cung cấp cho bạn tốc độ truyền thích hợp.

Tungsten07 avatar
lá cờ tt
Đáng buồn là nó đã giảm tốc độ của tôi từ 1 Mbps xuống 0,25 Mbps. Cảm ơn mặc dù.
Jeremy31 avatar
lá cờ ke
Đó không phải là chương trình cơ sở của bên thứ ba, Kalle Valo là nhà phát triển nhân Qualcomm
Điểm:0
lá cờ it

Kiểm tra Wi-Fi của bạn MTU, sử dụng

liên kết ip

hoặc

ip tôi | grep $(ip r | awk '/default/ {print $5}' ) | awk '{in $2, $4, $5}'

cũng lưu ý tên giao diện WiFi của bạn.

Các MTU (Đơn vị truyền tối đa) là kích thước của gói lớn nhất có thể được gửi trong một lần truyền mạng. Nếu một gói vượt quá MTU của một liên kết, dữ liệu phải được chia thành nhiều gói (phân mảnh). Nhiều gói này phải được gửi qua liên kết, được nhận, xác nhận và tập hợp lại ở đầu xa. Nếu liên kết của bạn bị định cấu hình sai và bạn phải phân mảnh mọi gói tin bạn gửi, thì tốc độ truyền dữ liệu thực tế của bạn sẽ giảm xuống.

Mạng Ethernet (có dây) sử dụng một MTU là 1500 byte.

Do chi phí bổ sung trên mỗi gói cho WiFi (tiêu đề PPPoE 8 byte), WiFi sử dụng một MTU của năm 1492.

Của bạn MTU nên được đặt bởi máy chủ DHCP của bạn, hãy kiểm tra cấu hình của bộ định tuyến.

Bạn có thể thiết lập của riêng bạn MTU (cài đặt không tồn tại khi khởi động lại) với

liên kết sudo ip đặt tên dev mtu 1492

trong đó "tên" là tên giao diện ở trên.

Đây là một ví dụ:

walt@squid:~(0)$ liên kết ip
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    liên kết/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 trạng thái XUỐNG chế độ MẶC ĐỊNH nhóm mặc định qlen 1000
    liên kết/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 trạng thái DOWN chế độ DORMANT nhóm mặc định qlen 1000
    liên kết/ether 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] mật khẩu cho walt: 
walt@squid:~(0)$ liên kết ip
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    liên kết/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 trạng thái XUỐNG chế độ MẶC ĐỊNH nhóm mặc định qlen 1000
    liên kết/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 trạng thái UP chế độ DORMANT nhóm mặc định qlen 1000
    liên kết/ether f4:6d:04:b1:79:0f brd ff:ff:ff:ff:ff:ff

"Tên giao diện" WiFi của tôi là "wlxf46d04b1790f".

Tungsten07 avatar
lá cờ tt
Cảm ơn. Tôi đặt nó thành 1492, trước đó là 1500. Nhưng tốc độ truyền là như nhau. Vui lòng xem chỉnh sửa 1 trong câu hỏi.
waltinator avatar
lá cờ it
Cài đặt gói `tracepath`.Đọc `dấu vết con người`. `tracepath -n google.com` sẽ hiển thị MTU tốt nhất (`tracepath` gọi nó là Đường dẫn MTU, `pmtu`).
Yuri Sucupira avatar
lá cờ cn
@waltinator MTU lý tưởng của tôi là 96 (ý tôi là: 68 + 28) và đây là cài đặt hiện tại của tôi. `tracepath -n google.com` thực sự mang lại cho tôi MTU = 96. Nhưng nếu tôi chạy e.g. `Sudo ip link set dev name mtu 1492`, sau đó `tracepath -n google.com` cho tôi MTU = 1492. Ý tôi là: sử dụng `tracepath` không phải là một phương pháp đáng tin cậy. Cho đến nay, cách duy nhất tôi tìm thấy để tìm ra MTU tối đa thực tế không bị phân mảnh là chạy `ping -c 3 -s X www.google.com` tăng X cho đến khi các đoạn *pong* (tức là câu trả lời tương ứng của ping) , sau đó tôi giảm X đi 1 đơn vị cho đến khi *pong* ping của nó không bị phân mảnh, sau đó tôi xác định MTU = such X + 28.
Yuri Sucupira avatar
lá cờ cn
@waltinator Nói cách khác: trong trường hợp của tôi, `ping -c 3 -s 69 www.google.com` khiến tôi mất gói 100%, sau đó tôi thực thi `ping -c 3 -s 68 www.google.com` và nó sau đó đã cho tôi 0% mất gói. Do đó, MTU lý tưởng của tôi là 68 + 28, tức là MTU = 96. Sau đó, tôi đặt MTU mặc định của mình là 96 và quả thực, tôi nhận thấy hiệu suất mạng WLAN của mình đã được cải thiện đáng kể. Tôi đã cố gắng giải thích điều này với Tungsten07 và tôi có thể sai, nhưng tôi có ấn tượng rằng cho đến nay anh ấy/cô ấy vẫn chưa thành công trong việc thực hiện quy trình này và thiết lập MTU lý tưởng của mình một cách chính xác.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.