Score:0

อูบุนตูความเร็ว WiFi ที่เจ็บปวดช้า

ธง tt

ฉันบูต Ubuntu 18.04.5 คู่กับ Windows 10 Pro 21h1

ใน windows และอุปกรณ์อื่นๆ ทั้งหมด ฉันได้รับ 50 Mbps แต่เมื่อฉันใช้ Ubuntu 18.04.5 ฉันได้รับสูงสุด 1Mbps ในการตั้งค่า WiFi จะแสดงความเร็วลิงก์เหมือนกัน

นี่คือการกำหนดค่า

wlp3s0 IEEE 802.11 ESSID:"SSID"  
      โหมด: ความถี่ที่จัดการ: จุดเข้าใช้งาน 2.432 GHz: 00:00:00:00:00   
      อัตราบิต=1 Mb/s Tx-Power=20 dBm   
      ลองอีกครั้ง ขีดจำกัดระยะสั้น:7 RTS thr:ปิด Fragment thr:ปิด
      การจัดการพลังงาน:ปิด
      คุณภาพลิงค์=51/70 ระดับสัญญาณ=-59 dBm  
      Rx nwid ไม่ถูกต้อง:0 Rx crypt ไม่ถูกต้อง:0 Rx ไม่ถูกต้อง frag:0
      Tx ลองใหม่มากเกินไป:0 ไม่ถูกต้อง misc:27 Missed beacon:0

ดู BitRate ที่นี่

*-เครือข่าย
   คำอธิบาย: อินเตอร์เฟสไร้สาย
   ผลิตภัณฑ์: QCA9377 802.11ac อแดปเตอร์เครือข่ายไร้สาย
   ผู้ขาย: Qualcomm Atheros
   รหัสทางกายภาพ: 0
   ข้อมูลรถบัส: pci@0000:03:00.0
   ชื่อตรรกะ: wlp3s0
   รุ่น: 31
   อนุกรม: 00:00:00:00:00:00
   ความกว้าง: 64 บิต
   นาฬิกา: 33MHz
   ความสามารถ: bus_master cap_list อีเธอร์เน็ตทางกายภาพไร้สาย
   การกำหนดค่า: ออกอากาศ=ใช่ ไดรเวอร์=ath10k_pci ไดรเวอร์เวอร์ชัน=5.4.0-81-เฟิร์มแวร์ทั่วไป=WLAN.TF.2.1-00021-QCARMSWP-1 ip=xxx.xxx.xxx.xx เวลาแฝง=0 ลิงก์=ใช่ มัลติคาสต์=ใช่ ไร้สาย= IEEE 802.11
   ทรัพยากร: irq:131 หน่วยความจำ:b4000000-b41ffffff

มันให้ความเร็วที่โอเคกับฮอตสปอตมือถือ แต่ทำตัวเหมือนหอยทากที่มีเราเตอร์ WiFi เท่านั้น

ฉันปิดการจัดการพลังงานสำหรับ wlp3s0

ฉันพบบางอย่างใน /etc/modprobe.d/blacklist-ath_pci.conf พูดว่า

# สำหรับ Atheros 5K RF MACs บางตัว ไดรเวอร์ madwifi โหลดแต่ล้มเหลว
# เริ่มต้นฮาร์ดแวร์อย่างถูกต้องโดยปล่อยให้อยู่ในสถานะจาก
# ซึ่ง ath5k ไม่สามารถกู้คืนได้ เพื่อป้องกันอาการนี้ ให้หยุด
# madwifi จากการโหลดโดยค่าเริ่มต้น ใช้ Jockey เพื่อเลือกไดรเวอร์หนึ่งตัว
#หรืออย่างอื่น. (อูบุนตู: #315056, #323830)
บัญชีดำ ath_pci

ฉันรู้สึกได้ถึงปัญหาบางอย่างกับ iwlwifi.conf เช่นกัน แต่เท่าที่ฉันเข้าใจว่ามันเป็นไดรเวอร์สำหรับฮาร์ดแวร์ของ Intel แต่ WiFi ของฉันเป็น Qualcomm ดังนั้นฉันจึงไม่รู้ว่ามันเกี่ยวข้องกับอะไร

ฉันได้ลองใช้วิธีแก้ปัญหาอื่น ๆ หลายอย่างที่ Google และ Youtube นำเสนอ แต่อัตราบิตยังคงเหมือนเดิมคือ 1 Mb/s

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม

แก้ไข 1.0 : โทรศัพท์ของฉันรองรับการเปิดใช้งาน WiFi และ Hotspot พร้อมกัน ดังนั้นฉันจึงเชื่อมต่อโทรศัพท์ของฉันกับเราเตอร์และเครื่อง Ubuntu กับฮอตสปอตของโทรศัพท์ นำไปสู่การรับ 20Mbps บนเครื่อง Ubuntu (ความเร็วลิงค์ยังแสดง 1 Mbps อยู่เลย) อย่างไรก็ตามความเร็วของเราเตอร์ไปยัง Ubuntu Machine คือ 0.25-1.0 Mbps

