3

I've seen a similar question arround here, but it doesn't solve my problem, because is a diferent problem.

I have an external hard disk and it works fine, but after a while being mounted and working fine, it gets unmounted and the related output of dmesg is as follows,

[22653.465263] usb 1-6: USB disconnect, device number 3
[22654.341275] Buffer I/O error on device sdb1, logical block 5851506
[22654.341285] Buffer I/O error on device sdb1, logical block 5851507
[22654.341290] Buffer I/O error on device sdb1, logical block 5851508
[22654.341295] Buffer I/O error on device sdb1, logical block 5851509
[22654.341300] Buffer I/O error on device sdb1, logical block 5851506
[22654.472971] Buffer I/O error on device sdb1, logical block 5851506
[22654.474689] Buffer I/O error on device sdb1, logical block 55417728
[22654.474698] Buffer I/O error on device sdb1, logical block 55417728
[22654.488099] Buffer I/O error on device sdb1, logical block 55417728
[22654.625318] Buffer I/O error on device sdb1, logical block 15213709
[22655.852960] usb 1-6: new high-speed USB device number 4 using ehci_hcd
[22655.986631] usb 1-6: New USB device found, idVendor=0bc2, idProduct=2300
[22655.986636] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[22655.986639] usb 1-6: Product: Portable        
[22655.986641] usb 1-6: Manufacturer: Seagate 
[22655.986644] usb 1-6: SerialNumber: 2GH1D7N9    
[22655.995937] scsi7 : usb-storage 1-6:1.0
[22656.997526] scsi 7:0:0:0: Direct-Access     Seagate  Portable         0130 PQ: 0 ANSI: 4
[22656.999376] sd 7:0:0:0: [sdc] 488397168 512-byte logical blocks: (250 GB/232 GiB)
[22657.001473] sd 7:0:0:0: [sdc] Write Protect is off
[22657.001478] sd 7:0:0:0: [sdc] Mode Sense: 2f 08 00 00
[22657.002044] sd 7:0:0:0: [sdc] No Caching mode page present
[22657.002049] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[22657.006538] sd 7:0:0:0: [sdc] No Caching mode page present
[22657.006545] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[22657.064746]  sdc: sdc1
[22657.068549] sd 7:0:0:0: [sdc] No Caching mode page present
[22657.068555] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[22657.068560] sd 7:0:0:0: [sdc] Attached SCSI disk
[22661.658006] quiet_error: 23 callbacks suppressed
[22661.658012] Buffer I/O error on device sdb1, logical block 15752430
[22661.658115] Buffer I/O error on device sdb1, logical block 15752435
[22661.809572] Buffer I/O error on device sdb1, logical block 15752430

and it goes on. I reinstalled the system a while ago and before that, it worked perfectly.

My system is Debian Wheezy up to date, and the disk is a Seagate of 250 GB (I don't know the model). I should add that I wasn't reading or writing stuff to the disk at the time of the issue.

Thanks in advance!

Edit: The device is mounted at the start of the system, and the line in fstab is as follows,

UUID=1678E1CC78E1AB27       /media/Expansion\040Drive     ntfs-3g    auto,user,rw,uid=1000,umask=077  0       0

I've read somewhere that some hard disks go to sleep mode after a while, when not used and while the usb port is on, the hard disk is sleeping. Could this be my problem? And if so, how can I correct it?

2
  • Are there any I/O errors before the first USB disconnect line?
    – John Lyon
    Commented Aug 23, 2012 at 1:12
  • Nop. I didn't see any.
    – oxio
    Commented Aug 23, 2012 at 1:38

1 Answer 1

1

My first guess is that it might be a "sleep" problem. I think I've seen posts about not buying "green" drives for NAS units because of things like this. There may be something about this in the drive's specs.

To empirically test this (and to provide a temporary fix), you could write a small shell script to periodically access the drive. If that fixes the problem, then you know what it is.

You could have this script run by cron or when you login (~/.profile) if you need it to be a "permanent" solution.

#!/bin/bash

MOUNT="/media/Expansion\040Drive" ## Your mount point
SLEEP_TIME="10m"  ## How long to sleep between accesses
while true
do
  ls "${MOUNT}" > /dev/null
  sleep "${SLEEP_TIME}"
done

To make it have even less impact on your system, you could replace ls with a touch command to update the timestamp on a (possibly empty) file on the drive.

As an aside, you can name a mount point anything you want to, so why do you need the \040"? If I did my conversions right, it's just an ASCII space in octal. You can create all the file names you want with spaces in them, but using underscores, etc. can save you a lot of problems with scripts and programs that tend to separate tokens on spaces.

2
  • I've seen also that this could be this kind of problem. I've done sort of that solution in order to keep the disk working, but I would like to keep alive the sleep feature of the disk, is there a way that I could achieve this? I found this solution (zhigang.org/blog/seagate-freeagent-auto-spindown-under-linux), but I haven't had the time to test it yet, do you think it will work?
    – oxio
    Commented Aug 31, 2012 at 22:08
  • That's beyond my pay grade. Make backups of critical data and especially, the files you will be modifying before trying those solutions.
    – Joe
    Commented Sep 2, 2012 at 18:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .