# external USB HDD failure [SOLVED]

## enhorabuena

Hi guys

I can't mount anymore my external usb hdd. Dmesg says:

```
SCSI device sda: 632672208 512-byte hdwr sectors (323928 MB)

sda: test WP failed, assume Write Enabled

sda: assuming drive cache: write through

```

So hdd is still seen at booting, but later

```
sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

Adding 297192k swap on /dev/hdc3.  Priority:-1 extents:1 across:297192k

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

 unable to read partition table

sd 0:0:0:0: Attached scsi disk sda

sd 0:0:0:0: Attached scsi generic sg0 type 0

usb-storage: device scan complete

eth0: network connection up using port A

    speed:           10

    autonegotiation: yes

    duplex mode:     half

    flowctrl:        none

    irq moderation:  disabled

    scatter-gather:  disabled

    tx-checksum:     disabled

    rx-checksum:     disabled

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

Buffer I/O error on device sda, logical block 1

Buffer I/O error on device sda, logical block 2

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0

[drm] Initialized drm 1.1.0 20060810

[drm] Initialized radeon 1.26.0 20060524 on minor 0

[drm] Used old pci detect: framebuffer loaded

agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0.

agpgart: Putting AGP V3 device at 0000:00:00.0 into 4x mode

agpgart: SiS delay workaround: giving bridge time to recover.

agpgart: Putting AGP V3 device at 0000:01:00.0 into 4x mode

[drm] Setting GART location based on new memory map

[drm] Loading R200 Microcode

[drm] writeback test succeeded in 1 usecs

sd 0:0:0:0: SCSI error: return code = 0x08000002

sda: Current: sense key=0x4

    ASC=0x4b ASCQ=0x0

end_request: I/O error, dev sda, sector 0

Buffer I/O error on device sda, logical block 0
```

Does this mean that hdd has crashed?Last edited by enhorabuena on Thu Jul 12, 2007 4:05 pm; edited 1 time in total

----------

## NeddySeagoon

enhorabuena,

It can mean many things. The USB cable can have a problem, the PC can have a problem.

You may have a mix of USB 2 and USB 1 devices on the same root hub.

The hdd itself may have a problem

You don't show us the usb device being detected.

On the bad news front, LBA 0 is the master boot record. That cannot be relocated. IF that sector is really damaged, the drive is scrap. However, it may still be possible to recover your data.

Are you able to open the USB enclosure are fit the drive inside a PC?

That would eliminate the USB subsystem and the enclosure electronics at a stroke.

----------

## enhorabuena

Thank you, NeddySeagoon for replying so fast. Well, I apologize for omitting some details in my previous post. When turning on the hdd, the led is also on for several seconds (as when it runs ok) but immediately after start flashing for less than a second and then stop lighting for about 2 seconds, then flashing again, stopping and so on. When flashing there is a sound as when hdd head is searching for data. After about 5 min the led is on and there is no noise (except that for spinning).

I don't think is a USB problem. I plugged a USB stick just in the same slot I plugged the hdd previously and it works properly. Some lines I found in dmesg about usb are:

 *Quote:*   

> usb usb1: configuration #1 chosen from 1 choice
> 
> hub 1-0:1.0: USB hub found
> 
> hub 1-0:1.0: 6 ports detected
> ...

 

I'll try to connect the hdd to another computer and I'll let you know as soon as possible

----------

## NeddySeagoon

enhorabuena,

You are using the wrong USB driver.

```
usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 6 ports detected

ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI) 
```

That you have 6 ports, suggests that this hardware is USB 2 capable. that you are using the  'Open' Host Controller (OHCI) Driver, says you are using USB 1.1 drivers.

Thats bad for several reasons:-

1) The USB 1.1 data rate is 12 Mbit/sec, USB 2 is 480MBit/sec

2) USB 2 devices, like your hard drive are supposed to fall back to USB 1 when they have to but many don't work properly at the lower speed.

There is a complication - you must not mix USB 1 and USB 2 devices on the same root hub. In this case, a root hub usually provides two USB connectors on your PC.

