public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Matt Porter <matt.porter@linaro.org>
To: Linux USB List <linux-usb@vger.kernel.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Introducing libgadget 0.0.1
Date: Wed, 4 Sep 2013 13:25:34 -0400	[thread overview]
Message-ID: <20130904172532.GA10973@ohporter.com> (raw)

With the move to configfs for creation of arbitrary USB composite gadgets,
I found myself wanting a simple C library to configure and parse gadgets
in a system. It has no other dependencies other than libc itself.

It can be found at:

	git://git.linaro.org/people/mporter/libgadget.git

Doxygen docs on API and examples at:

	http://people.linaro.org/~matt.porter/libgadget/group__libgadget.html
	http://people.linaro.org/~matt.porter/libgadget/examples.html

Output from the examples:

$ mkdir /config
$ mount -t configfs none /config
$ gadget-acm-ecm
$ show-gadgets
ID 1d6b:0104 'g1'
  UDC                   3f120000.usbotg
  bDeviceClass          0x00
  bDeviceSubClass       0x00
  bDeviceProtocol       0x00
  bMaxPacketSize0       0x40
  bcdDevice             0x0311
  bcdUSB                0x0000
  idVendor              0x1d6b
  idProduct             0x0104
  Serial Number         0123456789
  Manufacturer          Foo Inc.
  Product               Bar Gadget
  Function 'acm.usb0'
    port_num            0
  Function 'acm.usb1'
    port_num            1
  Function 'ecm.usb0'
    dev_addr            32:1b:dc:a4:bc:a2
    host_addr           82:b7:58:62:f6:31
    ifname              usb0
    qmult               5
  Configuration 'c.1'
    MaxPower            2
    bmAttributes        0x80
    configuration       CDC 2xACM+ECM
    acm.GS0 -> acm.usb0
    acm.GS1 -> acm.usb0
    ecm.usb0 -> ecm.usb0

Besides things noted in the todo list, I'm working on a gadgettool
on top of libgadget to make life easier for everyday creation of
common composite devices. e.g. gadgettool --create="g1" --function="acm"
--function="ecm" --enable

-Matt

             reply	other threads:[~2013-09-04 17:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-04 17:25 Matt Porter [this message]
2013-09-11  7:42 ` Introducing libgadget 0.0.1 Jan Engelhardt
2013-09-11 12:23   ` Matt Porter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130904172532.GA10973@ohporter.com \
    --to=matt.porter@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox