Hi,

My girlfriend's 1gb lexar USB memory stick stopped working today, and I was 
hoping someone could advise what I could do to retrieve the non-backed up 
data...

When it is plugged in, the following is written to /var/log/messages:

usb 5-6: new high speed USB device using ehci_hcd and address 12
usb 5-6: configuration #1 chosen from 1 choice
scsi7 : SCSI emulation for USB Mass Storage devices
scsi 7:0:0:0: Direct-Access              USB MEMORY BAR   1000 PQ: 0 ANSI: 0 
CCS
sd 7:0:0:0: [sdb] 11 512-byte hardware sectors (0 MB)
sd 7:0:0:0: [sdb] Write Protect is off
sd 7:0:0:0: [sdb] 11 512-byte hardware sectors (0 MB)
sd 7:0:0:0: [sdb] Write Protect is off
 sdb:<6>usb 5-6: reset high speed USB device using ehci_hcd and address 12
usb 5-6: reset high speed USB device using ehci_hcd and address 12
usb 5-6: USB disconnect, address 12
sd 7:0:0:0: [sdb] Result: hostbyte=DID_NO_CONNECT 
driverbyte=DRIVER_OK,SUGGEST_OK
end_request: I/O error, dev sdb, sector 0

<snip... above messages repeated many times>

then much the same followed by
usb 5-6: reset high speed USB device using ehci_hcd and address 13
sd 8:0:0:0: [sdb] Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK,SUGGEST_OK

and much of this:
end_request: I/O error, dev sdb, sector 1
end_request: I/O error, dev sdb, sector 0

eventually:
unable to read partition table
sd 8:0:0:0: [sdb] Attached SCSI removable disk
sd 8:0:0:0: Attached scsi generic sg2 type 0


lsusb gives the following information:
Bus 005 Device 013: ID 090c:3000 Feiya Technology Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x090c Feiya Technology Corp.
  idProduct          0x3000
  bcdDevice            1.00
  iManufacturer           1 Silicon Motion,Inc.
  iProduct                2 SM321AA MEMORY BAR
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk (Zip)
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval             255
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval             255
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

... and /proc/partitions:
   8    16    11       sdb

(fwiw, uname -a gives: Linux glow 2.6.22-14-generic #1 SMP Tue Dec 18 08:02:57 
UTC 2007 i686 GNU/Linux)

So it seems the device is reported as 512 byte sectors x 11 sectors, but you 
can't read from any of it (read error).  This is obviously an incorrect size, 
is there some way I can force it to a reasonable guessed size, so I can run 
dd_recover?  (or anything else I can do?)

Thanks,
Hamish.

PS. please cc me

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to