usb man page on Inferno

Man page or keyword search:  
man Server   579 pages
apropos Keyword Search (all sections)
Output format
Inferno logo
[printable version]

USB(3)									USB(3)

NAME
       usb - USB device interface

SYNOPSYS
       bind -a '#U' /dev

       /dev/usbctl
       /dev/usbdata
       /dev/usbstat
       /dev/usbaddr
       /dev/usbframe
       /dev/usbsetup

DESCRIPTION
       The  USB	 device	 serves	 a  one-level  directory, giving access to six
       files.  They provide an interface to the device	(slave)	 mode  of  the
       823/850	USB controller, allowing an Inferno system to provide services
       to the USB host.	 The controller's endpoints are configured as follows.
       Endpoint	 0 is the default USB control endpoint, as required by the USB
       standard.  Endpoint 1 responds to bulk output requests from  the	 host;
       endpoint 2 responds to bulk input requests from the host; endpoint 3 is
       unused.

       The data file usbdata provides read and write access to endpoints 1 and
       2.  When the file is read, it returns data written to endpoint 1 by the
       USB host.  Data written to the file is  provided	 in  response  to  the
       host's  read requests on endpoint 2.  Output data is converted to pack‐
       ets limited to the maximum packet length for the endpoint (see the max‐
       pkt control request, below), which is 1023 bytes by default.  Note that
       zero length records can be transmitted and received on USB.

       The file usbsetup provides read and write access to endpoint  0.	  When
       the  file is read, it returns SETUP requests from the host.  If a given
       request requires a reply, the reply must be written to the  file	 (host
       requests	 will automatically be NAKd until then).  Requests and replies
       are in binary form as defined in the USB specification, except for  the
       reset  message  described  below.   The	driver	itself	interprets all
       SET_ADDRESS requests from the host, and sets the	 controller's  address
       accordingly.   That  request  will therefore not be visible on the usb‐
       setup file.

       A USB bus or device reset sets the controller's USB address   to	 zero,
       the  USB	 `default address' for configuration.  It also resets all data
       toggles to DATA0.  A subsequent read of usbsetup will return  the  fol‐
       lowing special 8-byte reset message:

	      byte 16rFF, byte 16rFF, byte 'r', byte 'e',
	      byte 's', byte 'e', byte 't', byte '\n'

       which  does  not	 resemble  a  normal SETUP message.  Further reads and
       writes on usbdata will return errors until that file  has  been	closed
       and reopened.

       The control file usbctl receives textual commands to set device parame‐
       ters and responses:

       maxpktn nb
	      Set the maximum packet size for endpoint n to nb bytes.  Nb must
	      be  between  8  and  64  bytes  for  the control endpoint 0, and
	      between 1 and 1023 bytes for the other endpoints.	  The  default
	      is 8 bytes for endpoint 0 and 1023 bytes for the others.

       rdtogn t
	      Set  the data toggle for input in endpoint n to t, which must be
	      either 0 (DATA0) or 1 (DATA1).

       stalln Cause endpoint n to  respond  to	host  IN  and  OUT  tokens  by
	      stalling.

       unstalln
	      Cancel the effect of a previous stall request on endpoint n.

       wrtogn t
	      Set  the data toggle for the next packet output by endpoint n to
	      t, which must be either 0 (DATA0) or 1 (DATA1).

       Stalling an endpoint causes IN and OUT transactions from	 the  host  to
       return a `stalled' error status.	 On the control endpoint (endpoint 0),
       however, SETUP transactions will still  arrive  on  usbsetup,  and  the
       arrival	of  a  SETUP will automatically clear the `stalled' status for
       the endpoint, allowing an application to reject a control  request  (by
       stalling	 the  subsequent status transaction) without stalling the con‐
       trol endpoint by rejecting subsequent SETUP transactions.

       The status file usbstat is a read-only file,  containing	 one  line  of
       statistics  for	each  endpoint, giving: endpoint number; data toggles;
       maximum packet size; count of input and output bytes and	 packets;  and
       counts of various error conditions.

       The  read-only file usbaddr contains a single number giving the current
       device address.

       The read-only file usbframe contains a single line giving  the  current
       USB frame number.

SOURCE
       /os/mpc/devusb.c

				    MPC823				USB(3)
[top]

List of man pages available for Inferno

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net