Hi!

First of all sorry if this is the wrong place to ask, if it is, please point me to a better suited channel!

Anyway I’ve got this old 2TB HDD attached to a rpi 4b, it worked flawlessly until now, the last few days it started disconnecting randomly…

If i reboot it mounts back again.

This is the df output:

/dev/sdb1       1.8T  535G  1.2T  31% /mnt/2tb

And this is sudo dmesg | grep sdb (the device is sdb ofc).

[   14.970908] sd 1:0:0:0: [sdb] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
[   14.978857] sd 1:0:0:0: [sdb] 4096-byte physical blocks
[   14.984484] sd 1:0:0:0: [sdb] Write Protect is off
[   14.989382] sd 1:0:0:0: [sdb] Mode Sense: 43 00 00 00
[   14.989684] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   15.044802] sd 1:0:0:0: [sdb] Preferred minimum I/O size 4096 bytes
[   15.051196] sd 1:0:0:0: [sdb] Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
[   15.065585]  sdb: sdb1
[   15.068403] sd 1:0:0:0: [sdb] Attached SCSI disk
[   22.631983] EXT4-fs (sdb1): recovery complete
[   22.660922] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Quota mode: none.

The device has an external power supply of its own, so it’s not a power issue… This setup worked for a couple of years.

I cannot see anything wrong here, pheraps is the HDD which is going bad?

  • dontblinkOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    10 hours ago

    Thank you so much for taking the time to answer!

    I’m not sure how to get the N from session history, nor how to check my session history…

    but this might be some relevant output I’ve found with journalctl -k -b

    Nov 21 16:08:18 rpi kernel: usb 2-2.1-port2: cannot reset (err = -110)
    Nov 21 16:08:19 rpi kernel: usb 2-2.1-port2: cannot reset (err = -110)
    Nov 21 16:08:19 rpi kernel: usb 2-2.1-port2: Cannot enable. Maybe the USB cable is bad?
    
    Nov 21 16:41:57 rpi kernel: I/O error, dev sdb, sector 2466347032 op 0x0:(READ) flags 0x3000 phys_seg 1 prio class 2
    Nov 21 16:41:57 rpi kernel: EXT4-fs warning (device sdb1): ext4_dx_find_entry:1796: inode #75497968: lblock 42: comm apache2: error -5 reading directory block
    Nov 21 16:41:57 rpi kernel: EXT4-fs error (device sdb1): ext4_journal_check_start:83: comm apache2: Detected aborted journal
    Nov 21 16:41:57 rpi kernel: Buffer I/O error on dev sdb1, logical block 0, lost sync page write
    Nov 21 16:41:57 rpi kernel: EXT4-fs (sdb1): I/O error while writing superblock
    Nov 21 16:41:57 rpi kernel: EXT4-fs (sdb1): Remounting filesystem read-only
    
    

    The output is from yesterday, when the device stopped working correctly.

    I’m not familiar with linux kernel, but I can see there is definitely something wrong…

    The HDD (old) is attached to a USB hub (new), I tried switching port of the hub but the same issue happened again, if I try to mount it with sudo mount /mnt/2tb, it says it is already mounted:

    mount: /mnt/2tb: /dev/sdb1 already mounted on /mnt/2tb.
           dmesg(1) may have more information after failed mount system call.
    
    

    sudo dmesg | grep sdb gives back:

    [147776.801028] I/O error, dev sdb, sector 77904 op 0x0:(READ) flags 0x3000 phys_seg 1 prio class 2
    [147776.815452] EXT4-fs warning (device sdb1): htree_dirblock_to_tree:1083: inode #2: lblock 0: comm ls: error -5 reading directory block
    [147796.731734] sdb1: Can't mount, would change RO state