problem with mobile phone
Alexander Best
arundel at freebsd.org
Sun Sep 12 23:06:27 UTC 2010
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
More information about the freebsd-usb
mailing list