Mr Ian Primus wrote:
Agreed. I *HATE* USB devices. Aside from being a
royal
pain and unreliable, it's definitely not Universal,
and it's not really much of a Bus either. I tried
using external USB 2.0 hard drives on a Macintosh
once, but every time I touched grounded metal (the
case, power strip, keyboard frame) in the vicinity,
all the USB drives unmounted.
Which suggests your 'grounded metal' may not be grounded so well.
Most of the problems I've had were with USB devices plugged into the front USB
ports - because of the length (and poor quality) of the cable inside the
machine, they'd work at 12Mbit for a flashdrive, but as soon as you go up to
480Mbit (especially with something like a scanner), the data just gets mangled.
Minolta scanners are really fussy about this sort of signal degradation, but
most other devices are more tolerant...
99% of the problems I've had with USB could be traced back to bad grounding,
bad cable or a combination of the two.
And ever used a really recent PC clone? They have
done
away with almost all I/O. No RS232C, no parallel, no
keyboard or mouse ports, it's all USB.
So now you know why I'm fiercely protective of my laptop (a Toshiba Satellite
Pro 4600) - it's a 1GHz Mobile Pentium III with Cardbus, RS232, parallel, WiFi
and USB - only USB1.1, but it's better than the modern 2GHz ubermachines that
only have USB and VGA (and even that's a push with most of them - some only
have DVI-out).
The main reason I'm using USB is speed - the fastest RS232 will work (with
standard parts) is 115200bps. That gives a maximum theoretical transfer rate
of 11.25KBytes/sec. 128KB of RAM over 11.25KB is around 11.4 seconds per
track. Multiply that by 80 tracks, and you get 910.2 seconds - 15 minutes and
10 seconds. That's not counting the second or so for each track to actually
read...
Would you wait more than 15 minutes for a disc to image?
If you assume that USB can transfer 1MByte per second (in USB2 High Speed
mode, i.e. 12Mbit/sec), then you can transfer 128Kbytes in 125 milliseconds.
Ten seconds data transfer time on top of the 80 seconds for data transfer -
roughly a minute and a half best case. You're probably looking at a maximum of
two minutes worst case - an eighth of the time it'd take to do the same thing
over RS232.
If there were easily-available (and cheap) SCSI slave controllers, and I had a
SCSI host adapter, I might consider using SCSI. Fact is though, it's much
easier just to throw in a USB PIC and program it to control the CPLD. But even
so, SCSI is total overkill anyway - it's designed for connecting fast
computers to really fast hard drives, and it does really well at that. For
scanners and other I/O peripherals I wouldn't even consider it.
We kept the old fax server. A Pentium 100.
Sometimes the old kit works far better than the new stuff. My current server
is a Linksys NSLU2, coupled to a pair of Seagate 400GB USB drives (in RAID1
mode) and a Netgear DG834GT router. The aforementioned NSLU2 runs Debian
Linux, and hasn't had a reboot in more than two weeks. The reboot before that
was because I did something monumentally stupid when I replaced the old router
with the DG834GT. Admittedly it's less than a year old, but it gets the job
done quite nicely, and uses less power than the K6 box it replaced.
Now I just need to hack together a DC UPS for it to get rid of the wall-warts
and allow it to survive a brownout/blackout until the mains sorts itself out.
--
Phil. | (\_/) This is Bunny. Copy and paste Bunny
classiccmp at philpem.me.uk | (='.'=) into your signature to help him gain
http://www.philpem.me.uk/ | (")_(") world domination.