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

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: