From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by befuddled.reisers.ca (Postfix, from userid 65534) id 561841EF742; Thu, 25 Feb 2016 07:03:15 -0500 (EST) Received: from mail0131.smtp25.com (mail0131.smtp25.com [75.126.84.131]) by befuddled.reisers.ca (Postfix) with ESMTPS id B35DE1EF71F for ; Thu, 25 Feb 2016 07:03:12 -0500 (EST) Received: from ccs.covici.com (localhost [127.0.0.1]) by ccs.covici.com (8.14.9/8.14.8) with ESMTP id u1PC3AXK018532; Thu, 25 Feb 2016 07:03:10 -0500 From: covici@ccs.covici.com To: jheim@math.wisc.edu, "Speakup is a screen review system for Linux." Subject: Re: Help with serial synths in 4.X kernels In-reply-to: <56CE3614.9000300@math.wisc.edu> References: <56CC626F.90700@baechler.net> <56CC6D53.1030800@math.wisc.edu> <56CDBE57.4030403@baechler.net> <56CDCFF3.2020409@math.wisc.edu> <56CDE901.5030206@math.wisc.edu> <20952.1456336401@ccs.covici.com> <56CE3614.9000300@math.wisc.edu> Comments: In-reply-to John G Heim message dated "Wed, 24 Feb 2016 17:00:36 -0600." X-Mailer: MH-E 8.5; nmh 1.6; GNU Emacs 25.1.50 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <18530.1456401790.1@ccs.covici.com> Content-Transfer-Encoding: quoted-printable Date: Thu, 25 Feb 2016 07:03:10 -0500 Message-ID: <18531.1456401790@ccs.covici.com> X-SpamH-OriginatingIP: 70.109.53.110 X-SpamH-Filter: d-out-001.smtp25.com-u1PC3AlO019948 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-BeenThere: speakup@linux-speakup.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Speakup is a screen review system for Linux." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Feb 2016 12:03:15 -0000 I don't think that will work well, too many differences between what we need and the console driver -- this is how I did the first serial driver for speakup, back in the day, but I had to patch some kernel modules and changes since then make it not worth doing that way, or maybe it would be impossible to do it that way. John G Heim wrote: > It seems to me that a hardware speech synth isn't that different from > a serial console. All you have to do to listen to boot messages is to > configure a serial console in your boot loader and plug your serial > synth into that same serial port. The problem would be with > controlling it with the keyboard. A hardware speech synth has no > keyboard. So you'd want the normal virtual console, tty0, to control > what's sent to the serial port. The kernel specifications say that > keyboard input is taken from the last console configured. Also, stdio > and stderr are sent to the last console configured. What we'd want is > a console type exactly like tty0 except that it also has the code from > a serial console that send text out over the serial port. I am not > sure how much control you have over the text that scrolls by on the > screen with a virtual console. You'd need to add speakup control > keystrokes like numpad-7 to speak the previous line, numpad-5 to speak > the current word, etc. > = > = > = > = > = > = > On 02/24/2016 11:53 AM, covici@ccs.covici.com wrote: > > I got a more definite answer from someone in kernel development -- I > > cannot remember who -- but he said that the serial driver should be > > written like a hardware device driver and obey all the appropriate > > protocols thereof, so if we can figure out, say, how the uart driver > > registers the port and have the speakup driver do the exact same thing= , > > maybe this would work much better. > > > > John G Heim wrote: > > > >> Well, as I said, I've been relying more and more upon a braille > >> display and software speech. > >> > >> I can't say it's unfair to say linux is no better than Microsoft > >> because I think in this context, it's comparing apples and > >> oranges. IMO, it's neiher fair or unfair. It's like saying a dolphin > >> is no better than an oak tree. Well, at what? If you want linux to do > >> something, you have to do it yourself or maybe pay someone to do it > >> for you. > >> On the other hand, I would say that developers are ethically required > >> to allow accessibility software to work with their code and the linux > >> kernel developers have been woefully inadequate in that regard. A yea= r > >> or two ago, I took the time to drill down through the functions the > >> speakup code was calling to "steal" the serial port. I found it led t= o > >> a function inside the main kernel code (not in staging) that could > >> never return a success. I asked about it on the kernel developers > >> list. If speakup isn't accessing the serial port the right way, what > >> is the right way? The answers I got were BS. The speakup code is not > >> very well written, the whole thing should be moved to user space, > >> etc. My reaction was like, okay, maybe, but can someone please answer > >> the question? But apparently not. It was infuriating. That's when I > >> started posting kernels with the function call commented out. > >> > >> The whole thing just makes no sense. Why even include code that is > >> deliberately disabled? Samuel is probably freaking out if he has read > >> this far. Someone, probably him, went through a lot of work just to > >> get speakup in staging. And, after all, software speech does > >> work. That is not trivial. > >> > >> On 02/24/2016 10:05 AM, Karen Lewellen wrote: > >>> May i ask how one finds contingency plans for your ears, your brain, > >>> and your processing? smiles. > >>> I am not following this debate closely, but it certainly supports my > >>> worries about Linux as a main computing solution. If someone is > >>> going to remove the door to functionality, or decide for me how I > >>> personally accommodate my body differences, then they are no > >>> different than say Microsoft. > >>> Access is a human right in some places, not a feature. > >>> defining that access begins and ends with the individual, which is > >>> why the best access uses a foundation allowing for many ways in so > >>> to speak. > >>> > >>> Going back to the corner now, > >>> Kare > >>> > >>> > >>> On Wed, 24 Feb 2016, John G Heim wrote: > >>> > >>>> Well, first of all, I didn't mean to say you shouldn't use a serial > >>>> hardware synth. However,IMO, you would be wise to consider > >>>> contingency plans. If your livelihood depends on that serial synth, > >>>> you'd be wise to begin examining your alternatives. > >>>> > >>>> Also, I can't promise to debug the kernel code. When I said check > >>>> the syslog, I meant for you to check the syslog. If I can find the > >>>> time to take a look at it, I certainly will but I can't promise > >>>> that. I suspect that what's happening is that when speakup tries to > >>>> "steal" the serial port, the return value is no longer just > >>>> null. When I last traced back the functions that speakup was > >>>> calling to steal the serial port, it was bullstuff. Speakup called > >>>> a function that did nothing -- which isn't the fault of the speakup > >>>> developers. I suspect that those functions now do something -- > >>>> probably not what we want but something. > >>>> > >>>> It has probably been a year since I last posted a rant on this list > >>>> about the linux kernel developers. As I write this, I find myself > >>>> getting all worked up about it again. The one good thing about > >>>> Trump running for President is that now I have someone I find more > >>>> arrogant and irritating than the linux kernel development team. > >>>> > >>>> > >>>> > >>>> On 02/24/2016 08:29 AM, Tony Baechler wrote: > >>>>> On 2/23/2016 6:31 AM, John G Heim wrote: > >>>>>> You should check the syslog. There are almost certainly > >>>>> messages in > there > >>>>>> reporting what is happening. I'll try to compile 4.3 kernels > >>>>> for ubuntu > and > >>>>>> debian over the next few days. I had planned to automate the > >>>>> process. > Every > >>>>>> time my ubuntu machines download a new kernel, generate a new > >>>>> patched > kernel > >>>>>> package. I never got around to it though. I was using a sed > >>>>> command to > >>>>>> comment out the line that caused serial synths to not work so t= hat > >>>>>> automation was possible. Part of the problem here is that I > >>>>> have kind of > >>>>>> given up on serial synths myself. I have been depending more > >>>>> and more on > the > >>>>>> combination of a braille display and software speech. It seems > >>>>> to me > that > >>>>>> using a hardware speech synth is going against the grain these = days. > >>>>> > >>>>> As Karen and others have pointed out, we all have our own > >>>>> personal speech > >>>>> preferences. In my case, I have multiple reasons for wanting > >>>>> serial speech > >>>>> to work. I find it easier to hear and understand for one > >>>>> thing. There are > >>>>> some bugs in the DECtalk Express module which might be easily > >>>>> fixed, but > >>>>> the last unpatched kernel I know of that actually worked was > >>>>> 2.6.32 which > >>>>> is no longer supported. Anyway, as requested, here is the dmesg > >>>>> output. I > >>>>> don't see anything helpful. I did the following: > >>>>> > >>>>> service espeakup stop > >>>>> rmmod speakup_soft > >>>>> modprobe speakup_dectlk > >>>>> rmmod speakup_dectlk > >>>>> rmmod speakup > >>>>> modprobe speakup_soft > >>>>> espeakup > >>>>> > >>>>> [ 11.336314] r8169 0000:02:00.0 eth0: link up > >>>>> [ 11.336325] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes= ready > >>>>> [ 27.013903] releasing synth soft > >>>>> [ 27.013975] unregistered /dev/softsynth > >>>>> [ 32.824006] speakup: unregistering synth device /dev/synth > >>>>> [ 56.630004] speakup: module is from the staging directory, th= e > >>>>> quality > >>>>> is unknown, you have been warned. > >>>>> [ 56.630896] input: Speakup as /devices/virtual/input/input7 > >>>>> [ 56.631031] initialized device: /dev/synth, node (MAJOR 10, > >>>>> MINOR 25) > >>>>> [ 56.631055] speakup 3.1.6: initialized > >>>>> [ 56.631057] synth name on entry is: dectlk > >>>>> [ 56.639855] speakup_dectlk: module is from the staging > >>>>> directory, the > >>>>> quality is unknown, you have been warned. > >>>>> [ 56.640036] synth probe > >>>>> [ 56.640039] Ports not available, trying to steal them > >>>>> [ 56.640042] Unable to allocate port at 3f8, errno -16 > >>>>> [ 56.640044] Dectalk Express: not found > >>>>> [ 56.640045] dectlk: device probe failed > >>>>> [ 67.012005] speakup: unregistering synth device /dev/synth > >>>>> [ 70.985966] speakup: module is from the staging directory, th= e > >>>>> quality > >>>>> is unknown, you have been warned. > >>>>> [ 70.986851] input: Speakup as /devices/virtual/input/input8 > >>>>> [ 70.986983] initialized device: /dev/synth, node (MAJOR 10, > >>>>> MINOR 25) > >>>>> [ 70.987006] speakup 3.1.6: initialized > >>>>> [ 70.987008] synth name on entry is: dectlk > >>>>> [ 70.987055] speakup_soft: module is from the staging director= y, the > >>>>> quality is unknown, you have been warned. > >>>>> [ 70.987193] synth probe > >>>>> [ 70.987230] initialized device: /dev/softsynth, node (MAJOR > >>>>> 10, MINOR > >>>>> 26) > >>>> _______________________________________________ > >>>> Speakup mailing list > >>>> Speakup@linux-speakup.org > >>>> http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup > >>>> > >>>> > >> _______________________________________________ > >> Speakup mailing list > >> Speakup@linux-speakup.org > >> http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup > >> > = > _______________________________________________ > Speakup mailing list > Speakup@linux-speakup.org > http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup > = -- = Your life is like a penny. You're going to lose it. The question is: How do you spend it? John Covici covici@ccs.covici.com