1 คะแนน โดย GN⁺ 2 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • WhatCable เป็นแอปบนแถบเมนูของ 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 และผ่านการ notarize ของ Apple แต่ความต้องการใช้งานจริงคือ macOS 14 Sonoma ขึ้นไป และ Apple Silicon
  • whatcable CLI ใช้เอนจินวินิจฉัยเดียวกัน และรองรับสรุปพอร์ต, --json, การสตรีมการเปลี่ยนแปลงการเชื่อมต่อด้วย --watch, และ --raw ที่รวมคุณสมบัติ IOKit พื้นฐาน
  • ภายในแอปจะอ่าน AppleHPMInterfaceType10/11/12, AppleTCControllerType10/11, IOPortFeaturePowerSource, IOPortTransportComponentCCUSBPDSOP และซับทรีของคอนโทรลเลอร์ XHCI โดยทำงานได้โดยไม่ต้องมีการให้สิทธิ์, private API หรือ helper daemon
  • ข้อจำกัดคือ สายที่ต่ำกว่า 60W และไม่มี e-marker อาจไม่แสดงข้อมูลสาย และหาก e-marker ปลอมหรือแฟลชผิดพลาดโฆษณาความสามารถเกินจริง ก็ไม่มีวิธีตรวจสอบภายในสายด้วยซอฟต์แวร์เพียงอย่างเดียว
  • ตัวถอดรหัส PD รองรับ PD 3.0 / 3.1 และไม่รองรับ iOS หรือการแจกจ่ายผ่าน App Store เนื่องจากข้อจำกัดของ iOS sandbox และ App Sandbox โดยใช้สัญญาอนุญาต MIT

1 ความคิดเห็น

 
GN⁺ 2 시간 전
ความคิดเห็นจาก Hacker News
  • เจ๋งมาก ลองทำดูเพราะอยากรู้ว่า GPT-5.5 จะเปลี่ยนอันนี้ให้เป็น KDE Plasma 6 Plasmoid ได้เร็วแค่ไหน ใช้เวลาไปราว 10 นาทีและประมาณ 2 ดอลลาร์ ตอนนี้เลยมีแอป QML ที่แสดงข้อมูลเดียวกันบนแถบงานแล้ว
    แค่รู้ว่าวันนี้เราทำอะไรแบบนี้กันได้แล้วก็น่าทึ่งจริง ๆ เลยมาเล่าไว้

    • อยากประหยัด 10 นาทีและ 2 ดอลลาร์ อันนี้อยู่บน GitHub ที่ไหนสักแห่งไหม?
    • ผมเคยทำแบบเดียวกันเป๊ะกับดองเกิลบลูทูธ Sennheiser BTD-700 เจอว่ามีคนทำ C library เล็ก ๆ สำหรับควบคุมดองเกิลไว้แล้ว แล้ว Claude ก็ช่วยสร้างวิดเจ็ต KDE ที่ใช้ควบคุมหูฟังได้ออกมาอย่างดีจากตรงนั้น
  • น่าทึ่งมากที่ @sleepingNomad ออกรุ่น 16 รีลีส ในช่วง 7 ชั่วโมงที่ผ่านมา พร้อมเอาฟีดแบ็กจาก HN มาปรับใช้แทบจะทันที
    ถ้าไม่ชอบแอปบนเมนูบาร์ ก็รันเป็นแอปปกติได้ และถ้าไม่ชอบ GUI ตอนนี้ก็รันจากบรรทัดคำสั่งได้แล้ว
    ดูแค่บันทึกการเปลี่ยนแปลงก็พอเห็นได้เลย:
    https://github.com/darrylmorley/whatcable/releases?page=2

    • ผมได้รับทั้งบั๊กรีพอร์ตและคำขอฟีเจอร์ดี ๆ จาก HN และด้วย Claude ก็เลยปล่อยอัปเดตได้เร็วมาก ถ้ามี pair programmer ที่ดี การออก 16 รีลีสใน 7 ชั่วโมงก็ง่ายขึ้นมาก
    • น่าประทับใจจริง ๆ OP/sleepingNomad ช่วยเอาอันนี้ขึ้น MacPorts ด้วยได้ไหม?
  • ทำให้นึกได้ว่า 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 นิ้ว พื้นที่ด้านขวาของรอยบากก็แทบเต็มอยู่แล้ว ทั้งที่ก็ไม่ได้ใส่อะไรไว้เยอะขนาดนั้น
    • ผมเข้าใจนะว่าสำหรับผมโอเค แต่สำหรับคนอื่นอาจไม่โอเค เลยเพิ่มสวิตช์ "Show in menu bar" ในการตั้งค่าไว้
      ถ้าปิด WhatCable ก็จะรันเป็นแอปหน้าต่างปกติแบบแอปใน Dock ทั่วไป
    • การเข้าถึงด้วยคลิกเดียวเร็วกว่าการพิมพ์ชื่อแอปใน Finder ส่วน Dock ก็มักจะเต็มอยู่แล้วและเอาไว้ใช้กับแอปอีกประเภทหนึ่ง อีกทั้งยังใช้เป็นรูปแบบ UI มาตรฐานเพื่อให้แสดงผลลัพธ์ค้างไว้ได้ด้วย
    • ใช่ เมนูบาร์ของผมก็เต็มอยู่แล้วเหมือนกัน
  • อ่าน 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 จำนวนมากที่ไม่รู้ว่าเป็นสายอะไร ถ้าติดฉลากสมรรถนะของแต่ละเส้นได้ก็คงดี และตอนนี้ก็ทำได้แล้ว