Looks like the irq is level triggered which is standard for PCI devices usually. Code that uses level triggered interrupts needs to pass the sa_irq flag to the handler or similar i'm not sure. It's not as simple as just plugging the irqs for your PCI device into the kernel there is a programming difference between edge triggered to level triggered. On 1/07/2010 4:42 AM, Trevor Astrope wrote: > One thing to add to the below. According to lspci, my serial port is > using irq 16. It also reports that an usb and vga controller are also > using irq 16. > > So, is my problem not the pci express card itself, but rather that the > irq is being shared and speakup can't get an exclusive lock on it? > > If so, is there any way for speakup to play nice and share the irq? > > Thanks, > > Trevor On Wed, 30 Jun 2010, Trevor Astrope wrote: > >> Merci Samuel. >> >> I thought it might have something to do with the types of serial >> ports defined in the kernels include/linux/serial.h. Btw, it defines >> PORT_MAX as 13. Not sure if this is the same thing, but I was unable >> to detect my dectalk via my pci express serial card after changing it >> to 13. >> >> Actually, if I comment out that whole if block including the check >> for the error, speakup_dectlk does report that it found the dectalk >> on ttyS0, but it only says, ""DecTalk Express ready" in a very sick >> sounding voice. >> >> If I uncomment the below around line 79 of serialio.c, it does print >> "in irq" many times in the logs and eventually says, "Too many >> timeouts, deactivating speakup." >> >> /*printk(KERN_ERR "in irq\n"); */ >> /*pr_warn("in IRQ\n"); */ >> >> So, it looks like there is more to the problem. >> >> Btw, I changed the values of ttyS0 to 0xCC00 and 16 for the i/o >> address and irq respectively in the kernels >> arch/x86/include/asm/serial.h file to match the output of setserial >> /dev/ttyS0 -a >> >> >> On Wed, 30 Jun 2010, Samuel Thibault wrote: >> >>> Trevor Astrope, le Wed 30 Jun 2010 13:47:36 -0400, a ?crit : >>>> Does anyone know what the value 8 refers to in the >>>> synth_request_region >>>> calls in serio.c? >>> >>> The number of io ports, starting from the base. >>> >>> Samuel >>> _______________________________________________ >>> Speakup mailing list >>> Speakup at braille.uwo.ca >>> http://speech.braille.uwo.ca/mailman/listinfo/speakup >>> >> > > _______________________________________________ > Speakup mailing list > Speakup at braille.uwo.ca > http://speech.braille.uwo.ca/mailman/listinfo/speakup >