Skip to main content
more completeness on model incompatibility
Source Link
jdonald
  • 3k
  • 14
  • 39

You cannot use the Raspberry Pi 3 as a USB gadget. At the time of writing this is only possible on the Raspberry Pi 0, 0W, A, A+, and 4. The Pi B, B+, 2, 3, 3A+, and 3B+ lack the required pin for OTG.

If you have a Pi Zero, this gist has some examples that work with minimal configuration like g_serial, g_ether, or g_multi. For example, a minimal way to enable the serial gadget is to add dtoverlay=dwc2 to /boot/config.txt and g_serial to /etc/modules

lukas2005's original answer linked to iSticktoit.net's examples of using the more modern ConfigFS approach. The keyboard HID example is a good one to start with. And when you have only one functional micro-USB port, it becomes particularly valuable to configure multiple gadgets at a time, something that is not as readily available with the old g_* kernel modules.

You cannot use the Raspberry Pi 3 as a USB gadget. At the time of writing this is only possible on the Raspberry Pi 0, 0W, A, A+, and 4. The Pi B+, 2, 3A+, and 3B+ lack the required pin for OTG.

If you have a Pi Zero, this gist has some examples that work with minimal configuration like g_serial, g_ether, or g_multi. For example, a minimal way to enable the serial gadget is to add dtoverlay=dwc2 to /boot/config.txt and g_serial to /etc/modules

lukas2005's original answer linked to iSticktoit.net's examples of using the more modern ConfigFS approach. The keyboard HID example is a good one to start with. And when you have only one functional micro-USB port, it becomes particularly valuable to configure multiple gadgets at a time, something that is not as readily available with the old g_* kernel modules.

You cannot use the Raspberry Pi 3 as a USB gadget. At the time of writing this is only possible on the Raspberry Pi 0, 0W, A, A+, and 4. The Pi B, B+, 2, 3, 3A+, and 3B+ lack the required pin for OTG.

If you have a Pi Zero, this gist has some examples that work with minimal configuration like g_serial, g_ether, or g_multi. For example, a minimal way to enable the serial gadget is to add dtoverlay=dwc2 to /boot/config.txt and g_serial to /etc/modules

lukas2005's original answer linked to iSticktoit.net's examples of using the more modern ConfigFS approach. The keyboard HID example is a good one to start with. And when you have only one functional micro-USB port, it becomes particularly valuable to configure multiple gadgets at a time, something that is not as readily available with the old g_* kernel modules.

lukas2005's answer is gone so edit my response for context, clarify other Pi models
Source Link
jdonald
  • 3k
  • 14
  • 39

You cannot use the Raspberry Pi 3 as a USB gadget. At the time of writing this is only possible on the Raspberry Pi Zero0, Zero W0W, and classic Pi model A/A+, A+, and 4. The Pi B+, Pi 2, 3A+, and Pi 33B+ lack the required pin for OTG.

If you have a Pi Zero, this gist has some examples that work with minimal configuration like g_serial, g_ether, or g_multi. For example, a minimal way to enable the serial gadget is to add dtoverlay=dwc2 to /boot/config.txt and g_serial to /etc/modules

I'm surprised lukas2005's original answer got downvoted. iSticktoit.net has good exampleslinked to iSticktoit.net's examples of using the more modern ConfigFS approach. The keyboard HID example is a good one to start with. And when you have only one functional micro-USB port, it becomes particularly valuable to configure multiple gadgets at a time, something that is not as readily available with the old g_* kernel modules.

You cannot use the Raspberry Pi 3 as a USB gadget. At the time of writing this is only possible on the Raspberry Pi Zero, Zero W, and classic Pi model A/A+. The Pi B+, Pi 2, and Pi 3 lack the required pin for OTG.

If you have a Pi Zero, this gist has some examples that work with minimal configuration like g_serial, g_ether, or g_multi. For example, a minimal way to enable the serial gadget is to add dtoverlay=dwc2 to /boot/config.txt and g_serial to /etc/modules

I'm surprised lukas2005's answer got downvoted. iSticktoit.net has good examples of using the more modern ConfigFS approach. The keyboard HID example is a good one to start with. And when you have only one functional micro-USB port, it becomes particularly valuable to configure multiple gadgets at a time, something that is not as readily available with the old g_* kernel modules.

You cannot use the Raspberry Pi 3 as a USB gadget. At the time of writing this is only possible on the Raspberry Pi 0, 0W, A, A+, and 4. The Pi B+, 2, 3A+, and 3B+ lack the required pin for OTG.

If you have a Pi Zero, this gist has some examples that work with minimal configuration like g_serial, g_ether, or g_multi. For example, a minimal way to enable the serial gadget is to add dtoverlay=dwc2 to /boot/config.txt and g_serial to /etc/modules

lukas2005's original answer linked to iSticktoit.net's examples of using the more modern ConfigFS approach. The keyboard HID example is a good one to start with. And when you have only one functional micro-USB port, it becomes particularly valuable to configure multiple gadgets at a time, something that is not as readily available with the old g_* kernel modules.

added 127 characters in body
Source Link
jdonald
  • 3k
  • 14
  • 39

You cannot use the Raspberry Pi 3 as a USB gadget. At the time of writing this is only possible on the Raspberry Pi Zero, Zero W, and classic Pi model A/A+. The Pi B+, Pi 2, and Pi 3 lack the required pin for OTG.

If you have a Pi Zero, this gist has some examples that work with minimal configuration like g_serial, g_ether, or g_multi. For example, a minimal way to enable the serial gadget is to add dtoverlay=dwc2 to /boot/config.txt and g_serial to /etc/modules

I'm surprised lukas2005's answer got downvoted. iSticktoit.net has good examples of using the more modern ConfigFS approach. The keyboard HID example is a good one to start with. And when you have only one functional USBmicro-USB port, it becomes particularly valuable to configure multiple gadgets at a time, something that is not as readily available with the old g_* kernel modules.

You cannot use the Raspberry Pi 3 as a USB gadget. At the time of writing this is only possible on the Raspberry Pi Zero, Zero W, and classic Pi model A/A+. The Pi B+, Pi 2, and Pi 3 lack the required pin for OTG.

If you have a Pi Zero, this gist has some examples that work with minimal configuration like g_serial, g_ether, or g_multi.

I'm surprised lukas2005's answer got downvoted. iSticktoit.net has good examples of using the more modern ConfigFS approach. The keyboard HID example is a good one to start with. And when you have only one functional USB port, it becomes particularly valuable to configure multiple gadgets at a time, something that is not as readily available with the old g_* kernel modules.

You cannot use the Raspberry Pi 3 as a USB gadget. At the time of writing this is only possible on the Raspberry Pi Zero, Zero W, and classic Pi model A/A+. The Pi B+, Pi 2, and Pi 3 lack the required pin for OTG.

If you have a Pi Zero, this gist has some examples that work with minimal configuration like g_serial, g_ether, or g_multi. For example, a minimal way to enable the serial gadget is to add dtoverlay=dwc2 to /boot/config.txt and g_serial to /etc/modules

I'm surprised lukas2005's answer got downvoted. iSticktoit.net has good examples of using the more modern ConfigFS approach. The keyboard HID example is a good one to start with. And when you have only one functional micro-USB port, it becomes particularly valuable to configure multiple gadgets at a time, something that is not as readily available with the old g_* kernel modules.

Source Link
jdonald
  • 3k
  • 14
  • 39
Loading