Skip site navigation (1)Skip section navigation (2)
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>