Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Apr 2002 21:20:55 +0200 (CEST)
From:      Nick Hibma <n_hibma@van-laarhoven.org>
To:        Brian Dean <bsd@bsdhome.com>
Cc:        Doug White <dwhite@resnet.uoregon.edu>, "freebsd-hackers@FreeBSD.ORG" <freebsd-hackers@FreeBSD.ORG>
Subject:   Re: USB to IDE converter
Message-ID:  <20020410211417.W27956-100000@heather.van-laarhoven.org>
In-Reply-To: <20020407095421.A70054@neutrino.bsdhome.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Have a look in the sys/dev/usb/umass.c driver and remove the check for
the CSW tag. I wouldn't be surprised if the firmware is buggered and
doesn't copy the tag from the incoming request into the outgoing packet.

Like so:

heather:n_hibma% diff -wu umass.c.2~ umass.c.2
--- umass.c.2~  Wed Apr 10 21:17:58 2002
+++ umass.c.2   Wed Apr 10 21:17:28 2002
@@ -1500,6 +1500,7 @@

                        umass_bbb_reset(sc, STATUS_WIRE_FAILED);
                        return;
+#if 0
                } else if (UGETDW(sc->csw.dCSWTag)
                                != UGETDW(sc->cbw.dCBWTag)) {
                        printf("%s: Invalid CSW: tag %d should be %d\n",
@@ -1509,6 +1510,7 @@

                        umass_bbb_reset(sc, STATUS_WIRE_FAILED);
                        return;
+#endif

                /* CSW is valid here */
                } else if (sc->csw.bCSWStatus > CSWSTATUS_PHASE) {


But your firmware is definitely screwed.

Nick

Tech note: The tag is there to enable a driver to send multiple
concurrent requests and manage the replies. So for us it is not really a
problem to ignore it as we do not do concurrent requests (nor does any
firmware actually support it as far as I know).


On Sun, 7 Apr 2002, Brian Dean wrote:

> On Sat, Apr 06, 2002 at 11:41:35PM -0800, Doug White wrote:
> >
> > 'camcontrol rescan 1'?
>
> That provoked this response:
>
> Apr  7 09:36:21 neutrino /kernel: umass1: GoodWay USBIDE GoodWay USBIDE, rev 1.10/2.60, addr 3
> Apr  7 09:36:21 neutrino /kernel: umass1: Invalid CSW: tag 2359384 should be 1
> Apr  7 09:36:21 neutrino /kernel: umass1: Invalid CSW: tag 2359384 should be 2
> Apr  7 09:36:21 neutrino /kernel: umass1: Invalid CSW: tag 2359384 should be 3
> Apr  7 09:36:21 neutrino /kernel: umass1: Invalid CSW: tag 2359384 should be 4
> Apr  7 09:36:21 neutrino /kernel: umass1: Invalid CSW: tag 2359384 should be 5
>
> Other than that, no change.
>
> -Brian
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message
>

-- 
n_hibma@van-laarhoven.org                  http://www.van-laarhoven.org/
n_hibma@FreeBSD.org                        http://www.etla.net/~n_hibma/


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020410211417.W27956-100000>