lkml.org 
[lkml]   [2013]   [Sep]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectIntroducing libgadget 0.0.1
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


\
 
 \ /
  Last update: 2013-09-04 19:41    [W:0.031 / U:0.432 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site