Вопрос или проблема
Я пытаюсь использовать Ubuntu Server 24.10 на Raspberry Pi Zero 2 W. Он загружается нормально, кажется, работает хорошо, за исключением того, что индикатор на Pi не работает, но подключенная USB-плата (Makerspot) недоступна.
Я сменил на Ubuntu Server 22.04.1 64-бит и получил тот же результат.
Я сменил на Ubuntu Server 22.04.5 LTS 64-бит и получил тот же результат.
Я сменил на Ubuntu Server 22.04.5 32-бит, и USB-плата работает идеально (и подключенные к ней периферийные устройства). Также индикатор на Pi Zero работает.
В 24.10 есть несколько новых пакетов, которые я хотел бы использовать. Я не уверен, куда идти, что проверять или почему не могу найти никого другого, у кого была бы эта проблема.
Raspberry Pi OS 64-бит работает нормально, но снова использует ужасно старую версию gpsd. (3.22 – это трехлетняя версия и у нее есть проблема с устройствами uBlox). Я несколько раз пытался собрать его из исходников, но без удачи.
lsusb
на 64-битной версии Ubuntu показывает только:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Ubuntu 22.04.5 32-бит показывает 2 устройства без чего-либо, подключенного к плате
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Makerspot говорит, что может потребоваться отключить режим OTG — что может быть ключом, но я не могу понять, как это сделать.
Ответ или решение
Проблема отсутствия доступа к USB на Raspberry Pi Zero 2 W с Ubuntu Server 24.10
Вы столкнулись с проблемой, когда Raspberry Pi Zero 2 W не распознаёт USB-устройство, подключенное через USB-шляпу (Makerspot) при использовании 64-битных версий Ubuntu Server (как 22.04.1, 22.04.5 и 24.10). Тем не менее, 32-битная версия Ubuntu Server 22.04.5 работает нормально и позволяет получить доступ к подключённым устройствам.
Описание проблемы
При запуске команды lsusb
на 64-битной версии Ubuntu обнаруживается только корневой USB-хаб:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
В то время как на 32-битной версии вывод показывает более одной записи, даже когда устройства не подключены:
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Одним из возможных направлений решения проблемы может быть отключение режима OTG (On-The-Go), как упоминалось на сайте Makerspot.
Возможные решения
-
Отключение режима OTG:
- Режим OTG позволяет Raspberry Pi работать как USB-устройство и хост одновременно. Чтобы отключить OTG, вам необходимо отредактировать файл конфигурации
config.txt
. - Зайдите в директорию загрузки вашей системы, затем откройте файл
config.txt
:sudo nano /boot/config.txt
- Добавьте или раскомментируйте строку:
dtoverlay=dwc2
- Также убедитесь, что вы не используете строки, которые активируют режим OTG. Например, строки с упоминанием
usbcore.autosuspend=-1
могут повлиять на поведение USB. - После внесения изменений перезагрузите устройство:
sudo reboot
- Режим OTG позволяет Raspberry Pi работать как USB-устройство и хост одновременно. Чтобы отключить OTG, вам необходимо отредактировать файл конфигурации
-
Проверка совместимости оборудования:
- Убедитесь, что используемая USB-шляпа совместима с 64-битной архитектурой.
- Проверьте наличие обновлений прошивки, так как некоторые USB-устройства могут требовать более новых версий программного обеспечения.
-
Проверка загрузочных параметров:
- Некоторые загрузочные параметры могут повлиять на работу USB. Проверьте параметры в
/boot/firmware/cmdline.txt
, чтобы убедиться, что нет параметров, которые могли бы блокировать работу USB.
- Некоторые загрузочные параметры могут повлиять на работу USB. Проверьте параметры в
-
Установка дополнительных пакетов:
- Убедитесь, что у вас установлены все необходимые пакеты, отвечающие за работу с USB-устройствами. Вы можете использовать команду:
sudo apt update sudo apt install usbutils
- Убедитесь, что у вас установлены все необходимые пакеты, отвечающие за работу с USB-устройствами. Вы можете использовать команду:
-
Логирование и отладка:
- Проверьте системные журналы для выявления ошибок, связанных с USB, с помощью команды:
dmesg | grep usb
- Это даст вам представление о том, обнаруживаются ли какие-либо сообщения об ошибках или проблемы с оборудованием.
- Проверьте системные журналы для выявления ошибок, связанных с USB, с помощью команды:
-
Переход на рекомендованную версию Ubuntu:
- Если проблема не разрешится, рассмотрите возможность использования 32-битной версии Ubuntu, пока вы не найдете стабильное решение для 64-битной версии. Ваша задача — использовать необходимые пакеты: следите за их обновлениями в сообществе Ubuntu.
Заключение
Проблемы с доступом к USB на Raspberry Pi Zero 2 W с 64-битными версиями Ubuntu Server могут быть вызваны различными факторами, такими как неправильная конфигурация, совместимость с аппаратным обеспечением и режим OTG. Применив предложенные решения, вы сможете диагностировать и, возможно, устранить возникшие трудности. Если после выполнения всех шагов проблема всё ещё сохраняется, рекомендуется обратиться к сообществу Raspberry Pi или Ubuntu для получения более детальной помощи.