I’m trying to get USB OTG to work on the USB C port of ReTerminal and haven’t had any success yet - if someone can point out additional configuration changes needed to get the
g_mass_storage gadget to work that would be much appreciated.
I’ve had a lot of success using OTG and
g_mass_storage gadget on the Pi Zero 2 W so I’m using that as the basis for my configuration on the ReTerminal.
I’m using the default Raspbian that shipped with the ReTerminal, no modifications:
pi@raspberrypi:~ $ uname -a Linux raspberrypi 5.10.17-v7l+ #1421 SMP Thu May 27 14:00:13 BST 2021 armv7l GNU/Linux pi@raspberrypi:~ $ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 10 (buster)" NAME="Raspbian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=raspbian ...
/boot/config.txt and removed
dr_mode=host from the
pi@raspberrypi:~ $ cat /boot/config.txt | grep dwc2 dtoverlay=dwc2
Supposedly, according to this post
dtoverlay=dwc2 is the only thing needed for Raspbian. For completeness I also tried
dr_mode=otg. Both yielded the same result.
I initialize the
g_mass_storage gadget in the following manner. This is the same way I bring up the gadget on the Pi Zero 2 W (my working reference).
sudo modprobe g_mass_storage stall=0 file=storage.img removable=1 iSerialNumber=123456
[ 1994.068799] LUN: removable file: (no medium) [ 1994.068965] LUN: removable file: /home/pi/dev/otg-scripts/storage.img [ 1994.068982] Number of LUNs=1 [ 1994.069269] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11 [ 1994.069290] g_mass_storage gadget: g_mass_storage ready [ 1994.069436] dwc2 fe980000.usb: bound driver g_mass_storage
The result is that the host never sees the USB storage device.
For comparison, the working reference on the Pi Zero 2 W (using the same exact steps above), produce the following
[ 5632.598049] Mass Storage Function, version: 2009/09/11 [ 5632.598086] LUN: removable file: (no medium) [ 5632.598317] LUN: removable file: /home/pi/dev/otg-scripts/storage.img [ 5632.598339] Number of LUNs=1 [ 5632.598704] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11 [ 5632.598730] g_mass_storage gadget: g_mass_storage ready [ 5632.598756] dwc2 20980000.usb: bound driver g_mass_storage [ 5632.833746] dwc2 20980000.usb: new device is high-speed [ 5632.962039] dwc2 20980000.usb: new device is high-speed [ 5633.034773] dwc2 20980000.usb: new address 27
- I’ve tried recompiling the kernel (using the original shipped kernel’s configuration as the base configuration) and setting
- along with
CONFIG_DWC2_DUAL_ROLE=nto force peripheral mode
- along with
- I’ve studied the schematics and found the following:
Is there some other configuration switch needed to enable OTG on the USB C port?