ฉันจะปิดการใช้งาน (และเปิดใช้งานใหม่) พอร์ต Thunderbolt ของฉันจากเทอร์มินัลได้อย่างไร


8

ฉันประสบปัญหานี้กับ Matrox DualHead2Go ME ของฉันและช่วงปลายปี 2011 15 "MBP (ใช้งาน 10.9.2) เมื่อหน้าจอแสดงผลปลุกจากการนอนหลับ

ฉันได้รวบรวมว่านี่เป็นเพราะหน่วย Matrox เข้าสู่โหมดสลีปของตัวเองและไม่ได้ถูกปลุกด้วยสัญญาณปลุกของระบบปฏิบัติการอีกครั้ง

สิ่งที่ทำงานคือการถอดปลั๊กและเสียบกลับในสายฟ้าสาย Matrox ของฉันเชื่อมต่อกับ อย่างไรก็ตามมันน้อยกว่าอุดมคติ แต่เนื่องจากฉันกังวลเกี่ยวกับการสึกหรอจากการเสียบ / ถอดปลั๊กสายเคเบิลวันละหลายครั้ง

มีวิธีใดบ้างที่ฉันจะสามารถเปิดและปิดระบบขับเคลื่อนสายฟ้าจากเทอร์มินัลเพื่อหลีกเลี่ยงการเสียบ / ถอดปลั๊กสายฟ้าผ่าอย่างต่อเนื่อง


1
หมายเหตุเกี่ยวกับคำตอบที่ยอมรับได้: ทั้งดีและเป็นประโยชน์ ฉันให้ความช่วยเหลือแก่คำตอบพร้อมข้อมูลเฉพาะเพิ่มเติมเกี่ยวกับคดีของฉันและยอมรับคำตอบที่ให้วิธีแก้ปัญหาที่ง่ายที่สุด (imho)
Dennis

คำตอบ:


2

ชุมชน Hackint0sh ได้สร้างเครื่องมือการจัดการ kext บางอย่างเพื่อให้ทุกคนใช้แม้กระทั่งผู้ที่เป็นเจ้าของและใช้งาน Macintosh ของแท้

คุณสามารถใช้เครื่องมือเหล่านี้เพื่อทดสอบและค้นหาสิ่งที่เหมาะกับคุณอย่างรวดเร็ว อย่างน้อย SRTools ก็มีฟังก์ชั่นประวัติและเลิกทำเพื่อช่วยให้คุณไม่ต้องทิ้งเครื่องไว้ในสถานะที่ไม่สามารถบู๊ตได้ซึ่งเป็นไปได้เมื่อล้อเล่นกับส่วนขยาย OS X คุณเห็น ... userland คือ userland และพื้นที่เคอร์เนลเป็นพื้นที่เคอร์เนลและจะไม่มีการจับคู่ทั้งสองยกเว้นใน หน้าวิกิพีเดีย .

แนวคิดที่นี่และสิ่งที่เครื่องมือเหล่านี้ใช้เพื่อการทดลอง ใน Finder ใต้เมนูไปเลือก "ไปที่โฟลเดอร์ ... " หรือพิมพ์ ⇪ เปลี่ยน - ⌘ คำสั่ง - ก. และพิมพ์ / ระบบ / ไลบรารี / ส่วนขยายในฟิลด์ที่อยู่ที่ปรากฏขึ้นและในหน้าต่างที่เปิดขึ้นให้ค้นหาส่วนขยายด้วย "สายฟ้า" ในชื่อไฟล์ ใช้หนึ่งในยูทิลิตี้ที่เชื่อมโยงข้างต้นเพื่อทดสอบการตั้งค่าของคุณด้วยการยกเลิกการโหลดและโหลด kexts ต่าง ๆ เพื่อดูว่ามีอันใดที่มีอยู่หนึ่งอันที่จะเผยให้เห็นว่าคุณต้องการ จากนั้นคุณสามารถปรับปรุงกระบวนการในภายหลัง (เช่นด้วย a สคริปต์ทุบตีง่ายมาก ที่ได้รับ appified เพื่อยกเลิกการโหลด / โหลด kext)

แหล่งข้อมูลที่ดีสำหรับการค้นพบวิธีปรับแต่งการตั้งค่าเฉพาะของคุณคือการเรียกดู นักพัฒนาห้องสมุด และแน่นอน วิกิพีเดีย ค่อนข้างบ่อยครั้งที่จำเป็นสำหรับการค้นพบและบางครั้งความเข้าใจที่ส่องแสง


3

Apple มีหลาย kexts สำหรับการเชื่อมต่อ Thunderbolt:

