Рейтинг:0

Медленная болезненная скорость WiFi Ubuntu

флаг tt

Я дважды загрузил Ubuntu 18.04.5 с Windows 10 Pro 21h1.

В Windows и на всех других устройствах я получаю 50 Мбит/с, но когда я использую Ubuntu 18.04.5, я получаю максимум 1 Мбит/с. В настройках Wi-Fi скорость соединения отображается одинаково.

Вот конфиги

wlp3s0 IEEE 802.11 ESSID:"SSID"  
      Режим: Управляемая Частота: 2,432 ГГц Точка доступа: 00:00:00:00:00   
      Скорость передачи данных = 1 Мбит/с. Мощность передачи = 20 дБм.   
      Короткий лимит повторов:7 RTS thr:off Фрагмент thr:off
      Управление питанием: выкл.
      Качество связи = 51/70 Уровень сигнала = -59 дБм  
      Rx неверный nwid:0 Rx неверный crypt:0 Rx неверный frag:0
      Чрезмерное количество повторов Tx: 0 Недействительное разное: 27 Пропущенный маяк: 0

Посмотрите на битрейт здесь.

*-сеть
   описание: Беспроводной интерфейс
   продукт: Адаптер беспроводной сети QCA9377 802.11ac
   производитель: Qualcomm Atheros
   физический идентификатор: 0
   информация о шине: pci@0000:03:00.0
   логическое имя: wlp3s0
   версия: 31
   серийный номер: 00:00:00:00:00:00
   ширина: 64 бита
   часы: 33 МГц
   возможности: bus_master cap_list ethernet физическая беспроводная
   конфигурация: широковещательная передача = да, драйвер = ath10k_pci, версия драйвера = 5.4.0-81-универсальная прошивка = WLAN.TF.2.1-00021-QCARMSWP-1 ip = xxx.xxx.xxx.xx latency = 0 link = yes multicast = yes wireless = ИЭЭЭ 802.11
   ресурсы: irq:131 память:b4000000-b41fffff

Он дает хорошую скорость с мобильной точкой доступа, но ведет себя как улитка только с WiFi-роутером.

Я отключил управление питанием для wlp3s0.

я нашел кое-что в /etc/modprobe.d/blacklist-ath_pci.conf говоря

# Для некоторых MAC-устройств Atheros 5K RF драйвер madwifi загружается, но не
# корректно инициализируем оборудование, оставляя его в состоянии от
# который ath5k не может восстановить. Чтобы предотвратить это состояние, остановите
# madwifi от загрузки по умолчанию. Используйте Jockey, чтобы выбрать одного водителя
# или другой. (Убунту: #315056, #323830)
черный список ath_pci

Я чувствую некоторую проблему с iwlwifi.conf также, но насколько я понимаю, это драйвер для оборудования Intel, но мой WiFi - Qualcomm, поэтому я не знаю, какое это имеет отношение к этому.

Я пробовал несколько других средств, которые предлагают Google и Youtube, но битрейт остается таким же, как 1 Мбит / с.

Любая помощь будет оценена по достоинству.

edit 1.0: мой телефон поддерживает одновременное включение Wi-Fi и точки доступа, поэтому я подключаю свой телефон к маршрутизатору, а машину Ubuntu к точке доступа телефона. Это привело к получению 20 Мбит/с на машине Ubuntu. (Скорость соединения все равно показывает 1 Мбит/с). Однако скорость маршрутизатора для Ubuntu Machine составляет 0,25-1,0 Мбит/с.

