From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from server2.sitesell.com (server2.sitesell.com [216.95.221.3]) by speech.braille.uwo.ca (Postfix) with SMTP id A97D01031A for ; Fri, 22 Jan 2010 16:07:28 -0500 (EST) Received: (qmail 17418 invoked from network); 22 Jan 2010 21:07:28 -0000 Received: from jimi.tabbweb.com (bas1-montreal43-2925256422.dsl.bell.ca [174.91.222.230]) by server2.sitesell.com ([216.95.221.3]) with ESMTP via TCP; 22 Jan 2010 21:07:28 -0000 Date: Fri, 22 Jan 2010 16:07:27 -0500 (EST) From: Trevor Astrope To: "Speakup is a screen review system for Linux." Subject: Re: Speakup and PCI Express Serial Cards In-Reply-To: Message-ID: References: <20100117033054.GA19745@romuald.net.eu.org> <20100118224534.GA27502@linux1> <20100119174946.GD4780@const.bordeaux.inria.fr> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-BeenThere: speakup@braille.uwo.ca X-Mailman-Version: 2.1.12 Precedence: list Reply-To: "Speakup is a screen review system for Linux." List-Id: "Speakup is a screen review system for Linux." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jan 2010 21:07:28 -0000 For those following along in the ongoing saga of Trevor versus speakup and the pci express card, here is the latest chapter: I last left you after modifying serialio.h and hard coding the values for my pci express card. This had no effect. Well, after checking a little closer, the hard coded values for SERIAL_PORT_DFNS is in an #ifndef, so it seems it is defined elsewhere. Trevor not being a C programmer, let alone a kernel developer, changed that #ifndef to a #ifdef to see where it is defined. Turns out, in my case, it is defined in /usr/src/kernels/2.6.31.9-174.fc12.x86_64/arch/x86/include/asm/serial.h, and what is more, it is defined the same way as it is in serialio.h. Taking up thy keyboard, I carefully change the first entry to look like this: { 0, BASE_BAUD, 0xCC00, 16, STD_COM_FLAGS }, /* ttyS0 */ \ I then do the ever so familiar, make clean; make; make modules_install; and add another depmod -a, just for luck. But alas, it is all for not. I still only hear silence after connecting my dectalk express and invoking the modprobe speakup_dectlk command. Desperate times, calling for desperate measures, I once again roll up my sleeves, take a deep breath, and once again delve into the speakup source code... I notice some print statements that are commented out in serialio.c, so I uncomment them in hopes of getting some more information in the logs. For those who are still following along and are just dieing to know what they are, I won't keep you in suspense... 75 /*printk(KERN_ERR "in irq\n"); */ 76 /*pr_warn("in IRQ\n"); */ There are some others, but they aren't important for now. At first, I did not see anything else being printed in the logs. In the time honoured tradition of, "what happens when I do this," I commented out these lines in serialio.c: 41 if (synth_request_region(ser->port, 8)) 42 return NULL; Once again, after the make clean; make; make modules_install; ritual, followed by the modprobe speakup_dectlk invocation, with the depmod -a thrown in there for luck, you'll never guess what happened... I heard the following in a slow and drawn out, but still familiar voice, "Dectalk Express found." But where is the rest? No prompt, no nothing. Hit enter a few times, but only my old friend, silence. I told you that you wouldn't guess. I did find those print statements I told you about in the logs though, so I do feel I'm getting closer. I feel I only need to figure out what synth_request_region(ser->port, 8) means, and I'll be a little closer... I will beg upon the mercy of the speakup developers and offer them a gift in the form of my logs and hopefully I will be rewarded with some enlightenment. Jan 22 15:10:05 trevor kernel: speakup: unregistering synth device /dev/synth Jan 22 15:10:54 trevor kernel: speakup 3.1.3: initialized Jan 22 15:10:54 trevor kernel: synth name on entry is: Jan 22 15:10:54 trevor kernel: initialized device: /dev/synth, node (MAJOR 10, $ Jan 22 15:10:54 trevor kernel: synth probe Jan 22 15:10:54 trevor kernel: Ports not available, trying to steal them Jan 22 15:10:54 trevor kernel: Trying to free nonexistent resource <00000000000$ Jan 22 15:10:54 trevor kernel: in irq Jan 22 15:10:54 trevor kernel: in IRQ These last two lines are repeated a few times Jan 22 15:10:54 trevor kernel: Jan 22 15:10:54 trevor kernel: Dectalk Express: $ And then about a hundred more of the irq lines, followed by this, likely after I disconnected the synth Jan 22 15:11:27 trevor kernel: Dectalk Express: too many timeouts, deactivating$ As usual, any help is appreciated. I hope you at least enjoyed my ramblings as I slowly, but surely lose my mind. Thanks, Trevor