หาก Pardus Linux 23 ไม่พบการ์ดเสียงของคุณ ให้เปรียบเทียบอุปกรณ์ที่แสดงโดย ALSA กับอุปกรณ์ในการตั้งค่าเสียงบนเดสก์ท็อปก่อน หาก ALSA aplay -lแสดงรายการการ์ด ให้ตรวจสอบการกำหนดเส้นทางการส่งออกและเซิร์ฟเวอร์เสียง หาก ALSA รายงานว่าไม่พบการ์ด ให้ตรวจสอบไดรเวอร์เคอร์เนลและเฟิร์มแวร์ก่อนติดตั้งอะไรก็ตาม
ลำดับขั้นตอนเหล่านี้ช่วยหลีกเลี่ยงข้อผิดพลาดทั่วไป: การแทนที่ PipeWire หรือ PulseAudio เมื่อปัญหาเกิดจากอุปกรณ์เคอร์เนลที่ไม่พร้อมใช้งาน ขั้นตอนเหล่านี้ใช้ได้กับการติดตั้ง Pardus 23 รวมถึงรุ่น XFCE และ GNOME แม้ว่าป้ายกำกับเมนูจะแตกต่างกันก็ตาม Pardus 23.0 เปิดตัวพร้อมกับเคอร์เนล Linux 6.1 และ XFCE 4.18 ตามบันทึกการเผยแพร่อย่างเป็นทางการ การอัปเดต Pardus 23 ในภายหลังอาจมีแพ็กเกจที่แตกต่างกัน ดังนั้นควรเชื่อถือเวอร์ชันที่แสดงบนเครื่องของคุณมากกว่าภาพหน้าจอ
1. ตรวจสอบว่าเอาต์พุตถูกปิดเสียงหรือเลือกไม่ถูกต้องหรือไม่
เปิดการตั้งค่าเสียงหรือระดับเสียงบนเดสก์ท็อปของคุณ ถอดหูฟังบลูทูธหรือจอภาพ HDMI ออกชั่วคราวหากคุณต้องการใช้ลำโพงแล็ปท็อป เลือกใช้ลำโพงภายในหรือโปรไฟล์เอาต์พุตแบบอนาล็อกที่เหมาะสม ตรวจสอบให้แน่ใจว่าระดับเสียงสูงกว่าศูนย์ และตรวจสอบว่าอุปกรณ์ไม่ได้ถูกปิดเสียง เมื่อตัวเลือกเดียวที่แสดงคือ “เอาต์พุตจำลอง” ให้ดำเนินการตรวจสอบ ALSA ด้านล่าง
หากส่วนควบคุมบนเดสก์ท็อปของคุณไม่แสดงเส้นทางที่ต้องการ โปรแกรมpavucontrolสามารถแสดงอุปกรณ์เอาต์พุต พอร์ต และโปรไฟล์สำหรับเซิร์ฟเวอร์ที่เข้ากันได้กับ PulseAudio ที่กำลังทำงานอยู่ ติดตั้งsudo apt install pavucontrolเฉพาะในกรณีที่ไม่มีอยู่เท่านั้น โปรแกรมนี้ไม่สามารถสร้างการ์ดเสียงที่เคอร์เนลตรวจไม่พบได้
ตัวเลือกเอาต์พุตจะแยกความแตกต่างระหว่างลำโพงในตัวกับเสียง HDMI เลือกพอร์ตที่เชื่อมต่อกับลำโพงของคุณจริง ๆ
2. ตรวจสอบว่า Linux มองเห็นฮาร์ดแวร์เสียงหรือไม่
เปิดเทอร์มินัลแล้วรันคำสั่งต่อไปนี้ หากlspciหรือaplayไม่พร้อมใช้งาน ให้ติดตั้งpciutilsหรือalsa-utilsตามลำดับจากที่เก็บ Pardus ที่กำหนดค่าไว้
lspci -nnk | grep -A4 -Ei "audio|multimedia"
aplay -l
cat /proc/asound/cards
lspciตรวจสอบอุปกรณ์ PCI และอาจแสดงข้อความ “กำลังใช้ไดรเวอร์เคอร์เนล” aplay -lแสดงรายการฮาร์ดแวร์เล่นเสียง ALSA ในขณะที่/proc/asound/cardsระบุการ์ด ALSA ที่ลงทะเบียนไว้ อะแดปเตอร์เสียง USB อาจไม่ปรากฏในรายการ PCI ตรวจสอบอีกครั้งlsusbหลังการติดตั้งusbutilsหากจำเป็น การ์ด ALSA อาจมีอยู่แม้ว่าเดสก์ท็อปจะไม่แสดงเอาต์พุตที่ใช้งานได้ก็ตาม
ใช้ผลลัพธ์เพื่อเลือกเส้นทางของคุณ: หาก ALSA แสดงรายการการ์ดที่ต้องการ ให้ข้ามไปยังการตรวจสอบเซิร์ฟเวอร์เสียงในส่วนที่ 5 หลังจากตรวจสอบการปิดเสียงและการเลือกโปรไฟล์แล้ว หากมองเห็นตัวควบคุม PCI แต่ ALSA ไม่แสดงการ์ดที่ใช้งานได้ ให้มุ่งเน้นไปที่ข้อความไดรเวอร์และเฟิร์มแวร์ หากไม่พบอุปกรณ์ใด ๆ ให้ตรวจสอบการตั้งค่าเสียงออนบอร์ด BIOS/UEFI การเชื่อมต่อ USB แบบถอดได้ และตรวจสอบว่าระบบ Linux ที่ใช้งานอยู่ตรวจพบอุปกรณ์หรือไม่ ก่อนที่จะสรุปว่าแพ็คเกจไดรเวอร์จะแก้ปัญหาได้ พฤติกรรมการแสดงรายการอุปกรณ์มีเอกสารอยู่ในคู่มือ ALSA aplay
เปรียบเทียบข้อมูลคอนโทรลเลอร์และไดรเวอร์เคอร์เนลในคำสั่ง lspci กับข้อมูลการ์ดและอุปกรณ์ที่รายงานโดย ALSA
3. ตรวจสอบไดรเวอร์เคอร์เนลและเบาะแสเกี่ยวกับเฟิร์มแวร์ที่หายไป
ตรวจสอบโมดูลเสียงที่โหลดไว้และตรวจสอบข้อความเคอร์เนลล่าสุด คำสั่งเหล่านี้ไม่ได้แก้ไขการกำหนดค่าระบบ:
lsmod | grep -E "^(snd|soundwire)"
sudo dmesg | grep -iE "sof|snd|hda|audio|firmware" | tail -n 60
ตรวจสอบหาข้อผิดพลาดในการโหลดเฟิร์มแวร์ ความล้มเหลวในการเริ่มต้นใช้งาน DSP เสียง หรือไดรเวอร์ที่ไม่สามารถตรวจสอบคอนโทรลเลอร์ได้ เฟิร์มแวร์ Sound Open Firmware (SOF) ถูกใช้ในระบบ Intel บางระบบ การอ้างอิงถึงsofSOF เป็นเพียงเบาะแสที่มีประโยชน์ ไม่ใช่ข้อพิสูจน์ว่าเครื่อง Intel ทุกเครื่องต้องการแพ็กเกจเดียวกัน โมดูลที่คอมไพล์โดยตรงลงในเคอร์เนลอาจไม่ปรากฏใน SOF lsmodดังนั้นอย่าถือว่าผลลัพธ์ที่ว่างเปล่าเพียงอย่างเดียวเป็นหลักฐานว่าไดรเวอร์หายไป
หากบันทึกไม่มีข้อความที่ชัดเจน ให้จดบันทึก ID คอนโทรลเลอร์แบบเต็มlspci -nnkและเคอร์เนลจากไฟล์uname -r.org/file.js รายละเอียดเหล่านี้จะมีประโยชน์มากกว่าคำอธิบายทั่วไปว่า "ไม่มีเสียง" ในการขอความช่วยเหลือจากผู้ผลิตหรือโพสต์ในฟอรัม Pardus หลีกเลี่ยงการคัดsnd_hda_intelลอกการตั้งค่าแบบกำหนดเองของโมเดลหรือการบังคับโหลดโมดูลโดยไม่ตรงกับชิปเซ็ตและตัวแปลงสัญญาณของคุณ
4. อัปเดตเฟิร์มแวร์ที่เกี่ยวข้อง ไม่ใช่ระบบเสียงทั้งหมด
รีเฟรชข้อมูลเมตาของแพ็กเกจและตรวจสอบว่ามีเฟิร์มแวร์ใดบ้างที่พร้อมใช้งานจากแหล่งซอฟต์แวร์Pardus ที่มีอยู่ ของคุณ:
sudo apt update
apt policy firmware-sof-signed firmware-intel-sound alsa-ucm-conf
หากบันทึกเคอร์เนลชี้ไปที่เฟิร์มแวร์ Intel SOF ที่หายไป ให้ติดตั้งfirmware-sof-signedเมื่อมีแพ็คเกจที่เหมาะสมให้เลือก:
sudo apt install firmware-sof-signed
คำอธิบายแพ็กเกจ Debian 12ระบุว่าแพ็กเกจนี้มีไฟล์เฟิร์มแวร์และไฟล์โทโพโลยีสำหรับ อุปกรณ์ Intel บางรุ่นอุปกรณ์ Intel SST รุ่นเก่าอาจต้องการ แพ็กเกจอื่นแทน ซึ่งมี firmware-intel-soundเอกสารอธิบายแยกต่างหากในดัชนีแพ็กเกจของ Debianอย่าติดตั้งทั้งสองแพ็กเกจโดยไม่เลือกปฏิบัติ หรืออ้างว่าครอบคลุมตัวควบคุมเสียงทั้งหมด สำหรับการ์ด ALSA ที่มีโปรไฟล์ไม่สมบูรณ์ ให้ตรวจสอบalsa-ucm-confแพ็กเกจที่ให้การกำหนดค่าตามกรณีการใช้งาน แทนที่จะเป็นไดรเวอร์เคอร์เนลใหม่
ตรวจสอบการเปลี่ยนแปลงแพ็กเกจที่ APT เสนอก่อนที่จะยอมรับ จากนั้นรีบูตเครื่องหากมีการอัปเดตเฟิร์มแวร์หรือเคอร์เนล รักษาการกำหนดค่าที่เก็บ Pardus 23 ไว้ อย่าคัดลอกบรรทัดที่เก็บ Debian testing, Pardus 25 หรือที่เก็บของบุคคลที่สามลงในระบบที่ใช้งานได้อยู่แล้วเพียงเพื่อจะได้ไฟล์เสียงเวอร์ชันใหม่กว่า เคอร์เนลเวอร์ชันใหม่กว่าอาจรองรับฮาร์ดแวร์ที่เคอร์เนล Pardus 23 เดิมไม่รองรับ แต่การเปลี่ยนแปลงเคอร์เนลจะทำให้เกิดความเสี่ยงด้านความเข้ากันได้และการกู้คืน ซึ่งควรพิจารณาเปรียบเทียบกับการทดสอบระบบที่ใช้งานจริงเวอร์ชันใหม่กว่าที่รองรับก่อน
ตรวจสอบแพ็คเกจเฟิร์มแวร์ที่คาดว่าจะติดตั้งก่อนทำการติดตั้ง เนื่องจากแหล่งเก็บแพ็คเกจ เวอร์ชัน และความพร้อมใช้งานอาจแตกต่างกันไปในแต่ละระบบ
5. ซ่อมแซมเฉพาะบริการเสียงที่คุณใช้งานจริงเท่านั้น
หากaplay -lระบบระบุการ์ดเสียงได้แล้ว แต่เดสก์ท็อปของคุณยังคงไม่มีเอาต์พุตที่ใช้งานได้ ให้สอบถามเซิร์ฟเวอร์เสียง เรียกใช้คำสั่งเหล่านี้ในฐานะผู้ใช้ที่เข้าสู่ระบบตามปกติของคุณ ไม่ใช่ด้วยsudo:
pactl info
pactl list short sinks
ชื่อเซิร์ฟเวอร์ที่มีคำว่า “PulseAudio (on PipeWire)” แสดงว่าเซิร์ฟเวอร์นั้นเป็นบริการที่ใช้งานร่วมกับ PipeWire ได้ ส่วนคำว่า “pulseaudio” อย่างเดียว จะหมายถึงเซิร์ฟเวอร์ PulseAudio แบบดั้งเดิม หากpactlไม่สามารถเชื่อมต่อได้ อาจเป็นเพราะเซสชันของผู้ใช้หรือเซิร์ฟเวอร์เสียงที่เลือกไว้ไม่ได้ทำงาน เอกสาร อ้างอิงคำสั่ง pactl จะอธิบายวิธีการสอบถามเซิร์ฟเวอร์และการแสดงรายการปลายทาง
สำหรับระบบ PipeWire ที่ติดตั้งไว้แล้ว:ตรวจสอบอุปกรณ์บริการ และรีสตาร์ทเฉพาะอุปกรณ์ที่ติดตั้งและใช้งานอยู่จริงเท่านั้น:
systemctl --user status pipewire pipewire-pulse wireplumber --no-pager
systemctl --user restart pipewire pipewire-pulse wireplumber
อย่าเรียกใช้คำสั่งรีสตาร์ทหากการตรวจสอบสถานะแสดงว่าไม่มีหน่วยเหล่านี้อยู่ ระบบอาจใช้ PulseAudio แทนสำหรับการตั้งค่า PulseAudio ที่มีอยู่แล้ว:ใช้คำpulseaudio -kสั่งเพื่อหยุด daemon ของผู้ใช้ จากนั้นเชื่อมต่อใหม่หรือออกจากระบบแล้วเข้าสู่ระบบใหม่อีกครั้งเพื่อให้สามารถเริ่มต้นใหม่ได้ หากแพ็กเกจที่เกี่ยวข้องเสียหายจริง ให้ติดตั้ง stack เดิมอีกครั้งหลังจากตรวจสอบธุรกรรม APT แล้ว การเปลี่ยน stack เป็นการเปลี่ยนแปลงที่แยกต่างหาก ไม่ใช่การซ่อมแซมครั้งแรก
ตรวจสอบเซิร์ฟเวอร์เสียงที่กำลังทำงานอยู่และสถานะการให้บริการก่อนที่จะรีสตาร์ทส่วนประกอบเสียงของเซสชันผู้ใช้
วิธีแก้ไขใดที่เหมาะกับอาการของคุณ?
| สิ่งที่คุณสามารถตรวจสอบได้ | การดำเนินการถัดไปที่เหมาะสม | การแลกเปลี่ยน |
| มีการ์ด ALSA อยู่ แต่อาจเกิดจากการเชื่อมต่อลำโพงหรือสาย HDMI ผิดพลาด | เปลี่ยนพอร์ตเอาต์พุตหรือโปรไฟล์เสียง | รวดเร็วและสามารถแก้ไขได้ แต่ไม่สามารถแก้ไขข้อผิดพลาดของเฟิร์มแวร์ได้ |
| มีตัวควบคุมเสียง PCI อยู่; ALSA ไม่มีตัวการ์ด; ชื่อไฟล์บันทึกหายไป เฟิร์มแวร์ SOF | ติดตั้งเฟิร์มแวร์ที่ตรงกันจากแหล่งเก็บข้อมูลของ Pardus | การซ่อมแซมแบบเฉพาะเจาะจง จำเป็นต้องใช้อุปกรณ์ที่เข้ากันได้ และบางครั้งอาจต้องรีบูตเครื่อง |
ALSA แสดงรายการการ์ด แต่pactlล้มเหลวหรือไม่แสดงว่ามีซิงค์ที่ใช้งานได้ | ตรวจสอบและกู้คืนบริการเสียงที่มีอยู่ | รักษาการทำงานร่วมกันของเดสก์ท็อป ไม่สามารถซ่อมแซมอุปกรณ์เคอร์เนลที่ไม่รองรับได้ |
| ไม่พบฮาร์ดแวร์ หรือฮาร์ดแวร์ยังไม่รองรับหลังจากตรวจสอบเฟิร์มแวร์แล้ว | ตรวจสอบการตั้งค่าเฟิร์มแวร์ เชื่อมต่ออุปกรณ์ต่อพ่วงอีกครั้ง และทดสอบระบบที่ใช้งานจริงที่รองรับ | ให้ผลการวินิจฉัยที่แม่นยำยิ่งขึ้น แต่การทดสอบต้องใช้เวลา และการเปลี่ยนแปลงการแจกจ่ายอาจส่งผลกระทบต่อฮาร์ดแวร์อื่นๆ |
ควรเลือกวิธีการเปลี่ยนแปลงการตั้งค่าเมื่อ ALSA ตรวจพบการ์ด และควรเลือกวิธีตรวจสอบเฟิร์มแวร์เมื่อข้อความจากเคอร์เนลชี้ไปที่ไฟล์ที่หายไป PipeWire เป็นตัวเลือกที่เหมาะสมบนระบบ Debian 12 แต่การเปลี่ยนระบบ PulseAudio ที่ใช้งานได้อยู่แล้วเพียงเพราะ PipeWire เป็นเวอร์ชันใหม่กว่า อาจทำให้แพ็กเกจบางตัวถูกลบและพฤติกรรมการกำหนดเส้นทางเปลี่ยนไป ตรวจสอบธุรกรรมที่เสนอมาก่อนข้อมูลเมตาแพ็กเกจเสียงของ PipeWireจะอธิบายส่วนประกอบที่เกี่ยวข้อง
ตรวจสอบว่าการ์ดเสียงใช้งานได้อีกครั้งหรือไม่
หลังจากใช้การแก้ไขที่คุณเลือกแล้ว ให้เรียกใช้โปรแกรมaplay -lอีกครั้งและตรวจสอบว่าแสดงการ์ดเล่นเสียงที่ต้องการ จากนั้นเรียกใช้โปรแกรมpactl list short sinksและเลือกเอาต์พุตที่ถูกต้องในการตั้งค่าเสียง สุดท้าย เล่นคลิปเสียงที่คุ้นเคยในระดับเสียงปานกลาง หรือใช้speaker-test -c 2 -t wav -l 1เพื่อทำการตรวจสอบสองช่องสัญญาณสั้นๆ
หาก ALSA ยังคงไม่แสดงการ์ด ให้บันทึกlspci -nnk, uname -r, และdmesgข้อผิดพลาดที่เกี่ยวข้องก่อนที่จะขอความช่วยเหลือเกี่ยวกับฮาร์ดแวร์เฉพาะ หาก ALSA ตรวจพบการ์ด แต่การเล่นยังคงเงียบ ให้ใช้alsamixerปุ่ม F6 เพื่อเลือกการ์ดที่ถูกต้อง และตรวจสอบการควบคุมการเล่นที่ถูกปิดเสียงคำแนะนำอย่างเป็นทางการของมิกเซอร์ ALSAจะอธิบายการควบคุมเหล่านี้ ความสำเร็จหมายความว่าอุปกรณ์นั้นแสดงอยู่ในรายการและมีเสียงได้ยินผ่านเอาต์พุตที่ต้องการ ไม่ใช่เพียงแค่การติดตั้งโปรแกรมโดยไม่มีข้อผิดพลาด