Re: problemi impianto audio laptop
Paolo Sala wrote:
> DonnieDarko scrisse in data 11/01/2010 16:40:
>> [...]
>> Credo basti mettere il modulo interessato in blacklist.
>>
> Speravo ci fosse un modo per disabilitare il probe di un hardware... se
> infatti i due hardware utilizzassero lo stesso modulo li disabiliteresti
> entrambi.
Ma il tuo è un caso reale? Cioè ti servirebbe di fare una cosa del genere?
A parte vedere se si può disabilitare qualcosa dal bios, mi viene in
mente che potresti provare anche un'altra strada, ma bisognerebbe
approfondire con un po' di ricerche...
faccio un esempio:
`lspci -k`
> [CUT...]
> 00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
> Kernel driver in use: VIA 82xx Audio
> Kernel modules: snd-via82xx
> [CUT...]
`sudo lspci -vvxxx -s 0000:00:11.5`
> 00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
> Subsystem: VIA Technologies, Inc. Device 4161
> Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Interrupt: pin C routed to IRQ 22
> Region 0: I/O ports at d400 [size=256]
> Capabilities: [c0] Power Management version 2
> Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> Kernel driver in use: VIA 82xx Audio
> Kernel modules: snd-via82xx
> 00: 06 11 59 30 01 00 10 02 50 00 01 04 00 00 00 00
> 10: 01 d4 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 20: 00 00 00 00 00 00 00 00 00 00 00 00 06 11 61 41
> 30: 00 00 00 00 c0 00 00 00 00 00 00 00 0a 03 00 00
> 40: 01 cc 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> c0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
> d0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
> e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
`sudo setpci -v -s 0000:00:11.5 COMMAND`
> 00:11.5:04 = 0001
COMMAND è come scrivere 4.w
in pratica fa riferimento a questa riga:
> Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
dove, per quanto ne so io, il + sta per bit settato e il - bit non
settato. I/O è il bit 0, Mem è il bit 1, etc...
impostando il bit 0 (I/O) a 0 dovrei disabilitare l' I/O
`sudo setpci -v -s 0000:00:11.5 COMMAND=0000`
`sudo setpci -v -s 0000:00:11.5 COMMAND`
> 00:11.5:04 = 0000
`sudo lspci -vvxxx -s 0000:00:11.5`
> 00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
> Subsystem: VIA Technologies, Inc. Device 4161
> Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Interrupt: pin C routed to IRQ 22
> Region 0: I/O ports at d400 [disabled] [size=256]
> Capabilities: [c0] Power Management version 2
> Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> Kernel driver in use: VIA 82xx Audio
> Kernel modules: snd-via82xx
> 00: 06 11 59 30 00 00 10 02 50 00 01 04 00 00 00 00
> 10: 01 d4 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 20: 00 00 00 00 00 00 00 00 00 00 00 00 06 11 61 41
> 30: 00 00 00 00 c0 00 00 00 00 00 00 00 0a 03 00 00
> 40: 01 cc 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> c0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
> d0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
> e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
se vedi in Region 0 ora c'è disabled.
riporto tutto come prima:
`sudo setpci -v -s 0000:00:11.5 COMMAND=0001`
Ovviamente questa non è la soluzione al tuo problema, però nella linea
Capabilities->Status c'è un D0, quello dovrebbe essere lo stato del
Power Management...
se riesci a capire come si modifica, impostandolo a D3, dovresti dire al
device di spengere la periferica.
D0, D1, D2, D3 (hot e cold) sono stati dell'acpi, D0 e D3 sono obbligatori.
Con un po' di documentazione, forse potresti riuscire a fare quello che
desideri.
Reply to: