收起左侧

外接机械硬盘休眠唤醒报错的可以尝试更改下传输模式,可以有效降低报错

0
回复
20
查看
[ 复制链接 ]

0

主题

3

回帖

0

牛值

江湖小虾

我是外接一个阿卡西斯的硬盘盒,里面放了一块3T的数据盘,这个硬盘盒10分钟无读写就自动休眠,休眠后再唤醒10次有8次会出现“硬盘损坏”的提示
system
存储空间3已损坏
出现后必须重启系统才能识别硬盘,它这个硬盘盒的休眠,飞牛系统内无法关闭,硬盘盒本身也没有休眠开关,必须刷固件才能修改,我懒得刷固件,就找卖家问了问,一番沟通后,得出了下面的方案。首先说这样改完的代价:
1:CPU稍微增加一点点
2:传输速度稍微下降一点点
但是这个感知对我来说可以忽略不计
实操开始:先确认你的外接硬盘(盒)当前是 UAS 还是 usb-storage
执行命令:lsusb -t 就可以看到
  1. root@fnos:/vol2# lsusb -t
  2. /:  Bus 10.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
  3. /:  Bus 09.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
  4. /:  Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
  5. /:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
  6.     |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
  7. /:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
  8.     |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 480M
  9. /:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
  10. /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
  11.     |__ Port 5: Dev 2, If 0, Class=Vendor Specific Class, Driver=rtsx_usb, 480M
  12. /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
  13. /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
  14. /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
复制代码
我的硬盘盒位置是在 Bus 07 Port 2Driver=uas,确认是 UAS 协议

然后再执行这个命令看设备ID:lsusb
  1. root@fnos:/vol2# lsusb
  2. Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd QEMU Tablet
  3. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  4. Bus 010 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  5. Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  6. Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  7. Bus 007 Device 002: ID 0bda:9201 Realtek Semiconductor Corp. ACASIS EC-7351
  8. Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  9. Bus 004 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
  10. Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  11. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  12. Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  13. Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  14. Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
复制代码
(记下设备ID:我的ID是0bda:9201

如果是UAS,就直接执行命令改成usb-storage:(里面的设备id改成你自己的)
  1. echo "options usb-storage quirks=0bda:9201:u" > /etc/modprobe.d/blacklist-uas.conf
  2. update-initramfs -u
  3. reboot
复制代码
重启后再验证
  1. lsusb -t | grep -A 5 "Bus 07"
复制代码
BUS 07 是我的硬盘盒所在的 USB 控制器总线编号,你要在上面命令里找到你自己的编号,下面是执行结果:
root@fnos:/vol2# lsusb -t | grep -A 5 "Bus 07"
/:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
    |__ Port 5: Dev 2, If 0, Class=Vendor Specific Class, Driver=rtsx_usb, 480M

已经成功从UAS改成了usb-storage

这样改完后我又测试了小半天 硬盘休眠后再唤醒没有出现错误提示。



收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则