uvisor(4) and Palm Z22 under 8.X

Marc Fonvieille blackend at freebsd.org
Sun Aug 2 19:49:19 UTC 2009


Hello,

I did some progress.
I read 7.X uvisor.c code and I noted this:

/*
 * Crank down UVISORBUFSIZE from 1024 to 64 to avoid a problem where
 * the Palm device and the USB host controller deadlock. The USB host
 * controller is expecting an early-end-of-transmission packet with 0
 * data, and the Palm doesn't send one because it's already
 * communicated the amount of data it's going to send in a header
 * (which ucom/uvisor are oblivious to). This is the problem that has
 * been known on the pilot-link lists as the "[Free]BSD USB problem",
 * but not understood.
 */
#define UVISORIBUFSIZE 64
#define UVISOROBUFSIZE 1024

So I changed UVISOR_BUFSIZE from 1024 to 64 on uvisor.c from 8.X and
bingo some transferts worked, actually backup and files list worked but
I wasn't able to install files.  So I modified uvisor.c to use 2
different buffer sizes as it's done on 7.X (see attached patch).
I tried different couples of bufsize to eventually find a working one.

Now everything is working.  I just note that sometimes during backup of
a large file, if there is activity on my box (USB activity I think) the
transfert of the file fails but it can be fixed at next launch of the
backup.

Well I dunno if it's ready to be committed but it allows me to use my
Palm Z22 under 8.0-CURRENT.

-- 
Marc


More information about the freebsd-usb mailing list