I'm interested in using the Linux USB composite gadget driver gmulti in an embedded Linux device, for Ethernet-over-USB and serial-over-USB (the Ethernet-over-USB is compiled for RNDIS mode; I'm not interested in the mass storage function, so I've disabled it). I've tested it, and got it working fine with both Windows and Linux. Keep in mind though, that at the time of writing, no windows drivers are available – you need to use Linux or Mac OS X to connect to your Pi this way. Step 0 – configuring the SD card Download and install the latest Raspbian Jessie onto a suitably large SD card, and expand the root partition.
2009-09-22 14:02:47 UTC
Drivers Multifunction Composite Gadget Watch Band
Drivers Multifunction Composite Gadget Tool
This patchset creats a Multifunction Composite Gadget which uses
composite framework to create a gadget with two configurations
providing Ethernet (RNDIS in one and CDC in another configuration),
Serial and Mass Storage.
This patch requires the 'Mass Storage USB composite Function created'
patchset I have submitted earlier.
The first patch adds IADs to RNDI and CDC since without those I was
unable to make the gadget work correctly (ie. host tried to handle
each interface separately). The second patch adds the MFG.
The gadget seems to be functionaly -- when device is connected to
Linux host all three functions (CDC Ethernet, CDC Serial and Mass
Storage) are detected and handled properly.
I'm heaving a hard time, however, making it work with Windows though.
With a single configuration (ie. with RNDIS disabled or second
configuration #if-ed out) Windows properly detects the gadget as
a composite and identifies its functions. However, when two
configurations are present things are not so nice.
Therefore, any help in the matter of creating an INF would be greatly
appreciated. I've been trying to create an INF for quite some time
now but have done nothing so far -- the issue at the moment is that
I have no idea how to let Windows know that the gadget is an composite
and that it should choose it's first configuration.
Michal Nazarewicz (2):
USB: Interface Association Descriptors added to CDC & RNDIS
USB: g_multi: Multifunction Composite Gadget added
drivers/usb/gadget/Kconfig | 27 ++++
drivers/usb/gadget/Makefile | 3 +-
drivers/usb/gadget/f_acm.c | 28 ++++
drivers/usb/gadget/f_rndis.c | 35 ++++-
drivers/usb/gadget/multi.c | 349 ++++++++++++++++++++++++++++++++++++++++++
5 files changed, 437 insertions(+), 5 deletions(-)
create mode 100644 drivers/usb/gadget/multi.c
--
To unsubscribe from this list: send the line 'unsubscribe linux-usb' in
the body of a message to majordomo-***@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
composite framework to create a gadget with two configurations
providing Ethernet (RNDIS in one and CDC in another configuration),
Serial and Mass Storage.
This patch requires the 'Mass Storage USB composite Function created'
patchset I have submitted earlier.
The first patch adds IADs to RNDI and CDC since without those I was
unable to make the gadget work correctly (ie. host tried to handle
each interface separately). The second patch adds the MFG.
The gadget seems to be functionaly -- when device is connected to
Linux host all three functions (CDC Ethernet, CDC Serial and Mass
Storage) are detected and handled properly.
I'm heaving a hard time, however, making it work with Windows though.
With a single configuration (ie. with RNDIS disabled or second
configuration #if-ed out) Windows properly detects the gadget as
a composite and identifies its functions. However, when two
configurations are present things are not so nice.
Therefore, any help in the matter of creating an INF would be greatly
appreciated. I've been trying to create an INF for quite some time
now but have done nothing so far -- the issue at the moment is that
I have no idea how to let Windows know that the gadget is an composite
and that it should choose it's first configuration.
Michal Nazarewicz (2):
USB: Interface Association Descriptors added to CDC & RNDIS
USB: g_multi: Multifunction Composite Gadget added
drivers/usb/gadget/Kconfig | 27 ++++
drivers/usb/gadget/Makefile | 3 +-
drivers/usb/gadget/f_acm.c | 28 ++++
drivers/usb/gadget/f_rndis.c | 35 ++++-
drivers/usb/gadget/multi.c | 349 ++++++++++++++++++++++++++++++++++++++++++
5 files changed, 437 insertions(+), 5 deletions(-)
create mode 100644 drivers/usb/gadget/multi.c
--
To unsubscribe from this list: send the line 'unsubscribe linux-usb' in
the body of a message to majordomo-***@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html