Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
USB_TEMPLATE(4)	       FreeBSD 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 consists of
     an	USB device descriptor, one or more USB configuration descriptors, one
     or	more USB interface descriptors,	one or more USB	endpoint 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	disap-
	     pear 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.0			August 7, 2019			  FreeBSD 13.0

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+13.2-RELEASE+and+Ports>

home | help