Command: usbhosts

  USBDOS is a collection of different USB drivers and tools:
  USBHOSTS shows Details of One or All USB Host Controllers.

Syntax:

  USBHOSTS [Options]

Options:

  ?    Show this HELP screen
  A    Show all ALIASES for these command line options
  V    Show all errorlevel (DOS return codes)

  D      Show DETAILED status of All Hosts
  E #    Show Detailed status of ENHANCED Host, PCI Search Index #
  O #    Show Detailed status of OPEN Host, PCI Search Index #
  U #    Show Detailed status of UNIVERSAL Host, PCI Search Index #

  With no Options, shows a Summary (not Detailed) status of all USB
  Hosts.
  S #    STOP (unconfigure) Enhanced Host, PCI Search Index #

  If running from inside another program (if not running from the
  command-line), the other options can be followed by two hex call-back
  addresses (#Segment:#Offset) to which the output and headers will be
  written. See USBHOSTS.DOC for details (Comment: sorry, not found).

Comments:

  Showing Host Controller Status
    The main purpose of USBHOSTS is show details about the different
    Host Controllers that are installed on your computer (UHCI, OHCI,
    and EHCI). If you run USBHOSTS with no option switches at all, it
    will show you a summary of ALL the Host Controllers that are
    installed.
    This summary only includes "high-level" (PCI bus related) details
    of the Host Controllers, such as the PCI Search Index (discussed
    on page 54 of USBINTRO.DOC, see links below), manufacturer, IRQ
    number, PCI base memory or I/O address, etc. Again, to see the
    summary, you run USBHOSTS with no options switches, as follows:
      USBHOSTS
    You can also have USBHOSTS show you virtually ALL of the details for
    an individual Host Controller. This is includes all of the "high-
    level" information indicated above, as well as Framing details, Root
    Hub Physical Device connection details, Legacy Support configuration,
    etc. The exact details of what it shows you are VERY different for
    each type of Host Controller (UHCI, OHCI, or EHCI), and we will not
    try to explain any of it here. You can download and peruse all three
    specifications (they are freely available) if you're interested in
    all of the details.
    To show all of the details for a specific Host Controller, you must
    specify to USBHOSTS exactly which Host Controller you want to see.
    You do this by specifying two pieces of information: a single letter
    indicating the type of Host Controller (U = UHCI, O = OHCI, E =
    EHCI), followed by a number indicating the 0-based PCI Search Index.
    For example:
      USBHOSTS U0
    will show you the details of the first UHCI Host Controller (the one
    with PCI Search Index 0).
    You can also have USBHOSTS show you the details of more than one Host
    Controller at a time. For example:
      USBHOSTS U2 E0
    will show you details of the third UHCI Host Controller, followed by
    details of the first EHCI Host Controller.
    You can also view all of the details for all of the Host Controllers
    as follows:
      USBHOSTS D
    Depending on the exact type of data element that is being shown,
    USBHOSTS will either show you a short word or phrase, a number, a
    "Y", a ".", or a "±".  A word, phrase, or number generally pretty
    self-explanatory.  Here is what the "Y", ".", and "±" indicate:
      Y = Yes, On, True, Enabled
      . = No, Off, False, Disabled
      ± = Not Applicable, Unknown
    In order to write the company name of the Host Controller
    manufacturer, USBHOSTS calls the support program VENDORID (page 184
    of USBINTRO.DOC, see links below).

  Disabling EHCI Host Controllers
    As discussed in "Disabling the Companion EHCI Host Controller" (page
    59 of USBINTRO.DOC, see links below), there are times when it is
    necessary or desirable to unconfigure (disable) a particular high-
    speed (EHCI) Host Controller. This in turn forces all of the Devices
    attached to the EHCI Controller to be routed to the companion low-
    speed (UHCI or OHCI) Controller. This is required in certain
    situations to force the USB hardware to do what you want it to do,
    instead of having it act the way the BIOS or hardware manufacturer
    wants it to. To unconfigure (Stop) a particular EHCI Host Controller,
    you must provide USBHOSTS with the PCI Search Index of the EHCI Host
    Controller you want to Stop. E.g.:
      USBHOSTS Stop 0
    will Stop (unconfigure) the first high-speed (EHCI) Host Controller
    (the one with PCI Search Index 0), forcing all of the Devices to
    route to the companion low-speed (UHCI or OHCI) Controller(s).

    A single high-speed (EHCI) controller is usually associated with more
    than one low-speed (UHCI or OHCI) companion Controller. On the Sony
    laptop I currently use, for example, there is one EHCI Controller and
    two companion UHCI Controllers. On the Dell Desktop I currently use,
    there are two EHCI Controllers each with three companion UHCI
    Controllers (a total of six UHCI Controllers). What you do to a
    single EHCI Controller usually affects several UHCI (or OHCI)
    Controllers.

    It is not possible to reliably force a single EHCI port to the
    companion low-speed controller using USBHOSTS. Attempting to do so
    could potentially "break" the EHCI software (in the BIOS) and wreak
    havoc on the entire USB bus. Rather, what USBHOSTS does is
    unconfigure the entire EHCI host, forcing ALL ports to the companion
    Controller(s). In addition, once an EHCI Controller is unconfigured
    (Stopped), it is potentially unsafe to simply try and "turn it on"
    (configure it) again.  Therefore, USBHOSTS does NOT provide a way to
    re-configure an EHCI Host Controller that has be unconfigured
    (Stopped). Once it has been Stopped with USBHOSTS, the only way to
    safely re-start an EHCI Host Controller is to reboot the computer.

    The Stop (unconfigure) option for USBHOSTS should no longer be needed
    once an EHCI Host Controller Driver is completed, though that is not
    expected to happen in the near future.

  For more information see:
    https://gitlab.com/FreeDOS/drivers/usbdos/-/tree/master/DOC/DOSUSB
  OR:
    C:\FREEDOS\DOC\usbintro.doc (too big for edit, please use
    another editor, e.g. Blocek!)
  OR:
    https://bretjohnson.us/

Examples:

  usbhosts OR: see examples above

See also:

  boundtst
  drives
  errorlevel/exitcodes
  hidsupt1
  inklevel
  irq
  ps2mtest
  scantest
  thrust
  uni2asci
  usbdevic
  usbdos
  usbdrive
  usbhub
  usbjstik
  usbkeyb
  usbmouse
  usbprint
  usbsupt1
  usbuhci
  usbuhcil
  vendorid

  Copyright © 2007-2009 Bret E. Johnson, help version 2023 W. Spiegl.

  This file is derived from the FreeDOS Spec Command HOWTO.
  See the file H2Cpying for copying conditions.