kern/62257: card reader UCR-61S2B is only half-supported
Arne Wörner
arne_woerner at yahoo.com
Mon Dec 20 08:30:28 PST 2004
The following reply was made to PR kern/62257; it has been noted by GNATS.
From: Arne "Wörner" <arne_woerner at yahoo.com>
To: freebsd-gnats-submit at FreeBSD.org
Cc:
Subject: Re: kern/62257: card reader UCR-61S2B is only half-supported
Date: Mon, 20 Dec 2004 08:29:49 -0800 (PST)
I tried this (advice of "Hans Petter Selasky" <hselasky at c2i.net>)
and it did not work:
----------------------------
1) add the following to umass.c before "Static int
umass_match_proto":
static void
umass_dummy_callback(usbd_xfer_handle xfer, usbd_private_handle
priv,
usbd_status err)
{
return;
}
static void
umass_init_ucr(struct umass_softc *sc)
{
usbd_xfer_handle xfer;
xfer = usbd_alloc_xfer(sc->sc_udev);
if(!xfer) return;
usbd_setup_xfer(xfer, sc->bulkout_pipe, NULL,
"\xec\x0a\x06\x00$PCCHIPS",
sizeof("\xec\x0a\x06\x00$PCCHIPS")-1,
0,
USBD_DEFAULT_TIMEOUT, umass_dummy_callback);
usbd_sync_transfer(xfer);
usbd_free_xfer(xfer);
return;
}
2) and where you find the function umass_init_shuttle called, add
umass_init_ucr(sc):
if (sc->quirks & SHUTTLE_INIT)
umass_init_shuttle(sc);
umass_init_ucr(sc);
3) I am not sure if the string is right.
------------------------
It's probably the trick beeing applied wrongly.
You could try to change:
usbd_setup_xfer(xfer, sc->bulkout_pipe, NULL,
"\xec\x0a\x06\x00$PCCHIPS",
sizeof("\xec\x0a\x06\x00$PCCHIPS")-1,
0,
USBD_DEFAULT_TIMEOUT, umass_dummy_callback);
into:
usbd_setup_xfer(xfer, sc->bulkout_pipe, NULL,
"\xec\x0a\x06\x00$PCCHIPS\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
UMASS_BBB_CBW_SIZE,
0,
USBD_DEFAULT_TIMEOUT, umass_dummy_callback);
though it doesn't work with my cardreader, it might work with
yours.
----------------------
-Arne
__________________________________
Do you Yahoo!?
Take Yahoo! Mail with you! Get it on your mobile phone.
http://mobile.yahoo.com/maildemo
More information about the freebsd-bugs
mailing list