tl; dr: Как заставить Linux отказаться от высокоскоростных USB-соединений, чтобы он по умолчанию работал на полной скорости?Ограничить скорость драйвера гаджета USB
Полное объяснение:
Я пишу драйвер USB гаджет основан на Linux гаджет нуля. Аппаратное обеспечение, на котором я тестирую, имеет высокоскоростной USB-накопитель, который не будет иметь дело с фактическим продуктом. По какой-то причине гаджет (хотя он и не имеет дескрипторов высокой скорости в любой конфигурации) сообщается как высокоскоростной гаджет (struct usb_gadget->speed==USB_SPEED_HIGH
о функции set_config составного гаджета). Это заставляет водителя терпеть неудачу прямо перед связыванием конфигурации (пытаясь загрузить высокоскоростную конфигурацию, которая, очевидно, не существует).
Я ищу способ сообщить Linux, что гаджет не поддерживает высокую скорость, поэтому, когда хост подключает коммутатор от полной скорости до высокой скорости (или что-то, что даст аналогичные результаты).
перед тем бежать процесс compil, вы могли бы попытаться разгрузить или черный список некоторые модули, как 'uhci',' ohci' ... посмотрите на 'человек modprobe'! –
Решение, которое я применил, это изменить драйвер gadget (я имею в виду аппаратный контроллер), чтобы оборудование отклонило запрос высокой скорости. (Я разработал аппаратно-встроенную систему, поэтому у меня уже была необходимая документация, я не думаю, что это лучшее решение, если оно применяется к универсальному ПК). – user1783395