Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Matt Porter <matt.porter <at> linaro.org>
Subject: Introducing libgadget 0.0.1
Newsgroups: gmane.linux.kernel
Date: Wednesday 4th September 2013 17:25:34 UTC (over 3 years ago)
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
 
CD: 3ms