收起左侧

硬盘休眠后启动外设接口从3.1变成2.0

2
回复
267
查看
[ 复制链接 ]

0

主题

1

回帖

0

牛值

江湖小虾

2026-4-3 13:01:53 显示全部楼层 阅读模式

系统版本:X86 v1.1.26

设备环境:物理机 Intel NUC8i5BEHS

BUG现象:使用绿联外接硬盘,连接飞牛物理机。第一次启动外设接口是USB3.1。硬盘休眠后再启动链接协议变成了usb2.0.稳定复现

屏幕截图2026-04-03125411.png

唤醒后就是2.0了

出现频率:必现

联系方式:13550038728

日志文件:https://pan.quark.cn/s/1b95375136d8

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

383

主题

1万

回帖

0

牛值

管理员

fnOS1.0上线纪念勋章

2026-4-9 20:29:35 显示全部楼层

看描述像是USB设备在休眠唤醒后链路重新协商失败了,直接降级成USB2.0了。这类在USB-SATA桥接盒上比较常见,一般是UAS或USB3握手没成功导致fallback。可以看下 dmesg 或 lsusb -t,对比一下唤醒前后速度变化。

USB 3.1 休眠唤醒后降速到 USB 2.0 修复方案 记录时间:2026-06-10 环境:飞牛 OS(FnOS),绿联硬盘架(ASMedia 1156),USB 3.1 接口 症状:冷启动正常(10000M),休眠唤醒掉到 480M(USB 2.0) 一、诊断结论  详情 回复
2026-6-10 15:15

0

主题

1

回帖

0

牛值

江湖小虾

2026-6-10 15:15:59 楼主 显示全部楼层
[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=278526&ptid=60325][color=#999999]飞牛技术同学 发表于 2026-4-9 20:29[/color][/url][/size] 看描述像是USB设备在休眠唤醒后链路重新协商失败了,直接降级成USB2.0了。这类在USB-SATA桥接盒上比较常见 ...[/quote]

USB 3.1 休眠唤醒后降速到 USB 2.0 修复方案

记录时间:2026-06-10
环境:飞牛 OS(FnOS),绿联硬盘架(ASMedia 1156),USB 3.1 接口
症状:冷启动正常(10000M),休眠唤醒掉到 480M(USB 2.0)


一、诊断结论

lsusb -t 显示:

Bus 02 ... xhci_hcd/6p, 10000M    ← USB 3.1 控制器,空载
Bus 01 ... xhci_hcd/12p, 480M
    |__ Port 4: ... Mass Storage, 480M  ← 硬盘掉到 USB 2.0

硬盘休眠唤醒后,USB 控制器(xhci_hcd)重新协商时降级到了 USB 2.0 模式,这是 Linux USB 电源管理的已知兼容性问题。

设备信息: 绿联硬盘盒,USB ID 174c:1156,设备路径 1-4


二、方案对比

方案 A(推荐首选):禁用 USB autosuspend

修改 Linux 内核参数,全局禁用 USB 自动挂起,阻止 USB 端口在系统休眠时进入低功耗模式。

操作: grub 内核参数增加 usbcore.autosuspend=-1
影响: USB 端口持续供电,增加约 0.5–2W 功耗;不影响硬盘 spin-down(ATA 指令控制)
成功率:
可逆: 是,删掉参数 → update-grub → reboot 即可恢复
风险: 极低(仅修改电源管理策略,不涉及驱动、内核模块或文件系统)

方案 B(更精确,但成功率略低):udev 规则

只针对该绿联盒(174c:1156)关闭 USB 电源管理,不影响其他 USB 设备。

操作: 写 udev 规则 ATTR{power/control}="on"
缺点: 如果降速根源在 xHCI 控制器级别而非设备级别,可能无效

方案 C(兜底):休眠唤醒后自动重置 USB 端口

systemd 服务 + 唤醒 hook,对 1-4 设备做 unbind → bind 强制重新协商。

适用: 方案 A/B 均无效时
操作: 创建 systemd 服务挂载到 suspend.target 触发脚本

方案 D:BIOS 设置

选项 推荐值 说明
xHCI Hand-off Enabled 开机时正确移交 USB 3.0 控制器给 OS
USB Selective Suspend Disabled 禁用 BIOS 级 USB 节能
ERP Ready / ErP Disabled 节能模式可能限制 USB 供电

注意: BIOS 设置仅影响冷启动阶段,不一定对休眠唤醒降速有效。先试方案 A,无效再查 BIOS。


三、执行记录

日期 操作 结果
2026-06-10 grub 写入 usbcore.autosuspend=-1 待验证

四、恢复方式

如果需要恢复原状:

# 编辑 grub,删除 usbcore.autosuspend=-1
sudo sed -i 's/ usbcore.autosuspend=-1//' /etc/default/grub
sudo update-grub

或启动时在 grub 菜单按 e,临时删掉该参数,按 Ctrl+X 启动一次即可绕过。

这个是让CC老师帮我出的方案,本质上是禁用 USB autosuspend。不需要省这点电

最后再咨询了CC老师 我的硬盘是希捷银河14T本质就是7*24小时服务的企业盘 不需要休眠。后面我就直接把休眠都关掉了

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则