where is kern.ca.da.no_6_byte?
tlambert2 at mindspring.com
Tue Jul 22 23:32:40 PDT 2003
"Kenneth D. Merry" wrote:
> On Sun, Jul 20, 2003 at 19:40:58 +0200, Harald Schmalzbauer wrote:
> > Why has this tunable by default a value which makes the machine unstable by
> > every umass I plug in which has no "qirk" entry? And if I look how many
> > quirks there are I assume that almost every device needs no_6byte set.
> > Why not make it default? Perhaps this would prevent criminal people from
> > intentionally crashing servers when intruding my serverroom armed with
> > dozends of USB devices;)
> The problem is that some devices can't handle 6 byte commands, and some
> devices can't handle 10 byte commands. If we "fix" things for one set of
> devices we'll break things for another.
> You're correct that many USB devices need 10 byte CDBs from the outset,
> because they're so broken that if they get a CDB they don't recognize, they
> hang up.
> We have code in the da(4) driver now that detects errors from a device
> in response to a 6 byte command and tries a 10 byte command instead, but
> that doesn't help if the device hangs the first time it gets a 6 byte
I guess this is a problem if the device is self-powered, but
otherwise you should be able to reset it by powering it down
and back up, worst case.
If the things explode on 6-when-expecting-10, are there also
those that explode on 10-when-expecting-6? If not, it seems
that you could try 10 first then fall back to 6. Murphey says
these things would exist, though, if only to keep you from
working around the problem that way.
If the reason it's hung is it wants 4 more bytes... might it
be possible to just send it 4 more bytes to unhang it?
As far as I'm concerned, USB is a Very Black Art(tm), and has
been since day one. 8-(. You have to wonder how Windows
More information about the freebsd-current