Модуль MIDI Gadget (g_midi) с iPad на малине Pi

Я пытаюсь использовать модуль гаджета MIDI Linux (g_midi), чтобы превратить Raspberry Pi Zero в USB-устройство USB. Я включил g_midi, используя следующие команды:

echo "dtoverlay=dwc2" | sudo tee -a /boot/config.txt echo "dwc2" | sudo tee -a /etc/modules echo "g_midi" | sudo tee -a /etc/modules reboot 

И теперь в списке появляется MIDI-устройство, когда я запускаю sudo amidi -l .

Когда я подключаю Pi Zero к компьютеру через USB, компьютер обнаруживает новое MIDI-устройство, и я могу отправлять MIDI-сообщения между Pi и компьютером. Я могу подключать и отключать устройство столько раз, сколько хочу, и компьютер всегда повторно распознает Pi.

Однако, это не то же самое с iPad. Когда я подключаю USB-кабель данных Pi в комплекте для подключения камеры (при этом Pi Zero также подключается к USB-порту PWR), я могу подключить комплект подключения камеры к iPad, и он распознает Pi как MIDI-устройство. Однако, если я отсоединяю и заменяю комплект подключения камеры, iPad не сможет снова распознать Pi.

Включение Pi USB обратно в компьютер заставляет Pi распознаваться снова на этом компьютере, но не на iPad. Если я отключу Pi и снова включу его, я смогу снова распознать его, но только в первый раз, когда подключу его.

Я посмотрел, используя dmesg -wH и выход выглядит следующим образом:

Первоначально Pi Zero подключается к компьютеру:

 [May27 11:58] dwc2 20980000.usb: new device is high-speed [ +0.012000] dwc2 20980000.usb: new address 25 [ +0.008198] MIDI Gadget gadget: high-speed config #1: MIDI Gadget 

Pi Zero снова подключен к компьютеру:

 [May27 11:59] dwc2 20980000.usb: new device is high-speed [ +0.010505] dwc2 20980000.usb: new address 26 [ +0.006452] MIDI Gadget gadget: high-speed config #1: MIDI Gadget 

Первоначально Pi Zero подключается к iPad:

 [ +23.850688] dwc2 20980000.usb: new device is low-speed [ +0.158771] dwc2 20980000.usb: new device is high-speed [ +0.015806] dwc2 20980000.usb: new address 1 [ +0.007635] MIDI Gadget gadget: high-speed config #1: MIDI Gadget 

Pi Zero снова подключен к iPad:

 [ +5.517874] dwc2 20980000.usb: new device is low-speed 

Мне (очень редко) удалось получить Pi Zero, чтобы его узнали во второй раз на iPad, отключив и перегружая много раз, ожидая между повторами. Я приурочен к тому времени, когда я отключен и подключен к сети, но эти времена не воспроизводятся. То, что я заметил в редком случае, когда Pi Zero было признано во второй раз, было то, что сообщение от dmesg -wH было:

 [May27 11:52] dwc2 20980000.usb: new device is low-speed [ +0.158547] dwc2 20980000.usb: new device is high-speed [ +0.015820] dwc2 20980000.usb: new address 1 [ +0.008327] MIDI Gadget gadget: high-speed config #1: MIDI Gadget 

и странная часть заключалась в том, что new address был еще 1, тогда как на компьютере адрес увеличивался на единицу каждый раз, когда я подключал Pi Zero.

Не зная ничего о MIDI, USB или модулях Gadget Linux, я не уверен, насколько это важно, но насколько я могу судить, это единственная разница между тем, когда я получаю Pi Zero для распознавания на компьютере по сравнению с IPAD.


Имеет ли кто-нибудь опыт работы с модулем MIDI Gadget и iPad, который знает, что здесь не так? Буду признателен за любую помощь, с которой я смогу справиться.

One Solution collect form web for “Модуль MIDI Gadget (g_midi) с iPad на малине Pi”

Это может быть связано с тем, что по умолчанию гаджет g_midi (который устарел BTW) использует 250mV VBus Draw, что означает, что он ожидает, что хост-устройство отправит 250 мВ на устройство. Я не знаю, делает ли iPad это.

Это не ошибка на g_midi, потому что это общая конфигурация. Вы можете изменить это при компиляции ядра, изменив CONFIG_USB_GADGET_VBUS_DRAW flag на mV * 2 , как указано спецификацией USB.

Например, требуется только 13 мВ:

 CONFIG_USB_GADGET_VBUS_DRAW=26 

Кроме того, попробуйте использовать последнюю версию ядра Linux, доступную вам, возможно, эта ошибка будет исправлена.

  • использовать загрузочный диск для перенаправления на флешку
  • Какой загрузчик использует Unetbootin?
  • формат usb linux
  • Потерянные файлы, скопированные на USB-накопитель USB на Ubuntu
  • Удаление встроенных модулей в Linux
  • Обновление Linux Mint без доступа в Интернет
  • D-Link DWM-156 USB-модем HSPA не работает с вставленной SIM-картой
  • Установка linux для отключения USB
  • Как снова переделать pendrive?
  • Последовательная поддержка Grub и usb
  • как получить идентификатор шины устройства USB
  • Linux и Unix - лучшая ОС в мире.