我原来用 intel MBP 16 ,连这个拓展坞从 Monterey 用到 Sonoma 一直没问题。
买了个 M1 MAX MBP ,发现只要开启 BetterTouchTool ,系统会时不不执行触控板的点击操作。( Monterey 12.7-12.7.1 )
检查到最后,发现原因是大功率充电器(大于 65W )插在 satechi 这个 9 合 1 扩展坞上连接 M1 MAX 的 MacBook 时,拓展坞只有 USB2.0 的速度、并且反复高频断开然后重新连接。
但是在之前的 intel MBP 上相同的连接方式不会有任何问题。我怀疑是这个拓展坞和 M1 的 Mac 不兼容?
这个逻辑链条太跳脱了,我检查了五六个小时才终于搞清楚……
这下我只能再买个贝尔金的拓展坞了。
使用 Hammerspoon 加载这段代码,然后进 Hammerspoon 的 console 看实时 log ,就能看到 USB 设备连接断开的情况:
usbCOnnectsTimer= hs.timer.new(3, function() usbConnectsTimer:stop() print("> usb connect for devices: " .. usbConnectsDevs) usbCOnnects= 0 usbCOnnectsDevs= nil end) usbDiscOnnectsTimer= hs.timer.new(3, function() usbDisconnectsTimer:stop() print("> usb disconnect for devices: " .. usbDisconnectsDevs) usbDiscOnnects= 0 usbDiscOnnectsDevs= nil end) usbCOnnects= 0 usbDiscOnnects= 0 usbDCWatcher = {} usbMOnitor= hs.usb.watcher.new(function(info) -- iNotify(log,"USB Monitor: " .. info['eventType'] .. " " .. info['vendorName'] .. " " .. info['productName']) local event = info['eventType'] local vendor = info['vendorName'] local product = info['productName'] print("USB Monitor: " .. event .. " " .. vendor .. " " .. product) if event == "added" then if usbDebugAllConns then usbConnectsTimer:setNextTrigger(3) usbCOnnects= usbConnects + 1 if usbConnectsDevs ~= nil then usbCOnnectsDevs= usbConnectsDevs .. ", " .. vendor .. " " .. product else usbCOnnectsDevs= vendor .. " " .. product end end if usbDebugReconns then currTime = hs.timer.secondsSinceEpoch() for i, v in pairs(usbDCWatcher) do if currTime-v>30 then usbDCWatcher[i] = nil end end if usbDCWatcher[vendor .. " " .. product] ~= nil then print("USB Device reconnect occured: " .. vendor .. " " .. product) end end elseif event == "removed" then if usbDebugAllConns then usbDisconnectsTimer:setNextTrigger(3) usbDiscOnnects= usbDisconnects + 1 if usbDisconnectsDevs ~= nil then usbDiscOnnectsDevs= usbDisconnectsDevs .. ", " .. vendor .. " " .. product else usbDiscOnnectsDevs= vendor .. " " .. product end end if usbDebugReconns then usbDCWatcher[vendor .. " " ..product]=hs.timer.secondsSinceEpoch() end else print("Unknown USB event in usb watcher") end end):start() function getUsbDevices() local devs = hs.usb.attachedDevices() local cnt = 0 local res = {} local vendor for i,v in pairs(devs) do cnt = cnt + 1 if v['vendorName'] ~= nil then vendor = v['vendorName'] else vendor = "(no vendor)" end if v['productName'] ~= nil then product = v['productName'] else product = "(no productname)" end table.insert(res,vendor .. " " .. product) end table.sort(res) print("\n" .. table.concat(res,"\n")) print(cnt .. " devices attached") end
2023-10-28 21:48:58: USB Monitor: removed VIA Labs, Inc. USB2.0 Hub 2023-10-28 21:48:58: USB Monitor: removed VIA Labs, Inc. USB Billboard Device 2023-10-28 21:48:58: USB Monitor: removed VIA Labs, Inc. USB2.0 Hub 2023-10-28 21:48:58: USB Monitor: added VIA Labs, Inc. USB2.0 Hub 2023-10-28 21:49:00: USB Monitor: removed VIA Labs, Inc. USB2.0 Hub 2023-10-28 21:49:00: USB Monitor: added VIA Labs, Inc. USB2.0 Hub 2023-10-28 21:49:01: USB Monitor: added VIA Labs, Inc. USB Billboard Device 2023-10-28 21:49:01: USB Monitor: added VIA Labs, Inc. USB2.0 Hub 2023-10-28 21:49:02: USB Monitor: removed VIA Labs, Inc. USB Billboard Device 2023-10-28 21:49:02: USB Monitor: removed VIA Labs, Inc. USB2.0 Hub 2023-10-28 21:49:02: USB Monitor: added VIA Labs, Inc. USB2.0 Hub 2023-10-28 21:49:02: USB Monitor: added VIA Labs, Inc. USB Billboard Device 2023-10-28 21:49:03: USB Monitor: added VIA Labs, Inc. USB2.0 Hub 2023-10-28 21:49:03: USB Monitor: added VIA Labs, Inc. USB Billboard Device 2023-10-28 21:49:03: USB Monitor: removed VIA Labs, Inc. USB2.0 Hub 2023-10-28 21:49:03: USB Monitor: removed VIA Labs, Inc. USB Billboard Device 2023-10-28 21:49:03: USB Monitor: removed VIA Labs, Inc. USB2.0 Hub
往下无限add
remove
循环。
在 intel Mac 上连这个拓展坞的 log 就这样直接结束:
2023-10-29 14:18:19: USB Monitor: added VIA Labs, Inc. USB3.0 Hub 2023-10-29 14:18:19: USB Monitor: added VIA Labs, Inc. USB2.0 Hub 2023-10-29 14:18:20: USB Monitor: added VIA Labs, Inc. USB3.0 Hub 2023-10-29 14:18:20: USB Monitor: added VIA Labs, Inc. USB2.0 Hub 2023-10-29 14:18:20: USB Monitor: added Realtek USB 10/100/1000 LAN 2023-10-29 14:18:22: USB Monitor: added VIA Labs, Inc. USB Billboard Device
![]() | 1 cpstar 2023-10-29 14:36:06 +08:00 DA310 不好使? |
![]() | 2 binmiui 2023-10-29 14:45:31 +08:00 DELL DA310 和 CalDigit TS4 非常推荐 |
3 zhandouji2023 2023-10-29 14:45:39 +08:00 via Android 我买了 Apple 的 c 转 a ,c ,hdmi ,感觉够用了 |
4 OumaeKumiko OP |
![]() | 5 fanxasy 2023-10-29 18:13:57 +08:00 我 CalDigit TS4 养老了 |
![]() | 6 orzjerry 2023-10-29 18:52:01 +08:00 dock190 洋垃圾。 挺好。 |
![]() | 7 QingStone 2023-10-29 19:11:26 +08:00 via iPhone 绿联,我是不太敢用 |
![]() | 8 aerAzLNE 2023-10-29 19:20:54 +08:00 我的建议是,不管啥扩展坞都不要碰和供电相关的东西= =只扩展数据相关的东西就好了 |
![]() | 9 uleh 2023-10-29 19:35:13 +08:00 CalDigit 除了官方、贝尔金,唯一推荐的扩展坞品牌 |
10 OumaeKumiko OP @uleh #9 问题是我用的这个 satechi 也是 apple 官方商城在售的品牌 |
11 kkwa56188 2023-10-29 22:39:46 +08:00 CalDigit TS4 的视频输出能力略有不足, 我选择了 DELL WD22TB4, 很猛, 自带内置风扇的 |
![]() | 12 unneeded 2023-10-29 22:46:56 +08:00 ![]() 我的建议是,Macbook Pro C 口那么多,还有 magsafe ,就不要让拓展坞碰充电了 |
13 Ga2en 2023-10-29 23:51:17 +08:00 有没有一种可能就是 Apple 已经不是原来的 Apple 了 https://v2ex.com/t/986533#reply1 |
14 metalman7511 2023-10-30 09:07:17 +08:00 贝尔金别买了,也是一堆 bug ,直接 caldigit 吧 |
15 OumaeKumiko OP @metalman7511 啊?啥 bug 我已经下单了,求解,有啥问题的话我退掉 |
16 metalman7511 2023-10-30 10:49:40 +08:00 @LoneFireBlossom 和休眠还有显示器有关的 bug ,你可以搜一下贝尔金官网和美国亚马逊 看看评价就知道了 |
![]() | 17 GoldenSheep 2023-10-31 14:47:27 +08:00 caldigit 太贵了吧 |