AppleThunderboltDPAdapters.kext
AppleThunderboltEDMService.kext
AppleThunderboltIP.kext
AppleThunderboltNHI.kext
AppleThunderboltPCIAdapters.kext
AppleThunderboltUTDM.kext
IOThunderboltFamily.kext

ฉันคิดว่าคำสั่งที่คุณกำลังมองหาคือ:

sudo kextunload /System/Library/Extensions/AppleThunderboltPCIAdapters.kext
sudo kextload /System/Library/Extensions/AppleThunderboltPCIAdapters.kext

หรือ

sudo kextunload /System/Library/Extensions/IOThunderboltFamily.kext    
sudo kextload /System/Library/Extensions/IOThunderboltFamily.kext

ฉันมีพอร์ต Thunderbolt ใน Mac Pro ของฉัน แต่ปัจจุบันไม่มีอุปกรณ์ ดังนั้นฉันไม่สามารถบอกคุณได้อย่างแม่นยำว่า kext ใช้กลอุบายใด

- ข้อมูลเพิ่มเติม :

Thunderbolt นั้นเป็น PCIe ที่ถูกส่งผ่านการเชื่อมต่อ DisplayPort ฉันสามารถจินตนาการได้ว่ามันขึ้นอยู่กับส่วนขยายเคอร์เนล ACPIPl หรือ IOPCIFamily ไม่ว่าจะด้วยวิธีใดถ้าคุณยกเลิกการโหลดสิ่งที่คุณอาจจะตัดกิ่งไม้ที่คุณนั่งอยู่

Apple เปิดตัวเอกสารเกี่ยวกับการสร้างไดรเวอร์ Thunderbolt และวิธีการตรวจสอบว่าอุปกรณ์ยังออนไลน์อยู่หรือไม่ ที่นี่ .

นอกจากนี้ยังกล่าวว่า: "ในกรณีของ PCI ตระกูล I / O PCI (IOPCIFamily) ภายใน I / O Kit มีหน้าที่ในการระบุบริดจ์ PCI ในชิปคอนโทรลเลอร์และบริดจ์หรืออุปกรณ์ดาวน์สตรีมใด ๆ "

นอกจากนี้: "ไดรเวอร์อุปกรณ์ PCI สามารถกำหนดได้ว่าอุปกรณ์ Thunderbolt เชื่อมต่ออยู่หรือไม่โดยการค้นหาผู้ปกครองซ้ำ ๆ ใน I / O Registry เพื่อหาคีย์ IOPCITunnelled (... )"

ยังมีลักษณะเป็น นักพัฒนาห้องสมุด .

Thunderbolt เป็นเทคโนโลยีที่ซับซ้อนและคุณสามารถเขียนโปรแกรมเล็กน้อยหรือคุณสามารถเขียนสคริปต์เรียกใช้งานที่จะตรวจสอบและโหลดไดรเวอร์อีกครั้งหากอุปกรณ์ออฟไลน์ คุณสามารถทำได้ด้วยตนเองแทนที่จะถอดปลั๊กแล้วเสียบเข้าไปใหม่


ฉันรวบรวมมัน sudo kext[un]load /System/Library/Extensions/IOThunderboltFamily.kext คำสั่ง แต่ฉันได้รับข้อผิดพลาดต่อไปนี้: (kernel) Can't remove kext com.apple.iokit.IOThunderboltFamily; services failed to terminate - 0xdc008018. Failed to unload com.apple.iokit.IOThunderboltFamily - (libkern/kext) kext is in use or retained (cannot unload). ความคิดใดที่ฉันจะไปเกี่ยวกับเรื่องนี้?
Dennis

@Dennis ฉันเจอปัญหาเดียวกันเมื่อพยายามทำสิ่งนี้ ฉันพบคำอธิบายเกี่ยวกับ stackexchange: stackoverflow.com/questions/13536970/... จากนั้นฉันก็ลอง SRTools ที่ระบุโดย chillin และดูเหมือนว่าจะใช้ได้กับ TB- & gt; Ethernet Adapter .. แต่ฉันต้องขนอย่างน้อย 3 kexts
rwenz3l

2
@Dennis Kexts เหล่านี้มีการขึ้นต่อกัน: "หาก kext ที่โหลดอื่นมีการพึ่งพาบน kext ที่ถูกยกเลิกการโหลดการยกเลิกการโหลดจะล้มเหลวคุณสามารถระบุได้ว่า kext มีผู้ติดตามอยู่หรือไม่โดยใช้เครื่องมือ kextstat (8)"
njboot

@Dennis ลองหลังจากปิดใช้งาน SIP
Sayan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.