|
|
我是外接一个阿卡西斯的硬盘盒,里面放了一块3T的数据盘,这个硬盘盒10分钟无读写就自动休眠,休眠后再唤醒10次有8次会出现“硬盘损坏”的提示出现后必须重启系统才能识别硬盘,它这个硬盘盒的休眠,飞牛系统内无法关闭,硬盘盒本身也没有休眠开关,必须刷固件才能修改,我懒得刷固件,就找卖家问了问,一番沟通后,得出了下面的方案。首先说这样改完的代价:
1:CPU稍微增加一点点
2:传输速度稍微下降一点点
但是这个感知对我来说可以忽略不计
实操开始:先确认你的外接硬盘(盒)当前是 UAS 还是 usb-storage
执行命令:lsusb -t 就可以看到
- root@fnos:/vol2# lsusb -t
- /: Bus 10.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
- /: Bus 09.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
- /: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
- /: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
- |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
- /: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
- |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 480M
- /: 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
- /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
- /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
- /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
复制代码 我的硬盘盒位置是在 Bus 07 Port 2,Driver=uas,确认是 UAS 协议
然后再执行这个命令看设备ID:lsusb
- root@fnos:/vol2# lsusb
- Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd QEMU Tablet
- Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- Bus 010 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
- Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
- Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
- Bus 007 Device 002: ID 0bda:9201 Realtek Semiconductor Corp. ACASIS EC-7351
- Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
- Bus 004 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
- Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
- Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
- Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
复制代码 (记下设备ID:我的ID是0bda:9201)
如果是UAS,就直接执行命令改成usb-storage:(里面的设备id改成你自己的)
- echo "options usb-storage quirks=0bda:9201:u" > /etc/modprobe.d/blacklist-uas.conf
- update-initramfs -u
- reboot
复制代码 重启后再验证
- 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
这样改完后我又测试了小半天 硬盘休眠后再唤醒没有出现错误提示。
|
|