! " " # ##
Do You Need to Know About USB? Several PA-RISC workstations to be introduced during 1999 require a USB keyboard and mouse. Apart from the addition of three PC-style keys to the keyboard and a scroll wheel to the mouse, most users won’t notice the difference once the system is set up. And the person setting up the system is likely to notice only a different connector shape.
What You Will Learn Here • What is it? USB in a nutshell. • Some history - how USB got to where it is today. • The state of the USB standard and Unix API efforts. • Key technical details for users and the merely curious. • The capabilities, limitations and applications for USB. • How USB compares to legacy and contemporary alternatives. • How USB will roll out on PA-RISC platforms. • How USB is supported in PA-RISC hardware, firmware and HP-UX. • The initial USB devices.
What is USB? • • • • • • • • • U.S.B. stands for Moderate speed Multiple devices Cubicle span Flexible topology Flexible power Robust Low-cost Idiot-proof Universal Serial Bus (Logo: Icon: ) 12 Mbps/sec. or 1.5 Mbytes/sec. up to 126 - on a single resource set. cabling 5m per segment, 30m max.
How USB Got Here As with PCI, USB is sponsored by an independent consortium that was initiated by Intel. Work began on the standard in 1993. USB was a response to several issues: 1. PS/2, RS-232C serial and parallel (Centronics, ECP, EPP, IEEE-1284) have serious deficiencies, and occupy too much panel space in a shrinking world. 2. Dedicated ISA cards are vanishing. SCSI and dedicated PCI cards are overkill for many desktop applications.
USB Standards Report There are two hardware Host Controller Interface architectures: UHCI (Universal), and OHCI (Open). UHCI appears on Intel motherboards. OHCI is predominant elsewhere - and is what PA-RISC workstations will use. The underlying USB Standard is presently at release 1.1. {http://www.usb/org} Driver Classes have been defined by Working Groups for ( - release level) Common - 1.0 Hub - 1.0 Physical I/F - 1.0 Audio - 1.0 Imaging - 1.0 Power - 1.0 HID (Human I/F Device) - 1.
A Closer Look +Vcc • Devices may be compound (have multiple functions) or contain hubs. • Devices are high-speed (12 Mbps) or lowspeed (1.5 Mbps) only. Hubs are high only. • Differential Data Signalling (3.3V NRZI) • +Vcc is 500mA @ 5 Vdc • Devices may supply own power. • Vcc and Ground make contact before Data lines.
USB Topology - “Tiered Star” Root Hub Device 1 Hub Device Hub Device Hub 3c Device Device Device 4 Hub Device Hub 3b Device Device Device Only devices (not other hubs) may be connected to an un-powered hub. " Device 5 (max. powered Hub hub depth) Device Max.
USB at the Limits Disallowed: • Host-to-host direct cabling. Host-to-host solutions exist, but presently require LAN adaptors, modems or null modems in the cabling path, none of which are transparent extensions of the USB. It is not yet clear if any true bridges or remote-repeaters for USB will appear (the equivalent of LAN bridges, the HP 46082A/B HIL extensions or the HP 37204A HP-IB extender). Strongly Discouraged: • Style A (receptacle) to Style A (plug) passive extension cables.
The Uses of USB Ideal Uses • Most human input devices: bar code, buttons, digitizers, gaming, gloves, joysticks, keyboards, knobs, light-pens, mice, 6-axis, tablets, trackballs, touch-pads • Modem & telephony: POTS, FAX, ISDN, T1, ADSL, low-end cable modem • Printers, up through 40 ppm or so • Simple audio: MIDI, speakers, mono&stereo I/O, 5.
The Non-Uses of USB Marginal Uses • • • • • • Scanners (USB max’d out for color above FAX resolution [200 dpi]) LAN and high-end cable modems (USB is max’d-out for 10Mbit LAN) CD-ROM, CDR, DVD (USB max’d-out at a mere “4x” CD-ROM) MO, tape (USB already too slow for DAT, DLT and other streaming formats) Instrumentation (USB no faster than HP-IB), PCMCIA (PC Card) adaptors Character-mode terminals, home appliance control (cable length) Despite this, the industry is leaping to USB from Parallel, SCSI and ded
Comparing USB to Legacy Attribute Ports per host Pin count Cable segment length Max. transparent distance Topology Device-to-Device I/O? Hot attach/detach Device power USB PS/2 HP-HIL Open (2 typ.) 4 5m 30m 2 6 (4 used) ~4m ~4m 1 4 3m ~45m Serial Parallel Open (2 typ.) 1…3 (1 Typ.) 3…25 (9 typ.) 34 50 ft.
USB Alternatives Attribute USB IEEE-1394 Ports per host Pin count Cable segment length Max. transparent distance Topology Device-to-Device I/O? Hot attach/detach Device power Power available Open (2 typ.) 4 5m Typ. 1…4 6 4.5m 72m Tiered-Star Yes Yes Bus or Local 1.5 A / port Power management Devices/port controller 30m Tiered-Star No Yes Bus or Local 100 to 500 mA per port Yes 127 Device enumeration Peak transfer rate Error control Flow control All 1.5 MB/s CRC Packet re-send a.
USB Port Roll-Out on PA-RISC SPUs All other all-new SPU designs Referenced PCI card for existing SPUs New SPUs 1998 1999 2000 • USB is the standard human interface port for all-new processors in the future. • Performance upgrades of existing processors may integrate USB. • Existing processors with PCI may use a USB PCI card (and require an upgrade to at least the USB release of HP-UX 10.20 or 11.x).
Port Evolution on all-new PA-RISC SPUs USB Serial Parallel PS/2 1998 1999 2000 • PS/2 is not present on SPUs with built-in USB, and is not expected to re-appear on any future all-new processor design prior to IA-64. • Parallel may be replaced by a USB-parallel adaptor in the next generation. • RS-232C remains available. Next generation may have only one port (a PC trend already in progress).
USB Support: PA-RISC Hardware • Root hub is based on a National PC87560 Super I/O chip. • This is an OHCI controller. • There are two ports, both located on the rear panel. There is no provision for enabling the USB pins on any EVC connectors present in the SPU. • No USB hub is required for the keyboard and mouse in the USB User Interface Kit. Future monitors may include or support a built-in hub. • Full 500 mA Vcc+ per port is available.
USB Support: PA-RISC Firmware • PDC/IODC has been updated only for SPUs with built-in USB. • Firmware searches for a keyboard on the USB controller path specified (by default, the built-in controller, but PCI-USB cards are addressable). • At initial release, the console keyboard must be one of the first seven devices found. If it is connected directly to the host, or there is only one 4-port or 7-port hub in use, it will be.
USB Support: HP-UX ITE1 • Requires 10.20 ACE-4, or • Requires 11.x (exact release nomenclature unknown at publication) • Supports all WSY-supplied localized layouts. • Does not support Euro (€), since the ITE emulates HP term0, which defines only the HP-Roman8 character set, which has no available code position for Euro. Euro is supported in Xserver. • Does not support the “logo” or “menu” These keys are supported in Xserver. keys (may later).
USB Support: HP-UX Kernel (Apps & Admin) Host Interconnect Device interface pipe bundle Function User Code dev_t, data buffer USB Class Driver pipe, data buffer USB Services USB Device pipe0 endpoint, data buffer Host Controller Driver USB Hardware Interface Packet Protocol # USB Hardware Interface
USB Support: HP-UX Kernel (cont.) • Only OCHI controllers are supported, and all tested to date work (although some will appear in ioscan as “unsupported”). HP-UX support for UHCI, although not currently scheduled, will be necessary at or before IA-64. • USB drivers are implemented as WSIO drivers. Big-little endian conversion is handled transparently. Code is multi-thread and multi-processor safe.
USB Support: HP-UX Kernel (cont.) USB Class Drivers supplied at initial release: • Hub: Root and external • HID: Human Interface Device Note that thunking makes USB “boot” devices appear to be PS/2. Class Drivers under investigation (but not yet committed): • Communication: For serial adaptors primarily. WAN attach might be addressed, but LAN is a non-objective, given that USB is slower than 10BaseT. • Printer: However, it may be trivial, mainly because Unix has no GDI.
USB Support: Xserver • Whether a device is USB, PS/2, or serial is generally (and deliberately) invisible. • Consequently, the Euro (€), “logo” and “menu” keys are supportable on all interfaces. Euro support is a retrofit to the current PS/2 keyboards (in work now as User Interface Kit A4030G). • Hot attach/detach does not ship in the first release. • HP-UX will implement X-USB APIs as standards emerge. • See next page for feature support on the USB keyboard and mouse.
The Initial USB Device List • Localized A4983-604xx USB Keyboards Coincident PC-104/105 layout transition Coincident JIS-109 layout transition The logo key is Meta-left and Meta-right. Menu is X “menu”. Coincident Euro support (on Euro keyboards - the EC “forgot” the US and Asia) 13 localized layouts (Japan and Korea were modified to meet local demand). 2.5 meter cable. • USB 3-Button Scroll Mouse Scroll-wheel has separate motion & button Forward is X-button4, reverse button5. 2.5 meter cable.
USB Buyer/End-User Considerations • Depending on development schedules, and what major applications you run, the next USB device you need to connect may be one or more software security dongles. Several already exist, and they are very appealing to ISVs, as they provide even more capability, at lower cost, than was available in the days of the HP 46084A HP-HIL ID Module. • The new SPUs have two USB ports. Both ports are used by the required input devices. If you add any USB devices, you will need a hub.
USB Developer Considerations • The HP-UX DDK has not yet been updated for USB. If you know how to write a WSIO driver, you are qualified to write a USB Class driver. A “CDDK” (Class Driver Developer’s Kit) is under investigation. • Many non-HID devices so far introduced for Windows PCs are using the VendorSpecific Class (not an encouraging development, compared to iMac, where devices by and large are using standard Classes). Getting documentation on V-S command sets is often difficult or impossible.