Tuning Kernel 2.6.24 - audio, card-reader e pnpbios

Image Hosted by ImageShack.us

Approfittando di una gita fuori porta (ieri ero a Genova centro) ho avuto un po' di tempo per provare l'ultimo kernel disponibile (2.6.24.2) e per sistemare alcune cose che avevo lasciato in sospeso.

Rispetto al kernel di Hardy 8.04, e al mio precedente 2.6.24, sono riuscito a far funzionare nuovamente il lettore di card integrato nel Lenovo 3000 n200:

08:06.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)

08:06.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 0a)

08:06.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 05)

Tempo fa ho avuto un problema analogo con un lettore di schede molto simile a questo, cercando di risolverlo scaricando i driver relativi da questo repositorio ( lasciamo perdere quella guida perche' sbagliata..e adesso scopriremo perche'):

 

svn co https://sdricohcs.svn.sourceforge.net/svnroot/sdricohcs sdricohcs
cd ~/sdricohcs/sdricoh_cs 
make 
sudo make install 
sudo modprobe sdricoh_cs

Questi driver in realta' non servono perche' gia' inclusi e selezionati come modulo nel kernel vanilla sotto il nome di mmc_sdhci (microSD).

Nella sezione dedicata, della configurazione del kernel, tutti i moduli per i vari card-reader (vedi Texas instrument, ricoh etc..) sono selezionati..tranne uno, marcato come experimental:

 

Image Hosted by ImageShack.us

Leggiamo la nota:

This selects the disabler for the Ricoh MMC Controller. This proprietary controller is unnecessary because the SDHCI driver supports MMC cards on the SD controller, but if it is not disabled, it will steal the MMC cards away - rendering them useless. It is safe to select this driver even if you don't have a Ricoh based card reader. To compile this driver as a module, choose M here: the module will be called ricoh_mmc.

NB: e' assolutamente obbligatorio avere il modulo mmc_block ATTIVO E FUNZIONANTE.altrimenti il dispositivo non verra' montato.

Per essere sicuri che entrambi i moduli si attivino all'avvio, aggiungiamoli a /etc/modules:

echo ricoh_mmc | sudo tee -a /etc/modules
echo mmc_block | sudo tee -a /etc/modules

Controlliamo anche la mappatura del device dal dmesg:

 

ricoh-mmc: Ricoh MMC Controller disabling driver [ 98.653518] ricoh-mmc: Copyright(c) Philip Langdale [ 105.461752] mmc0: new SD card at address b368 [ 105.461927] mmcblk0: mmc0:b368 UD 993792KiB (ro) [ 105.461978] mmcblk0: p1

Potrebbe essere dunque necessario aggiungere staticamente questo nodo in /etc/fstab:

kdesudo kate /etc/fstab

Aggiungiamo:

/dev/mmcblk0p1 /media/mmc auto defaults,sync,iocharset=utf8,user,noauto 0 0

Creiamo la directory:

sudo mkdir /media/mmc

 

- Audio -

Torna a funzionare anche "l'altalenante" scheda audio intel riportata qui sotto:

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)

0: Realtek ALC861-VD

Probabilmente (basta dare uno sguardo al changelog) e' stata aggiunta qualche patch rispetto a prima, perche' la versione degli ALSA e' sempre la 1.0.15.

Grazie a questa "correzione" non e' stato necessario installare gli 1.0.16 o 1.0.16rc, anzi..se facciamo un confronto tra i due alsamixer (o kmix) rispettivamente del 2.6.24 con alsa 1.0.16rc e 2.6.24.4 e alsa 1.0.15, notiamo come siano stati abilitati diversi canali in piu' rispetto alla versione 1.0.16:

Alsa 1.0.15 integrati nel kernel 2.6.24.4:

img1img2

Alsa 1.0.16rc2 compilati da me nel kernel 2.6.24 (piu' opzione model=Lenovo):

img3img4

Ho aggiunto un altro mixer, per il solito auricolare Bluetooth, tramite i driver snd-bt-sco versione CVS, che sul 2.6.24 purtroppo non funzionano. Ecco come fare:

bt

Repository CVS:

cvs -d:pserver:anonymous@bluetooth-alsa.cvs.sourceforge.net:/cvsroot/bluetooth-alsa login 
cvs -d:pserver:anonymous@bluetooth-alsa.cvs.sourceforge.net:/cvsroot/bluetooth-alsa co btsco
cd ~/btsco 
./bootstrap 
./configure 
make 
sudo make install

Modulo:

cd ~/btsco/kernel 
make 
sudo make install 
sudo depmod -ae 
sudo modprobe snd-bt-sco

 

- Pnpbios -

Image Hosted by ImageShack.us

La gestione delle risorse integrate nella Mainboard, viene solitamente affidato alla funzione PNPBIOS..anche se molte features sono bloccate di default.

 L'opzione PNPBIOS aiuta ad evitare quindi conflitti tra mainboard e bus delle varie periferiche (i sistemi ISA non sono ancora supportati) ma e' inutile su sistemi non-ISA e supportati dall'acpi (ACPI-PNP)

Se nel dmesg leggiamo cose di questo tipo:

[30.758985] EISA: Probing bus 0 at eisa.0

[30.758993] Cannot allocate resource for EISA slot 1

[30.758996] Cannot allocate resource for EISA slot 2

[30.758998] Cannot allocate resource for EISA slot 3

[30.759000] Cannot allocate resource for EISA slot 4

[30.759002] Cannot allocate resource for EISA slot 5

[30.759019] EISA: Detected 0 cards.

[26.968489] pnp: PnP ACPI init

[26.968497] ACPI: bus type pnp registered

[26.990242] pnp: PnP ACPI: found 10 devices

[26.990244] ACPI: ACPI bus type pnp unregistered

[26.990248] PnPBIOS: Disabled by ACPI PNP

[26.990441] PCI: Using ACPI for IRQ routing

..sicuramente rientriamo in questa categoria. Disabilitiamo il PNPBIOS e anche le varie opzioni riguardanti i dispositivi ISA-EISA per evitare che il processo di boot si soffermi troppo ad effettuare questi controlli

 

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
8 + 0 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.