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

FreeBSD Manual Pages

  
 
  

home | help
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>

home | help