Yuri Sucupira avatar
cn flag
คุณได้ลองเพิ่มประสิทธิภาพ MTU เริ่มต้นของการเชื่อมต่อ (หน่วยส่งสัญญาณสูงสุด) แล้วหรือยัง สมมติว่า SSID ของเครือข่าย wi-fi ที่มีปัญหาคือ *badwifi* ให้เชื่อมต่อแล้วรันคำสั่งนี้ในเทอร์มินัล เพื่อหาหมายเลข MTU ที่เหมาะสมที่สุดสำหรับ *badwifi*: `ping -c 3 -M do -s 9000 www.google.com`. สมมติว่าคำสั่งดังกล่าวส่งออก **mtu=96** จากนั้น ออกคำสั่ง `sudo nano /etc/NetworkManager/system-connections/badwifi.nmconnection` และแทนที่หมายเลข `XXX` ที่ `mtu=XXX` เพื่อให้อ่านว่า `mtu=96` บันทึกด้วย **Ctrl O** และออกจากโปรแกรมแก้ไขด้วย **Ctrl X** จากนั้นรีบูต
Tungsten07 avatar
tt flag
ฉันเพิ่งเปลี่ยน MTU เป็น 1492 จาก 1500 และ `ping -c 3 -M do -s 9000 www.google.com` ทำให้สูญเสียแพ็คเก็ต 100% และหลังจากปรับแต่งเล็กน้อย ฉันเปิดไฟล์ badwifi และไม่มีการพูดถึง MTU เลย
Yuri Sucupira avatar
cn flag
คำสั่ง `ping -c 3 -M do -s 9000 www.google.com` ทำให้คุณสูญเสียแพ็กเก็ต 100%: เป็นการจงใจ แต่ยังให้ MTU ที่ถูกต้องแก่คุณอีกด้วย เช่น. เมื่อฉันเรียกใช้ `ping -c 3 -M do -s 9000 www.google.com` ในระบบของฉัน มันแสดงข้อความนี้: `ping: local error: message too long, mtu=96` ซึ่งหมายความว่าฉันมีการสูญเสียแพ็กเก็ต 100% (เนื่องจาก MTU = 9000 ที่ตั้งไว้ล่วงหน้าซึ่งสูงมากตามวัตถุประสงค์) แต่ก็แจ้งฉันด้วยว่าค่า MTU สูงสุดที่จะไม่ทำให้แพ็กเก็ตสูญหายคือ 96ดังนั้น ในกรณีของฉัน MTU ในอุดมคติคือ 96 คุณต้องทำการทดสอบเดียวกันในระบบของคุณ
Yuri Sucupira avatar
cn flag
เมื่อคุณทำการทดสอบและตรวจสอบว่า MTU ใดที่ระบุสำหรับเครือข่าย *badwifi* ของคุณ ให้รัน `sudo nano /etc/NetworkManager/system-connections/badwifi.nmconnection` (แทนที่ *badwifi* ด้วยชื่อ/SSID ที่ถูกต้องของ wi ของคุณ -fi network) จากนั้นที่ส่วน `[wifi]` ของไฟล์ คุณสามารถเพิ่มพารามิเตอร์ `mtu=xxx` โดยที่ `xxx` คือ MTU ที่แนะนำโดยผลลัพธ์ของการทดสอบนั้น ตัวอย่าง: หากการทดสอบแจ้งให้คุณทราบ MTU ในอุดมคติที่ 96 ดังนั้นภายใต้ `[wifi]` คุณต้องเพิ่มข้อความ `mtu=96` เช่น. `[ไวไฟ] วง = bg (...) โหมด = โครงสร้างพื้นฐาน mtu=96`
Yuri Sucupira avatar
cn flag
หากคำสั่ง `ping` นั้นให้คุณเช่น mtu=1492 แต่การตั้งค่า mtu=1492 ไม่สามารถแก้ปัญหาให้คุณได้ ลองเริ่มการทดสอบด้วยค่าที่น้อยมาก แล้วเพิ่มค่าจนกว่าคุณจะไม่ได้รับ *pong* อีกต่อไป: เช่น รัน `ping -c 3 -s 68 www.google.com` หาก ping ได้รับ *pong* (เช่น การตอบกลับ เช่น `76 bytes from 2800:3f0:4001:81f::2004 (2800:3f0:4001:81f::2004): icmp_seq=3 ttl=117 time= 36.8 ms` จากนั้นทำซ้ำคำสั่งนั้นด้วย 78 แทน 68 หากคุณไม่ได้รับ *pong* ให้ลดจำนวนลง เมื่อคุณพบจำนวนสูงสุดที่ได้รับการตอบกลับ ให้เพิ่ม 28 เข้าไป นั่นคือ MTU ในอุดมคติของคุณ
Yuri Sucupira avatar
cn flag
เช่น. สมมติว่า `ping -c 3 -s 69 www.google.com` ให้เอาต์พุต/ตอบกลับรายงานการสูญเสียแพ็กเก็ต 100% และสมมติว่าคุณลด 69 เป็น 68 แล้วตามด้วย `ping -c 3 -s 68 www.google .com` ให้คุณสูญเสียแพ็คเก็ต 0% ในกรณีเช่นนี้ MTU ในอุดมคติของคุณคือ 68 + 28 = **96** ดังนั้น คุณต้องเพิ่มบรรทัดที่มีข้อความ `mtu=96` ด้านบนใต้ส่วน `[wifi]` ในไฟล์ `/etc/NetworkManager /system-connections/badwifi.nmconnection` จากนั้นบันทึกไฟล์ ออก รีบูต จากนั้นทดสอบประสิทธิภาพเครือข่ายของคุณ
Yuri Sucupira avatar
cn flag
อีกตัวอย่างหนึ่ง: หากคุณสูญเสียแพ็กเก็ต 100% สำหรับ `ping -c 3 -s 773 www.google.com` แต่สูญเสียแพ็กเก็ต 0% สำหรับ `ping -c 3 -s 772 www.google.com` แสดงว่าอุดมคติของคุณ MTU คือ 772 + 28 = **800** ดังนั้น คุณต้องเพิ่มบรรทัดใหม่ที่มีข้อความ `mtu=800` ด้านบนใต้ส่วน `[wifi]` ในไฟล์ `/etc/NetworkManager/system-connections/ badwifi.nmconnection` จากนั้นบันทึกไฟล์ ออก รีบูต จากนั้นทดสอบประสิทธิภาพเครือข่ายของคุณ
Tungsten07 avatar
tt flag
ฉันให้ 1,500 MTU แก่ฉันและนั่นคือค่าปัจจุบันของฉันที่ตั้งไว้ของ MTU ดังนั้นฉันไม่คิดว่า MTU เป็นปัญหาที่นี่
Yuri Sucupira avatar
cn flag
คุณตั้งค่า MTU = 1500 ตามผลการทดสอบของขั้นตอนที่ฉันอธิบายไว้ก่อนหน้านี้หรือไม่ เช่น. `ping -c 3 -s 1472 www.google.com` ให้การสูญเสียแพ็คเก็ต 0% หรือไม่
Tungsten07 avatar
tt flag
ฉันไม่ได้ตั้งค่าไว้ 1,500 อยู่แล้วและผลลัพธ์จากขั้นตอนที่คุณอธิบายก็ยังบอกว่า 1,500 อย่างไรก็ตาม ฉันแก้ปัญหาได้ ฉันเปลี่ยนอัตโนมัติ 20/40 Hz เป็น 20Hz ในการตั้งค่าของเราเตอร์ และตอนนี้มันทำงานได้ดีขึ้น ขอบคุณสำหรับความช่วยเหลือของคุณ.
Score:1
ธง in

การ์ดใบนี้มีชื่อเสียงในด้านความเฉื่อยชา มี เฟิร์มแวร์ของบริษัทอื่น มีให้บริการหากคุณต้องการทดลองใช้

นี่คือวิธีการติดตั้ง:

  1. เปิด Terminal (หากยังไม่ได้เปิด)
  2. ไปที่ไดเร็กทอรีเฟิร์มแวร์สำหรับการ์ด:
    ซีดี /lib/firmware/ath10k/QCA9377/hw1.0/
    
  3. เปลี่ยนชื่อไฟล์ที่มีอยู่สองไฟล์ (เพื่อไม่ให้สูญหาย)
    sudo mv firmware-5.bin firmware-5.bin.orig
    sudo mv firmware-6.bin firmware-6.bin.orig
    
  4. รับเฟิร์มแวร์ของบุคคลที่สาม:
    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 เฟิร์มแวร์-5.bin
    
  5. โหลดโมดูลเคอร์เนลซ้ำ:
    sudo modprobe -r ath10k_pci
    sudo modprobe ath10k_pci 
    sudo dmesg | เกรปเอธ10ก
    

นั่นควรให้ความเร็วในการรับส่งข้อมูลที่เหมาะสมแก่คุณ

Tungsten07 avatar
tt flag
น่าเศร้าที่มันลดความเร็วของฉันจาก 1 Mbps เป็น 0.25 Mbps ขอบคุณแม้ว่า
Jeremy31 avatar
ke flag
นั่นไม่ใช่เฟิร์มแวร์ของบุคคลที่สาม Kalle Valo เป็นผู้พัฒนาเคอร์เนลของ Qualcomm
Score:0
ธง it

ตรวจสอบ WiFi ของคุณ มทร, โดยใช้

ลิงค์ไอพี

หรือ

ไอพีแอล | grep $(ip r | awk '/default/ {print $5}' ) | awk '{พิมพ์ $2, $4, $5}'

สังเกตชื่ออินเทอร์เฟซ WiFi ของคุณด้วย

เดอะ มทร (Maximum Transmission Unit) คือขนาดของแพ็กเก็ตที่ใหญ่ที่สุดที่สามารถส่งได้ในเครือข่ายเดียว หากแพ็คเก็ตเกิน มทร ของลิงก์ ข้อมูลจะต้องถูกแยกออกเป็นหลายแพ็กเก็ต (แยกส่วน) แพ็กเก็ตหลายแพ็กเก็ตเหล่านี้ต้องส่งผ่านลิงก์ รับ รับทราบ และประกอบใหม่อีกครั้งที่ปลายสุด หากลิงก์ของคุณกำหนดค่าไม่ถูกต้อง และคุณต้องแยกส่วนทุกแพ็กเก็ตที่คุณส่ง อัตราการถ่ายโอนข้อมูลจริงของคุณจะลดลง

เครือข่ายอีเทอร์เน็ต (แบบมีสาย) ใช้ มทร ของ 1500 ไบต์

เนื่องจากโอเวอร์เฮดต่อแพ็กเก็ตเพิ่มเติมสำหรับ WiFi (ส่วนหัว PPPoE ขนาด 8 ไบต์) WiFi จึงใช้ มทร จาก 1492

ของคุณ มทร ควรตั้งค่าโดยเซิร์ฟเวอร์ DHCP ของคุณ ตรวจสอบการกำหนดค่าเราเตอร์ของคุณ

คุณสามารถตั้งค่าของคุณเอง มทร (การตั้งค่าไม่คงอยู่เมื่อรีสตาร์ท) ด้วย

sudo ip link ตั้งชื่อ dev mtu 1492

โดยที่ "ชื่อ" คือชื่ออินเทอร์เฟซจากด้านบน

นี่คือตัวอย่าง:

walt@squid:~(0)$ ลิงค์ไอพี
1: จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp63s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state โหมดลง DEFAULT กลุ่มเริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ 00:24:21:7f:e5:1c brd ff:ff:ff:ff:ff:ff
3: wlxf46d04b1790f: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
    ลิงค์/อีเธอร์ 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] รหัสผ่านสำหรับวอลต์: 
walt@squid:~(0)$ ลิงค์ไอพี
1: จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp63s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state โหมดลง DEFAULT กลุ่มเริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ 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 DORMANT กลุ่มเริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ f4:6d:04:b1:79:0f brd ff:ff:ff:ff:ff:ff

ชื่ออินเตอร์เฟส WiFi ของฉันคือ "wlxf46d04b1790f".

Tungsten07 avatar
tt flag
Thanks. I set it to 1492, it was 1500 earlier. But the transmission speed is same. Kindly look at edit 1 in question.
waltinator avatar
it flag
Install the `tracepath` package. Read `man tracepath`. `tracepath -n google.com` will show the best MTU (`tracepath` calls it Path MTU, `pmtu`).
Yuri Sucupira avatar
cn flag
@waltinator My ideal MTU is 96 (I mean: 68 + 28) and this is my current setting. `tracepath -n google.com` indeed gives me MTU = 96. But if I run e.g. `sudo ip link set dev name mtu 1492`, then `tracepath -n google.com` gives me MTU = 1492. I mean: usign `tracepath` isn't a reliable method. So far, the only way I found to figure out the actual maximum MTU that doesn't fragment is to run `ping -c 3 -s X www.google.com` increasing X until *pong* (i.e. ping's corresponding reply) fragments, then I decrease X by 1 unit until its ping's *pong* isn't fragmented, then I define MTU = such X + 28.
Yuri Sucupira avatar
cn flag
@waltinator In other words: in my case, `ping -c 3 -s 69 www.google.com` gave me 100% packet loss, then I executed `ping -c 3 -s 68 www.google.com` and it then gave me 0% packet loss. Hence, my ideal MTU is 68 + 28, i.e. MTU = 96. I then set my default MTU as 96 and, indeed, I noticed a great improvement in my WLAN's performance. I tried to explain this to Tungsten07 and I might be wrong, but I'm under the impression that so far he/she hasn't yet succeeded in performing this procedure and setting his/her ideal MTU correctly.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา