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

Re: Kernel 2.0.36 y SB 16PnP. NADA!



Han Solo wrote:

> Pues me vas a permitir que insista en lo contrario. Me juego el cuello a que
> la interrupción 7 es la de la impresora. Mira
>
>  cat /proc/interrupts
>            CPU0
>   0:      23544          XT-PIC  timer
>   1:        846          XT-PIC  keyboard
>   2:          0          XT-PIC  cascade
>   4:        617          XT-PIC  serial
>   8:          2          XT-PIC  rtc
>   9:          0          XT-PIC  soundblaster
>  13:          1          XT-PIC  fpu
>  14:         24          XT-PIC  ide0
>  15:       2846          XT-PIC  ide1
> NMI:          0
>
> De lo que se deduce que las interrupciones 3, 5, 6, 7, 10, 11 y  12 están
> libres ¿no? Pues no. Mira lo que aparece si hago un dmesg
>
> Serial driver version 4.27 with no serial options enabled
> ttyS00 at 0x03f8 (irq = 4) is a 16550A
> ttyS01 at 0x02f8 (irq = 3) is a 16550A
>                  ^^^^^^^^^
>                  ¡¡Vaya, un puerto!! En concreto el del módem
>
> parport0: PC-style at 0x378 [SPP,ECP,ECPEPP,ECPPS2]
> parport0: detected irq 7; use procfs to enable interrupt-driven operation.
>                    ^^^^^^
>
> parport0: Printer, Hewlett-Packard LaserJet 4L
> lp0: using parport0 (polling)
>
> ¡¡¡ ...y una impresora!!!

¡OK! Es claro que hay algunas IRQ's que están asignadas y no aparecen en el "interrupts". Pero estas
IRQ's son IRQ's "fijadas" de antemano (placa/BIOS). Éste es el caso de los puertos serie, puerto
paralelo, ides y demás. Pero el resto están libres. En cualquier caso, corrijo lo dicho y hablo con
propiedad: si miras el dmesg + /proc/interrupts + BIOS (arranque del PC) te haces la "película"
completa de las IRQ's. Me juego el cuello a que si Cosme nos envía toda esta información la IRQ 7
está libre cual paloma. Tú tienes impresora, pero igual él no (como me ocurría a mí). Es más, que
Cosme pruebe todas las IRQ's donde puede funcionar la Sound Blaster ... no le va a funcionar ...
Mira, yo probé todas las IRQ's posibles y "ni flowers". Y además cuando una IRQ está "pillada" es que
no le deja cargar ningún driver (y a él le cargaba el propio de la sound blaster).

> No os fiéis del interupts, no refleja todas las interrupciones. En mi caso
> concreto, además, la irq 10 es la del puerto USB (reservada), y la 11 es la
> de la tarjeta gráfica/bus AGP. La 12 creo que también la usa algo, pero no
> estoy seguro ahora mismo.
>
> Resumiendo, que si no le funciona en la irq 7, no me extraña nada. Yo
> probaría en las distintas irq en las que puede trabajar la SB (la 2, la 5,
> la 7 o la 10, por lo menos en mi SB, que ya es un ponco antigua). Y ahora
> viene la pregunta. ¿por qué yo la tengo en la irq 9? Pues porque la última
> vez que ercompilé el kernel no me miré el manual de la tarjeta, pero resulta
> que puedo ior cd's sin ningún problema con varios programas. Supongo que l
> ainicialización de la tarjeta la hace, lo cual debe ser suficiente para ior
> cd's, pero luego no puedo acceder a /dev/dsp ni a /dev/audio (escribo de
> memoria)
>
> > > Card config:
> > > Sound Blaster at 0x220 irq 7 drq 1,5
> > > (SB MPU-401 irq 1 drq 0)
> >
> > ¡¡¡¡Éste, éste de aquirrrlll!!!!!! Fijáos que el dispositivo MPU-401 va a "buscarlo" a la IRQ 1,
> > cuando debería ir a "buscarlo" a la IRQ 7. Observad que el dispositivo Sound Blaster va a
> > "buscarlo" correctamente a la IRQ 7 y, efectivamente, lo encuentra: Sound Blaster at 0x220 irq 7
> > drq 1,5. Si la IRQ 7 la utilizase la impresora como dice Han, es que dicha línea no podría ni
> > aparecer. En resumen, es un BUG (con mayúsculas) del dichoso módulo de sonido del kernel 2.0.36.
>
> No estés tan seguro. Si tienes, como tengo yo, la impresora y el puerto como
> módulo y la parte de sonido compilada en le kernel, si le pones la irq 7 el
> sonido funcionará pero la impresora no, ya que tienes la irq bloqueada. Si
> tienes ambos como módulo, supongo que dependerá del módulo que se carque
> primero, y si tienes los dos en el kernel, lo mas probable es que no
> funcione ninguno de los dos.

