On 7/20/10, Liam Proven <lproven at gmail.com> wrote:
On 20 July 2010 16:52, John Foust <jfoust at
threedee.com> wrote:
> At 09:15 AM 7/20/2010, Ethan Dicks wrote:
>>I really do not like USB. It takes hundreds of cycles and more to
>>move a simple message, it's a host-based, not bi-directional design,
>>and it's only available on somewhat newish kit.
>
> What drives me crazy is the lack of debugging of the stack. When
> it's not working on contemporary Windows kit, there's no way I've
> found to help understand what's not really working.
It's not just Windows - debugging the stack under Linux isn't any
better. At least with libusb, I have the source and can inject
debugging printf()s into it.
With a serial port, you can turn an old machine with two serial
interfaces into a snooper and capture the traffic, or use an old
HP4951 protocol analyzer (I have more than one) which is _really_
designed to snoop sync, async, RS-232, RS-423, etc. We even used one
to simulate an IBM PU Type 4 to trace our product's code (a PU Type 2
emulator) and how it handled various bits in the BIND sequence.
This morning,
I plugged a client's thumb drive into their laptop...
Another stunner was that vmWare didn't support native USB on the host...
I'm often trying to connect client hard drives to backup machines...
Last week, a client's thumb drives weren't being recognized...
All fair points, but then, who ever used serial ports to connect mass
storage? (I know there was a serial port hard disk for the first ever
Mac, but that was from complete lack of any alternative.)
Given the speeds available, that was not a typical use for serial ports, though
I have done plenty of sync and async networking (X.25, DDCMP, HASP, 3780,
SNA).
The equivalents to USB for this sort of thing were
SCSI, Firewire,
eSATA and the like - or, arguably, ST-506, ESDI and PATA/ATAPI.
Agreed. I find SCSI, Firewire and eSATA all superior for attaching
external storage. We had to move away from USB to eSATA at work,
partially due to a lack of USB support via enterprise-grade VMware
(mentioned in another message) and partially due to speed. Copying 20
million files took *4 days* over USB and switching to eSATA on the
same host reduced the copy time to 18 hours. I also mentioned earlier
that I'm in the middle of a copy that started last night of 1TB that
was going to take 55 hours via USB but dropped to 31 hours when
someone with a Firewire 800 cable in her bag literally just happened
to walk in at the right moment. Firewire is no harder to plug in or
configure or use than USB, but as you pointed out earlier, is
unfortunately dying out. My old laptop had real serial, USB 2.0 and
Firewire. My new laptop has USB 2.0 and eSATA. I miss my old laptop
(though I do think eSATA is one of the few actual improvements, vs
feature curtailments, we've seen lately).
Frankly, USB has caused me less trouble than any of
them, considering
the relative volumes. No ID setting, no jumpers, no termination,
generic cables and it even works pretty smoothly across hubs, even
multiple ones. It's a wonder.
Generic cables? The ends are generic, sure, but there's A, B, mini A,
several types of mini B (one dominant, but hardly unique), and then
there's USB 1.1 vs USB 2.0 in terms of cable ratings (but will a USB
1.1-marked cable pushed to 2.0 speeds really be too noisy or is that
just marketing?) I have no less than 5 flavors of USB cables lying
around the house, though two of the 5 are the most common.
SCSI is its own nightmare, especially in the early days, and doubly so
when vendors decide to get cute (like Apple's non-standard DB25 SCSI
connector on the Mac Plus that turned into a standard for SCSI-1 but
couldn't handle Fast or Wide, etc). I've hooked up a lot of SCSI
drives and in the enterprise world, where people spend real money for
products that better "just work", they do. The consumer arena is
another matter entirely and there are lots of short cuts and wild
variations from vendor to vendor that make the situation worse. On
the desktop, when I was the one placing the orders, I bought Adaptec
and sidestepped a lot of minor-player driver and termination and
connector hassles. Unfortunately, not all of my associates did the
same, so I did have messes to contend with. SCSI _is_ standardized,
but not everyone decided to follow the standard.
That actually brings up another annoyance I have with USB - it's
trying to replace several interfaces at once - RS-232, PS/2 and SCSI -
for connecting peripherals to your machine. Insofar as it's trying to
cover all those bases, it does a passable job, but I think it merely
fills the gap passably - with the exception of reducing the variety of
connector types a consumer is exposed to (from dozens down to 3-5), it
merely replaces old problems with new problems.
-ethan