[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Kernel module met andere parameters



Op 2013-08-06 om 14:11 schreef Paul van der Vlis:
> Hallo,
> 
> Bij een laptop doet de microfoon het niet, en ik boot op het moment
> alleen met een live-USB-stick om te beoordelen of de laptop geschikt is.
> 
> Nu wil ik de snd_hda_intel kernel module met andere opties laden, maar
> dit lukt niet met rmmod en daarna modprobe omdat er allerlei modules
> afhankelijk van elkaar zijn en in gebruik zijn.
> 
> Is er een andere methode om opties vanuit /etc/modprobe.d/alsa-base.conf
> in te lezen zonder te rebooten?
> 
> Of misschien om recursief rmmod aan te roepen?

Hier eens gekeken

 $ lsmod | grep -e snd_hda_intel -e ^Module
 Module                  Size  Used by
 snd_hda_intel          26259  5 
 snd_hda_codec          78031  3 snd_hda_intel,snd_hda_codec_conexant,snd_hda_codec_hdmi
 snd_pcm                68083  6 snd_hda_codec,snd_hda_intel,snd_hda_codec_hdmi,snd_usb_audio
 snd_page_alloc         13003  2 snd_pcm,snd_hda_intel
 snd                    52889  21 snd_timer,snd_seq_device,snd_seq,thinkpad_acpi,snd_pcm,snd_hwdep,snd_hda_codec,snd_hda_intel,snd_hda_codec_conexant,snd_hda_codec_hdmi,snd_rawmidi,snd_usbmidi_lib,snd_usb_audio

Mmm, de module snd_hda_intel staat best wel bovenaan, die zou dus weg kunnen.

 $ sudo rmmod snd_hda_intel
 Error: Module snd_hda_intel is in use

Die 'in use' zal een applicatie zijn.

 $ ls -l /dev/snd  # wat is het device?
 total 0
 drwxr-xr-x  2 root root       80 Aug  2 12:30 by-path
 crw-rw---T+ 1 root audio 116,  8 Jul 20 22:21 controlC0
 crw-rw---T+ 1 root audio 116,  2 Jul 20 22:21 controlC29
 crw-rw---T+ 1 root audio 116,  7 Jul 20 22:21 hwC0D0
 crw-rw---T+ 1 root audio 116,  6 Jul 20 22:21 hwC0D3
 crw-rw---T+ 1 root audio 116,  5 Aug  1 21:58 pcmC0D0c
 crw-rw---T+ 1 root audio 116,  4 Aug  6 21:11 pcmC0D0p
 crw-rw---T+ 1 root audio 116,  3 Jul 20 22:21 pcmC0D3p
 crw-rw---T+ 1 root audio 116,  1 Jul 20 22:21 seq
 crw-rw---T+ 1 root audio 116, 33 Jul 20 22:21 timer
 $ man fuser  # pikt fuser meerdere files als parameter
 $ fuser /dev/snd/[c-t]*   # alles behalve 'by-path'
 /dev/snd/controlC0:   3654
 /dev/snd/controlC29:  3654
 /dev/snd/pcmC0D0c:   25865m
 /dev/snd/pcmC0D0p:   25865m
 /dev/snd/timer:      25865
 $ ps -ef | grep -e 3654 -e 25865
 stappers  3654     1  0 Jul20 ?        00:00:01 xfce4-volumed
 stappers 17741  8242  0 21:48 pts/0    00:00:00 grep -e 3654 -e 25865
 stappers 25865     1  0 Aug01 ?        01:05:37 /usr/lib/sflphone sflphoned
 $ # mijn softphone programma gestopt
 $ fuser /dev/snd/[c-t]* # controle
 /dev/snd/controlC0:   3654
 /dev/snd/controlC29:  3654
 $ kill 3654
 $ kill 3654
 bash: kill: (3654) - No such process
 $ ps -ef | grep -e 3654 -e 25865
 stappers 17744  8242  0 21:50 pts/0    00:00:00 grep -e 3654 -e 25865
 $ fuser /dev/snd/[c-t]*
 $ sudo rmmod snd_hda_intel
 $ # dat was wel een succesvolle rmmod ...
 

Nu zou dus de kernel module opnieuw geladen kunnen worden
en dan met andere parameters. Manual van modprobe geeft geen
concreet voorbeeld, wel 

   modprobe modulename [moduleparameters...]

in deze thread een concreet en waarschijnlijk slecht voorbeeld[1]

   sudo modprobe snd_hda_intel model=ultra

Mijn inschatting is dat de original poster een beter voorbeeld heeft.


Groeten
Geert Stappers

Voetnoot
[1] gevonden
op http://lxr.linux.no/#linux+v3.10.5/Documentation/sound/alsa/HD-Audio.txt#L194
-- 
Leven en laten leven

Attachment: signature.asc
Description: Digital signature


Reply to: