Keyspan Usa-28x Driver

Single, Dual and Quad port adapters - driver uses Keyspan supplied firmware and is being developed with their support. Current status: The USA-18X, USA-28X, USA-19, USA-19W and USA-49W are supported and have been pretty thoroughly tested at various baud rates with 8-N-1 character settings. Apr 12, 2011 USA-28X: This is the two-port adaptor in the translucent case. It's substantially different from the USA-28! It contains an AN2136SC instead of a '2131, and instead of using the on-chip UART it has two OX16C950s, one per port. It also has only a single oscillator (12MHz again), the two expected 75'776s, etc.

Those annoying nonportable USB devices...

I own a Mac Powerbook G3 Lombard, which forsakes the decades-old asyncserial port for a couple of shiny new USB ports. Mostly I think thisis a good thing (which is why I bought a Lombard instead of aWallstreet), but there are plenty of peripherals out there that stillwant a serial port (like PalmPilots). So I bought aKeyspan USB-to-DB9-serial adaptor dongle.

Much to my annoyance, this dongle doesn't implement any sort ofstandard USB serial profile; it requires a driver to initialize it andpresumably to speak some special protocol to it. Keyspan didn'tinclude a Linux driver, the bastards, and since my Powerbook runsLinux with only brief adventures into MacOS, the dongle has been sittingin a box getting dusty.

Hey, wait! This thing is programmable!

A little while ago, however, I became curious about the contents ofthe dongle. Not for any particular reason; I simply succumbed to thehacker's desire to take things apart and see how they work. Well, whenI popped the plastic case, what to my startled eyes should appear butan Anchor Chips AN2131SC and a TI 75LV4737A! A few minutes with an ohmmeter and I'd traced out all the interesting connections (see below).

Basically, the Keyspan USB adaptor is a general-purpose reprogrammableUSB-enabled 8051-compatible microcontroller, plus a level shifter for RS232use. The other ICs on the board are a transient suppressor for theUSB port, and a 16-byte EEPROM to store Keyspan's USBvendor/product/serial numbers. The 8051 has 8K of RAM and runs at 24 MHz.

It's called 'repurposing'

Of course, if I'd actually been paying attention to the linux-usbmailing list (instead of procmailing it all into a file I never read), I'd haveknown this earlier, and also thatBrian Warner has already writtencustom firmware for the dongle to talk to the Linux kernel. But what I'm interested in is not using this as a serial adaptor, but as using it as a relatively cheap ($40) USB experimentation platform.

The design of the adaptor is very straightforward. The USB linescome in, go past a SN75240 transient suppressor, and connect to theEZ-USB chip. The RS232 lines go through the RS232 driver/receiver andconnect to UART and general-purpose IO pins on the EZ-USB chip. Theboot EEPROM is attached to SCL and SDA, as you would expect. For extrahackability, the spare I/O pins (most of port B) are brought out toextra solder pads on the board. Attaching extra circuitry to theseshould be trivial, but remember they use 3.3v logic levels.

-
Vss-5GND

IMHO,the fact that this dongle can probably be made into a simple andeffective USB prototyping platform is really cool, and I want to getthis information out here where it might do someone some good.

Windows™

I don't know anything about MS-Windows, but Aaron Jones sent me this informationabout loading EZ-USB firmware under Windows.

Enough talk, let's see some blinking lights!

It took me a few days to get all the build tools set up on my machine, but I finally put together a tiny demo.Download blinkeyspan-r2.tar.gz for SDCC-2.3.x, orblinkeyspan-r1.tar.gz for SDCC-2.2.x.(Thanks to Gregg Levine for sending me copies of these after I lost my own!)

To try this you'll need an EZ-USB downloader such as ezdownload(part of the ezloadutility). This works on BSD and Linux; you might have to hack onit a little since the userland USB interface is still changing. If youwant to make changes, you'll also need thesdcc compiler.

All the demo does is cause some of the pins on the DB9 connector totoggle at 1.9 Hz. You can hook up an LED and a 2.2 kΩ resistor(conveniently, RS232 swings both ways, so you don't need to worryabout which way you connect the LED). It should be perfectly safe torun this demo on your dongle, but don't sue me if it breaks somethingor voids your warranty.

Other models

After loooking at my serial adapter, I became curious about the insides ofother models. It turns out that some of Keyspan's serial adapters aresubstantially different from others. Here's a list of what I've found. Let meknow if you have any other information.USA-19
This is the 'PDA adaptor' I pulled apart and described, above. It has one DB9port and is in a translucent case. It's probably the most hackablemodel (because it has a few unused pins) and also the cheapest.
USA-28This is the two-port adaptor in the opaque case. It's basically similar to what I've described, except:
  • it has what appears to be a 1.8432 MHz oscillator connected to pin 24
  • it has two SN75LBC776s instead of the SN75LV4737A
  • it doesn't have any spare I/O pins conveniently brought out to solder pads.
However, it should be just as easy to download custom firmware to thetwo-port adaptor as to the one-port version. The '776 is designed for Apple's'GeoPort' serial ports (RS-422 / RS-433) instead of RS-232, but it'sbasically similar to the '4737.
USA-19QAppears to be a 1-port version of the USA-28, except that it uses anADM213Efor the level shifter.
USA-28XThis is the two-port adaptor in the translucent case. It'ssubstantially different from the USA-28! It contains an AN2136SCinstead of a '2131, and instead of using the on-chip UART it has twoOX16C950s,one per port. It also hasonly a single oscillator (12MHz again), thetwo expected 75'776s, etc.

The 16'950 seemslike a nice chip for serial comms — 15 Mbps, IrDA, 128-byte fifo,blah, blah — but this means you can't easily use this modelas a general parallel I/O device just by bypassing the on-chip UART.

USA-19WKeyspan is also advertising a one-port serial adaptorin a black case which has different capabilities from the USA-19.Like the -28X, this also contains a separate Oxford UART chip. This givesit a higher speed (230kbps instead of 57.6kbps) but again makes it lessuseful for generic I/O. (Thanks to Stephen Malinowski for this info.)
USA-19QWKeyspan's web site mentions this as a follow-on to the -19W.According to Stuart Northfield this contains an AN2136SC, a 16C950, andan ADM213E — it's a combination of the -19Q and the -19W,reasonably enough.
USA-19HSBrian Onn reports that the -19HS contains, not an Anchor/Cypress chip, but aTI TUSB3410.This is like the AN21xx family in that it's an 8052 core with a USB interface, but it's notcompatible with the others. The USA-19HS contains:
  • TUSB3410 USB-to-Serial Port Controller
  • a single 12 MHz crystal
  • an I2C serial EEPROM from Microchip
  • a MAX3243C RS232 receiver/driver level shifter
The TUSB3410 can load its USB descriptors and device firmware from the attached EEPROM, but it can alsohave firmware downloaded from the host, like the AN21xx. However, the protocol is different so differentdownloaders (and firmware) need to be used for the USA-19HS.

The -19Q and -19QW both contain an LED connected to a spare pin on themicrocontroller. It should be easy to modify the blinkeyspan demoto blink this light instead (just change the port and bitmaskin timer0_isr()).

Here are the connections to the '2131 and the level shifter in theUSA-19Q. (Thanks to Ray Gannon for all of the information on the -19Q.)DB-9 pin / RS232 signal
or other function
PC0/RxD014Rcvr 52RXD
PC1/TxD015Driver 13TXD
PC216Driver 27RTS
PC317Rcvr 18CTS
PC418Rcvr 36DSR
PC519Rcvr 49RI
PC620Rcvr 21CD
PC721Driver 34DTR
Vss-5GND
PA540Driver 4LED cathode
PB0241.8432 MHz osc. input
PB125!SHDN-
PB2261.8432 MHz osc. enable
PB731EN-

Page created: 21 November, 2000. Page last updated: 12 April, 2011.
Wim Lewis <wiml@hhhh.org>(My home page)

Introduction¶

The USB serial driver currently supports a number of different USB toserial converter products, as well as some devices that use a serialinterface from userspace to talk to the device.

See the individual product section below for specific information aboutthe different devices.

Configuration¶

Currently the driver can handle up to 256 different serial interfaces atone time.

The major number that the driver uses is 188 so to use the driver,create the following nodes:

When the device is connected and recognized by the driver, the driverwill print to the system log, which node(s) the device has been boundto.

Specific Devices Supported¶

ConnectTech WhiteHEAT 4 port converter¶

ConnectTech has been very forthcoming with information about theirdevice, including providing a unit to test with.

The driver is officially supported by Connect Tech Inc.http://www.connecttech.com

For any questions or problems with this driver, please contactConnect Tech’s Support Department at support@connecttech.com

HandSpring Visor, Palm USB, and Clié USB driver¶

This driver works with all HandSpring USB, Palm USB, and Sony Clié USBdevices.

Only when the device tries to connect to the host, will the device showup to the host as a valid USB device. When this happens, the device isproperly enumerated, assigned a port, and then communication _should_ bepossible. The driver cleans up properly when the device is removed, orthe connection is canceled on the device.

NOTE:

This means that in order to talk to the device, the sync button must bepressed BEFORE trying to get any program to communicate to the device.This goes against the current documentation for pilot-xfer and otherpackages, but is the only way that it will work due to the hardwarein the device.

When the device is connected, try talking to it on the second port(this is usually /dev/ttyUSB1 if you do not have any other usb-serialdevices in the system.) The system log should tell you which port isthe port to use for the HotSync transfer. The “Generic” port can be usedfor other device communication, such as a PPP link.

For some Sony Clié devices, /dev/ttyUSB0 must be used to talk to thedevice. This is true for all OS version 3.5 devices, and most devicesthat have had a flash upgrade to a newer version of the OS. See thekernel system log for information on which is the correct port to use.

If after pressing the sync button, nothing shows up in the system log,try resetting the device, first a hot reset, and then a cold reset ifnecessary. Some devices need this before they can talk to the USB portproperly.

Devices that are not compiled into the kernel can be specified with moduleparameters. e.g. modprobe visor vendor=0x54c product=0x66

There is a webpage and mailing lists for this portion of the driver at:http://sourceforge.net/projects/usbvisor/

For any questions or problems with this driver, please contact GregKroah-Hartman at greg@kroah.com

PocketPC PDA Driver¶

This driver can be used to connect to Compaq iPAQ, HP Jornada, Casio EM500and other PDAs running Windows CE 3.0 or PocketPC 2002 using a USBcable/cradle.Most devices supported by ActiveSync are supported out of the box.For others, please use module parameters to specify the product and vendorid. e.g. modprobe ipaq vendor=0x3f0 product=0x1125

The driver presents a serial interface (usually on /dev/ttyUSB0) overwhich one may run ppp and establish a TCP/IP link to the PDA. Once thisis done, you can transfer files, backup, download email etc. The mostsignificant advantage of using USB is speed - I can get 73 to 113kbytes/sec for download/upload to my iPAQ.

This driver is only one of a set of components required to utilizethe USB connection. Please visit http://synce.sourceforge.net whichcontains the necessary packages and a simple step-by-step howto.

Once connected, you can use Win CE programs like ftpView, Pocket Outlookfrom the PDA and xcerdisp, synce utilities from the Linux side.

To use Pocket IE, follow the instructions given athttp://www.tekguru.co.uk/EM500/usbtonet.htm to achieve the same thingon Win98. Omit the proxy server part; Linux is quite capable of forwardingpackets unlike Win98. Another modification is required at least for theiPAQ - disable autosync by going to the Start/Settings/Connections menuand unchecking the “Automatically synchronize …” box. Go toStart/Programs/Connections, connect the cable and select “usbdial” (orwhatever you named your new USB connection). You should finally windup with a “Connected to usbdial” window with status shown as connected.Now start up PIE and browse away.

If it doesn’t work for some reason, load both the usbserial and ipaq modulewith the module parameter “debug” set to 1 and examine the system log.You can also try soft-resetting your PDA before attempting a connection.

Other functionality may be possible depending on your PDA. According toWes Cilldhaire <billybobjoehenrybob@hotmail.com>, with the Toshiba E570,…if you boot into the bootloader (hold down the power when hitting thereset button, continuing to hold onto the power until the bootloader screenis displayed), then put it in the cradle with the ipaq driver loaded, opena terminal on /dev/ttyUSB0, it gives you a “USB Reflash” terminal, which canbe used to flash the ROM, as well as the microP code.. so much for needingToshiba’s $350 serial cable for flashing!! :DNOTE: This has NOT been tested. Use at your own risk.

For any questions or problems with the driver, please contact GaneshVaradarajan <ganesh@veritas.com>

Keyspan PDA Serial Adapter¶

Single port DB-9 serial adapter, pushed as a PDA adapter for iMacs (mostlysold in Macintosh catalogs, comes in a translucent white/green dongle).Fairly simple device. Firmware is homebrew.This driver also works for the Xircom/Entrega single port serial adapter.

Current status:

Things that work:
  • basic input/output (tested with ‘cu’)

  • blocking write when serial line can’t keep up

  • changing baud rates (up to 115200)

  • getting/setting modem control pins (TIOCM{GET,SET,BIS,BIC})

  • sending break (although duration looks suspect)

Things that don’t:
  • device strings (as logged by kernel) have trailing binary garbage

  • device ID isn’t right, might collide with other Keyspan products

  • changing baud rates ought to flush tx/rx to avoid mangled half characters

Big Things on the todo list:
  • parity, 7 vs 8 bits per char, 1 or 2 stop bits

  • HW flow control

  • not all of the standard USB descriptors are handled:Get_Status, Set_Feature, O_NONBLOCK, select()

For any questions or problems with this driver, please contact BrianWarner at warner@lothar.com

Keyspan USA-series Serial Adapters¶

Single, Dual and Quad port adapters - driver uses Keyspan suppliedfirmware and is being developed with their support.

Current status:

The USA-18X, USA-28X, USA-19, USA-19W and USA-49W are supported andhave been pretty thoroughly tested at various baud rates with 8-N-1character settings. Other character lengths and parity setups arepresently untested.

The USA-28 isn’t yet supported though doing so should be prettystraightforward. Contact the maintainer if you require thisfunctionality.

More information is available at:

For any questions or problems with this driver, please contact HughBlemings at hugh@misc.nu

FTDI Single Port Serial Driver¶

This is a single port DB-25 serial adapter.

Devices supported include:

  • TripNav TN-200 USB GPS

  • Navis Engineering Bureau CH-4711 USB GPS

For any questions or problems with this driver, please contact Bill Ryder.

ZyXEL omni.net lcd plus ISDN TA¶

This is an ISDN TA. Please report both successes and troubles toazummo@towertech.it

Cypress M8 CY4601 Family Serial Driver¶

This driver was in most part developed by Neil “koyama” Whelchel. Ithas been improved since that previous form to support dynamic serialline settings and improved line handling. The driver is for the mostpart stable and has been tested on an smp machine. (dual p2)

Chipsets supported under CY4601 family:

Devices supported:

  • DeLorme’s USB Earthmate GPS (SiRF Star II lp arch)

  • Cypress HID->COM RS232 adapter

Note:

Cypress Semiconductor claims no affiliation with thehid->com device.

Most devices using chipsets under the CY4601 family shouldwork with the driver. As long as they stay true to the CY4601usbserial specification.

Technical notes:

The Earthmate starts out at 4800 8N1 by default… the driver willupon start init to this setting. usbserial core provides the restof the termios settings, along with some custom termios so that theoutput is in proper format and parsable.

The device can be put into sirf mode by issuing NMEA command:

As far as I can tell it supports pretty much every sirf command asdocumented online available with firmware 2.31, with some unknownmessage ids.

The hid->com adapter can run at a maximum baud of 115200bps. Please notethat the device has trouble or is incapable of raising line voltage properly.It will be fine with null modem links, as long as you do not try to link twotogether without hacking the adapter to set the line high.

The driver is smp safe. Performance with the driver is rather low when usingit for transferring files. This is being worked on, but I would be willing toaccept patches. An urb queue or packet buffer would likely fit the bill here.

If you have any questions, problems, patches, feature requests, etc. you cancontact me here via email:

(your problems/patches can alternately be submitted to usb-devel)

Digi AccelePort Driver¶

This driver supports the Digi AccelePort USB 2 and 4 devices, 2 port(plus a parallel port) and 4 port USB serial converters. The driverdoes NOT yet support the Digi AccelePort USB 8.

This driver works under SMP with the usb-uhci driver. It does notwork under SMP with the uhci driver.

The driver is generally working, though we still have a few more ioctlsto implement and final testing and debugging to do. The parallel porton the USB 2 is supported as a serial to parallel converter; in otherwords, it appears as another USB serial port on Linux, even thoughphysically it is really a parallel port. The Digi Acceleport USB 8is not yet supported.

Please contact Peter Berger (pberger@brimson.com) or Al Borchers(alborchers@steinerpoint.com) for questions or problems with thisdriver.

Driver

Belkin USB Serial Adapter F5U103¶

Single port DB-9/PS-2 serial adapter from Belkin with firmware by eTEK Labs.The Peracom single port serial adapter also works with this driver, aswell as the GoHubs adapter.

Current status:

The following have been tested and work:

  • Baud rate 300-230400

  • Data bits 5-8

  • Stop bits 1-2

  • Parity N,E,O,M,S

  • Handshake None, Software (XON/XOFF), Hardware (CTSRTS,CTSDTR) 1

  • Break Set and clear

  • Line control Input/Output query and control 2

1

Hardware input flow control is only enabled for firmwarelevels above 2.06. Read source code comments describing Belkinfirmware errata. Hardware output flow control is working for allfirmware versions.

2

Queries of inputs (CTS,DSR,CD,RI) show the lastreported state. Queries of outputs (DTR,RTS) show the lastrequested state and may not reflect current state as set byautomatic hardware flow control.

TO DO List:
  • Add true modem control line query capability. Currently tracks thestates reported by the interrupt and the states requested.

  • Add error reporting back to application for UART error conditions.

  • Add support for flush ioctls.

  • Add everything else that is missing :)

