A-DATA flash drive: some oddities and how to add USB quirks

Igor B. Bykhalo goshik at binep.ac.ru
Sat Nov 1 09:29:06 PST 2003

[Cc'ed to -questions. Hopefully someone knowlegeable can
 give guidelines or ask some more specific info]

From: "Tim Vanderhoek" <t.vanderhoek at utoronto.ca>
To: "Igor B. Bykhalo" <goshik at binep.ac.ru>
Sent: Saturday, November 01, 2003 8:23 AM
Subject: Re: A-DATA flash drive: some oddities and how to add USB quirks

> Were you able to get your A-DATA USB 2.0 SpeedDrive (256 MB flash drive)
> to work on FreeBSD?  What quirks (if any) did you need to use.

In short: no, it isn't functioning still, but read on...

> I've got a Soyo 128MB drive here, but I suspect that the innards may
> be very similar.  I'm hoping that whatever you used to get yours working
> will also work for mine

Is this a "CigarDrive"? If yes, then probably your are in
the same boat...

Actually, i took a "second round" attempt to make the thing work.
A week or two after my postings there were commits to usb and CAM
systems, after which the line in dmesg

> umass0: A-DATA Technology Inc. USB Mass Storage Device, rev 2.00/0.01, addr 3

changed into

> umass0: A-DATA Technology Inc. USB Mass Storage Device, rev 2.00/0.01, addr 3, 8070i (ATAPI) over Bulk-Only

See this "8070i (ATAPI) over Bulk-Only" part? I have a bad feeling
that ATAPI can be a key word for my problems.
(Before someone asks: yes, atapicam was also compiled into
the kernel.)

Anyway, i decided to try some quirks not only for scsi_da.c, but also
for umass.c. To do so for my particular hardware, i had to add HW identifiers
to src/sys/dev/usb/usbdevs and then to remake corresponding usbdevs* files
using makefile in this directory. The change was:

Index: /usr/src/sys/dev/usb/usbdevs
RCS file: /home/ncvs/src/sys/dev/usb/usbdevs,v
retrieving revision
diff -c -r1.11.2.48 usbdevs
*** /usr/src/sys/dev/usb/usbdevs 2 Sep 2003 14:35:17 -0000
--- /usr/src/sys/dev/usb/usbdevs 11 Sep 2003 13:50:54 -0000
*** 1002,1007 ****
--- 1002,1010 ----
  product PROLIFIC PL2303  0x2303  PL2303 Serial adapter (ATEN/IOGEAR UC232A)
  product PROLIFIC PL2305  0x2305 Parallel printer adapter
  product PROLIFIC ATAPI4  0x2307 ATAPI-4 Bridge Controller
+ product PROLIFIC PL2515  0x2515 PL2515 Embedded hub
+ product PROLIFIC PL2517  0x2517 PL2517 Mass Storage Device
  /* Putercom products */
  product PUTERCOM UPA100  0x047e USB-1284 BRIDGE 

Values initially were taken from the output of usbd -vv

Then i put some dummy quirk into umass.c - it only does
a printf() ("PL2517 quirk was applied"). It worked,
but something strange (to me) happened: message was
printed three times in a row! Well, possibly this
is not strange - i'm not a C person to read devices
probing code...

Then i tried some quirks mentioned here and there,
but to no avail... and here my "research" stopped
(lack of time).

So, until now the bottom line is:

If your device is made with PL-2515 chip - you'll probably
will have the same problems. Actually, i even opened mine,
and it really contains this Prolific chip.

Info on the chip:


Some technical info and Windows stuff is aviliable
via http://tech.prolific.com.tw

Sorry, this is all i have for now...

Device is still availiable, so in a week or two i'll
be able to put my hands on it again. Hints and suggestions
are welcome...


More information about the freebsd-questions mailing list