uvisor(4) and Palm Z22 under 8.X
Hans Petter Selasky
hselasky at freebsd.org
Mon Aug 3 06:33:55 UTC 2009
On Sunday 02 August 2009 22:18:16 Marc Fonvieille wrote:
> On Sun, Aug 02, 2009 at 10:15:23PM +0200, Marc Fonvieille wrote:
> > Attach for real the patch
>
> Sorry, I dunno why attachement is not working today, here's the patch:
>
Hi,
Can you verify that the driver works with 1024 byte buffers (RX+TX), and the
other changes made. The comment in the old driver does not apply any more.
Alternativly, try:
TX buffer 1024 bytes:
RX buffer 0 bytes (which makes it use wMaxPacketSize).
--HPS
>
> Index: uvisor.c
> ===================================================================
> --- uvisor.c (revision 196038)
> +++ uvisor.c (working copy)
> @@ -95,7 +95,8 @@
>
> #define UVISOR_CONFIG_INDEX 0
> #define UVISOR_IFACE_INDEX 0
> -#define UVISOR_BUFSIZE 1024 /* bytes */
> +#define UVISORIBUFSIZE 64 /* bytes */
> +#define UVISOROBUFSIZE 32 /* bytes */
>
> /* From the Linux driver */
> /*
> @@ -208,7 +209,7 @@
> .type = UE_BULK,
> .endpoint = UE_ADDR_ANY,
> .direction = UE_DIR_OUT,
> - .bufsize = UVISOR_BUFSIZE, /* bytes */
> + .bufsize = UVISOROBUFSIZE, /* bytes */
> .flags = {.pipe_bof = 1,.force_short_xfer = 1,},
> .callback = &uvisor_write_callback,
> },
> @@ -217,7 +218,7 @@
> .type = UE_BULK,
> .endpoint = UE_ADDR_ANY,
> .direction = UE_DIR_IN,
> - .bufsize = UVISOR_BUFSIZE, /* bytes */
> + .bufsize = UVISORIBUFSIZE, /* bytes */
> .flags = {.pipe_bof = 1,.short_xfer_ok = 1,},
> .callback = &uvisor_read_callback,
> },
> @@ -375,7 +376,7 @@
> struct uvisor_connection_info coninfo;
> struct uvisor_palm_connection_info pconinfo;
> uint16_t actlen;
> - uWord wAvail;
> +/* uWord wAvail;*/
> uint8_t buffer[256];
>
> if (sc->sc_flag & UVISOR_FLAG_VISOR) {
> @@ -497,7 +498,7 @@
> }
> }
> DPRINTF("getting available bytes\n");
> - req.bmRequestType = UT_READ_VENDOR_ENDPOINT;
> +/* req.bmRequestType = UT_READ_VENDOR_ENDPOINT;
> req.bRequest = UVISOR_REQUEST_BYTES_AVAILABLE;
> USETW(req.wValue, 0);
> USETW(req.wIndex, 5);
> @@ -506,7 +507,7 @@
> if (err) {
> goto done;
> }
> - DPRINTF("avail=%d\n", UGETW(wAvail));
> + DPRINTF("avail=%d\n", UGETW(wAvail));*/
>
> DPRINTF("done\n");
> done:
> @@ -586,7 +587,7 @@
> tr_setup:
> pc = usbd_xfer_get_frame(xfer, 0);
> if (ucom_get_data(&sc->sc_ucom, pc, 0,
> - UVISOR_BUFSIZE, &actlen)) {
> + UVISOROBUFSIZE, &actlen)) {
>
> usbd_xfer_set_frame_len(xfer, 0, actlen);
> usbd_transfer_submit(xfer);
More information about the freebsd-usb
mailing list