Режим g_multi (накопитель и Ethernet) не работает на Raspberry Pi Zero W

Я пытаюсь заставить работать режим g_multi:

Raspberry Pi Zero W с свежей установкой Raspbian Jessie (ядро 4.4 от апреля 2017 г.)

Цель состоит в том, чтобы устройство работало как g_mass_storage, указывающее на локальный загрузочный ISO-образ, и имело возможность подключиться к устройству по SSH с помощью g_ether< режим /strong>.

До сих пор мне удавалось запустить g_multi без ошибок. Система mass_storage распознается и загружается, как и ожидалось, однако, когда я пытаюсь подключиться по SSH, соединение зависает. Нет тайм-аута или любой другой ошибки, связанной с IP. Он просто сидит там более 5 минут без статуса.

Моя установка:

cmdline.txt (после rootwait)

modules-load=dwc2

config.txt (в конце)

dtoverlay=dwc2

/и т.д./модули

dwc2
g_multi

Затем я создал новый файл конфигурации модулей

/etc/modprobe.d/multigadget.conf

options g_multi file=/bootable.iso

и при первой загрузке я создал пустой файл ssh в корне загрузочного раздела

Когда модули загружаются при загрузке, я получаю приятное счастливое сообщение об инициализации многофункционального составного гаджета, без ошибок. Открытый SSH настроен и работает правильно, и работает, как и ожидалось, когда я опускаю конфигурацию до g_ether.

  • При выполнении сетевой статистики и мониторинга портов на Pi не отображаются входящие соединения.
  • При выполнении ssh -v(erbose) на стороне клиента нет ошибок или активности.
  • Я использую OTG-кабель USB A — micro B.
  • Я попытался использовать имя хоста raspberrypi.local bonjour, внутренний IP-адрес, который он устанавливает при загрузке, и настроить статический IP-адрес для интерфейса usb0.
  • Я пытался подключить его к своему ноутбуку Mac, ноутбуку с Windows и рабочему столу Unix, и все с теми же результатами.

Я застрял. Мысли?


person Matt    schedule 18.05.2017    source источник


Ответы (2)


Основываясь на этом комментарии, я смог запустить g_multi с g_mass_storage и g_ether. следующим образом:

config.txt:

dtoverlay=dwc2,dr_mode=peripheral

cmdline.txt:

... rootwait modules-load=dwc2,g_multi quiet ...

/etc/modprobe.d/g_multi.conf (на RPi):

options g_multi file=/myfile.bin host_addr=11:22:33:44:55:66 dev_addr=aa:bb:cc:dd:ee:ff

Как и ожидалось, как массовое хранилище, так и функции Ethernet работают одновременно.

person dqbydt    schedule 28.10.2017

Эти настройки «работают», но диск, смонтированный в Windows, монтируется только для чтения, даже если эти настройки находятся в /etc/modprobe.d/g_multi.config

options g_multi file=/myfile.bin removable=1 ro=0 stall=0
person user2295224    schedule 28.12.2018
comment
Мой вопрос выше был отредактирован и удален фактический вопрос. Диск монтируется нормально, но только для чтения. Как сделать, чтобы это было r/w?? - person user2295224; 30.12.2018