เสียงของฉันหยุดทำงานวันนี้ฉันจะแก้ไขได้อย่างไร


19

ดูเหมือนว่าจะมีปัญหากับ pulseaudio ฉันลงชื่อเข้าใช้ผ่าน VNC บนโทรศัพท์ของฉันและเริ่มเล่นวิดีโอทำให้ X ผิดพลาด (บางครั้งเกิดขึ้น) ฉันรีสตาร์ทและทันใดนั้นเสียงไม่ทำงาน

  • ฉันมี Intel HDA / Realtek ALC889

    00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
    
  • alsamixer กำลังตรวจจับสิ่งนี้ได้ดี
  • PulseAudio ไม่พบอุปกรณ์ alsa นี้จึงใช้auto_nullเป็น sink เริ่มต้น (บันทึกด้านล่าง)
  • เมื่อฉันฆ่า PulseAudio อย่างถูกต้อง (บอกไม่ให้เริ่มโดยอัตโนมัติ) การสื่อสาร ALSA โดยตรงกับการ์ดเสียงทำงานได้ดี speaker-testตัวอย่างเช่นผลงาน ดังนั้นฮาร์ดแวร์และชั้น ALSA จึงเป็น IMO ที่ดี
  • ในบันทึกดูเหมือนว่าการ์ดอาจจะ "ยุ่ง" แต่ฉันไม่รู้จริงๆว่าจะเป็นอย่างไรในตอนนี้ (และไม่เคยมาก่อน) มีไฟล์ล็อค ALSA อยู่ที่ไหนสักแห่งที่ยังคงมีอยู่เพราะความผิดพลาดของฉัน?
  • ฉันเพิ่งวิ่งsudo fuser /dev/snd/*และเห็นสิ่งนี้:

    oli@bert:~$ sudo fuser /dev/snd/*
    /dev/snd/controlC0:   1884
    /dev/snd/pcmC0D0c:    1884m
    /dev/snd/timer:       1884
    

    ดูที่รายชื่อกระบวนการ ( ps aux | grep 1884) arecord -c 1 -f S16_LE -r 8000 -t rawบอกฉันประมวลผลเป็น ไม่รู้ว่ามันคืออะไรหรือทำไมมันถึงทำงาน

  • เมื่อฉันพยายามและฆ่าarecord(ในฐานะที่เป็น root) มันก็แค่เกิดใหม่และ rebinds บนฮาร์ดแวร์

ฉันอยู่ในสถานการณ์ที่น่ารำคาญมากที่ฉันไม่รู้ว่าเกิดอะไรขึ้นและไม่รู้วิธีการค้นหา ฉันเปิดให้ข้อเสนอแนะทั้งหมดเพื่อให้การทำงานนี้อีกครั้ง พูดไป.

และนี่คือสิ่งที่ฉันได้รับเมื่อฉันหยุด PA -vvvvอัตโนมัติโหลดฆ่ามันแล้วเริ่มต้นด้วย

oli@bert:~$ pulseaudio -vvvvv
I: main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
D: core-rtclock.c: Timer slack is set to 50 us.
D: core-util.c: RealtimeKit worked.
I: core-util.c: Successfully gained nice level -11.
I: main.c: This is PulseAudio 0.9.21-63-gd3efa-dirty
D: main.c: Compilation host: x86_64-pc-linux-gnu
D: main.c: Compilation CFLAGS: -g -O2 -g -Wall -O3 -Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option
D: main.c: Running on host: Linux x86_64 2.6.38-rc3 #1 SMP Tue Feb 1 10:53:04 GMT 2011
D: main.c: Found 8 CPUs.
I: main.c: Page size is 4096 bytes
D: main.c: Compiled with Valgrind support: no
D: main.c: Running in valgrind mode: no
D: main.c: Running in VM: no
D: main.c: Optimised build: yes
D: main.c: All asserts enabled.
I: main.c: Machine ID is 8310740c4729ef474fe5ecec4bbf5a6b.
I: main.c: Session ID is 8310740c4729ef474fe5ecec4bbf5a6b-1297338553.571075-1050119523.
I: main.c: Using runtime directory /home/oli/.pulse/8310740c4729ef474fe5ecec4bbf5a6b-runtime.
I: main.c: Using state directory /home/oli/.pulse.
I: main.c: Using modules directory /usr/lib/pulse-0.9.21/modules.
I: main.c: Running in system mode: no
I: main.c: Fresh high-resolution timers available! Enjoy ol' chap!
I: cpu-x86.c: CPU flags: CMOV MMX SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 
I: svolume_mmx.c: Initialising MMX optimized functions.
I: remap_mmx.c: Initialising MMX optimized remappers.
I: svolume_sse.c: Initialising SSE2 optimized functions.
I: remap_sse.c: Initialising SSE2 optimized remappers.
I: sconv_sse.c: Initialising SSE2 optimized conversions.
D: memblock.c: Using shared memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472
D: database-tdb.c: Opened TDB database '/home/oli/.pulse/8310740c4729ef474fe5ecec4bbf5a6b-device-volumes.tdb'
I: module-device-restore.c: Sucessfully opened database file '/home/oli/.pulse/8310740c4729ef474fe5ecec4bbf5a6b-device-volumes'.
I: module.c: Loaded "module-device-restore" (index: #0; argument: "").
D: database-tdb.c: Opened TDB database '/home/oli/.pulse/8310740c4729ef474fe5ecec4bbf5a6b-stream-volumes.tdb'
I: module-stream-restore.c: Sucessfully opened database file '/home/oli/.pulse/8310740c4729ef474fe5ecec4bbf5a6b-stream-volumes'.
I: module.c: Loaded "module-stream-restore" (index: #1; argument: "").
D: database-tdb.c: Opened TDB database '/home/oli/.pulse/8310740c4729ef474fe5ecec4bbf5a6b-card-database.tdb'
I: module-card-restore.c: Sucessfully opened database file '/home/oli/.pulse/8310740c4729ef474fe5ecec4bbf5a6b-card-database'.
I: module.c: Loaded "module-card-restore" (index: #2; argument: "").
I: module.c: Loaded "module-augment-properties" (index: #3; argument: "").
D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9.21/modules/module-udev-detect.so': success
D: module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
D: module-udev-detect.c: /devices/pci0000:00/0000:00:1b.0/sound/card0 is busy: yes
I: module-udev-detect.c: Found 1 cards.
I: module.c: Loaded "module-udev-detect" (index: #4; argument: "").
D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9.21/modules/module-bluetooth-discover.so': success
D: dbus-util.c: Successfully connected to D-Bus system bus ba7c9a1f90b3d49d930bca2100000015 as :1.62
D: bluetooth-util.c: dbus: interface=org.freedesktop.DBus, path=/org/freedesktop/DBus, member=NameAcquired
D: bluetooth-util.c: Bluetooth daemon is apparently not available.
I: module.c: Loaded "module-bluetooth-discover" (index: #5; argument: "").
D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9.21/modules/module-esound-protocol-unix.so': success
I: module.c: Loaded "module-esound-protocol-unix" (index: #6; argument: "").
I: module.c: Loaded "module-native-protocol-unix" (index: #7; argument: "").
D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9.21/modules/module-gconf.so': success
I: module.c: Loaded "module-gconf" (index: #8; argument: "").
I: module-default-device-restore.c: Saved default sink 'auto_null' not existant, not restoring default sink setting.
I: module-default-device-restore.c: Saved default source 'auto_null.monitor' not existant, not restoring default source setting.
I: module.c: Loaded "module-default-device-restore" (index: #9; argument: "").
I: module.c: Loaded "module-rescue-streams" (index: #10; argument: "").
D: module-always-sink.c: Autoloading null-sink as no other sinks detected.
I: sink.c: Created sink 0 "auto_null" with sample spec s16le 6ch 44100Hz and channel map front-left,front-left-of-center,front-center,front-right,front-right-of-center,rear-center
I: sink.c:     device.description = "Dummy Output"
I: sink.c:     device.class = "abstract"
I: sink.c:     device.icon_name = "audio-card"
D: core-subscribe.c: Dropped redundant event due to change event.
I: source.c: Created source 0 "auto_null.monitor" with sample spec s16le 6ch 44100Hz and channel map front-left,front-left-of-center,front-center,front-right,front-right-of-center,rear-center
I: source.c:     device.description = "Monitor of Dummy Output"
I: source.c:     device.class = "monitor"
I: source.c:     device.icon_name = "audio-input-microphone"
D: module-null-sink.c: Thread starting up
I: module.c: Loaded "module-null-sink" (index: #11; argument: "sink_name=auto_null sink_properties='device.description="Dummy Output"'").
I: module.c: Loaded "module-always-sink" (index: #12; argument: "").
I: module.c: Loaded "module-intended-roles" (index: #13; argument: "").
D: module-suspend-on-idle.c: Sink auto_null becomes idle, timeout in 5 seconds.
I: module.c: Loaded "module-suspend-on-idle" (index: #14; argument: "").
I: client.c: Created 0 "ConsoleKit Session /org/freedesktop/ConsoleKit/Session1"
D: module-console-kit.c: Added new session /org/freedesktop/ConsoleKit/Session1
I: module.c: Loaded "module-console-kit" (index: #15; argument: "").
I: module.c: Loaded "module-position-event-sounds" (index: #16; argument: "").
D: dbus-util.c: Successfully connected to D-Bus session bus efbffc6788fad56cfd64d40c00000018 as :1.182
D: main.c: Got org.pulseaudio.Server!
I: main.c: Daemon startup complete.
I: client.c: Created 1 "Native client (UNIX socket client)"
I: client.c: Created 2 "Native client (UNIX socket client)"
D: protocol-native.c: Protocol version: remote 16, local 16
I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
D: protocol-native.c: SHM possible: yes
D: protocol-native.c: Negotiated SHM: yes
D: protocol-native.c: Protocol version: remote 16, local 16
I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
D: protocol-native.c: SHM possible: yes
D: protocol-native.c: Negotiated SHM: yes
D: module-augment-properties.c: Looking for .desktop file for gnome-volume-control-applet
D: module-augment-properties.c: Looking for .desktop file for gnome-settings-daemon
D: core-subscribe.c: Dropped redundant event due to change event.
I: module-suspend-on-idle.c: Sink auto_null idle for too long, suspending ...
D: sink.c: Suspend cause of sink auto_null is 0x0004, suspending

สังเกตส่วนหนึ่งที่ดูเหมือนว่าจะพบฮาร์ดแวร์ แต่บอกว่ามันไม่ว่าง (ไม่ทราบว่าเกี่ยวข้องหรือไม่)

D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9.21/modules/module-udev-detect.so': success
D: module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
D: module-udev-detect.c: /devices/pci0000:00/0000:00:1b.0/sound/card0 is busy: yes
I: module-udev-detect.c: Found 1 cards.

พยายาม mv ~ / .pulse หรือไม่
Takkat

@ Takkat ใช่ฉันrm -rfจะรีบูตและโชคดี ปรากฎว่าฉันไม่มีโชคในวันนี้: (
Oli

คำตอบ:


10

HUZZAH

ขวา. arecordเป็นองค์ประกอบที่ดูหลบที่นี่ในที่สุดฉันก็พบfuserไฟล์เสียง (ดูคำถามของฉันสำหรับกระบวนการของฉัน) แต่ฉันไม่พบสิ่งที่ทำให้เกิดarecordการเริ่มต้นเป็น root ในการบูต นี่คือวิธีที่ฉันทำ:

  1. วิ่ง pstree | less
  2. จากนั้นพิมพ์/arecordและกดปุ่มย้อนกลับเพื่อค้นหาarecordกระบวนการ
  3. กดหนึ่งครั้งแล้วคุณจะเห็นรายการหลัก randomsoundในกรณีของฉันนี้คือ

ฉันติดตั้งrandomsoundไม่กี่วันที่ผ่านมาเพื่อสร้างเอนโทรปีพิเศษ (สำหรับการสร้างใหม่/dev/random) โดยใช้การ์ดเสียงของฉัน ฉันลืมไปแล้วว่าติดตั้งแล้วและฉันคิดว่านี่เป็นครั้งแรกที่ฉันเริ่มต้นใหม่ตั้งแต่ติดตั้ง

ในระยะสั้นsudo apt-get remove randomsoundแก้ไขมัน PulseAudio สามารถคว้าการ์ดเสียงของฉันและฉันสามารถฟัง europop ไร้ค่าในขณะที่ฉันทำงาน


1
รายงานข้อผิดพลาด: bug # 590780: การติดตั้ง "randomsound" แพคเกจที่ทำให้เกิด PulseAudio ที่จะหยุดการทำงานที่รีบูต นี่ทำให้ฉันบ้า
ændrük

สิ่งที่ f * ck ... เรียกใช้คำสั่งและเสียงที่ดังขึ้นใช้งานได้ทันที ขอบคุณตันฉันจะไม่คิดออก!
Rob

6

มันเกิดขึ้นกับฉันมากในขณะที่การทดสอบว่า pulseaudio ไปกับกล้วยด้วยเหตุผลที่คลุมเครือ ฉันใช้ผู้ใช้รายที่สองบนโฮสต์ของฉันที่ฉันใช้เพื่อตรวจสอบข้ามว่าปัญหาเกี่ยวข้องกับระบบหรือผู้ใช้ที่เกี่ยวข้อง: ในกรณีแรกผู้ใช้ทั้งสองจะแสดงปัญหาในหลังเดียวหรืออย่างอื่น หากปัญหานั้นขึ้นอยู่กับผู้ใช้มันจะเป็นสิ่งผิดปกติในโฟลเดอร์บ้าน ด้วยเสียงชีพจรแล้วหรือ~/.pulse ~/.config/pulseการเปลี่ยนชื่อผู้ใช้เช่น _broken ทำให้ pulseaudio สามารถสร้างใหม่ได้อย่างถูกต้องหากคุณออกจากระบบและกลับมาใช้งานส่วนใหญ่กับฉัน


สิ่งนี้ใช้ได้สำหรับฉันและไม่จำเป็นต้องออกจากระบบ / เข้า ฉันเปลี่ยนชื่อโฟลเดอร์ ~ / .config / pulse และสร้างขึ้นใหม่ทันทีและฉันสามารถเลือกอุปกรณ์แสดงผลของฉันและตอนนี้ทำงานได้ 100%
robm

0

ในขณะที่ฉันค้นหาชั่วโมงและชั่วโมงออนไลน์เพื่อหาคำตอบฉันพยายามรีบูตและไม่ทำงานจนกว่าฉันจะพิมพ์คำสั่งนี้:

sudo arecord killall

แก้ไขเสียงของฉันฉันกำลังมองหาวิธีแก้ไขปัญหานี้ทุกที่ดังนั้นฉันคิดว่าฉันจะโพสต์ทางออกของฉัน โชคดี!


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