USB 鍵盤可與擴充座或交換集線器搭配使用,但不能同時與兩者搭配使用

USB 鍵盤可與擴充座或交換集線器搭配使用,但不能同時與兩者搭配使用

硬體設定

我有一台 2020 年 MacBook Pro 和一台插入了 Windows 的計算機USB切換器帶外部5v電源。從切換器到 MacBook 的電纜插入到 3.0 端口貝爾金碼頭,MacBook 已插入其中。鍵盤是一個品質下降 CTRL

當切換器設定為 Windows 電腦時,有問題的鍵盤在此設定中運作正常,但在切換到 Mac 電腦時則不然。

我也測試了所有電纜。當跳過擴充座並將其插入 MacBook 時(鍵盤可以工作),切換器和擴充座之間的電纜可以正常工作。

我已將問題範圍縮小到與擴充座和切換器有關的問題。當 MacBook 僅使用擴充座或切換器時,鍵盤可以正常運作,但同時使用兩者時,鍵盤無法正常運作。其他 USB 鍵盤在使用塢站和切換器時都可以正常運作。

偵錯

以下是我迄今為止收集的一些其他調試詳細資訊:

$ system_profiler SPUSBDataType當鍵盤插入底座時:

CTRL Keyboard:
    Product ID: 0xeed2
    Vendor ID: 0x04d8  (Microchip Technology Inc.)
    Version: 1.01
    Serial Number: 1608915629
    Speed: Up to 12 Mb/s
    Manufacturer: Massdrop Inc.
    Location ID: 0x01420000 / 7
    Current Available (mA): 500
    Current Required (mA): 500
    Extra Operating Current (mA): 0

插入切換器時:

Hub:
    Product ID: 0xeec5
    Vendor ID: 0x04d8  (Microchip Technology Inc.)
    Version: 1.01
    Location ID: 0x01330000

$ dmesg | grep USB將鍵盤插入切換器之前和之後的差異:

[3366142.613770]: 978319.845701 AppleUSB20HubPort@01330000: AppleUSBHostPort::terminateDevice: destroying 0x04d8/eec5/0101 (IOUSBHostDevice): connect change interrupt
[3366142.615398]: 978319.847330 AppleUSB20HubPort@01330000: AppleUSBHostPort::enumerateDeviceComplete_block_invoke: enumerated stale device
[3366142.615419]: 978319.847352 IOUSBHostDevice@01330000: IOUSBHostDevice::start_block_invoke: device will not be registered for matching
[3366142.672090]: AppleUSBHostRequestCompleter::clearPipeStallThreadCall: clearStall for pipe <ptr> failed (0xe00002bc)
[3366144.672617]: 978321.904549 AppleUSB20HubPort@01330000: AppleUSBHostPort::terminateDevice: destroying 0x04d8/eec5/0101 (IOUSBHostDevice): connect change interrupt
[3366144.674165]: 978321.906097 AppleUSB20HubPort@01330000: AppleUSBHostPort::enumerateDeviceComplete_block_invoke: enumerated stale device
[3366144.674183]: 978321.906116 IOUSBHostDevice@01330000: IOUSBHostDevice::start_block_invoke: device will not be registered for matching
[3366144.731852]: AppleUSBHostRequestCompleter::clearPipeStallThreadCall: clearStall for pipe <ptr> failed (0xe00002bc)

$ ioreg -p IOUSB將鍵盤插入擴充座(工作):