For any questions or problems with this driver, please contact WilliamGreathouse at wgreathouse@smva.com

Empeg empeg-car Mark I/II Driver¶

This is an experimental driver to provide connectivity support for theclient synchronization tools for an Empeg empeg-car mp3 player.

Tips:
  • Don’t forget to create the device nodes for ttyUSB{0,1,2,…}

  • modprobe empeg (modprobe is your friend)

  • emptool –usb /dev/ttyUSB0 (or whatever you named your device node)

For any questions or problems with this driver, please contact GaryBrubaker at xavyer@ix.netcom.com

MCT USB Single Port Serial Adapter U232¶

This driver is for the MCT USB-RS232 Converter (25 pin, Model No.U232-P25) from Magic Control Technology Corp. (there is also a 9 pinModel No. U232-P9). More information about this device can be found atthe manufacturer’s web-site: http://www.mct.com.tw.

The driver is generally working, though it still needs some more testing.It is derived from the Belkin USB Serial Adapter F5U103 driver and itsTODO list is valid for this driver as well.

This driver has also been found to work for other products, which havethe same Vendor ID but different Product IDs. Sitecom’s U232-P25 serialconverter uses Product ID 0x230 and Vendor ID 0x711 and works with thisdriver. Also, D-Link’s DU-H3SP USB BAY also works with this driver.

For any questions or problems with this driver, please contact WolfgangGrandegger at wolfgang@ces.ch

Inside Out Networks Edgeport Driver¶

This driver supports all devices made by Inside Out Networks, specificallythe following models:

  • Edgeport/4

  • Rapidport/4

  • Edgeport/4t

  • Edgeport/2

  • Edgeport/4i

  • Edgeport/2i

  • Edgeport/421

  • Edgeport/21

  • Edgeport/8

  • Edgeport/8 Dual

  • Edgeport/2D8

  • Edgeport/4D8

  • Edgeport/8i

  • Edgeport/2 DIN

  • Edgeport/4 DIN

  • Edgeport/16 Dual

For any questions or problems with this driver, please contact GregKroah-Hartman at greg@kroah.com

REINER SCT cyberJack pinpad/e-com USB chipcard reader¶

Interface to ISO 7816 compatible contactbased chipcards, e.g. GSM SIMs.

Current status:

This is the kernel part of the driver for this USB card reader.There is also a user part for a CT-API driver available. A sitefor downloading is TBA. For now, you can request it from themaintainer (linux-usb@sii.li).

For any questions or problems with this driver, please contactlinux-usb@sii.li

Prolific PL2303 Driver¶

This driver supports any device that has the PL2303 chip from Prolificin it. This includes a number of single port USB to serial converters,more than 70% of USB GPS devices (in 2010), and some USB UPSes. Devicesfrom Aten (the UC-232) and IO-Data work with this driver, as doesthe DCU-11 mobile-phone cable.