I suspect your kernel is missing EHCI-HCD support to allow the drive to work at USB 2 speeds or you have a mix of standards on the same root hub. Try

```
$ grep EHCI /usr/src/linux/.config

CONFIG_USB_ARCH_HAS_EHCI=y

CONFIG_USB_EHCI_HCD=m
```

show I have EHCI support as a module. Thats ok as long as its loaded, look in

```
lsmod
```

```
# CONFIG_USB_EHCI_HCD is not set
```

is a bad thing. If you get that fix your kernel.

----------

## enhorabuena

Once again thanks for replying NeddySeagoon

Perhaps there is a mess in my kernel regarding USB1 and USB2. I remember that I had to enable OHCI to be able to use the mouse. Please be patient, I'm still a noob. This is the grep result:

```
grep EHCI /usr/src/linux/.config 

CONFIG_USB_ARCH_HAS_EHCI=y

CONFIG_USB_EHCI_HCD=y

# CONFIG_USB_EHCI_SPLIT_ISO is not set

# CONFIG_USB_EHCI_ROOT_HUB_TT is not set

# CONFIG_USB_EHCI_TT_NEWSCHED is not set
```

EHCI-HCD is compiled in the kernel. What should I modify?

Meanwhile I mounted the usb hdd on another computer and it is recognized by bios, but, when booting it says "Secondary Master Hard Disk Error". I'm afraid the disk is gone. Is there any change to get some data from it?

----------

## NeddySeagoon

enhorabuena,

It doesn't sound good if the drive won't on anothr computer too

Your grep shows that the kernel compiled as a result of that config will have USB 2 support.

However, theres lots of ways of messing up a kernel build and install, so its possible that config may not relate to your running kernel

If you a file /proc/config.gz you can test your running kernel directly with 

```
zgrep EHCI /proc/config.gz
```

zgrep works on compressed files. If you can't do this test, check the date/time on the .config file with

```
ls -l /usr/src/linux/.config
```

and compare it with the date/time from 

```
uname -a
```

which is the date/time the running kernel was compiled. 

uname -a must show a later date/time than the .config, or it can't have been derived from it. Does that check work ?

You mouse will be USB 1.1, so you need both USB 1.1 and USB 2 drivers. However, you need to be careful how the devices are connected.

You must not mix standards on the same USB (root) hub since each can only be either USB 1 or USB 2 but not both at the same time.

You may get some data back from the drive but not over USB. Most USB enclosures support only a subset of the possible drive commands and attempts at raw access needed to read without using a filesystem, will probably fail, even on a good drive.

To attempt recovery, you need enough space to make an image of the drive, yet more space to save recovered data, since recovery in place is usually not possible and the drive will need to be installed in a PC so the USB interface does not block low level commands.

----------

## enhorabuena

These are the listings of zgrep, ls and uname. Seems ok, isn't it?

```
zgrep EHCI /proc/config.gz 

CONFIG_USB_ARCH_HAS_EHCI=y

CONFIG_USB_EHCI_HCD=y

# CONFIG_USB_EHCI_SPLIT_ISO is not set

# CONFIG_USB_EHCI_ROOT_HUB_TT is not set

# CONFIG_USB_EHCI_TT_NEWSCHED is not set
```

```
ls -l /usr/src/linux/.config

-rw-r--r-- 1 root root 42347 Apr  5 10:05 /usr/src/linux/.config
```

```
uname -a

Linux mariposa 2.6.18-gentoo-r1 #9 Thu Apr 5 10:06:33 CET 2007 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz GenuineIntel GNU/Linux
```

----------

## NeddySeagoon

enhorabuena,

Yes - thats good. 

It looks like you have both USB standards mixed up on the same root hub then, because your HDD was trying to use the OHCI USB 1 driver.

Plug the USB drive directly into the PC, using a pair of connectors thats not used for anything else.

```
emerge usbview
```

It will show you a tree view of your devices.

----------

## enhorabuena

Did it. It says that on OHCI Host Controller is Optical USB Mouse and on EHCI Host Controller is USB Mass Storage Device. Does this mean that there is no mix between USB 1 and USB 2?

----------

