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>