+-o Root  <class IORegistryEntry, id 0x100000100, retain 26>
  +-o AppleUSBVHCIBCE Root Hub Simulation@80000000  <class AppleUSBRootHubDevice, id 0x1000003e3, registered, matched, active, busy 0 (7 ms), retain 15>
  | +-o Headset@80400000  <class AppleUSBDevice, id 0x1000003e5, registered, matched, active, busy 0 (0 ms), retain 11>
  | +-o Apple T2 Controller@80100000  <class AppleUSBDevice, id 0x1000003eb, registered, matched, active, busy 0 (0 ms), retain 13>
  | +-o Touch Bar Backlight@80700000  <class AppleUSBDevice, id 0x1000003f1, registered, matched, active, busy 0 (0 ms), retain 13>
  | +-o FaceTime HD Camera (Built-in)@80200000  <class AppleUSBDevice, id 0x1000003f8, registered, matched, active, busy 0 (0 ms), retain 13>
  | +-o Touch Bar Display@80600000  <class AppleUSBDevice, id 0x100000401, registered, matched, active, busy 0 (0 ms), retain 13>
  | +-o Ambient Light Sensor@80300000  <class AppleUSBDevice, id 0x10000040f, registered, matched, active, busy 0 (0 ms), retain 11>
  | +-o Apple Internal Keyboard / Trackpad@80500000  <class AppleUSBDevice, id 0x100105c59, registered, matched, active, busy 0 (2 ms), retain 19>
  +-o AppleUSBXHCI Root Hub Simulation@00000000  <class AppleUSBRootHubDevice, id 0x10008f0dc, registered, matched, active, busy 0 (0 ms), retain 8>
  +-o AppleUSBXHCI Root Hub Simulation@14000000  <class AppleUSBRootHubDevice, id 0x10009c5ff, registered, matched, active, busy 0 (1 ms), retain 8>
  +-o AppleUSBXHCI Root Hub Simulation@01000000  <class AppleUSBRootHubDevice, id 0x100105acb, registered, matched, active, busy 0 (1 ms), retain 11>
    +-o USB3.1 Hub@01100000  <class AppleUSBDevice, id 0x1001064ee, registered, matched, active, busy 0 (0 ms), retain 11>
    +-o USB2.1 Hub@01300000  <class AppleUSBDevice, id 0x100106505, registered, matched, active, busy 0 (0 ms), retain 14>
    | +-o Razer Naga Pro@01340000  <class AppleUSBDevice, id 0x10010651d, registered, matched, active, busy 0 (3 ms), retain 19>
    | +-o G533 Gaming Headset@01310000  <class AppleUSBDevice, id 0x10010655a, registered, matched, active, busy 0 (1 ms), retain 17>
    | +-o KM360 MX@01320000  <class AppleUSBDevice, id 0x100106594, registered, matched, active, busy 0 (1 ms), retain 13>
    +-o IOUSBHostDevice@01400000  <class AppleUSBDevice, id 0x1001071a9, registered, matched, active, busy 0 (0 ms), retain 12>
      +-o CTRL Keyboard@01420000  <class AppleUSBDevice, id 0x1001071ba, registered, matched, active, busy 0 (3 ms), retain 17>

當插入交換集線器時:

+-o Root  <class IORegistryEntry, id 0x100000100, retain 26>
  +-o AppleUSBVHCIBCE Root Hub Simulation@80000000  <class AppleUSBRootHubDevice, id 0x1000003e3, registered, matched, active, busy 0 (7 ms), retain 15>
  | +-o Headset@80400000  <class AppleUSBDevice, id 0x1000003e5, registered, matched, active, busy 0 (0 ms), retain 11>
  | +-o Apple T2 Controller@80100000  <class AppleUSBDevice, id 0x1000003eb, registered, matched, active, busy 0 (0 ms), retain 13>
  | +-o Touch Bar Backlight@80700000  <class AppleUSBDevice, id 0x1000003f1, registered, matched, active, busy 0 (0 ms), retain 13>
  | +-o FaceTime HD Camera (Built-in)@80200000  <class AppleUSBDevice, id 0x1000003f8, registered, matched, active, busy 0 (0 ms), retain 13>
  | +-o Touch Bar Display@80600000  <class AppleUSBDevice, id 0x100000401, registered, matched, active, busy 0 (0 ms), retain 13>
  | +-o Ambient Light Sensor@80300000  <class AppleUSBDevice, id 0x10000040f, registered, matched, active, busy 0 (0 ms), retain 11>
  | +-o Apple Internal Keyboard / Trackpad@80500000  <class AppleUSBDevice, id 0x100105c59, registered, matched, active, busy 0 (2 ms), retain 19>
  +-o AppleUSBXHCI Root Hub Simulation@00000000  <class AppleUSBRootHubDevice, id 0x10008f0dc, registered, matched, active, busy 0 (0 ms), retain 8>
  +-o AppleUSBXHCI Root Hub Simulation@14000000  <class AppleUSBRootHubDevice, id 0x10009c5ff, registered, matched, active, busy 0 (1 ms), retain 8>
  +-o AppleUSBXHCI Root Hub Simulation@01000000  <class AppleUSBRootHubDevice, id 0x100105acb, registered, matched, active, busy 0 (1 ms), retain 10>
    +-o USB3.1 Hub@01100000  <class AppleUSBDevice, id 0x1001064ee, registered, matched, active, busy 0 (0 ms), retain 11>
    +-o USB2.1 Hub@01300000  <class AppleUSBDevice, id 0x100106505, registered, matched, active, busy 0 (0 ms), retain 14>
      +-o Razer Naga Pro@01340000  <class AppleUSBDevice, id 0x10010651d, registered, matched, active, busy 0 (3 ms), retain 19>
      +-o G533 Gaming Headset@01310000  <class AppleUSBDevice, id 0x10010655a, registered, matched, active, busy 0 (1 ms), retain 17>
      +-o KM360 MX@01320000  <class AppleUSBDevice, id 0x100106594, registered, matched, active, busy 0 (1 ms), retain 13>

