USB Zero Client Stations

From Userful Support
Jump to: navigation, search

Copyright © 2016 Userful Corporation. All rights reserved.
(Updated 2016.04.29)


See documentation for the latest products:


Userful Multiplatform™ extends Linux functionality to support several fully independent and concurrent workstations using a single computer box. This is accomplished by adding video devices (either video cards, USB zero client devices or network zero client devices), keyboards and mice to a single PC system and installing Userful's software.

This document provides guidelines and instructions for configuring host PC with USB zero client stations.

How Many Users/Stations Can Be Supported with USB Zero Client Devices?

Even with single-user computer systems (i.e./ a stand-alone desktop computer or personal laptop), user experience depends on several factors:

  1. The speed and power of the CPU
  2. The available system memory (RAM)
  3. The demands made upon the system by the operating system and applications
  4. The speed and capacity of network connections and hardware

With multi-station computing, these factors influence the maximum user capacity of a given system configuration.

Limitation imposed by the hardware used to multiply the system:

  • With USB zero client devices, each system USB bus can only support 7-8 stations with good performance; thus the practical limit of these systems is 15 additional stations + 1 onboard station. (15 + 1).

Recommended System Requirements

The following are the recommended system requirements that can be expected to give a satisfactory user experience under most normal use cases, with Userful and USB zero client devices.

Compatible USB Zero Client Devices

To facilitate purchase of hardware compatible with Userful Multiplatform™, specific USB zero-client devices are listed below in colored categories Recommended, Might Work and Known Incompatible.

Compatible USB Zero Client Devices

Userful is designed to support USB zero client devices using DisplayLink® and SMSC®chipsets, as well as MCT™ devices with the Trigger 1+ chipset.

Userful has tested and confirmed that the following DisplayLink®, SMSC® and MCT™ devices are supported for use with Userful Multiplatform™.

USB Zero Client Devices That Might Work

Here are the USB zero client devices that might work with Userful. These have been seen to work in some cases with certain configurations, but results have been inconsistent or testing has been limited.

Number of Stations Supported

(USB Stations + 1 Onboard)

Recommended Devices Chipset External Power Supply Required
11 stations
(10 + 1)
Wyse E01 Thin Client MCT
Trigger UV-185CB-128
5 stations
(4 + 1)
Thinnet MiniPoint MCT
3 stations
(2 + 1)
NComputing U170 MCT
(undetermined) IOGear USB 2.0 External VGA Video Card (GUC2020DW6) DisplayLink
(undetermined) MCT USB-DVI Display Adapter MCT
Trigger UV-185CC-176
(undetermined) MCT USB-VGA Display Adapter MCT
Trigger UV-185CC-176
(undetermined) Aluratek USB 2.0 to Dual MONITOR/VGA Adapter MCT
Trigger UV-185CC-176
11 stations
(10 + 1)
MCT MWS (Multipoint WorkStation) 8820 MCT
Trigger UV-105CB-128

USB Zero Client Devices That Are Known to be Incompatible

These are devices that are known to have significant issues when used with Userful Multiplatform™:

Unsupported Devices Chipset
Tritton SEE2 UV150 USB 2.0 To VGA Ext. Video Card MCT
Trigger UV-105CB-128
Targus Universal Notebook Docking Station with Video ACP50CA MCT
Trigger UV-185CC-176
StarTech USB 2.0 to VGA/DVI Display Adapter Volari V2 PAA0045

General USB Guidelines

  • USB zero-client devices only work with USB 2.0 ports.
  • It is necessary to configure the host PC so that USB ports are not disabled when the host PC enters sleep mode.
  • Success when using USB stations with notebook and netbook computers may vary since many notebooks have power management schemes that can interfere with or limit the amount of power allowed to USB ports.
  • We do not recommend daisy chaining USB hubs or USB zero-client devices. But if you absolutely must, be sure to use powered USB hubs when daisy chaining USB stations.
  • The USB protocol specifies a maximum of 5 hubs ("hops") per USB port. If you need to use extension cables, ensure that the distance between the USB device and the computer/powered USB hub is not greater than 5 m (15 ft) to prevent voltage drops.
    • Userful testing has shown that greater distances can be achieved using hubs between cable connections. It worked well with a single added hub at 15 feet, and adequately with another hub at 30 feet. Performance degraded steeply at distances greater than 30 feet. We recommend to using no more than one intervening hub to ensure good user experience.
  • Cable quality is very important. Only use high-quality USB 2.0 compliant cables. (Note: 'compliant' is different than 'compatible'. Good quality cables often say "High-Speed Certified"). We recommend cable specifications of at least 24 AWG (power) and 28 AWG (signal). Low quality USB cables can cause excessive voltage drops that can create system instability issues or can cause a USB zero client device to be disabled by the Linux Kernel.
  • We recommend using powered hubs or Userful USB hubs with audio to connect each station.

