Kernel 2.6.34: strano errore (che non capisco)

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Kernel 2.6.34: strano errore (che non capisco)

Messaggio da robbybby »

Ho appena finito di compilare il 2.6.34, usando il solito .config, aggiornato con il solitissimo make oldconfig.
Tutto bene, il sistema parte, però, durante il boot, ho questo errore, con tanto di trace:

Codice: Seleziona tutto

ACPI: Power Button [PWRF]
HDA Intel 0000:80:01.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
hda_intel: msi for device 1849:0888 set to 0
------------[ cut here ]------------
WARNING: at drivers/pci/pci.c:105 pci_ioremap_bar+0x52/0x60()
Hardware name: ALiveSATA2-GLAN
Modules linked in: snd_hda_intel(+) snd_hda_codec i2c_viapro button snd_usb_audio(+) snd_pcm snd_page_alloc snd_hwdep snd_usb_lib snd_rawmidi evdev
Pid: 1412, comm: modprobe Not tainted 2.6.34 #1
Call Trace:
 [<c1171c32>] ? pci_ioremap_bar+0x52/0x60
 [<c1171c32>] ? pci_ioremap_bar+0x52/0x60
 [<c102d17f>] ? warn_slowpath_common+0x7f/0xb0
 [<c1171c32>] ? pci_ioremap_bar+0x52/0x60
 [<c102d1c3>] ? warn_slowpath_null+0x13/0x20
 [<c1171c32>] ? pci_ioremap_bar+0x52/0x60
 [<f82ed200>] ? azx_probe+0x240/0xaea [snd_hda_intel]
 [<c10d86c1>] ? sysfs_find_dirent+0x21/0x30
 [<c10d8f53>] ? sysfs_addrm_finish+0x13/0xb0
 [<c10d89d0>] ? sysfs_new_dirent+0x50/0xf0
 [<c10d9680>] ? sysfs_do_create_link+0xa0/0x110
 [<c11727fb>] ? local_pci_probe+0xb/0x10
 [<c1172a00>] ? pci_device_probe+0x60/0x80
 [<c11dcee1>] ? driver_probe_device+0x71/0x150
 [<c1172870>] ? pci_match_device+0x10/0xa0
 [<c11dd130>] ? __driver_attach+0x0/0x80
 [<c11dd1a2>] ? __driver_attach+0x72/0x80
 [<c11dc3f2>] ? bus_for_each_dev+0x42/0x60
 [<c1172830>] ? pci_device_shutdown+0x0/0x30
 [<c11dcd86>] ? driver_attach+0x16/0x20
 [<c11dd130>] ? __driver_attach+0x0/0x80
 [<c11dcba5>] ? bus_add_driver+0x185/0x230
 [<c1172830>] ? pci_device_shutdown+0x0/0x30
 [<c1172940>] ? pci_device_remove+0x0/0x40
 [<c11dd358>] ? driver_register+0x58/0x120
 [<c1172c4d>] ? __pci_register_driver+0x3d/0xa0
 [<f82f2000>] ? alsa_card_azx_init+0x0/0x14 [snd_hda_intel]
 [<c100103e>] ? do_one_initcall+0x2e/0x190
 [<c1054ebe>] ? sys_init_module+0xae/0x210
 [<c1091761>] ? sys_read+0x41/0x70
 [<c1380b1d>] ? syscall_call+0x7/0xb
---[ end trace 93b8272637c2468d ]---
hda-intel: ioremap error
HDA Intel 0000:80:01.0: PCI INT A disabled
2:3:1: cannot set freq 16000 to ep 0x86
Ho quasi tutto statico, tranne la scheda audio (per poter passare alcuni parametri indispensabili) epoco altro.
L'errore sembrerebbe dovuto, appunto, a un modulo audio: snd_hda_intel.
Ho letto bene?
Ma cosa succede?
Sarebbe da inviare l'errore, con tanto di trace, agli sviluppatori?
Help me!

PS: sono tornato al kernel 2.6.33.4.

Avatar utente
phobos3576
Staff
Staff
Messaggi: 2980
Iscritto il: dom 17 apr 2005, 0:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Re: Kernel 2.6.34: strano errore (che non capisco)

Messaggio da phobos3576 »

