Hi Andrzej, Thank you for your time. I'd like to take a stab at FunctionFS before I start looking at backporting hid and uvc from 3.19+ I found a lot of information (mainly from you [1] [2]) on gadget ConfigFS and hid, but I'm having less luck finding information on FunctionFS and the required daemons. On Thu, Jan 22, 2015 at 7:33 AM, Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> wrote: > These days instead of gadgetfs one should probably use FunctionFS. > The purpose of the two is delegating actual usb function implementation > to userspace with some filesystem being the interface to the kernel. It looks like I should be able to combine Ethernet, Mass Storage, and HID this way. (and it's supported all the way back to 3.10) However I haven't found any ffs-daemon examples, including the hid-daemon mentioned in the kernel source. Also I'm not quite sure how the loading g_ffs enables Ethernet in the docs. Is g_ffs loaded after a g_multi that included Ethernet? """ from Documentation/usb/functionfs.txt One can imagine a gadget that has an Ethernet, MTP and HID interfaces where the last two are implemented via FunctionFS. On user space level it would look like this: $ insmod g_ffs.ko idVendor=<ID> iSerialNumber=<string> functions=mtp,hid $ mkdir /dev/ffs-mtp && mount -t functionfs mtp /dev/ffs-mtp $ ( cd /dev/ffs-mtp && mtp-daemon ) & $ mkdir /dev/ffs-hid && mount -t functionfs hid /dev/ffs-hid $ ( cd /dev/ffs-hid && hid-daemon ) & """ [1] http://events.linuxfoundation.org/sites/events/files/slides/LinuxConNA2013-andrzej.pietrasiewicz-usb-gadget-configfs_0.pdf [2] https://wiki.tizen.org/wiki/USB/Linux_USB_Layers/Configfs_Composite_Gadget/Usage_eq._to_g_hid.ko -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html