For a more in-depth look at USB connectivity, please see USB: Troubleshooting and Guidelines.

Getting Started

Userful supports USB zero client devices for multiseat configurations. This means that extra video cards are not necessary to turn a single PC into a multistation computer. Some things to remember:

  • Even when using USB-connected stations, it is important to keep one station connected to the onboard video card in order to see startup messages.
  • We recommend the use of homogeneous (all one type and model) USB zero-client devices with Userful Multiplatform.

USB zero client devices come in various configurations. How you set up your stations depends on the kind of zero client devices you use. Here are the most common configurations:

  • USB-to-VGA adapters used in conjunction with USB hubs.
  • USB docking stations with built-in USB zero-client device (some are called "thin clients"). Some have USB ports, keyboard/mouse ports, audio plug-ins, etc. All will have a VGA port.
  • Monitors with a built-in USB zero-client device.

Setting Up Stations

  1. Position one monitor for each station required and group each with a keyboard and mouse. Remember to keep one monitor plugged into the on-board video.
    • If you are using USB docking stations with a built-in USB zero-client device, connect one monitor, one mouse and one keyboard to each USB docking station. Connect the docking station to the host PC.
    • If using USB hubs and USB zero client devices:
      1. Connect the zero-client devices to the USB ports on the host PC.
      2. Connect the USB hubs to the USB ports on the host PC.
      3. Connect keyboard and mice to the USB hubs, one set per hub.
    • If you are using monitors with built-in USB zero client devices, we recommend using an extra USB hub for each station. Connect one monitor, keyboard and mouse to each USB hub. (Some of these monitors can also be connected via VGA cable. Be careful not to use the VGA cable if you want to use it as a USB zero client device.)
  2. Connect an ethernet cable to the back of the host PC.
  3. Ensure all devices, hubs and monitors are connected to a UPS or surge protected outlets, if necessary.
  4. Turn on the system when ready.

Adding or Removing USB Stations

To add a station, simply plug in a USB zero client device. No reboot is necessary, the station will be ready to use after a brief pause (assuming your license supports that number of stations).

Stations can be removed simply by unplugging the USB zero client device (even from a running system).

Input Devices

Each station in a multiseat configuration must have dedicated input devices (keyboard and mouse, or equivalent).

Input Device Assignment

When first starting up the onboard station and USB zero client-connected stations, Userful's "Press F-key" utility is launched; this allows the user to link keyboards and mice to a specific monitor with a single key press and/or mouse click.

Both a keyboard and a mouse are required in order to create a station. If you have the mouse plugged into the same USB hub or zero client device (through a PS/2 or USB connection) as the keyboard, the mouse will be automatically assigned along with the keyboard when you press the correct function key.

If the mouse is plugged into a separate USB port or PS/2 connection, you will be prompted to press a button on the mouse in order to link it with the correct monitor and keyboard combination.

Any device plugged into the same USB zero client device as a given display will automatically be assigned to the display's station. Any input devices plugged into the system tower (or any device without a clear assignment path) will be assigned manually through the press F-key utility.

Resetting Assignment

You may reassign keyboards and mice at any point by simply pressing the Ctrl-Alt-Break key combination or re-connecting the input device by unplugging for at least 1.5 seconds and re-connecting it to the USB port while the system is running. The assignment screen will automatically appear on top of your current desktop. No work will be lost, simply press the correct F-key and return to your desktop.

Station Reset

Occasionally, it may be necessary to restart or reset an individual USB zero client station. The method used depends on the reason a reset is needed as well as the desired result.

NOTE: Resetting or restarting a station will log out the user.

  • If the display on an individual station is corrupted or frozen, you can reset the X window manager by hitting "CTRL-ALT-BACKSPACE".
  • If resetting the X window manager does not fix the issue, USB zero clients can be reset by unplugging the USB cable from the device, waiting for 30 seconds, then replugging the device.
  • If unplugging the USB cable does not resolve the issue, OR if several stations are frozen or otherwise require a reset, a system reboot is necessary.


