Date: Fri, 24 Dec 2010 12:26:26 +0200 From: Alexander Motin <mav@FreeBSD.org> To: Hans Petter Selasky <hselasky@c2i.net>, Adam Vande More <amvandemore@gmail.com> Cc: freebsd-scsi@freebsd.org, freebsd-usb@freebsd.org Subject: Re: Android 2.2 umass -> da failure Message-ID: <4D147552.3080504@FreeBSD.org> In-Reply-To: <201012241058.50100.hselasky@c2i.net> References: <AANLkTinMx-zNRFj%2BZLN2qP_Pa5whU8t0d2LteS%2Bjrf%2Ba@mail.gmail.com> <AANLkTing%2BuW2J4eq137%2BXnWnsGBD7tNac--Qq7a=dNgd@mail.gmail.com> <201012241058.50100.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Hans Petter Selasky wrote:
> On Friday 24 December 2010 07:21:57 Adam Vande More wrote:
>> On Thu, Dec 23, 2010 at 10:34 PM, Adam Vande More
> <amvandemore@gmail.com>wrote:
>>> Additional info
>>>
>>> It seems have something to do with how fast your at pressing the "Turn on
>>> USB Storage" on the Android interface. After connecting the usb device,
>>> if you wait a couple of seconds before pressing "Turn on USB Storage"
>>> button you won't be able to get a /dev/daX. camcontrol functions don't
>>> seem to work to get a /dev/daX either, a physical unplug, plug-in,
>>> quickly press the button is the only way I've found to mount the device.
>> Also the partition table doesn't seem to be correctly recognized after
>> this. Only /dev/da0 is present, not /dev/da0s1 Once I preform an action
>> on /dev/da0 then the slice is seen. This there a way to automate this
>> tasting?
>
> Can you try 9-current. I think there might be a fix for this issue there.
That patch was merged to 8-STABLE. This is different problem.
Phrase "SCSI sense: Error code 0x72" means that device returned sense
data in "descriptor" format. As I can see, our code supports only
"fixed" format. As kind of dirty hack, this patch should probably help:
--- scsi_da.c.prev 2010-10-24 21:53:16.000000000 +0300
+++ scsi_da.c 2010-12-24 12:25:03.000000000 +0200
@@ -1763,6 +1763,10 @@ dadone(struct cam_periph *periph, union
"size failed: %s, %s",
sense_key_desc,
asc_desc);
+ } else if ((have_sense) &&
+ (error_code == 0x72)) {
+ scsi_sense_print(
+ &done_ccb->csio);
} else {
if (have_sense)
scsi_sense_print(
--
Alexander Motin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D147552.3080504>
