เพราะฉันยังไม่ประสบความสำเร็จ unix stackexchangeฉันลองที่นี่ บางทีฉันใจร้อน บางทีนี่อาจไม่ใช่วิธีที่ดีในการขอความช่วยเหลือ อย่าลังเลที่จะบอกฉัน!
บางครั้งฉันใช้คอนโทรลเลอร์ Playstation DualShock 4 ผ่าน Bluetooth เพื่อเล่นเกมบน Linux Box ของฉัน รายละเอียดเกี่ยวกับกล่อง:
- ฮาร์ดแวร์: Asrock Beebox N3150
- ระบบปฏิบัติการ: เซิร์ฟเวอร์ Ubuntu 20.04.3
- ซอฟต์แวร์: Kodi + Retroarch
ตอนนี้ฉันมีคอนโทรลเลอร์ DualSense แล้ว ฉันสามารถจับคู่ผ่าน Bluetooth เพื่อใช้งานแบบเดียวกับ DS4 ฉันยังคงสามารถใช้ DS4 ได้หากฉันยกเลิกการเชื่อมต่อคอนโทรลเลอร์ DualSense ก่อน แต่ฉันไม่สามารถทำให้คอนโทรลเลอร์ 2 ตัวทำงานพร้อมกันได้
สิ่งที่ฉันได้ลอง:
- ทดสอบสิ่งเดียวกันบนคอมพิวเตอร์เครื่องอื่น (ใช้ Ubuntu 20.04 ด้วย) => ใช้งานได้ ฉันสามารถเล่นเกมแบบผู้เล่นหลายคนบน Retroarch
- การทดสอบเพื่อติดตั้งเคอร์เนลที่ใหม่กว่าในกล่อง ได้แก่ เคอร์เนล 5.13 (ผ่าน HWE ตามที่อธิบายไว้ ที่นี่) เพื่อรับไดรเวอร์ hid_playstation อย่างเป็นทางการที่สนับสนุนโดย Sony => มันไม่ได้ช่วยอะไร แม้ว่าฉันจะแน่ใจว่าฉันใช้ไดรเวอร์ที่ถูกต้องสำหรับ DualSense
- ทดสอบโดยใช้การเชื่อมต่อ USB เพื่อตั้งค่าอุปกรณ์อัตโนมัติก่อน จากนั้นจึงเชื่อมต่อผ่าน Bluetooth => ไม่มีการปรับปรุง
- การทดสอบโดยใช้คอนโทรลเลอร์หนึ่งตัวผ่าน Bluetooth อีกอันหนึ่งผ่าน USB => ใช้งานได้
สิ่งที่ฉันสงสัย (สมมติฐาน - ฉันอาจผิด):
- ปัญหาอาจไม่เชื่อมโยงกับการเชื่อมต่อบลูทูธ ฉันใช้
บลูทูธctl
เพื่อจับคู่อุปกรณ์ของฉัน และไม่พบปัญหาในกระบวนการจับคู่ blueoothctl
บอกฉันว่าจับคู่อุปกรณ์แล้ว และไฟ LED บนอุปกรณ์เปลี่ยนจากการกะพริบเพื่อแก้ไขสี
- ปัญหาอาจเชื่อมโยงกับไดรเวอร์หรือสิ่งอื่นๆ ที่เกี่ยวข้องกับการสื่อสารกับอุปกรณ์: เมื่อเชื่อมต่อคอนโทรลเลอร์ตัวที่สอง (ไม่ว่าจะเป็น DualSense หรือ DS4) คอนโทรลเลอร์จะยังคงเป็นสีคงที่ (สีเทาสำหรับ DS4 และสีน้ำเงินสำหรับ DualSense ) ชั่วระยะเวลาหนึ่ง (โดยปกติจะน้อยกว่า 1 นาที) แล้วปิดเครื่อง ดังนั้นฉันเดาว่ามันหมายความว่ามันเชื่อมต่อด้วย Bluetooth แต่ไม่ได้รับคำตอบที่ต้องการหลังจากผ่านไประยะหนึ่ง
มีคนช่วยฉันแก้ไขปัญหานี้ได้ไหม ฉันสามารถจัดเตรียมบันทึกของสิ่งที่จำเป็นและกลับไปกลับมาจากเคอร์เนล 5.4 ถึง 5.13 (แต่ฉันไม่แน่ใจว่ามันจำเป็นเพราะมันใช้งานได้ทีละหนึ่งคอนโทรลเลอร์ใน 5.4)
อัปเดต: เพื่อให้แน่ใจว่าปัญหาไม่เกี่ยวกับฮาร์ดแวร์ ฉันจึงซื้อด็องเกิล USB บลูทูธภายนอก : TP-link UB500 ฉันรู้สึกประหลาดใจที่พบว่ามันไม่ได้ผลทันที: ฉันต้องติดตั้งเคอร์เนลล่าสุด (>= 5.15.4) ตามที่กล่าวไว้ ที่นี่. ฉันก็เลยไปด้วย กวดวิชานี้ และติดตั้ง 5.15.13 หลังจากดาวน์โหลดไฟล์เฟิร์มแวร์ที่จำเป็นแล้ว ฉันสามารถบู๊ตบนเคอร์เนลใหม่และ ... กลับมาที่จุดเดิม: ฉันสามารถจับคู่ทั้ง DS4 และ DualSense กับอะแดปเตอร์ Bluetooth ใหม่ของฉัน แต่มีเพียงตัวแรกที่เชื่อมต่อเท่านั้นที่จะทำให้เกิดบันทึกบางอย่าง /var/log/kern.log
และถือเป็นอุปกรณ์อินพุต (แม้ว่าอุปกรณ์ที่สองจะเชื่อมต่อด้วย Bluetooth) ฉันได้ลองปิดใช้งานและขึ้นบัญชีดำไดรเวอร์ hid_playstation ใหม่ แต่ก็ไม่มีความแตกต่างกันเลย ดังนั้นฉันยังคงติดอยู่กับปัญหานี้:
- อุปกรณ์ที่สองเชื่อมต่อตาม bluetoothctl
- เคอร์เนลหรือ Xorg หรือแอปพลิเคชันของผู้ใช้ปลายทางไม่เห็นอุปกรณ์ที่สอง
- ไม่มีการสร้างการกำหนดค่าสำหรับอุปกรณ์ที่สอง
/sys/bus/hid/devices
หรือใน /sys/devices/virtual/misc/uhid