## NeddySeagoon

enhorabuena,

Probably.  post your /proc/bus/usb/devices so I can see it in usbview for myself

----------

## enhorabuena

Well, it's a file of 0 bytes!

```
ls -all /proc/bus/usb/devices 

-r--r--r-- 1 root root 0 May 26 20:06 /proc/bus/usb/devices
```

----------

## blop

I have quite the same problem. Here is some info about it:

I have a usb dvb receiver and new usb hard drive that are not working anymore. My usb keyboard and mouse work as before. The problem started after emerge --update world when several packages were updated. At the same time I started using the new usb hard disk which worked fine for the 1st time.

dmesg gives the following:

usb 1-5: device descriptor read/64, error -32

usb 1-5: device descriptor read/64, error -32

usb 1-5: new high speed USB device using ehci_hcd and address 21

usb 1-5: device not accepting address 21, error -32

usb 1-5: new high speed USB device using ehci_hcd and address 22

usb 1-5: device not accepting address 22, error -32

The output is the same everytime I unplug/plug the device (both the dvb and the disk), ofcourse the addresses change (21, 22...) 

----------

## NeddySeagoon

enhorabuena,

Thats worrying - that says your USB is stone dead. Its the file that usbview looks at

----------

## NeddySeagoon

blop,

You have both USB2 and USB 1 root hubs but accoring to your /proc/bus/usb/devices, there is only your USB1 receiver connected. No USB 2 devices at all

You 2.6.17 kernel is quite old, so its worth an update, I'm on 2.6.21 now, so either 2.6.19 or 2.6.21 will be stable.

Watch out for the change to the location of the SATA options in the kernel. make oldconfig can't cope, you must set them by hand.

----------

## blop

I tried the 2.6.20-r8 kernel and it was just the same. Usb devices worked fine with the current kernel and setup, but for some reason stopped workin after major package update. Kernel wasn't updated at that time.

Also /proc/bus/usb/devices shows that I have the ehci (USB2.0) controller. On the other hand dmesg tells that there is a 'device descriptor read/64, error -32' and that device is not accepting address.

I don't se why usb2.0 devices stopped working.

----------

## NeddySeagoon

blop,

Can you try connecting only your USB 2 devices to see if that makes a difference?

You will need to use a PS/2 keyboard and you can manage without a mouse, since you only need dmesg.

Have you reorganised your USB wiring - any of it, or added a USB hub. Not all USB 2 devices are happy to work via a hub.

----------

## blop

No difference without the usb1.1 devices. The error message is the same. I even booted the machine with only the usb 2.0 device attached.

I haven't made any rewiring and have no hubs. The only obvious thing I can say is that I have the new usb harddisk which worked and the dvb receiver. After using the usb-disk they haven't worked. 

Other thing is the update, but I don't see how it could have anything to do with the boot up process and noticing the devices.

----------

## NeddySeagoon

blop,

Are your USB 2 devices 'self poered' with separate power brick or are they powered by the PC, down the USB cable ?

Some individual devices take very close to the 500mA maximum that a root hub can provide for *all* connected devices.

Over current protection is provided in a number of ways but resetting it usually involves powering down and removing excess devices.

----------

## blop

Hard disk has external power supply. dvb is just kind of a stick and the mouse and keyboard work through the rf-receiver (wireless).

----------

## blop

That did it!

I shut down the computer, switched off the power supply and it worked! When I inserted the usb hard drive with auto power-on it made the dvb-receiver to go off.

Thank you!

----------

## NeddySeagoon

blop,

Put your three USB devices on separate root hubs.

If you only have two pairs on the outside of the case, you need a backplace to bring out the 3rd pair.

edit ====

When the devices are working, usbview will show how much power then need from the computer.

My webcam shows 

```
   MaxPower Needed: 500mA
```

which is a root hub full. It can't share with anything else.

----------

## blop

Ok, the dvb-receiver takes all 500mA from the other root hub. I'll need to put the usb disk on the backplace to make it work. I'd have never guessed that dvb-stick could use so much current!

Thanks again, hopefully we'll sort out enhorabuenas problem as well.

