нет USB на Pi Zero 2 с Ubuntu сервер 24.10 (и других 64-битных версиях Ubuntu)

Вопрос или проблема

Я пытаюсь использовать 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.

Возможные решения

  1. Отключение режима OTG:

    • Режим OTG позволяет Raspberry Pi работать как USB-устройство и хост одновременно. Чтобы отключить OTG, вам необходимо отредактировать файл конфигурации config.txt.
    • Зайдите в директорию загрузки вашей системы, затем откройте файл config.txt:
      sudo nano /boot/config.txt
    • Добавьте или раскомментируйте строку:
      dtoverlay=dwc2
    • Также убедитесь, что вы не используете строки, которые активируют режим OTG. Например, строки с упоминанием usbcore.autosuspend=-1 могут повлиять на поведение USB.
    • После внесения изменений перезагрузите устройство:
      sudo reboot
  2. Проверка совместимости оборудования:

    • Убедитесь, что используемая USB-шляпа совместима с 64-битной архитектурой.
    • Проверьте наличие обновлений прошивки, так как некоторые USB-устройства могут требовать более новых версий программного обеспечения.
  3. Проверка загрузочных параметров:

    • Некоторые загрузочные параметры могут повлиять на работу USB. Проверьте параметры в /boot/firmware/cmdline.txt, чтобы убедиться, что нет параметров, которые могли бы блокировать работу USB.
  4. Установка дополнительных пакетов:

    • Убедитесь, что у вас установлены все необходимые пакеты, отвечающие за работу с USB-устройствами. Вы можете использовать команду:
      sudo apt update
      sudo apt install usbutils
  5. Логирование и отладка:

    • Проверьте системные журналы для выявления ошибок, связанных с USB, с помощью команды:
      dmesg | grep usb
    • Это даст вам представление о том, обнаруживаются ли какие-либо сообщения об ошибках или проблемы с оборудованием.
  6. Переход на рекомендованную версию Ubuntu:

    • Если проблема не разрешится, рассмотрите возможность использования 32-битной версии Ubuntu, пока вы не найдете стабильное решение для 64-битной версии. Ваша задача — использовать необходимые пакеты: следите за их обновлениями в сообществе Ubuntu.

Заключение

Проблемы с доступом к USB на Raspberry Pi Zero 2 W с 64-битными версиями Ubuntu Server могут быть вызваны различными факторами, такими как неправильная конфигурация, совместимость с аппаратным обеспечением и режим OTG. Применив предложенные решения, вы сможете диагностировать и, возможно, устранить возникшие трудности. Если после выполнения всех шагов проблема всё ещё сохраняется, рекомендуется обратиться к сообществу Raspberry Pi или Ubuntu для получения более детальной помощи.

Оцените материал
Добавить комментарий

Капча загружается...