硬體設定
我有一台 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,但違反此規範的情況並不常見,因為任何其他連接埠都會導致裝置難以插入。