blop

----------

## enhorabuena

 *NeddySeagoon wrote:*   

> enhorabuena,
> 
> Thats worrying - that says your USB is stone dead. Its the file that usbview looks at

 

Well, I'm confused about that /proc/bus/usb/devices file. Nevertheless usbview shows that my mouse and usb hdd are plugged in. It says that for usb hdd MaxPowerNeeded is 96 mA while for the mouse MaxPowerNeeded is 100 mA.

----------

## Monkeh

Ignore the size of files under /proc, few of them have any reported size. Just cat it.

----------

## NeddySeagoon

enhorabuena,

What Monkeh says is correct, files in /proc don't actually exist until you read them. 

They are kernel data structures that can be read (and sometimes written) as if they were files.

Put it down to brain fade on my part.

I see many more /proc/bus/usb/devices files that I have saved on my hdd than I do out of a live /proc

----------

## enhorabuena

Sorry guys for being so novice. Here is /proc/bus/usb/devices

```
cat /proc/bus/usb/devices 

T:  Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc= 11/900 us ( 1%), #Int=  1, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.18-gentoo-r1 ohci_hcd

S:  Product=OHCI Host Controller

S:  SerialNumber=0000:00:03.2

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=046d ProdID=c016 Rev= 3.40

S:  Manufacturer=Logitech

S:  Product=Optical USB Mouse

C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid

E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=10ms

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.18-gentoo-r1 ohci_hcd

S:  Product=OHCI Host Controller

S:  SerialNumber=0000:00:03.1

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.18-gentoo-r1 ohci_hcd

S:  Product=OHCI Host Controller

S:  SerialNumber=0000:00:03.0

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 6

B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.18-gentoo-r1 ehci_hcd

S:  Product=EHCI Host Controller

S:  SerialNumber=0000:00:03.3

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=480 MxCh= 0

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=05e3 ProdID=0702 Rev= 0.33

S:  Manufacturer=Genesyslogic

S:  Product=USB Mass Storage Device 

C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 96mA

I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=125us

cat /proc/bus/usb/devices 

T:  Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc= 11/900 us ( 1%), #Int=  1, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.18-gentoo-r1 ohci_hcd

S:  Product=OHCI Host Controller

S:  SerialNumber=0000:00:03.2

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=046d ProdID=c016 Rev= 3.40

S:  Manufacturer=Logitech

S:  Product=Optical USB Mouse

C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid

E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=10ms

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.18-gentoo-r1 ohci_hcd

S:  Product=OHCI Host Controller

S:  SerialNumber=0000:00:03.1

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.18-gentoo-r1 ohci_hcd

S:  Product=OHCI Host Controller

S:  SerialNumber=0000:00:03.0

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 6

B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.18-gentoo-r1 ehci_hcd

S:  Product=EHCI Host Controller

S:  SerialNumber=0000:00:03.3

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=480 MxCh= 0

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=05e3 ProdID=0702 Rev= 0.33

S:  Manufacturer=Genesyslogic

S:  Product=USB Mass Storage Device 

C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 96mA

I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=125us
```

----------

## NeddySeagoon

enhorabuena,

That setup is good, 

Your mouse appears indented under an OHCI Host controller, so its running as USB 1

The hard drive appears under an EHCI host controller, so its running USB2.

There are no Host Controllers with a mix of USB 1 and USB 2 devices.

Look at the details of the disk drive, you have 

```
Speed: 480Mb/s (high)
```

which is USB 2

You don't have any power problems like blop because you have two devices on separate controllers.

It looks like its time to open the box and install the drive in a PC. There is one quick test you can do first though.

Use the mount command

```
mount -t <fstype> -o ro,offset=32256 /dev/sda /mnt/<someplace> 
```

the <fstype> option you need to replace with ext2, ext3, rieserfs ... to suit your drive

ro means read only, so you can't make it worse than it already is.

offset=32256 is the number of bytes from the start of the drive to the start of the filesystem to be mounted. On a PC, that would be the first partition on the drive. This skips using the partition table (yours may be damaged - recall the errors at LBA 0)