Pero, ¡hombre! Esto es como aquello de: ¿Tienes hora? ... No, pero tengo bici ... ;-)  Al grano, tío.
Sigues sin atacar el problema principal. Está claro que, si tengo dos módulos que entran en
conflicto, el primero que se cargue es el que gana. supongamos que primero se carga el de sonido. En
el "/dev/sndstat" le diría algo así como:

Sound Blaster at 0x220 irq 7 drq 1,5
SB MPU-401 irq 7

y, luego, al intentar imprimir, el módulo del puerto paralelo "petaría". Si pasa al revés, pues el
que cascaría sería el del sonido, pero en el /dev/sndstat no le aparecería como cargado ni el driver
propio de la sound blaster. Pero esto no es de lo que estamos hablando. Insisto en que lo anormal es
que le diga esto:

Card config:
Sound Blaster at 0x220 irq 7 drq 1,5
(SB MPU-401 irq 1 drq 0)

¿Por qué c....es va a buscar el MPU-401 a la IRQ 1? ¿Dónde se le ha dicho eso? Debería ir a buscarlo
a l IRQ 7, como la sound blaster. Yo no conseguí, por más que lo intenté, encontrar una respuesta
lógica. Además, siguiendo tu consejo, probé otras IRQ's (las que no estaban ocupadas) y el
comportamiento fue el mismo. Sin embargo, con la MISMA configuración, instalo y compilo el kernel
2.2.1 y ¡a funcionar!. Un problema de lógica: si el ordenador es el mismo, la configuración es la
misma, sólo cambia el kernel y ahora funciona ¿dónde está el fallo? Para mí, clarísimo: es un
problema del kernel 2.0.36. A ver, Cosme. ¿No tendrás por casualidad una placa ASUS P2B (dos Pentiums
a 400 Mhz)? ¿el kernel compilado con soporte para dos procesadores? ... Es que igual los tiros van
por ahí.

> Por otra parte, el que funcione en winbugs tampoco tine que ver. A mi, cada
> vez que cargaba windows me cambiaba ¡¡en la bios!! la IO y el modo de trabajo del puerto de
> la impresora (de ECP+EPP a normal), y luego el linux no encontraba la
> impresora (concretamente el puerto). Al final tuve que andar haciendo
> camnios en la configuración del windogs para que no me tacara los valores de
> la bios (todavías estoy por averiguar cómo lo hace).

Vale, vale. Que funcione en Windog no es una garantía de nada. Pero sí puede indicar ciertas cosas
...

> > Repito que la solución es cambiarse, por ejemplo, al kernel 2.2.1 (supongo que cualquier kernel
> > de la serie 2.2 valdría).
>
> No te creas, si configuras mal la irq de la soundblaster, no te funcionará
> la impresora o viceversa, te lo digo por experiencia (2.2.6).

Efectivamente. Si configuras mal la IRQ no funcionará el dispositivo correspondiente ni con el kernel
2.0.36, ni con el 2.2.1, ni con el ... 2.100.28. Pero éste no es el caso, Han. Yo tenía MISMA
configuración (repito, ¡que pesao que soy!) en kernel 2.0.36 y en kernel 2.2.1. Y con éste último sí
que funciona. ¿Puedes darme una explicación a esto distinta de que exista un bug?

> >
> > Mi experiencia personal (sí, así, en plan drama-chungo-reality-show de TVE): misma configuración
> > (IRQ's, módulo del kernel, etc.) que en kernel 2.0.36 para kernel 2.2.1, ¡ché, tú! ¡y ningún
> > problema, oye! Pues eso ...
> >
>
> Hombre. La serie 2.2.x va de PM y mejora muchas cosas, pero tampoco es la
> panacea universal. Hay ciertas cosas con las que hay que tener cuidado.

Pues sí.

> --
> Un Saludo
>
> Han Solo
> The Rebel Alliance
>
> Conecto, luego existo.
> Desconecto, luego insisto.
> Soy usuario de infobirria+
>
> P.D. La firma no es mía, sino de uno que trabajaba, precisamente, en M$.
> Vivir para ver.

Saludos,

================================================================================

JUAN CARLOS AMENGUAL            Scarred,
UNIVERSIDAD JAUME I             your back was turned,
DEPARTAMENTO DE INFORMÁTICA     curled like an embryo.
CAMPUS DE RIU SEC, EDIFICIO TI  Take another face
CASTELLON, 12071. SPAIN.        you will be kissed
Phone: +34 964 728361           again.
Fax: +34 964 728435                     Rober Smith (The Cure)
e-mail: jcamen@inf.uji.es       - "Cold", Pornography, 1982, Fiction Rec. -

================================================================================




Reply to: