Re: Help with serial synths in 4.X kernels

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

 



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@xxxxxxxxxxxxxx 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 <jheim@xxxxxxxxxxxxx> 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 year
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 to
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 that
  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, the
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, the
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 directory, 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@xxxxxxxxxxxxxxxxx
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup


_______________________________________________
Speakup mailing list
Speakup@xxxxxxxxxxxxxxxxx
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup


_______________________________________________
Speakup mailing list
Speakup@xxxxxxxxxxxxxxxxx
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup




[Index of Archives]     [Linux for the Blind]     [Fedora Discussioin]     [Linux Kernel]     [Yosemite News]     [Big List of Linux Books]
  Powered by Linux