Subject: utoppy problems
To: None <>
From: Arto Huusko <>
List: current-users
Date: 04/12/2007 23:16:34
This is a multi-part message in MIME format.
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit


I was just testing the utoppy / utoppya using NetBSD 4.99.16
connected to a TF5100PVRc Masterpiece, and discovered some
weirdness with the toppy's filenames. Apparently all filenames
created on the toppy by the toppy itself are prefixed with
character code 5. Possibly this is not the case with other
models, but seems to be the case with my model. The problem is
that when I look at the file listing, there is no hint about
the extra character: it does not show up in the listing at all.

I discovered this when I tried to fetch files from the toppy,
and it did not work: utoppya just reported
Input/output error for the UTOPPYIOREADFILE ioctl. However,
I could transfer files to toppy, and surprisingly I could
transfer those same files back.

Next I tried the rename functionality, but at that point
utoppya reported that the file I wanted to rename did
not exist. I added some debugging prints to utoppya, and
found out about the hidden character in the file name.

Attached is a patch to utoppya that runs filenames through
strvis before printing them.

Another problem I had was that utoppy would not attach
to uhub on ehci. All I got in dmesg is:

uhub4: device problem, disabling port 6

Without ehci, it attaches fine, but the transfer time with
turbo is roughly the same as the program length in real time,
which is sort of disappointing.

Otherwise, utoppy seems to work OK, and there doesn't seem
to be any problems transferring large files. At least 2 gigs
moved over smoothly (and that with a 13 meters long cable).

Content-Type: text/plain;
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;

Index: utoppya.c
RCS file: /cvsroot/src/usr.bin/utoppya/utoppya.c,v
retrieving revision 1.2
diff -r1.2 utoppya.c
> #include <vis.h>
> 		char vispath[UTOPPY_MAX_FILENAME_LEN * 4 + 1];
> 		strvis(vispath, ud.ud_path, VIS_OCTAL);
< 		    tmbuf, ud.ud_path);
> 		    tmbuf, vispath);