我撤回前几天对拓展坞的推荐😅

2023-10-29 14:15:41 +08:00
 LoneFireBlossom

之前的推荐

https://www.v2ex.com/t/985464

遇到的问题

我原来用 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 不兼容?

这个逻辑链条太跳脱了,我检查了五六个小时才终于搞清楚……😅

这下我只能再买个贝尔金的拓展坞了。

测试过程中用到的其它变量

检测 USB 设备连接的方法

使用 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

外设重连、断开的 log 展示

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 
3795 次点击
所在节点    MacBook Pro
17 条回复
cpstar
2023-10-29 14:36:06 +08:00
DA310 不好使?
binmiui
2023-10-29 14:45:31 +08:00
DELL DA310 和 CalDigit TS4 非常推荐
zhandouji2023
2023-10-29 14:45:39 +08:00
我买了 Apple 的 c 转 a ,c ,hdmi ,感觉够用了
LoneFireBlossom
2023-10-29 14:52:07 +08:00
@cpstar @binmiui
几年前就买过戴尔 DA310 ,连在 surface book 2 上可以听到拓展坞发出明显声音,直接退了然后没用过。
雷电 4 的就算了,还用不到那么高级的东西
fanxasy
2023-10-29 18:13:57 +08:00
我 CalDigit TS4 养老了
orzjerry
2023-10-29 18:52:01 +08:00
dock190 洋垃圾。 挺好。
QingStone
2023-10-29 19:11:26 +08:00
绿联,我是不太敢用😅
aerAzLNE
2023-10-29 19:20:54 +08:00
我的建议是,不管啥扩展坞都不要碰和供电相关的东西= =只扩展数据相关的东西就好了
uleh
2023-10-29 19:35:13 +08:00
CalDigit
除了官方、贝尔金,唯一推荐的扩展坞品牌
LoneFireBlossom
2023-10-29 20:26:21 +08:00
@uleh #9 问题是我用的这个 satechi 也是 apple 官方商城在售的品牌😢
kkwa56188
2023-10-29 22:39:46 +08:00
CalDigit TS4 的视频输出能力略有不足,
我选择了 DELL WD22TB4, 很猛, 自带内置风扇的
zhaidoudou123
2023-10-29 22:46:56 +08:00
我的建议是,Macbook Pro C 口那么多,还有 magsafe ,就不要让拓展坞碰充电了
Ga2en
2023-10-29 23:51:17 +08:00
有没有一种可能就是 Apple 已经不是原来的 Apple 了
https://v2ex.com/t/986533#reply1
metalman7511
2023-10-30 09:07:17 +08:00
贝尔金别买了,也是一堆 bug ,直接 caldigit 吧
LoneFireBlossom
2023-10-30 10:39:30 +08:00
@metalman7511 啊?啥 bug
我已经下单了,求解,有啥问题的话我退掉
metalman7511
2023-10-30 10:49:40 +08:00
@LoneFireBlossom 和休眠还有显示器有关的 bug ,你可以搜一下贝尔金官网和美国亚马逊 看看评价就知道了
GoldenSheep
2023-10-31 14:47:27 +08:00
caldigit 太贵了吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/986417

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX