WhatCable - แอปเล็กๆ บนแถบเมนูสำหรับตรวจสอบสาย USB-C
(github.com/darrylmorley)- แอปบนแถบเมนูของ macOS ที่แสดงให้เห็นด้วย ประโยคที่เข้าใจง่าย ว่าสาย USB-C ที่เสียบอยู่กับ Mac ทำอะไรได้จริงบ้าง และเหตุใดการชาร์จ Mac อาจช้า
- แม้สาย USB-C ภายนอกจะดูเหมือนกัน แต่ความสามารถต่างกันมากตั้งแต่สายชาร์จอย่างเดียว USB 2.0 ไปจนถึง 240W / 40Gbps Thunderbolt 4 โดย WhatCable จะแสดงข้อมูลที่ macOS เปิดเผยผ่าน IOKit ในป๊อปโอเวอร์บนแถบเมนู
- สามารถดูสถานะของแต่ละพอร์ตได้ในพริบตา เช่น Thunderbolt / USB4, อุปกรณ์ USB, ชาร์จอย่างเดียว, สาย USB/สายชาร์จอย่างเดียวที่ช้า, หรือไม่มีการเชื่อมต่อ
- การวินิจฉัยการชาร์จจะแสดงคอขวดเป็นแบนเนอร์ เช่น สายกำลังจำกัดความเร็วการชาร์จหรือไม่, Mac กำลังขอพลังงานต่ำกว่าที่ควรหรือไม่, และอะแดปเตอร์ชาร์จกับสายเข้ากันได้ดีหรือไม่
- อ่านและแสดงข้อมูลจาก e-marker ของสาย เช่น ความเร็วจริง (USB 2.0, 5/10/20/40/80Gbps), กระแสที่รองรับ (3A/5A, สูงสุด 60W/100W/240W), และผู้ผลิตชิป
- แสดงรายการโปรไฟล์แรงดันไฟ PDO ที่อะแดปเตอร์ชาร์จประกาศไว้ (เช่น 5V/9V/12V/15V/20V) และไฮไลต์โปรไฟล์ที่กำลังตกลงใช้งานอยู่แบบเรียลไทม์
- ตีความชื่อผู้ผลิตและประเภทผลิตภัณฑ์ของอุปกรณ์ที่เชื่อมต่อจากการตอบกลับ PD Discover Identity และแสดงสตอเรจ ฮับ และอุปกรณ์ต่อพ่วงไว้ใต้พอร์ตจริงพร้อมความเร็วที่เจรจาได้
- แสดงโหมดการส่งข้อมูลที่ใช้งานอยู่ เช่น USB 2, USB 3, Thunderbolt, DisplayPort และสามารถดู คุณสมบัติ IOKit พื้นฐานสำหรับวิศวกรได้ด้วยการคลิกพร้อมกด ⌥ หรือสลับตัวเลือกในตั้งค่า
- ในตั้งค่าสามารถซ่อนพอร์ตว่าง, เปิดทำงานเมื่อเข้าสู่ระบบ, รันเป็นแอป Dock ปกติแทนไอคอนบนแถบเมนู, และเปิดการแจ้งเตือนเมื่อเชื่อมต่อ/ถอดสายได้
- การติดตั้งทำได้โดยดาวน์โหลด
WhatCable.zipจาก Releases page แล้วย้ายไปไว้ที่/Applicationsหรือใช้brew tap darrylmorley/whatcableตามด้วยbrew install --cask whatcable - แอปรองรับเป็นยูนิเวอร์แซลไบนารีสำหรับ Apple silicon และ Intel และผ่านการเซ็นด้วย Developer ID กับการรับรองจาก Apple แต่ข้อกำหนดการใช้งานจริงคือ macOS 14 Sonoma ขึ้นไปและ Apple Silicon
- CLI
whatcableใช้เอนจินวินิจฉัยเดียวกัน และรองรับสรุปพอร์ต,--json,--watchสำหรับสตรีมการเปลี่ยนแปลงการเชื่อมต่อ, และ--rawที่รวมคุณสมบัติ IOKit พื้นฐาน - ภายในแอปจะอ่าน
AppleHPMInterfaceType10/11/12,AppleTCControllerType10/11,IOPortFeaturePowerSource,IOPortTransportComponentCCUSBPDSOP, และซับทรีของคอนโทรลเลอร์ XHCI โดยทำงานได้โดยไม่ต้องมี entitlement, private API หรือ helper daemon - ข้อจำกัดคือสายที่ต่ำกว่า 60W และไม่มี e-marker อาจไม่แสดงข้อมูลสาย และหากมี e-marker ปลอมหรือแฟลชผิดพลาดที่โฆษณาความสามารถเกินจริง ก็ไม่มีวิธีตรวจสอบภายในสายด้วยซอฟต์แวร์ได้
- ตัวถอดรหัส PD รองรับ PD 3.0 / 3.1 และไม่รองรับการแจกจ่ายบน iOS หรือ App Store เนื่องจากข้อจำกัดของ iOS sandbox และ App Sandbox
- สัญญาอนุญาต MIT
4 ความคิดเห็น
พอลองติดตั้งจริงแล้ว หน้าตาดูสะอาดเรียบร้อยมากเลย ชอบนะ.. แต่สายที่เคยใช้อยู่ดี ๆ กลับถูกบอกว่าคุณภาพก๊องแก๊งหมดเลย
พอได้เห็นแบบนี้แล้วก็เริ่มคิดขึ้นมาบ่อย ๆ ว่าคงต้องเปลี่ยนไปใช้สายแพง ๆ แล้วล่ะ
ลองค้นดูแล้วเห็นว่ามีคนบอกว่า Satechi Thunderbolt 5 https://amzn.to/3QKqf0u กับ Satechi USB4 V2 Pro https://amzn.to/3QB9HIp ดี ก็เลยรีบสั่งมาทั้งคู่เลยครับ
ใช้แค่สายเปล่าอย่างเดียวได้ไหม (อีกฝั่งไม่ได้ต่ออะไรไว้เลย)
ดูเหมือนว่าจะไม่ได้ครับ น่าจะต้องมีอะไรต่ออยู่ถึงจะตรวจจับได้
ความคิดเห็นจาก Hacker News
เจ๋งมาก ลองทำดูเพราะอยากรู้ว่า GPT-5.5 จะเปลี่ยนอันนี้ให้เป็น KDE Plasma 6 Plasmoid ได้เร็วแค่ไหน ใช้เวลาไปราว 10 นาทีและประมาณ 2 ดอลลาร์ ตอนนี้เลยมีแอป QML ที่แสดงข้อมูลเดียวกันบนแถบงานแล้ว
แค่รู้ว่าวันนี้เราทำอะไรแบบนี้กันได้แล้วก็น่าทึ่งจริง ๆ เลยมาเล่าไว้
น่าทึ่งมากที่ @sleepingNomad ออกรุ่น 16 รีลีส ในช่วง 7 ชั่วโมงที่ผ่านมา พร้อมเอาฟีดแบ็กจาก HN มาปรับใช้แทบจะทันที
ถ้าไม่ชอบแอปบนเมนูบาร์ ก็รันเป็นแอปปกติได้ และถ้าไม่ชอบ GUI ตอนนี้ก็รันจากบรรทัดคำสั่งได้แล้ว
ดูแค่บันทึกการเปลี่ยนแปลงก็พอเห็นได้เลย:
https://github.com/darrylmorley/whatcable/releases?page=2
ทำให้นึกได้ว่า ChromeOS มีฟีเจอร์เหมือนพลังพิเศษสำหรับระบุ USB-C cable อยู่: https://www.reddit.com/r/UsbCHardware/comments/1pyojjd/comme...
ไม่แน่ใจว่าแอป macOS ตัวนี้ใช้วิธีเดียวกันไหม แต่ในลิงก์อธิบายว่าใน e-Marker ของสายมีข้อความ "Discover Identity" ที่ ChromeOS สามารถอ่านและแสดงผลได้
ฮาร์ดแวร์ Windows ทั่วไปอ่านไม่ได้เพราะข้อจำกัดของ BIOS แต่ Chromebook ทำได้ และ Mac ก็น่าจะทำได้เหมือนกัน
ค่อนข้างดีเลย แต่ไม่เข้าใจว่าทำไม แอป Mac หลายตัวถึงต้องพยายามอยู่ประจำบนเมนูบาร์
ปัญหาคือบนหน้าจอ 14 นิ้ว พื้นที่ด้านขวาของรอยบากก็แทบเต็มอยู่แล้ว ทั้งที่ก็ไม่ได้ใส่อะไรไว้เยอะขนาดนั้น
ถ้าปิด WhatCable ก็จะรันเป็นแอปหน้าต่างปกติแบบแอปใน Dock ทั่วไป
อ่าน e-Marker ได้บน อุปกรณ์ที่ไม่ใช่ Apple ด้วยไหม? ถ้าทำได้บน Linux หรือ Windows ก็น่าจะมีประโยชน์มาก
ขอบคุณที่ทำสิ่งนี้ขึ้นมา ผมเป็นผู้พิการทางสายตา การใช้ USB tester ราคา 16 ดอลลาร์ ที่ขายบน Amazon เพื่อจัดระเบียบลิ้นชักเก็บสายจึงไม่ใช่ตัวเลือก
อันนี้ช่วยให้ไม่ต้องไปซื้อ SBC ที่รัน Linux แยกต่างหากมาไว้ทดสอบสาย
บน Linux จะทำแบบนี้ได้ไหมนะ? บางทีอาจทำได้ด้วย wrapper ของ lsusb เพิ่งเจออันนี้ที่เพิ่ม PD และอย่างอื่นเข้าไป: https://github.com/doug-gilbert/lsucpd
ชอบที่นี่เป็น แอป Mac แบบเนทีฟ ขอบคุณที่ทำและแชร์
ผมเคยพยายามส่งโค้ดเพิ่ม การแสดงวัตต์ของกระแสไฟจากอะแดปเตอร์ ใน stats แต่ PR ของผมถูกปิดโดยไม่มีคอมเมนต์ เนื้อหาคล้ายกับ PR นี้:
https://github.com/exelban/stats/pull/3024
นี่เป็นฟีเจอร์ที่อยากได้มานานพอสมควร มี สาย USB-C จำนวนมากที่ไม่รู้ว่าเป็นสายอะไร ถ้าติดฉลากสมรรถนะของแต่ละเส้นได้ก็คงดี และตอนนี้ก็ทำได้แล้ว