將集線器連接到擴充座電纜並將其直接放入 MacBook 中代替擴充座(鍵盤在此配置下工作):

+-o Root  <class IORegistryEntry, id 0x100000100, retain 25>
  +-o AppleUSBVHCIBCE Root Hub Simulation@80000000  <class AppleUSBRootHubDevice, id 0x1000003e3, registered, matched, active, busy 0 (7 ms), retain 15>
  | +-o Headset@80400000  <class AppleUSBDevice, id 0x1000003e5, registered, matched, active, busy 0 (0 ms), retain 11>
  | +-o Apple T2 Controller@80100000  <class AppleUSBDevice, id 0x1000003eb, registered, matched, active, busy 0 (0 ms), retain 13>
  | +-o Touch Bar Backlight@80700000  <class AppleUSBDevice, id 0x1000003f1, registered, matched, active, busy 0 (0 ms), retain 13>
  | +-o FaceTime HD Camera (Built-in)@80200000  <class AppleUSBDevice, id 0x1000003f8, registered, matched, active, busy 0 (0 ms), retain 13>
  | +-o Touch Bar Display@80600000  <class AppleUSBDevice, id 0x100000401, registered, matched, active, busy 0 (0 ms), retain 13>
  | +-o Ambient Light Sensor@80300000  <class AppleUSBDevice, id 0x10000040f, registered, matched, active, busy 0 (0 ms), retain 11>
  | +-o Apple Internal Keyboard / Trackpad@80500000  <class AppleUSBDevice, id 0x100105c59, registered, matched, active, busy 0 (2 ms), retain 19>
  +-o AppleUSBXHCI Root Hub Simulation@00000000  <class AppleUSBRootHubDevice, id 0x10008f0dc, registered, matched, active, busy 0 (0 ms), retain 8>
  +-o AppleUSBXHCI Root Hub Simulation@14000000  <class AppleUSBRootHubDevice, id 0x10009c5ff, registered, matched, active, busy 0 (1 ms), retain 8>

目前我對 USB 還不夠熟悉,也不知道該如何進一步進行。

答案1

USB 切換器使用 USB-A 連接埠作為輸入,違反了非常基本的 USB 規範,幾乎可以肯定它們在其他地方也違反了規範。它無法正常工作可能是因為他們沒有遵循所需的規範。如果有人將 USB 開關隨附的 USB-A 轉 USB-A 連接線與隨附的 USB 開關以外的其他裝置一起使用,則可能有火災危險。他們在產品說明中警告稱,該設備可能會幹擾 2.4 GHz Wi-Fi 和藍牙,這是設計不良的另一個跡象。此開關已損壞,如果可以的話請將其寄回以獲得退款。不要再買另一個類似的開關,因為它也會同樣損壞。設計被破壞了。

根據您的插入方式,您可能會使用交換器附帶的電纜(兩端有 USB-A 的電纜)損壞您的電腦或集線器。該電纜可能會使 USB 連接埠提供的電源短路。請停止嘗試它。扔掉它或將其寄回。

USB 規範要求連接到主機的連接埠必須是 USB-B/母頭、USB-C/母頭、有公頭 USB-A 或 USB-C 的固定電纜或專有連接器。 USB 裝置上很少再看到專有連接器,但在USB-C 之前,它們在手機和其他便攜式電子產品中很常見,通常是一些脆弱的扁平寬連接器,帶有彈簧夾將其固定到位。裝置連接埠應為母 USB-A 或 USB-C,但違反此規範的情況並不常見,因為任何其他連接埠都會導致裝置難以插入。

相關內容