Yuri Sucupira avatar
флаг cn
Пробовали ли вы оптимизировать 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
Недавно я изменил свой MTU на 1492 с 1500, и `ping -c 3 -M do -s 9000 www.google.com` дал 100% потерю пакетов. И после нескольких настроек я открыл файл badwifi, и в нем нет упоминания о MTU.
Yuri Sucupira avatar
флаг cn
Команда `ping -c 3 -M do -s 9000 www.google.com` дает вам 100% потерю пакетов: это сделано намеренно. Но это также дает вам правильный MTU. Например. когда я запускаю `ping -c 3 -M do -s 9000 www.google.com` в своей системе, я получаю следующее сообщение: `ping: локальная ошибка: слишком длинное сообщение, mtu=96`. Это означает, что у меня действительно была 100% потеря пакетов (из-за предустановленного значения MTU = 9000, которое намеренно чрезвычайно велико), но оно также сообщило мне, что максимальное значение MTU, которое не даст мне такой потери пакетов, равно 96.Следовательно, в моем случае идеальный MTU равен 96. Вам нужно провести такой же тест в своей системе.
Yuri Sucupira avatar
флаг cn
После того, как вы выполните тест и проверите, какой MTU указан для вашей сети *badwifi*, запустите `sudo nano /etc/NetworkManager/system-connections/badwifi.nmconnection` (замените *badwifi* правильным именем/SSID вашей сети Wi-Fi). -fi network), затем в разделе `[wifi]` файла вы можете добавить параметр `mtu=xxx`, где `xxx` — это MTU, рекомендованный выходными данными этого теста. Пример: если тест сообщает вам, что идеальный MTU равен 96, то под `[wifi]` вы должны добавить текст `mtu=96`. Например. `[вай-фай] полоса = черный (...) режим = инфраструктура mtu=96`
Yuri Sucupira avatar
флаг cn
Если эта команда `ping` дает вам, например. mtu=1492, но установка mtu=1492 не решит проблему для вас, попробуйте начать тест с очень маленького значения, а затем увеличивать его до тех пор, пока вы больше не получите *pong*: например. запустите `ping -c 3 -s 68 www.google.com`. Если ping получает *pong* (то есть ответ, такой как, например, `76 байт от 2800:3f0:4001:81f::2004 (2800:3f0:4001:81f::2004): icmp_seq=3 ttl=117 time= 36,8 мс`, затем повторите эту команду с 78 вместо 68. Если вы не получили *pong*, уменьшите число. Когда вы найдете наибольшее число, которое получает ответ, добавьте к нему 28: это ваш идеальный MTU.
Yuri Sucupira avatar
флаг cn
Например. предположим, что `ping -c 3 -s 69 www.google.com` дает вам вывод/ответ, сообщающий о 100% потере пакетов, и предположим, что затем вы уменьшаете 69 до 68, а затем `ping -c 3 -s 68 www.google.com` .com` дает вам 0% потери пакетов. В таком случае ваш идеальный MTU равен 68 + 28 = **96**, поэтому вы должны добавить строку с текстом `mtu=96` в разделе `[wifi]` в файле `/etc/NetworkManager /system-connections/badwifi.nmconnection`, затем сохраните файл, выйдите, перезагрузитесь и проверьте производительность сети.
Yuri Sucupira avatar
флаг cn
Другой пример: если вы получаете 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
Я дал мне 1500 MTU, и это мое текущее установленное значение MTU, поэтому я не думаю, что MTU является проблемой.
Yuri Sucupira avatar
флаг cn
Вы установили MTU = 1500 по результатам тестирования процедуры, которую я ранее описал? т.е. `ping -c 3 -s 1472 www.google.com` дает вам 0% потери пакетов?
Tungsten07 avatar
флаг tt
Я не устанавливал его как таковой, это было уже 1500, а результаты описанной вами процедуры по-прежнему говорят о 1500. В любом случае я решил проблему. Я изменил авто 20/40 Гц на 20 Гц в настройках маршрутизатора, и теперь он работает намного лучше. Спасибо за вашу помощь.
Рейтинг:1
флаг in

Эта карта печально известна своей медлительностью. Есть сторонняя прошивка доступны, если вы хотите попробовать, хотя.

Вот как его установить:

  1. Откройте терминал (если он еще не открыт)
  2. Перейдите в каталог прошивки для карты:
    компакт-диск /lib/прошивка/ath10k/QCA9377/hw1.0/
    
  3. Переименуйте два существующих файла (чтобы они не потерялись)
    sudo mv прошивка-5.bin прошивка-5.bin.orig
    sudo mv прошивка-6.bin прошивка-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 
    судо dmesg | grep ath10k
    

Это должно дать вам правильную скорость передачи.

Tungsten07 avatar
флаг tt
К сожалению, это уменьшило мою скорость с 1 Мбит/с до 0,25 Мбит/с. Спасибо хоть.
Jeremy31 avatar
флаг ke
Это не сторонняя прошивка, Калле Вало — разработчик ядра Qualcomm.
Рейтинг:0
флаг it

Проверьте свой Wi-Fi МТУ, с использованием

IP-ссылка

или же

ип л | grep $(ip r | awk '/default/ {print $5}' ) | awk '{напечатать $2, $4, $5}'

также обратите внимание на имя вашего интерфейса WiFi.

МТУ (Максимальная единица передачи) — это размер самого большого пакета, который может быть отправлен за одну передачу по сети. Если пакет превышает МТУ канала данные должны быть разбиты на несколько пакетов (фрагментированы). Эти несколько пакетов должны быть отправлены по каналу, получены, подтверждены и повторно собраны на дальнем конце. Если ваша ссылка настроена неправильно и вам приходится фрагментировать каждый отправляемый пакет, фактическая скорость передачи данных падает.

Ethernet (проводные) сети используют МТУ от 1500 байт.

Из-за дополнительных накладных расходов на пакет для WiFi (8-байтовый заголовок PPPoE) WiFi использует МТУ 1492 года.

Твой МТУ должен быть установлен вашим DHCP-сервером, проверьте конфигурацию вашего маршрутизатора.

Вы можете установить свой собственный МТУ (настройка не сохраняется после перезапуска) с

sudo ip link set имя разработчика mtu 1492

где «имя» — это имя интерфейса сверху.

Вот пример:

walt@squid:~(0)$ ip ссылка
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
2: enp63s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq состояние DOWN mode DEFAULT group 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 состояние DOWN режим DORMANT группа по умолчанию 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)$ ip ссылка
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
2: enp63s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq состояние DOWN mode DEFAULT group 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 состояние UP режим DORMANT группа по умолчанию qlen 1000
    ссылка/эфир f4:6d:04:b1:79:0f brd ff:ff:ff:ff:ff:ff

Мое «имя интерфейса» WiFi: «wlxf46d04b1790f".

Tungsten07 avatar
флаг tt
Спасибо. Я поставил 1492, раньше было 1500. Но скорость передачи такая же. Пожалуйста, посмотрите на редактирование 1 в вопросе.
waltinator avatar
флаг it
Установите пакет `tracepath`.Прочтите `man tracepath`. `tracepath -n google.com` покажет лучший MTU (`tracepath` называет его Path MTU, `pmtu`).
Yuri Sucupira avatar
флаг cn
@waltinator Мой идеальный MTU - 96 (я имею в виду: 68 + 28), и это моя текущая настройка. `tracepath -n google.com` действительно дает мне MTU = 96. Но если я запускаю, например. `sudo ip link set dev name mtu 1492`, затем `tracepath -n google.com` дает мне MTU = 1492. Я имею в виду: usign `tracepath` не является надежным методом. До сих пор единственным способом, который я обнаружил, чтобы выяснить фактический максимальный MTU, который не фрагментируется, является запуск `ping -c 3 -s X www.google.com`, увеличивающий X до *pong* (т.е. соответствующий ответ ping) фрагменты , затем я уменьшаю X на 1 единицу, пока его пинг *pong* не будет фрагментирован, затем я определяю MTU = такой X + 28.
Yuri Sucupira avatar
флаг cn
@waltinator Другими словами: в моем случае `ping -c 3 -s 69 www.google.com` я потерял 100% пакетов, затем я выполнил `ping -c 3 -s 68 www.google.com`, и это затем дал мне 0% потери пакетов. Следовательно, мой идеальный MTU равен 68 + 28, т. е. MTU = 96. Затем я установил MTU по умолчанию на 96 и действительно заметил значительное улучшение производительности моей беспроводной локальной сети. Я пытался объяснить это Tungsten07 и, возможно, ошибаюсь, но у меня сложилось впечатление, что до сих пор ему/ей не удалось выполнить эту процедуру и правильно установить свой идеальный MTU.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.