I really do mean sda and not sda1 because we are mounting something from the start of the drive. If your USB drive is not sda, change to suit.

Lastly, the 32256 number may be out by 512, so if it can't find anything to mount, try +/- 512 on the 32256.

----------

## enhorabuena

NeddySeagoon,

I've tried to mount the hdd as you said, but I got the following error:

```
mount: /dev/loop0: can't read superblock
```

I also added and then decreased 512 to the offset, without any success. A mention: I did that with hdd on usb, on my laptop. I think I have to try the same but after taking it off from the enclosure and putting in another computer. I'll let you know as soon as I do that.

Thanks

----------

## NeddySeagoon

enhorabuena,

It should not be attempting to use /dev/loop0, thats for mounting a file containing a filesystem.

Thats odd. 

ext3 has backup superblocks which can be used by both mount and e2fsck, for instances when the primary superblock is damaged. man mount and man e2fsck tell you the detials. Beware, e2fsck works in disk allocation blocks (4k for you) and mount uses 1k blocks. The factor of 4 is important to success.

----------

## enhorabuena

 *NeddySeagoon wrote:*   

> enhorabuena,
> 
> It should not be attempting to use /dev/loop0, thats for mounting a file containing a filesystem.
> 
> Thats odd. 
> ...

 

NeddySeagoon,

The usb hdd is vfat, not ext3. I forgot to mention that. I used vfat because I wanted to share data with another computers.

----------

## Roman_Gruber

Do you know that there are ext2-fs-utils for windows, so you can read and write on ext2/3?

The other way round is to use ntfs3g and use ntfs.

----------

## enhorabuena

 *tw04l124 wrote:*   

> Do you know that there are ext2-fs-utils for windows, so you can read and write on ext2/3?
> 
> The other way round is to use ntfs3g and use ntfs.

 

tw04l124,

The filesystem on my usb hdd is vfat, so I don't think I need ext2fs utils for windows to access it. Ext2fs would help me to access a ext2/3 filesystem from windows. I want to access a vfat hdd from linux. 

Thanks

----------

## NeddySeagoon

enhorabuena,

The same approach works, except there are no backup superblocks on vfat.

Use -t vfat in place of -t ext3 in the mount command.  It should still not try to use /dev/loop0

You will need vfat support in your kernel and later, dosfstools. Do *not* run fsck until we know more.

It frequently makes a bad situation worse.

vfat does provide two copies of the Volume Boot Record and two copies of the File Allocation Table.

----------

## enhorabuena

NeddySeagoon thatks for your patience. It seems that I'm not lucky

```
mount -t vfat -o ro,offset=32256 /dev/sda /mnt/hard

mount: /dev/loop0: can't read superblock
```

Tried with +512. The same result.  With -512 I got

```
mount -t vfat -o ro,offset=31744 /dev/sda /mnt/hard

mount: wrong fs type, bad option, bad superblock on /dev/loop0,

       missing codepage or other error

       In some cases useful info is found in syslog - try

       dmesg | tail  or so

```

I didn't run fsck at all.

----------

## NeddySeagoon

enhorabuena,

You next step is to make an image of the drive onto a larger drive so you can also make a log of the recovery operation.

```
emerge dd-rhelp
```

to do that. You should not expect it to work over USB as it uses low level disk commands to read what it can, skipping errors.

Read about dd_rhelp here

I'm still concerned by

```
mount: /dev/loop0: can't read superblock
```

as /dev/loop0 should not be involved.

Its time to ask yourself how much time and effort you want to put into this recovery.

Making the image is not a lot of work for you but with a damaged drive, the process will never complete. You will get an image with holes in it, where data could not be read from the damaged drive. What you get back depends on were the holes are.

----------

## enhorabuena

NeddySeagoon,

I'll try to make the image. Have to find another hdd first. I'll let you know as soon as possible.

----------

## enhorabuena

Well, I'm happy to see my data back after a long recovery process. It took me about 2 weeks to make the image of a 300 Gb hdd using dd-rhelp. After fixing VBR I was able to mount the image and to recover the data.

Thank you, NeddySeagoon

----------

