ดูปัญหาใน Github เพื่อหาคำตอบ: https://github.com/awesometic/realtek-r8125-dkms/issues/9
สรุป ปัญหาเกี่ยวกับการคอมไพล์คือในไดรเวอร์เวอร์ชันล่าสุด (9.006.04) Realtek ได้ลบ ล็อค spinlock_t
ตัวแปรสมาชิกจาก โครงสร้าง rtl8125_private
แต่ไม่ได้อัปเดตไฟล์ PTP ตามนั้น ดังนั้นทั้งหมด spin_lock_irqsave
และ spin_lock_irqrestore
กิจวัตรจะไม่รวบรวม มีสองวิธีในการแก้ไขปัญหานี้:
- แสดงความคิดเห็นออกทั้งหมด
spin_lock_irqsave
และ spin_lock_irqrestore
รูทีนในไฟล์ PTP หรือ
- เพิ่มกลับ
ล็อค spinlock_t
สมาชิกใน โครงสร้าง rtl8125_private
.
อันหลังน่าจะปลอดภัยกว่าเนื่องจากเราไม่รู้ว่า IRQ มีความสำคัญต่อการทำงานของคนขับหรือไม่ ดังที่กล่าวไว้ ฉันได้ลองทั้งสองโซลูชันและทั้งสองได้ทำให้ไดรเวอร์คอมไพล์และรายงานความสามารถของ PTP HW ดังนั้นฉันจึงไม่รู้ว่าวิธีใดดีที่สุด
อย่างไรก็ตาม ฉันยังคิดว่าไดรเวอร์ค่อนข้างบั๊ก เนื่องจากฉันยังไม่สามารถใช้การประทับเวลา HW เป็นโหมดทาสได้ และฉันมีปัญหาในการรับผลลัพธ์ที่เชื่อถือได้ ฉันมักประสบปัญหาที่ว่า ptp4l
จาก ลินุกซ์พีทีพี
หมดเวลาพยายามรับการประทับเวลาจากไดรเวอร์ ฉันมีคอมพิวเตอร์สองเครื่องที่แตกต่างกันด้วย r8125
NICs และบางครั้งก็ใช้งานได้บนคอมพิวเตอร์เครื่องหนึ่งและแทบจะไม่ได้ทำงานบนคอมพิวเตอร์เครื่องอื่น ฉันสงสัยว่าฟังก์ชัน PTP ยังไม่ได้รับการทดสอบอย่างดีจาก Realtek แม้ว่านี่จะเป็นเพียงการคาดเดาในส่วนของฉัน