Вопрос или проблема
У меня есть Raspberry Pi 4, работающий на Ubuntu 24.04 (только что установил). К нему подключен USB WiFi адаптер, который подключен к локальной (домашней) WiFi сети. Внутренний WiFi интерфейс (wlan0) настроен как WiFi точка доступа. Я замечаю низкую пропускную способность (1 – 5 Мбит/с на загрузку, ~ 10 Мбит/с на выгрузку) с телефона, подключенного к WiFi точке доступа.
Скорость WiFi непосредственно с Raspberry Pi через USB WiFi интерфейс до интернета составляет около 35 Мбит/с, поэтому я ожидал, что скорость будет близка к этому значению.
Я настроил USB WiFi интерфейс (который подключается к интернету) с помощью nmcli, как показано ниже
sudo nmcli dev wifi connect MY_WIFI_SSID password MY_WIFI_PASSWORD ifname “wlx1cbfce7f64a3”
Я настроил внутренний интерфейс wlan0 для предоставления WiFi точки доступа, как показано ниже
sudo nmcli dev wifi hotspot ifname wlan0 ssid MY_HOTSPOT_SSID password MY_HOTSPOT_PASSWORD
Я пробовал менять каналы и диапазоны WiFi на случай помех между двумя WiFi интерфейсами. Я также пробовал запускать htop во время теста скорости с устройства, подключенного к точке доступа, и не наблюдал увеличения нагрузки на процессор RPi (средняя загрузка остается меньше 0.5). Я пробовал разные сайты и инструменты для тестирования скорости интернета с теми же результатами.
Я могу ошибаться, но похоже, что Raspberry Pi ограничивает пропускную способность устройств, подключенных к WiFi точке доступа.
Есть ли у кого-нибудь идеи, почему пропускная способность от устройств, подключенных к WiFi точке доступа, низкая?
Спасибо
Пол
pja@rpi-server:~$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether dc:a6:32:6c:6b:24 brd ff:ff:ff:ff:ff:ff
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DORMANT group default qlen 1000
link/ether dc:a6:32:6c:6b:25 brd ff:ff:ff:ff:ff:ff
4: wlx1cbfce7f54a7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
link/ether 1c:bf:ce:7f:54:a7 brd ff:ff:ff:ff:ff:ff
Аналогично, с немного большей информацией
pja@rpi-server:~$ ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether dc:a6:32:6c:6b:24 brd ff:ff:ff:ff:ff:ff
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether dc:a6:32:6c:6b:25 brd ff:ff:ff:ff:ff:ff
4: wlx1cbfce7f54a7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 1c:bf:ce:7f:54:a7 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.139/24 brd 192.168.0.255 scope global dynamic noprefixroute wlx1cbfce7f54a7
valid_lft 86331sec preferred_lft 86331sec
inet6 fe80::f7:23f3:2a93:60d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
pja@rpi-server:~$
Я пробовал то же самое на последнем Raspbian (12). В этом случае я не вижу низкой скорости, скорость загрузки составляет около 30 Мбит/с.
Ответ или решение
Проблема с низкой пропускной способностью Wi-Fi точки доступа на Raspberry Pi 4 с установленной Ubuntu 24.04 может быть вызвана несколькими факторами. Поскольку вы уже указали, что скорость подключения через USB WiFi адаптер стабильная (около 35 Мбит/с), это может указывать на наличие узкого места в конфигурации точки доступа. Давайте рассмотрим несколько шагов, чтобы улучшить производительность:
-
Проверка конфигурации точки доступа:
Убедитесь, что точка доступа настроена корректно. Используйте следующие команды для проверки конфигурации и статуса сетевых интерфейсов:sudo systemctl status hostapd sudo systemctl status dnsmasq
Убедитесь, что оба сервиса активны и не выдают ошибок.
-
Использование оптимальных каналов:
Попробуйте использовать менее загруженные каналы для вашей точки доступа. Это можно сделать с помощью приложения, напримерwavemon
, для мониторинга сети и определения, какие каналы используются другими устройствами. -
Настройки MTU:
Иногда настройки MTU (Maximum Transmission Unit) могут влиять на производительность. Проверьте текущие значения MTU и попробуйте изменить их на 1400 или 1450:sudo ip link set wlan0 mtu 1400
-
Параметры Wi-Fi адаптера:
В некоторых случаях параметры Wi-Fi адаптера могут ограничивать пропускную способность. Убедитесь, что режим работы адаптера установлен наAP
(Access Point). Также проверьте параметры, такие какht_capab
иieee80211n
, для оптимизации производительности. -
Проверка на наличие пакетов:
Установите и запуститеiperf
между Raspberry Pi и вашим телефоном для тестирования общей пропускной способности сети. Это поможет выяснить, присутствует ли проблема на уровне самого Pi или с подключениями Wi-Fi.sudo apt install iperf3
-
Обновление программного обеспечения:
Убедитесь, что у вас установлены последние обновления для Ubuntu и всех сетевых утилит:sudo apt update sudo apt upgrade
-
Снижение уровня нагрузки:
Убедитесь, что на Raspberry Pi нет других процессов, которые могут ограничивать сеть. Если вы уже проверили загрузку CPU, попробуйте выполнить аналогичный тест для использования памяти и сети. -
Сравнение с Raspbian:
Поскольку вы указали, что аналогичная конфигурация на Raspbian работает лучше, попробуйте сравнить версии сетевых драйверов и настройки, которые у вас есть. Возможно, драйвер для Wi-Fi адаптера в Ubuntu менее оптимизирован.
Если после выполнения этих шагов проблема не исчезнет, возможно, стоит рассмотреть возможность использования другого дистрибутива на Raspberry Pi либо провести дополнительные тесты с использованием другого адаптера, чтобы исключить аппаратные несовместимости.