FreeBSD Manual Pages
USB_TEMPLATE(4) Kernel Interfaces Manual USB_TEMPLATE(4) NAME usb_template -- USB device side templates SYNOPSIS To compile this module into the kernel, place the following line in your kernel configuration file: device usb_template To load the module at boot time, place the following line in loader.conf(5): usb_template_load="YES" DESCRIPTION The usb_template module implements various USB templates that are needed when programming an USB device side driver. A USB template con- sists of an USB device descriptor, one or more USB configuration de- scriptors, one or more USB interface descriptors, one or more USB end- point descriptors, USB strings and additional USB descriptors. USB templates are selected using the hw.usb.template sysctl and tunable, or by using the usbconfig(8) set_template subcommand. Changing the hw.usb.template sysctl triggers reenumeration by the USB host; changes to other sysctls may not be visible to the host until reenumeration is performed. Available templates are: Value Description 0 USB Mass Storage, see cfumass(4) 1 CDC Ethernet, see cdce(4) 2 Media Transfer Protocol (MTP) 3 USB serial port, see umodem(4) 4 USB audio 5 USB keyboard 6 USB mouse 7 USB phone 8 CDC Ethernet and serial port 9 USB MIDI 10 CDC Ethernet, serial port, and storage 11 CDC Ethernet Emulation Model, see cdceem(4) SYSCTL VARIABLES The following variables are available as both sysctl(8) variables and loader(8) tunables: hw.usb.template Currently selected template. Set to -1 to make the device dis- appear from the USB host point of view. hw.usb.template_power USB bus power consumption in mA at 5V. Must be between 0 and 500. Setting to 0 marks the device as self-powered. Defaults to 500mA. hw.usb.templates.N Configuration for template number N. hw.usb.templates.N.vendor_id 16-bit vendor identifier (VID), usually assigned by USB-IF. hw.usb.templates.N.product_id 16-bit product identifier (PID). hw.usb.templates.N.manufacturer String containing human-readable manufacturer name. hw.usb.templates.N.product String containing human-readable product name. SEE ALSO cfumass(4), usb(4), usfs(4), usbconfig(8) STANDARDS The usb_template module complies to the USB 1.0, 2.0 and 3.0 standard. HISTORY The usb_template module was written by Hans Petter Selasky <hselasky@FreeBSD.org>. FreeBSD 13.2 August 7, 2019 USB_TEMPLATE(4)
NAME | SYNOPSIS | DESCRIPTION | SYSCTL VARIABLES | SEE ALSO | STANDARDS | HISTORY
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=usb_template&sektion=4&manpath=FreeBSD+14.0-RELEASE+and+Ports>