hdajackretask เป็นเครื่องมือในการกำหนดฟังก์ชั่นแจ็คของคุณสำหรับอินพุต, เอาต์พุตหรือปิดการใช้งานที่แตกต่างกัน - เช่นเปลี่ยนแจ็คไมค์ของคุณให้เป็นหูฟังเสริมหรือทำไมไม่ทำให้ทั้งคู่เป็นแนวลึก
ติดตั้งalsa-tools-gui
sudo apt-get update
sudo apt-get install alsa-tools-gui
เรียกใช้hdajackretask
เมื่อต้องการแทนที่แจ็คของคุณ:
- เลือกตัวแปลงสัญญาณ
- คลิกช่องทำเครื่องหมาย "แทนที่" สำหรับพินนั้นและเลือกฟังก์ชั่นใหม่ที่ต้องการ
- คลิก "ใช้ทันที"
หมายเหตุ: หากช่องเสียบหูฟังมีสวิตช์ฮาร์ดแวร์ในตัวที่ส่งสัญญาณเสียงอีกครั้งคุณจะเป็น SOL (ขอให้โชคดีนะครับ) อย่างไรก็ตามหากระบบปฏิบัติการตรวจพบเมื่อเสียบสายเข้ากับช่องเสียบหูฟังเสียงส่วนใหญ่จะไม่ได้เปลี่ยนโดยอัตโนมัติ
ฉันพบว่าการเอาชนะทั้งหูฟังและลำโพงในเวลาเดียวกันทำงานได้ดีที่สุด
ภาพหน้าจอ hdajackretask เพื่อสลับหูฟังไปยังลำโพง:
หลังจากที่คุณคลิก "ใช้ทันที" เชลล์สคริปต์จะถูกสร้างขึ้นเพื่อทำการเปลี่ยนแปลงและแจ้งให้รหัสผ่านผู้ใช้ขั้นสูงในการดำเนินการ สคริปต์จะถูกบันทึก/tmp
ซึ่งสามารถคัดลอกและดำเนินการในภายหลังด้วยsudoจากบรรทัดคำสั่ง
การประมวลผลบรรทัดคำสั่ง
ดังที่ได้กล่าวไว้ก่อนหน้านี้hdajackretask
สร้างสคริปต์script.sh
ใน/tmp
คล้ายกับ/tmp/hda-jack-retask-QW1EEZ/
ฟังก์ชั่นแจ็คที่คุณต้องการ:
#!/bin/sh
echo "0x12 0x90a60140" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x14 0x90170150" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x17 0x40000000" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x18 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x19 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1a 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1b 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1d 0x40700001" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1e 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x21 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo 1 | tee /sys/class/sound/hwC0D0/reconfig 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
คัดลอกสคริปต์นี้ที่อื่นในระบบของคุณ (นอกเหนือจาก / tmp)
cd /tmp/hda-jack-retask-QW1EEZ
cp script.sh ~username/speaker.sh
จากนั้นแก้ไข speaker.sh
cd ~username
nano speaker.sh
เพิ่มบรรทัดkillall pulseaudio &
ที่ด้านบนของไฟล์ สิ่งนี้จำเป็นเนื่องจากฟังก์ชั่นแจ็คไม่สามารถเปลี่ยนแปลงได้ในขณะที่pulseaudio
กำลังทำงาน โดยค่าเริ่มต้นpulseaudio
จะเกิดใหม่ เปลี่ยนเส้นทางเป็นerrors.log
ไฟล์ไปยัง/tmp
หรือที่ใดก็ได้ที่คุณต้องการ:
#!/bin/sh
killall pulseaudio &
echo "0x12 0x90a60140" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x14 0x90170150" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x17 0x40000000" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x18 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x19 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1a 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1b 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1d 0x40700001" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1e 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x21 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo 1 | tee /sys/class/sound/hwC0D0/reconfig 2>>/tmp/errors.log
วิธีรันสคริปต์:
sudo ./speaker.sh
จากเอกสารalsa-tools-1.1.5 / hdajackretask / README :
เอกสารประกอบสำหรับ hdajackretask
การ์ดเสียง HDA Intel ส่วนใหญ่สามารถปรับระดับได้เช่นสามารถใช้มากกว่าหนึ่งอย่าง เครื่องมือนี้เป็น GUI ที่ช่วยให้เสียบแจ็คของคุณใหม่ได้ง่ายเช่นเปลี่ยนแจ็คไมค์ของคุณให้เป็นหูฟังเสริมหรือทำไมไม่ทำให้ทั้งคู่เป็นเส้นลึกและเชื่อมต่อเข้ากับตัวรับสัญญาณเซอร์ราวด์ของคุณ
Quickstart
เริ่มแอปพลิเคชัน "hdajackretask" จากบรรทัดคำสั่ง เลือกตัวแปลงสัญญาณในแถบด้านบน; บางคนมีเพียงคนเดียว - ถ้าคุณมีมากกว่าหนึ่งคนหนึ่งเป็นคน "หลัก" และคนอื่น ๆ น่าจะเป็นตัวแปลงสัญญาณ HDMI
แจ็คทั้งหมด (และอินพุต / เอาต์พุตอื่น ๆ ) แสดงอยู่ภายใต้ "การกำหนดค่าพิน" หากต้องการแทนที่แจ็คของคุณให้คลิกช่องทำเครื่องหมาย "แทนที่" สำหรับพินนั้นและเลือกฟังก์ชั่นที่ต้องการ หมายเหตุ: หากคุณเลือกแทนที่ "Line out (back)" คุณควรมีการแทนที่ "Line out (front)" การแทนที่ "Line out (Center / LFE)" จะใช้ได้กับการแทนที่สองครั้งก่อนหน้านี้เท่านั้นและอื่น ๆ
คุณสามารถลองใช้การกำหนดค่าใหม่ของคุณได้โดยคลิก "สมัครเลย" หากต้องการทำให้การกำหนดค่าใหม่ของคุณเป็นค่าเริ่มต้นให้คลิก "ติดตั้งการแทนที่การบูต" การดำเนินการใด ๆ เหล่านี้จำเป็นต้องมีสิทธิ์รูทดังนั้นคุณอาจถูกขอรหัสผ่านของคุณ
Quickend
คุณทำผิดพลาด? คลิกปุ่ม "ลบบูตแทนที่" และเมื่อกระบวนการเสร็จสมบูรณ์ปิดคอมพิวเตอร์ของคุณรอสักครู่แล้วเปิดอีกครั้ง ตอนนี้คุณควรจะกลับมาที่จุดเริ่มต้น
มันใช้งานได้หรือ
ถ้าเป็นเช่นนั้นจงมีความสุขแบ่งปันความสุขทำสิ่งที่ดี!
หากไม่เป็นเช่นนั้นต่อไปนี้เป็นสิ่งที่ควรลอง:
ไปที่ alsamixer และดูว่ามีการควบคุมระดับเสียงใหม่หรือไม่และดูว่าพวกเขาไม่ได้เปิดเสียงและตั้งค่าที่เหมาะสมหรือไม่
บางครั้งไดรเวอร์ไม่ปิดพินที่ไม่ได้เชื่อมต่อ (ถ้ามันไม่ได้เชื่อมต่อทำไมต้องกังวล) คุณอาจสามารถแก้ไขปัญหานี้ได้ด้วยการปิดคอมพิวเตอร์ของคุณอย่างสมบูรณ์ชั่วขณะ
ดูตัวเลือก "model = auto" ด้านล่าง
หากวิธีนี้ไม่ช่วยให้คุณมีโอกาสสูงที่คุณจะพบกับไดรเวอร์หรือข้อ จำกัด ด้านฮาร์ดแวร์ คุณอาจพบข้อบกพร่องของไดรเวอร์ (อาจไม่มีใครเคยทดสอบสี่หูฟังมาก่อน!) หากคุณรู้สึกฟรีเพื่อรายงานพวกเขาในรายการส่งเมล alsa-devel: อย่างไรก็ตามเนื่องจากขาดกำลังคนโอกาสนี้จะได้รับการจัดการที่ลำดับความสำคัญต่ำมาก (มีเสียงที่ทำงานนอกกรอบสำหรับการกำหนดค่ามาตรฐานคือ สำคัญกว่าการสนับสนุนการกำหนดค่าแปลก ๆ ) อย่างไรก็ตามหากคุณเป็นแฮกเกอร์เคอร์เนลและมี patch ที่ช่วยแก้ปัญหาของคุณโดยไม่พลาดสิ่งอื่นใดโอกาสสูงมากก็จะถูกรวมเข้าด้วยกัน
หากคุณสงสัยว่าปัญหาเกิดขึ้นกับแอปพลิเคชั่น GUI นี้แทนที่จะใช้ไดรเวอร์เคอร์เนลโปรดเขียนอีเมลถึงฉัน (และหากคุณต้องการให้รวมโปรแกรมปะแก้!) ถ้าเป็นเช่นนั้นเขียนถึง diwic@ubuntu.com
ตัวเลือก
แสดงพินที่ไม่เชื่อมต่อ BIOS ของคุณมีหน้าที่รับผิดชอบในการตั้งค่าพินบนตัวแปลงสัญญาณที่เชื่อมต่อกับบางสิ่ง บางครั้ง BIOS เป็นบั๊กและจะไม่แสดงแจ็คของคุณทั้งหมด หากคุณมีแจ็ค BIOS ของคุณบอกว่าคุณยังไม่ได้ลองเปิดใช้งานพินสุ่มและดูว่าใช้งานได้หรือไม่
ตั้งค่ารุ่น = อัตโนมัติตัวแปลงสัญญาณบางตัวโดยเฉพาะอย่างยิ่งตัวแปลงสัญญาณที่เก่ากว่าและในเมล็ด 3.8 และรุ่นที่ต่ำกว่านั้นจะมีการเข้ารหัสแบบยากที่จะใช้รุ่นที่ระบุและจะไม่สนใจการแทนที่ของคุณ ในหลายกรณีและด้วยเคอร์เนลใหม่ที่สมเหตุสมผลตอนนี้ parser อัตโนมัติทำงานได้ดีสำหรับตัวแปลงสัญญาณเหล่านี้เช่นกัน คุณสามารถบังคับให้ใช้เครื่องมือแยกวิเคราะห์อัตโนมัติได้โดยทำเครื่องหมายที่ช่องนี้ ในบางกรณีแม้ว่ารูปแบบที่ชัดเจนนั้นมีเหตุผลหากเป็นเช่นนั้นคุณติดอยู่
การลบล้างขั้นสูงนี้ใช้สำหรับผู้เชี่ยวชาญเท่านั้น มันทำให้คุณเลือกแต่ละฟิลด์การตั้งค่าเป็นรายบุคคลแทนที่จะเป็นเพียงค่าที่กำหนดไว้ล่วงหน้าที่เหมาะสม โปรดทราบว่าชุดค่าผสมส่วนใหญ่ที่นี่ไม่ถูกต้องไม่ทางใดก็ทางหนึ่งดังนั้นคุณไม่ควรยุ่งกับสิ่งนี้หากคุณไม่ได้อ่านและทำความเข้าใจในส่วน "ค่าเริ่มต้นการกำหนดค่า" ของข้อกำหนดเสียง HD (ซึ่งในขณะที่เขียนนี้มีอยู่ที่นี่:
http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/high-definition-audio-specification pdf )
Parser hints สิ่งนี้ช่วยให้คุณสามารถส่ง "คำแนะนำ" พิเศษไปยังไดรเวอร์ที่ทำให้การวิเคราะห์คำทำงานแตกต่างกัน ปล่อยไว้ที่การตั้งค่า "เริ่มต้น" เว้นแต่ว่าคุณได้อ่านเอกสารไดรเวอร์ (ซึ่งในขณะที่เขียนนี้มีให้ที่นี่: https://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt - ดูส่วน "คำแนะนำสตริง")