Già dal 2.6.33, abilitando MSI ( http://it.wikipedia.org/wiki/Message_Si ... Interrupts ) si permette la gestione di alcune periferiche attraverso appunto i Message Signaled Interrupts; anche nel mio caso, la scheda audio HDA nVidia viene gestita in quel modo (sono ancora sul 2.6.33).

Controlla con cat /proc/interrupts se è tutto a posto; dovresti trovare qualcosa del genere:

Codice: Seleziona tutto

XX:       ......     ......   PCI-MSI-edge      hda_intel
Se col 2.6.33 funzionava tutto, mentre con il 2.6.34 si presenta questo problema, potrebbero aver introdotto qualche novità su MSI; al limite, potrebbe anche trattarsi effettivamente di un bug del nuovo kernel.

Anche sul forum nVidia Linux hanno postato un problema simile al tuo:

http://www.nvnews.net/vbulletin/showthread.php?t=151032

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: Kernel 2.6.34: strano errore (che non capisco)

Messaggio da robbybby »

MSI è disabilitato:

Codice: Seleziona tutto

pci 0000:00:00.0: MSI quirk detected; MSI disabled
Ho provato anche a disabilitarlo nel lilo.conf, con

Codice: Seleziona tutto

pci=nomsi
ma non cambia niente.
Col kernel 2.6.33.4, in /proc/interrupts ho, infatti:

Codice: Seleziona tutto

xx    yy      zz   IO-APIC-fasteoi   hda_intel
In effetti è strano il messaggio

Codice: Seleziona tutto

hda_intel: msi for device 1849:0888 set to 0
dato che MSI è disabilitato.

Comunque, col 2.6.34, non riesce a rimappare hda_intel, e non lo avvia: infatti non mi compare in /proc/interrupts.
Proverò magari a ricompilare senza inserire proprio il supporto per MSI.

Avatar utente
phobos3576
Staff
Staff
Messaggi: 2980
Iscritto il: dom 17 apr 2005, 0:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Re: Kernel 2.6.34: strano errore (che non capisco)

Messaggio da phobos3576 »

robbybby ha scritto:Proverò magari a ricompilare senza inserire proprio il supporto per MSI.
Il problema potrebbe essere legato proprio al fatto che hai disabilitato MSI, mentre per la scheda audio hai chiesto la gestione via MSI.

In ogni caso, tieni presente che l'uso di MSI è molto vantaggioso in quanto è piuttosto efficiente e rende disponibili molte più IRQ hardware per le altre periferiche (che non supportano MSI).

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: Kernel 2.6.34: strano errore (che non capisco)

Messaggio da robbybby »

Purtroppo la mia motherboard ha un problema, e il kernel non supporta MSI su di essa. Infatti, se provo ad abilitarlo, ottengo:

Codice: Seleziona tutto

pci 0000:00:00.0: MSI quirk detected; MSI disabled
e gli interrupt sono tutti senza MSI.
Ho visto che sembra che la scheda audio tenti di abilitare MSI, ma MSI non c'è. Ottengo lo stesso identico messaggio anche se compilo il kernel senza MSI.
Come faccio a dire alla scheda audio di caricarsi senza MSI? E poi, se MSI non c'è proprio, nel kernel, perché ottengo comunque

Codice: Seleziona tutto

hda_intel: msi for device 1849:0888 set to 0
??
Boh!

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: Kernel 2.6.34: strano errore (che non capisco)

Messaggio da robbybby »

Ho disabilitato esplicitamente l'MSI per la scheda video. Non mi compare più il messaggio

Codice: Seleziona tutto

hda_intel: msi for device 1849:0888 set to 0
ma l'errore di remapping c'è ancora, e la scheda audio non funziona.

Avatar utente
phobos3576
Staff
Staff
Messaggi: 2980
Iscritto il: dom 17 apr 2005, 0:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Re: Kernel 2.6.34: strano errore (che non capisco)

Messaggio da phobos3576 »

Sino al 2.6.32, anche abilitando MSI, la scheda audio veniva gestita con IO-APIC; dopo il passaggio al 2.6.33 ho notato il cambiamento che evidentemente potrebbe essere legato al nuovo alsa-driver 1.0.21.
Magari è presente qualche opzione del kernel che permette di abilitare/disabilitare MSI esplicitamente per la scheda audio.

Comunque, dopo mezzanotte aggiorno anche io il kernel così vedo cosa succede; io però in genere compilo quasi tutti i driver come moduli.

Avatar utente
phobos3576
Staff
Staff
Messaggi: 2980
Iscritto il: dom 17 apr 2005, 0:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Re: Kernel 2.6.34: strano errore (che non capisco)

Messaggio da phobos3576 »

Ho appena aggiornato al 2.6.34 e sembra tutto a posto.

Rispetto al 2.6.33 la novità è che la scheda audio HDA Intel è nuovamente gestita via IO-APIC, anziché via MSI; infatti, in /var/log/dmesg trovo il messaggio:

Codice: Seleziona tutto

hda_intel: Disable MSI for Nvidia chipset
(il chipset della motherboard in effetti è nVidia)

http://kerneltrap.org/mailarchive/git-c ... 3/19/30487

Codice: Seleziona tutto

diff --git a/sound/pci/hda/hda_intel.c  b/sound/pci/hda/hda_intel.c
index 9268152..027d3f4 100644 (file)
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2378,6 +2378,13 @@ static void __devinit check_msi(struct azx *chip)
                       "hda_intel: msi for device %04x:%04x set to %d\n",
                       q->subvendor, q->subdevice, q->value);
                chip->msi = q->value;
+               return;
+       }
+
+       /* NVidia chipsets seem to cause troubles with MSI */
+       if (chip->driver_type == AZX_DRIVER_NVIDIA) {
+               printk(KERN_INFO "hda_intel: Disable MSI for Nvidia chipset\n");
+               chip->msi = 0;
        }
 }

Rispondi