Mac外置设备断连或充电慢,主因是USB端口供电能力(500mA或900mA)与设备需求不匹配;可用system_profiler和ioreg命令分别查设备申明电流、端口协议版本及实时供电状态。

当你在Mac上插入外置硬盘或手机后频繁断连、充电速度慢得离谱,问题很可能出在USB端口实际提供的电流上——它可能是老标准的500mA,也可能是USB 3.0起支持的900mA,而系统不会主动告诉你当前协商的是哪一档。
查设备自身声明的电流需求
打开终端,粘贴执行以下命令:
system_profiler SPUSBDataType | grep -A 5 -B 2 "Current Required"
这条命令会精准定位每台已连接USB设备下方的“Current Required (mA)”字段,并连带显示设备名(如“SanDisk Extreme Pro”)和前后几行上下文。你看到的数值比如 【900】 或 【500】,就是该设备向主机请求的电流值——注意:这是设备“想要”的,不是端口“能给”的。
如果结果为空,说明该设备未在描述中声明电流需求,常见于部分iPhone旧固件或无源HUB。
比对厂商名与电流值的成对输出
方法一:用awk一次性提取Product和Current Required两行
system_profiler SPUSBDataType | awk '/Product:|Current Required/ {print}'
输出类似:
Product: iPhone
Current Required (mA): 900
Product: USB3.0 Hub
Current Required (mA): 500
这种并列结构让你一眼看清哪个设备报了高电流需求。但要注意:有些山寨设备会虚标“Current Required (mA): 1500”,Mac照单全收却根本供不出,此时必须结合物理端口类型判断。
确认端口物理规格与协议版本
第一步:查看USB控制器型号
system_profiler SPUSBDataType | grep "USB Bus\|Host Controller"
第二步:识别关键标识
若看到 “USB 3.0 Bus” 或 “USB 3.1 Bus” 字样,对应端口理论最大供电能力为900mA;若只有 “USB 2.0 Bus”,则上限是500mA。MacBook Pro 2016及之后的雷电3/4接口虽物理形态是USB-C,但其USB协议层仍分USB 2.0/3.x子通道——【必须看system_profiler里明确写的Bus类型,不能只看接口形状】。
第三步:验证是否被降速运行
插着设备时再运行 ioreg -p IOUSB -l -w 0 | grep -E "(Product|IOUSBHostDevice|currentAvailability)",找到对应设备节点下的 currentAvailability 值。如果是 500,说明当前被限制在USB 2.0供电档位;900则确认走通了USB 3.x供电路径。

