For any questions or problems with this driver, please contact GregKroah-Hartman at greg@kroah.com

KL5KUSB105 chipset / PalmConnect USB single-port adapter¶

Current status:

The driver was put together by looking at the usb bus transactionsdone by Palm’s driver under Windows, so a lot of functionality isstill missing. Notably, serial ioctls are sometimes faked or not yetimplemented. Support for finding out about DSR and CTS line status ishowever implemented (though not nicely), so your favorite autopilot(1)and pilot-manager -daemon calls will work. Baud rates up to 115200are supported, but handshaking (software or hardware) is not, which iswhy it is wise to cut down on the rate used is wise for largetransfers until this is settled.

See http://www.uuhaus.de/linux/palmconnect.html for up-to-dateinformation on this driver.

Winchiphead CH341 Driver¶

This driver is for the Winchiphead CH341 USB-RS232 Converter. This chipalso implements an IEEE 1284 parallel port, I2C and SPI, but that is notsupported by the driver. The protocol was analyzed from the behaviourof the Windows driver, no datasheet is available at present.

The manufacturer’s website: http://www.winchiphead.com/.

For any questions or problems with this driver, please contactfrank@kingswood-consulting.co.uk.

Moschip MCS7720, MCS7715 driver¶

These chips are present in devices sold by various manufacturers, such as Sybaand Cables Unlimited. There may be others. The 7720 provides two serialports, and the 7715 provides one serial and one standard PC parallel port.Support for the 7715’s parallel port is enabled by a separate option, whichwill not appear unless parallel port support is first enabled at the top-levelof the Device Drivers config menu. Currently only compatibility mode issupported on the parallel port (no ECP/EPP).

