Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Sep 2010 23:06:27 +0000
From:      Alexander Best <arundel@freebsd.org>
To:        Hans Petter Selasky <hselasky@c2i.net>
Cc:        freebsd-usb@freebsd.org
Subject:   Re: problem with mobile phone
Message-ID:  <20100912230627.GA1657@freebsd.org>
In-Reply-To: <201008270904.16009.hselasky@c2i.net>
References:  <20100826215028.GA80160@freebsd.org> <201008270904.16009.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri Aug 27 10, Hans Petter Selasky wrote:
> On Thursday 26 August 2010 23:50:28 Alexander Best wrote:
> > hi there,
> > 
> > when i connect my mobile phone to a recent HEAD (amd64; r211393) i get the
> > following:
> > 
> > ugen3.3: <Samsung> at usbus3
> > umass0: <USB Mass Storage Interface> on usbus3
> > (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
> > (probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
> > (probe0:umass-sim0:0:0:0): SCSI status: Check Condition
> > (probe0:umass-sim0:0:0:0): SCSI sense: UNIT ATTENTION asc:28,0 (Not ready
> > to ready change, medium may have changed) da0 at umass-sim0 bus 0 scbus9
> > target 0 lun 0
> > da0: <Samsung SGH-i550 1.0> Removable Direct Access SCSI-0 device
> > da0: 40.000MB/s transfers
> > da0: 3777MB (7736320 512 byte sectors: 255H 63S/T 481C)
> > 
> > when i try to read stuff from the phone, it resets and i get this:
> > 
> > ugen3.3: <Samsung> at usbus3 (disconnected)
> > umass0: at uhub8, port 3, addr 3 (disconnected)
> > (da0:umass-sim0:0:0:0): AutoSense failed
> > (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0xa, scsi
> > status == 0x0 (da0:umass-sim0:0:0:0): lost device
> > (da0:umass-sim0:0:0:0): removing device entry
> > 
> > it both happens if i mount it and read files or if i directly read
> > something from the /dev/da0 device using `dd`.
> > 
> > interestingly it always crashes after the same ammount of data read:
> > 
> > dd: /dev/da0: Input/output error
> > 4+0 records in
> > 4+0 records out
> > 4194304 bytes transferred in 3.333149 secs (1258361 bytes/sec)
> > 
> > after a few retries the usb port i was using becomes unusable and nothing
> > is being detected any longer.
> > 
> > i'm pretty sure this didn't happen a few weeks ago, but now it does.
> > 
> 
> Hi,
> 
> Have you loaded the usb_quirk.ko ?
> 
> Try adding a mass storage quirk for this mass storage device, for test unit 
> ready and synchronize cache.

i've used the following commanda to add the quirks:

usbconfig add_dev_quirk_vplh 0x04e8 0x6720 0x0100 0x0100 UQ_MSC_NO_TEST_UNIT_READY
usbconfig add_dev_quirk_vplh 0x04e8 0x6720 0x0100 0x0100 UQ_MSC_NO_SYNC_CACHE

`usbconfig dump_device_quirks|grep 0x04e8` says:

VID=0x04e8 PID=0x5092 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x04e8 PID=0x6720 REVLO=0x0100 REVHI=0x0100 QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x04e8 PID=0x6720 REVLO=0x0100 REVHI=0x0100 QUIRK=UQ_MSC_NO_TEST_UNIT_READY

still no difference. as soon as i attach the device it crashes and reboots
itsself (the mobile). sometimes it doesn't, however when i read data from it it
then crashes instantly.

here are the device details:

ugen3.3: <SGH-i550 Samsung> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON


 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0020 
    bNumInterfaces = 0x0001 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0004  <Bulk transfer method configuration>
    bmAttributes = 0x00e0 
    bMaxPower = 0x0032 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0002 
      bInterfaceClass = 0x0008 
      bInterfaceSubClass = 0x0006 
      bInterfaceProtocol = 0x0050 
      iInterface = 0x0006  <USB Mass Storage Interface>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x00ff 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0001  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x00ff 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

the output of `otaku% kldstat -v|grep usb` is:

72 usbus/uhub
71 uhub/usb_linux
69 uss820/usbus
68 at91_udp/usbus
67 ehci/usbus
66 uhci/usbus
65 ohci/usbus

however `kldload usb_quirk` fails with EEXIST.

cheers.
alex

> 
> Else look for changes in SCSI area.
> 
> --HPS

-- 
a13x



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100912230627.GA1657>