With so many devices plugged in together, things can quickly get complicated, and troubleshooting can be confusing. Following the simple steps below can solve many problems with USB performance (each area is discussed in more detail in the USB Guide:

  1. Check your cables.
    • Use only high-quality, "Hi-speed USB" certified cables
    • Ensure cables are not more than 5 metres (16 feet) long.
    • Avoid daisy-chaining cables and hubs.
  2. Use powered hubs where possible.
    • This is especially important if using devices with a high power requirement.
  3. Spread out demand over the computer's buses.
    • Connect cables to your PC through as many 'banks' of USB ports as possible to avoid overloading the USB bus. See below for more information about even distribution of USB zero clients over system buses.
  4. Keep USB cables away from sources of electromagnetic interference.
    • Do not bundle USB cables with power cables.
    • Keep cables away from power supplies, microwave ovens, etc.
  5. Check to see if the Linux system is using USB 1.1 or USB 2.0.
    • USB 2.0 devices demand lots of power and bandwidth and perform best under the USB 2.0 specification. However in some cases, using the USB 1.1 specification prevents overloading the USB system and allows a multistation system to operate more stably.

How to Evenly Distribute USB Zero Client Devices Across All Available USB Buses

The USB bus is a system bus that transfers data between the USB ports and the CPU. Modern computers typically have two or more USB "buses" each serving several USB "ports" which are accessible either from the front or the back of your PC. Typically ports which are physically grouped together share the same USB bus.

When USB zero client devices are under heavy use -- for example, if the stations are playing video -- the data transfer over USB consumes significant bandwidth within the USB bus. Additionally, the graphics drivers are designed to compress video data when they start approaching the upper bandwidth limit of the USB bus, thus consuming additional CPU cycles and slowing down the performance for all users on the system.

By distributing USB zero client devices across all available USB buses, it is possible to increase the maximum data throughput, creating a more responsive and potentially more stable system for your users.

Checking the Distribution of USB Devices

A simple terminal command can show the distribution of USB devices.

  1. Open a terminal.
  2. At the command prompt, type lsusb -t.
  3. The output should resemble that below. Note that in the example below, the USB devices are unevenly distributed with 6 stations connected to bus #1 and none connected to Bus#2.
Bus#  2
`-Dev#   1 Vendor 0x1d6b Product 0x0002
  `-Dev#   2 Vendor 0x8087 Product 0x0024
Bus#  1
`-Dev#   1 Vendor 0x1d6b Product 0x0002
  `-Dev#   2 Vendor 0x8087 Product 0x0024
    |-Dev#   3 Vendor 0x03f0 Product 0x0032
    | |-Dev#   9 Vendor 0x03f0 Product 0x0046
    | |-Dev#  10 Vendor 0x0d8c Product 0x013a
    | |-Dev#  11 Vendor 0x046d Product 0xc077
    | `-Dev#  12 Vendor 0x03f0 Product 0x0024
    |-Dev#   4 Vendor 0x03f0 Product 0x0032
    | |-Dev#  13 Vendor 0x03f0 Product 0x0046
    | |-Dev#  14 Vendor 0x0d8c Product 0x013a
    | |-Dev#  15 Vendor 0x046d Product 0xc077
    | `-Dev#  16 Vendor 0x03f0 Product 0x0024
    |-Dev#  44 Vendor 0x03f0 Product 0x0032
    | |-Dev#  45 Vendor 0x03f0 Product 0x0046
    | |-Dev#  46 Vendor 0x0d8c Product 0x013a
    | |-Dev#  47 Vendor 0x03f0 Product 0x0024
    | `-Dev#  48 Vendor 0x046d Product 0xc077
    |-Dev#   6 Vendor 0x03f0 Product 0x0032
    | |-Dev#  21 Vendor 0x03f0 Product 0x0046
    | |-Dev#  22 Vendor 0x0d8c Product 0x013a
    | |-Dev#  34 Vendor 0x046d Product 0xc077
    | `-Dev#  35 Vendor 0x03f0 Product 0x0024
    |-Dev#   7 Vendor 0x03f0 Product 0x0032
    | |-Dev#  25 Vendor 0x03f0 Product 0x0046
    | |-Dev#  26 Vendor 0x0d8c Product 0x013a
    | |-Dev#  32 Vendor 0x046d Product 0xc077
    | `-Dev#  33 Vendor 0x03f0 Product 0x0024
    `-Dev#   8 Vendor 0x05e3 Product 0x0608
      |-Dev#  29 Vendor 0x046d Product 0xc077
      |-Dev#  30 Vendor 0x03f0 Product 0x0024
      `-Dev#  31 Vendor 0x0d8c Product 0x000c

Adding More USB Ports

If you don't have enough USB ports on your computer, you can add extra USB ports. There are two types of USB expansions:

  • USB headers:
    • consist of a plate that fits into the holes in a computer's back panel and cables to plug into unused USB header pins on the motherboard. Note that often the ports on the front panel of a computer tower are connected to the motherboard in this manner; if USB ports are added by installing a header, the front panel ports and the expansion ports may share a single bus.
  • USB PCI expansion cards:
    • consist of a card with built-in ports that fits into one of the PCI expansion slots. Such a card will use the PCI local bus.