TODO:

Keyspan Usa-28x Driver Software

  • Implement ECP/EPP modes for the parallel port.

  • Baud rates higher than 115200 are currently broken.

  • Devices with a single serial port based on the Moschip MCS7703 may workwith this driver with a simple addition to the usb_device_id table. Idon’t have one of these devices, so I can’t say for sure.

Keyspan Driver For Usa 28xg Mac Drivers : TrippLite : Free ...

Generic Serial driver¶

If your device is not one of the above listed devices, compatible withthe above models, you can try out the “generic” interface. Thisinterface does not provide any type of control messages sent to thedevice, and does not support any kind of device flow control. All thatis required of your device is that it has at least one bulk in endpoint,or one bulk out endpoint.

To enable the generic driver to recognize your device, provide:

where the <vid> and <pid> is replaced with the hex representation of yourdevice’s vendor id and product id.If the driver is compiled as a module you can also provide one id whenloading the module:

This driver has been successfully used to connect to the NetChip USBdevelopment board, providing a way to develop USB firmware withouthaving to write a custom driver.

For any questions or problems with this driver, please contact GregKroah-Hartman at greg@kroah.com

Contact¶

If anyone has any problems using these drivers, with any of the abovespecified products, please contact the specific driver’s author listedabove, or join the Linux-USB mailing list (information on joining themailing list, as well as a link to its searchable archive is athttp://www.linux-usb.org/ )

Greg Kroah-Hartmangreg@kroah.com