Discussion:
DecTalk External (decext) testers wanted!
Okash Khawaja
2017-04-11 06:52:39 UTC
Permalink
Hi,

As part of recent changes, there are some that affect DecTalk External
which uses speakup_decext.ko. If someone can help in making sure those
changes are okay, do give a shout.

Cheers!
Okash
Okash Khawaja
2017-04-11 18:41:51 UTC
Permalink
Hi,

Here are the steps in detail. Before starting this, please download
following two files that I have shared:
- speakup.tgz:
https://github.com/bytefire/speakup-decext/raw/master/speakup.tgz
- tty-export.patch:
https://github.com/bytefire/speakup-decext/raw/master/tty-export.patch

1. Download Linux kernel code:
a. download stable kernel source from
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.9.tar.xz
b. extract the archive by running: tar xvfJ linux-4.10.9.tar.xz

2. Apply patches:
a. cd into the extracted linux source code: cd linux-4.10.9
b. remove speakup directory: rm -r drivers/staging/speakup
c. copy the speakup.tgz file into drivers/staging: cp
path/to/speakup.tgz drivers/staging/
d. cd into staging directory: cd drivers/staging
e. extractspeakup.tgz: tar xvfz speakup.tgz
(now there should be a speakup directory inside drivers/staging)
f. cd back to the root of kernel source (i.e. linux-4.10.9) : cd ../..
g. apply the tty patch: patch -p1 < path/to/tty-export.patch
(output of above should be following three lines:
patching file drivers/tty/tty_io.c
patching file drivers/tty/tty_port.c
patching file include/linux/tty.h)
(if you don't already have 'patch' program then you can download it
from http://savannah.gnu.org/projects/patch/)
h. now we have the code ready for configuring and compiling!

3. Configure:
a. make sure you are inside kernel source root directory, i.e. linux-4.10.9
b. make sure that existing kernel config exists: ls /boot/config-$(uname -r)
(this should return just one file named config-<your-kernel-version>)
c. copy that file into your kernel source root directory: cp
/boot/config-$(uname -r) ./.config
d. update the config: make oldconfig
(this will ask you many questions. just select the default option for
each by pressing enter)
e. check to make sure that speakup is configured the way you wanted
it: cat .config | grep SPEAKUP
e. that's it, kernel configured!

4. Compile and install:
(IMPORTANT: for this please check an online guide specific for your distro.
following instructions that i think should work on Debian based
system. but it may
a. still stayin inside linux-4.10.9, compile by simply running: make
(this will take a while. depending on the hardware specs, it may take
an hour or may be more)
b. after make completes, check it succeeded: echo $?
(this should return zero)
c. now run: sudo make modules_install
(again this may take a little while)
d. now install kernel which should be quick: sudo make install
(NOTE: this means that on next reboot your newly compiled kernel will load)
(Depending on your distro, it should back up previous kernel)

5. Reboot and test decext:
a. now running reboot should boot the compiled kernel
b. if speakup configuration was same as before, then you should be
able to test it with decext the same way as before.

Thanks!
Okash
Post by Okash Khawaja
Hi,
As part of recent changes, there are some that affect DecTalk External
which uses speakup_decext.ko. If someone can help in making sure those
changes are okay, do give a shout.
Cheers!
Okash
Okash Khawaja
2017-04-11 18:49:28 UTC
Permalink
Please be careful at step 4 as it may break your system. Even on
Debian based system, the steps I have mentioned are no guarantee that
they will not break your system.

Also, you can also access the instructions from here:
https://raw.githubusercontent.com/bytefire/speakup-decext/master/decext-instructions.txt

Cheers!
Okash
Post by Okash Khawaja
Hi,
Here are the steps in detail. Before starting this, please download
https://github.com/bytefire/speakup-decext/raw/master/speakup.tgz
https://github.com/bytefire/speakup-decext/raw/master/tty-export.patch
a. download stable kernel source from
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.9.tar.xz
b. extract the archive by running: tar xvfJ linux-4.10.9.tar.xz
a. cd into the extracted linux source code: cd linux-4.10.9
b. remove speakup directory: rm -r drivers/staging/speakup
c. copy the speakup.tgz file into drivers/staging: cp
path/to/speakup.tgz drivers/staging/
d. cd into staging directory: cd drivers/staging
e. extractspeakup.tgz: tar xvfz speakup.tgz
(now there should be a speakup directory inside drivers/staging)
f. cd back to the root of kernel source (i.e. linux-4.10.9) : cd ../..
g. apply the tty patch: patch -p1 < path/to/tty-export.patch
patching file drivers/tty/tty_io.c
patching file drivers/tty/tty_port.c
patching file include/linux/tty.h)
(if you don't already have 'patch' program then you can download it
from http://savannah.gnu.org/projects/patch/)
h. now we have the code ready for configuring and compiling!
a. make sure you are inside kernel source root directory, i.e. linux-4.10.9
b. make sure that existing kernel config exists: ls /boot/config-$(uname -r)
(this should return just one file named config-<your-kernel-version>)
c. copy that file into your kernel source root directory: cp
/boot/config-$(uname -r) ./.config
d. update the config: make oldconfig
(this will ask you many questions. just select the default option for
each by pressing enter)
e. check to make sure that speakup is configured the way you wanted
it: cat .config | grep SPEAKUP
e. that's it, kernel configured!
(IMPORTANT: for this please check an online guide specific for your distro.
following instructions that i think should work on Debian based
system. but it may
a. still stayin inside linux-4.10.9, compile by simply running: make
(this will take a while. depending on the hardware specs, it may take
an hour or may be more)
b. after make completes, check it succeeded: echo $?
(this should return zero)
c. now run: sudo make modules_install
(again this may take a little while)
d. now install kernel which should be quick: sudo make install
(NOTE: this means that on next reboot your newly compiled kernel will load)
(Depending on your distro, it should back up previous kernel)
a. now running reboot should boot the compiled kernel
b. if speakup configuration was same as before, then you should be
able to test it with decext the same way as before.
Thanks!
Okash
Post by Okash Khawaja
Hi,
As part of recent changes, there are some that affect DecTalk External
which uses speakup_decext.ko. If someone can help in making sure those
changes are okay, do give a shout.
Cheers!
Okash
John Covici
2017-04-11 18:57:19 UTC
Permalink
Is speakout available in this speakup directory -- also -- can I use
older kernel like 4.4.54 or 4.9.x?


On Tue, 11 Apr 2017 14:49:28 -0400,
Post by Okash Khawaja
Please be careful at step 4 as it may break your system. Even on
Debian based system, the steps I have mentioned are no guarantee that
they will not break your system.
https://raw.githubusercontent.com/bytefire/speakup-decext/master/decext-instructions.txt
Cheers!
Okash
Post by Okash Khawaja
Hi,
Here are the steps in detail. Before starting this, please download
https://github.com/bytefire/speakup-decext/raw/master/speakup.tgz
https://github.com/bytefire/speakup-decext/raw/master/tty-export.patch
a. download stable kernel source from
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.9.tar.xz
b. extract the archive by running: tar xvfJ linux-4.10.9.tar.xz
a. cd into the extracted linux source code: cd linux-4.10.9
b. remove speakup directory: rm -r drivers/staging/speakup
c. copy the speakup.tgz file into drivers/staging: cp
path/to/speakup.tgz drivers/staging/
d. cd into staging directory: cd drivers/staging
e. extractspeakup.tgz: tar xvfz speakup.tgz
(now there should be a speakup directory inside drivers/staging)
f. cd back to the root of kernel source (i.e. linux-4.10.9) : cd ../..
g. apply the tty patch: patch -p1 < path/to/tty-export.patch
patching file drivers/tty/tty_io.c
patching file drivers/tty/tty_port.c
patching file include/linux/tty.h)
(if you don't already have 'patch' program then you can download it
from http://savannah.gnu.org/projects/patch/)
h. now we have the code ready for configuring and compiling!
a. make sure you are inside kernel source root directory, i.e. linux-4.10.9
b. make sure that existing kernel config exists: ls /boot/config-$(uname -r)
(this should return just one file named config-<your-kernel-version>)
c. copy that file into your kernel source root directory: cp
/boot/config-$(uname -r) ./.config
d. update the config: make oldconfig
(this will ask you many questions. just select the default option for
each by pressing enter)
e. check to make sure that speakup is configured the way you wanted
it: cat .config | grep SPEAKUP
e. that's it, kernel configured!
(IMPORTANT: for this please check an online guide specific for your distro.
following instructions that i think should work on Debian based
system. but it may
a. still stayin inside linux-4.10.9, compile by simply running: make
(this will take a while. depending on the hardware specs, it may take
an hour or may be more)
b. after make completes, check it succeeded: echo $?
(this should return zero)
c. now run: sudo make modules_install
(again this may take a little while)
d. now install kernel which should be quick: sudo make install
(NOTE: this means that on next reboot your newly compiled kernel will load)
(Depending on your distro, it should back up previous kernel)
a. now running reboot should boot the compiled kernel
b. if speakup configuration was same as before, then you should be
able to test it with decext the same way as before.
Thanks!
Okash
Post by Okash Khawaja
Hi,
As part of recent changes, there are some that affect DecTalk External
which uses speakup_decext.ko. If someone can help in making sure those
changes are okay, do give a shout.
Cheers!
Okash
_______________________________________________
Speakup mailing list
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
***@ccs.covici.com
Okash Khawaja
2017-04-11 19:21:02 UTC
Permalink
Hi,
Post by John Covici
Is speakout available in this speakup directory
Yes
Post by John Covici
-- also -- can I use
older kernel like 4.4.54 or 4.9.x?
I think that should work fine although the tty patch may not apply cleanly. I haven't tried it on those.

Thanks,
Okash
Okash Khawaja
2017-04-12 08:07:23 UTC
Permalink
Also, these steps can be used to test all the synths and not just decext. The speakup.tgz archive contains all the patches I last submitted.

So please use these steps to test other synths too!

Thanks,
Okash
Post by Okash Khawaja
Please be careful at step 4 as it may break your system. Even on
Debian based system, the steps I have mentioned are no guarantee that
they will not break your system.
https://raw.githubusercontent.com/bytefire/speakup-decext/master/decext-instructions.txt
Cheers!
Okash
Post by Okash Khawaja
Hi,
Here are the steps in detail. Before starting this, please download
https://github.com/bytefire/speakup-decext/raw/master/speakup.tgz
https://github.com/bytefire/speakup-decext/raw/master/tty-export.patch
a. download stable kernel source from
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.9.tar.xz
b. extract the archive by running: tar xvfJ linux-4.10.9.tar.xz
a. cd into the extracted linux source code: cd linux-4.10.9
b. remove speakup directory: rm -r drivers/staging/speakup
c. copy the speakup.tgz file into drivers/staging: cp
path/to/speakup.tgz drivers/staging/
d. cd into staging directory: cd drivers/staging
e. extractspeakup.tgz: tar xvfz speakup.tgz
(now there should be a speakup directory inside drivers/staging)
f. cd back to the root of kernel source (i.e. linux-4.10.9) : cd ../..
g. apply the tty patch: patch -p1 < path/to/tty-export.patch
patching file drivers/tty/tty_io.c
patching file drivers/tty/tty_port.c
patching file include/linux/tty.h)
(if you don't already have 'patch' program then you can download it
from http://savannah.gnu.org/projects/patch/)
h. now we have the code ready for configuring and compiling!
a. make sure you are inside kernel source root directory, i.e. linux-4.10.9
b. make sure that existing kernel config exists: ls /boot/config-$(uname -r)
(this should return just one file named config-<your-kernel-version>)
c. copy that file into your kernel source root directory: cp
/boot/config-$(uname -r) ./.config
d. update the config: make oldconfig
(this will ask you many questions. just select the default option for
each by pressing enter)
e. check to make sure that speakup is configured the way you wanted
it: cat .config | grep SPEAKUP
e. that's it, kernel configured!
(IMPORTANT: for this please check an online guide specific for your distro.
following instructions that i think should work on Debian based
system. but it may
a. still stayin inside linux-4.10.9, compile by simply running: make
(this will take a while. depending on the hardware specs, it may take
an hour or may be more)
b. after make completes, check it succeeded: echo $?
(this should return zero)
c. now run: sudo make modules_install
(again this may take a little while)
d. now install kernel which should be quick: sudo make install
(NOTE: this means that on next reboot your newly compiled kernel will load)
(Depending on your distro, it should back up previous kernel)
a. now running reboot should boot the compiled kernel
b. if speakup configuration was same as before, then you should be
able to test it with decext the same way as before.
Thanks!
Okash
Post by Okash Khawaja
Hi,
As part of recent changes, there are some that affect DecTalk External
which uses speakup_decext.ko. If someone can help in making sure those
changes are okay, do give a shout.
Cheers!
Okash
Keith Barrett
2017-04-12 09:39:03 UTC
Permalink
I am going to do a fresh install of debian on a spare drive to test the
patches.

Are your instructions the same for am64 and i386 kernels?

Also, the default speech rate is too slow for me so can I set a higher
default rate during the process? If so, how do I do this?

Thanks.
Post by Okash Khawaja
Also, these steps can be used to test all the synths and not just decext. The speakup.tgz archive contains all the patches I last submitted.
So please use these steps to test other synths too!
Thanks,
Okash
Post by Okash Khawaja
Please be careful at step 4 as it may break your system. Even on
Debian based system, the steps I have mentioned are no guarantee that
they will not break your system.
https://raw.githubusercontent.com/bytefire/speakup-decext/master/decext-instructions.txt
Cheers!
Okash
Post by Okash Khawaja
Hi,
Here are the steps in detail. Before starting this, please download
https://github.com/bytefire/speakup-decext/raw/master/speakup.tgz
https://github.com/bytefire/speakup-decext/raw/master/tty-export.patch
a. download stable kernel source from
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.9.tar.xz
b. extract the archive by running: tar xvfJ linux-4.10.9.tar.xz
a. cd into the extracted linux source code: cd linux-4.10.9
b. remove speakup directory: rm -r drivers/staging/speakup
c. copy the speakup.tgz file into drivers/staging: cp
path/to/speakup.tgz drivers/staging/
d. cd into staging directory: cd drivers/staging
e. extractspeakup.tgz: tar xvfz speakup.tgz
(now there should be a speakup directory inside drivers/staging)
f. cd back to the root of kernel source (i.e. linux-4.10.9) : cd ../..
g. apply the tty patch: patch -p1 < path/to/tty-export.patch
patching file drivers/tty/tty_io.c
patching file drivers/tty/tty_port.c
patching file include/linux/tty.h)
(if you don't already have 'patch' program then you can download it
from http://savannah.gnu.org/projects/patch/)
h. now we have the code ready for configuring and compiling!
a. make sure you are inside kernel source root directory, i.e. linux-4.10.9
b. make sure that existing kernel config exists: ls /boot/config-$(uname -r)
(this should return just one file named config-<your-kernel-version>)
c. copy that file into your kernel source root directory: cp
/boot/config-$(uname -r) ./.config
d. update the config: make oldconfig
(this will ask you many questions. just select the default option for
each by pressing enter)
e. check to make sure that speakup is configured the way you wanted
it: cat .config | grep SPEAKUP
e. that's it, kernel configured!
(IMPORTANT: for this please check an online guide specific for your distro.
following instructions that i think should work on Debian based
system. but it may
a. still stayin inside linux-4.10.9, compile by simply running: make
(this will take a while. depending on the hardware specs, it may take
an hour or may be more)
b. after make completes, check it succeeded: echo $?
(this should return zero)
c. now run: sudo make modules_install
(again this may take a little while)
d. now install kernel which should be quick: sudo make install
(NOTE: this means that on next reboot your newly compiled kernel will load)
(Depending on your distro, it should back up previous kernel)
a. now running reboot should boot the compiled kernel
b. if speakup configuration was same as before, then you should be
able to test it with decext the same way as before.
Thanks!
Okash
Post by Okash Khawaja
Hi,
As part of recent changes, there are some that affect DecTalk External
which uses speakup_decext.ko. If someone can help in making sure those
changes are okay, do give a shout.
Cheers!
Okash
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Okash Khawaja
2017-04-12 09:50:12 UTC
Permalink
Hi Keith,
I am going to do a fresh install of debian on a spare drive to test the patches.
Are your instructions the same for am64 and i386 kernels?
Yes
Also, the default speech rate is too slow for me so can I set a higher default rate during the process? If so, how do I do this?
Not exactly sure if this was a restriction from before? The changes I have submitted don't address speech rate specifically.

May be someone else can shed some light here?
Thanks.
Post by Okash Khawaja
Also, these steps can be used to test all the synths and not just decext. The speakup.tgz archive contains all the patches I last submitted.
So please use these steps to test other synths too!
Thanks,
Okash
Post by Okash Khawaja
Please be careful at step 4 as it may break your system. Even on
Debian based system, the steps I have mentioned are no guarantee that
they will not break your system.
https://raw.githubusercontent.com/bytefire/speakup-decext/master/decext-instructions.txt
Cheers!
Okash
Post by Okash Khawaja
Hi,
Here are the steps in detail. Before starting this, please download
https://github.com/bytefire/speakup-decext/raw/master/speakup.tgz
https://github.com/bytefire/speakup-decext/raw/master/tty-export.patch
a. download stable kernel source from
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.9.tar.xz
b. extract the archive by running: tar xvfJ linux-4.10.9.tar.xz
a. cd into the extracted linux source code: cd linux-4.10.9
b. remove speakup directory: rm -r drivers/staging/speakup
c. copy the speakup.tgz file into drivers/staging: cp
path/to/speakup.tgz drivers/staging/
d. cd into staging directory: cd drivers/staging
e. extractspeakup.tgz: tar xvfz speakup.tgz
(now there should be a speakup directory inside drivers/staging)
f. cd back to the root of kernel source (i.e. linux-4.10.9) : cd ../..
g. apply the tty patch: patch -p1 < path/to/tty-export.patch
patching file drivers/tty/tty_io.c
patching file drivers/tty/tty_port.c
patching file include/linux/tty.h)
(if you don't already have 'patch' program then you can download it
from http://savannah.gnu.org/projects/patch/)
h. now we have the code ready for configuring and compiling!
a. make sure you are inside kernel source root directory, i.e. linux-4.10.9
b. make sure that existing kernel config exists: ls /boot/config-$(uname -r)
(this should return just one file named config-<your-kernel-version>)
c. copy that file into your kernel source root directory: cp
/boot/config-$(uname -r) ./.config
d. update the config: make oldconfig
(this will ask you many questions. just select the default option for
each by pressing enter)
e. check to make sure that speakup is configured the way you wanted
it: cat .config | grep SPEAKUP
e. that's it, kernel configured!
(IMPORTANT: for this please check an online guide specific for your distro.
following instructions that i think should work on Debian based
system. but it may
a. still stayin inside linux-4.10.9, compile by simply running: make
(this will take a while. depending on the hardware specs, it may take
an hour or may be more)
b. after make completes, check it succeeded: echo $?
(this should return zero)
c. now run: sudo make modules_install
(again this may take a little while)
d. now install kernel which should be quick: sudo make install
(NOTE: this means that on next reboot your newly compiled kernel will load)
(Depending on your distro, it should back up previous kernel)
a. now running reboot should boot the compiled kernel
b. if speakup configuration was same as before, then you should be
able to test it with decext the same way as before.
Thanks!
Okash
Post by Okash Khawaja
Hi,
As part of recent changes, there are some that affect DecTalk External
which uses speakup_decext.ko. If someone can help in making sure those
changes are okay, do give a shout.
Cheers!
Okash
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Karen Lewellen
2017-04-12 20:46:59 UTC
Permalink
Actually, I have a question.
One of the many reasons why I do not use speakup is that there is no
driver for my synthesizer.
the reading edge utilizes dectalk synthesis, perhaps? the same as the
express. the edge does have drivers in other screen reading products, but
not in Linux.
Any chance of this changing?
Thanks,
Kare
Post by Keith Barrett
I am going to do a fresh install of debian on a spare drive to test the
patches.
Are your instructions the same for am64 and i386 kernels?
Also, the default speech rate is too slow for me so can I set a higher
default rate during the process? If so, how do I do this?
Thanks.
Post by Okash Khawaja
Also, these steps can be used to test all the synths and not just decext.
The speakup.tgz archive contains all the patches I last submitted.
So please use these steps to test other synths too!
Thanks,
Okash
Post by Okash Khawaja
Please be careful at step 4 as it may break your system. Even on
Debian based system, the steps I have mentioned are no guarantee that
they will not break your system.
https://raw.githubusercontent.com/bytefire/speakup-decext/master/decext-instructions.txt
Cheers!
Okash
On Tue, Apr 11, 2017 at 7:41 PM, Okash Khawaja
Hi,
Here are the steps in detail. Before starting this, please download
https://github.com/bytefire/speakup-decext/raw/master/speakup.tgz
https://github.com/bytefire/speakup-decext/raw/master/tty-export.patch
a. download stable kernel source from
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.9.tar.xz
b. extract the archive by running: tar xvfJ linux-4.10.9.tar.xz
a. cd into the extracted linux source code: cd linux-4.10.9
b. remove speakup directory: rm -r drivers/staging/speakup
c. copy the speakup.tgz file into drivers/staging: cp
path/to/speakup.tgz drivers/staging/
d. cd into staging directory: cd drivers/staging
e. extractspeakup.tgz: tar xvfz speakup.tgz
(now there should be a speakup directory inside drivers/staging)
f. cd back to the root of kernel source (i.e. linux-4.10.9) : cd ../..
g. apply the tty patch: patch -p1 < path/to/tty-export.patch
patching file drivers/tty/tty_io.c
patching file drivers/tty/tty_port.c
patching file include/linux/tty.h)
(if you don't already have 'patch' program then you can download it
from http://savannah.gnu.org/projects/patch/)
h. now we have the code ready for configuring and compiling!
a. make sure you are inside kernel source root directory, i.e. linux-4.10.9
b. make sure that existing kernel config exists: ls
/boot/config-$(uname -r)
(this should return just one file named config-<your-kernel-version>)
c. copy that file into your kernel source root directory: cp
/boot/config-$(uname -r) ./.config
d. update the config: make oldconfig
(this will ask you many questions. just select the default option for
each by pressing enter)
e. check to make sure that speakup is configured the way you wanted
it: cat .config | grep SPEAKUP
e. that's it, kernel configured!
(IMPORTANT: for this please check an online guide specific for your distro.
following instructions that i think should work on Debian based
system. but it may
a. still stayin inside linux-4.10.9, compile by simply running: make
(this will take a while. depending on the hardware specs, it may take
an hour or may be more)
b. after make completes, check it succeeded: echo $?
(this should return zero)
c. now run: sudo make modules_install
(again this may take a little while)
d. now install kernel which should be quick: sudo make install
(NOTE: this means that on next reboot your newly compiled kernel will load)
(Depending on your distro, it should back up previous kernel)
a. now running reboot should boot the compiled kernel
b. if speakup configuration was same as before, then you should be
able to test it with decext the same way as before.
Thanks!
Okash
On Tue, Apr 11, 2017 at 7:52 AM, Okash Khawaja
Hi,
As part of recent changes, there are some that affect DecTalk External
which uses speakup_decext.ko. If someone can help in making sure those
changes are okay, do give a shout.
Cheers!
Okash
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Okash Khawaja
2017-04-13 11:10:33 UTC
Permalink
Hi Karen,

I don't know about reading edge. If it does use dectalk then there may be support already available (or become available after some tweaks). However - and this is important - trying a incorrect driver on a synth may damage or even brick that synth.

Not sure if someone else can share thoughts on reading edge.

Thanks,
Okash
Post by Karen Lewellen
Actually, I have a question.
One of the many reasons why I do not use speakup is that there is no driver for my synthesizer.
the reading edge utilizes dectalk synthesis, perhaps? the same as the express. the edge does have drivers in other screen reading products, but not in Linux.
Any chance of this changing?
Thanks,
Kare
I am going to do a fresh install of debian on a spare drive to test the patches.
Are your instructions the same for am64 and i386 kernels?
Also, the default speech rate is too slow for me so can I set a higher default rate during the process? If so, how do I do this?
Thanks.
Post by Okash Khawaja
Also, these steps can be used to test all the synths and not just decext.
The speakup.tgz archive contains all the patches I last submitted.
So please use these steps to test other synths too!
Thanks,
Okash
Post by Okash Khawaja
Post by Okash Khawaja
Please be careful at step 4 as it may break your system. Even on
Debian based system, the steps I have mentioned are no guarantee that
they will not break your system.
https://raw.githubusercontent.com/bytefire/speakup-decext/master/decext-instructions.txt
Post by Okash Khawaja
Cheers!
Okash
Post by Okash Khawaja
Hi,
Post by Okash Khawaja
Here are the steps in detail. Before starting this, please download
https://github.com/bytefire/speakup-decext/raw/master/speakup.tgz
https://github.com/bytefire/speakup-decext/raw/master/tty-export.patch
a. download stable kernel source from
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.9.tar.xz
b. extract the archive by running: tar xvfJ linux-4.10.9.tar.xz
a. cd into the extracted linux source code: cd linux-4.10.9
b. remove speakup directory: rm -r drivers/staging/speakup
c. copy the speakup.tgz file into drivers/staging: cp
path/to/speakup.tgz drivers/staging/
d. cd into staging directory: cd drivers/staging
e. extractspeakup.tgz: tar xvfz speakup.tgz
(now there should be a speakup directory inside drivers/staging)
f. cd back to the root of kernel source (i.e. linux-4.10.9) : cd ../..
g. apply the tty patch: patch -p1 < path/to/tty-export.patch
patching file drivers/tty/tty_io.c
patching file drivers/tty/tty_port.c
patching file include/linux/tty.h)
(if you don't already have 'patch' program then you can download it
from http://savannah.gnu.org/projects/patch/)
h. now we have the code ready for configuring and compiling!
a. make sure you are inside kernel source root directory, i.e. > > linux-4.10.9
b. make sure that existing kernel config exists: ls > > /boot/config-$(uname -r)
(this should return just one file named config-<your-kernel-version>)
c. copy that file into your kernel source root directory: cp
/boot/config-$(uname -r) ./.config
d. update the config: make oldconfig
(this will ask you many questions. just select the default option for
each by pressing enter)
e. check to make sure that speakup is configured the way you wanted
it: cat .config | grep SPEAKUP
e. that's it, kernel configured!
(IMPORTANT: for this please check an online guide specific for your > > distro.
following instructions that i think should work on Debian based
system. but it may
a. still stayin inside linux-4.10.9, compile by simply running: make
(this will take a while. depending on the hardware specs, it may take
an hour or may be more)
b. after make completes, check it succeeded: echo $?
(this should return zero)
c. now run: sudo make modules_install
(again this may take a little while)
d. now install kernel which should be quick: sudo make install
(NOTE: this means that on next reboot your newly compiled kernel will > > load)
(Depending on your distro, it should back up previous kernel)
a. now running reboot should boot the compiled kernel
b. if speakup configuration was same as before, then you should be
able to test it with decext the same way as before.
Post by Okash Khawaja
Thanks!
Okash
Hi,
Post by Okash Khawaja
As part of recent changes, there are some that affect DecTalk > > > External
which uses speakup_decext.ko. If someone can help in making sure > > > those
changes are okay, do give a shout.
Post by Okash Khawaja
Cheers!
Okash
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Tom Fowle
2017-04-13 01:14:21 UTC
Permalink
Will this process work on 32 bit jessie?
and for the wimps among us, how does one get the old kernel back if the new
version doesn't work?
thanks
tom Fowle
Post by Keith Barrett
I am going to do a fresh install of debian on a spare drive to test
the patches.
Are your instructions the same for am64 and i386 kernels?
Also, the default speech rate is too slow for me so can I set a
higher default rate during the process? If so, how do I do this?
Thanks.
Post by Okash Khawaja
Also, these steps can be used to test all the synths and not just decext. The speakup.tgz archive contains all the patches I last submitted.
So please use these steps to test other synths too!
Thanks,
Okash
Post by Okash Khawaja
Please be careful at step 4 as it may break your system. Even on
Debian based system, the steps I have mentioned are no guarantee that
they will not break your system.
https://raw.githubusercontent.com/bytefire/speakup-decext/master/decext-instructions.txt
Cheers!
Okash
Post by Okash Khawaja
Hi,
Here are the steps in detail. Before starting this, please download
https://github.com/bytefire/speakup-decext/raw/master/speakup.tgz
https://github.com/bytefire/speakup-decext/raw/master/tty-export.patch
a. download stable kernel source from
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.9.tar.xz
b. extract the archive by running: tar xvfJ linux-4.10.9.tar.xz
a. cd into the extracted linux source code: cd linux-4.10.9
b. remove speakup directory: rm -r drivers/staging/speakup
c. copy the speakup.tgz file into drivers/staging: cp
path/to/speakup.tgz drivers/staging/
d. cd into staging directory: cd drivers/staging
e. extractspeakup.tgz: tar xvfz speakup.tgz
(now there should be a speakup directory inside drivers/staging)
f. cd back to the root of kernel source (i.e. linux-4.10.9) : cd ../..
g. apply the tty patch: patch -p1 < path/to/tty-export.patch
patching file drivers/tty/tty_io.c
patching file drivers/tty/tty_port.c
patching file include/linux/tty.h)
(if you don't already have 'patch' program then you can download it
from http://savannah.gnu.org/projects/patch/)
h. now we have the code ready for configuring and compiling!
a. make sure you are inside kernel source root directory, i.e. linux-4.10.9
b. make sure that existing kernel config exists: ls /boot/config-$(uname -r)
(this should return just one file named config-<your-kernel-version>)
c. copy that file into your kernel source root directory: cp
/boot/config-$(uname -r) ./.config
d. update the config: make oldconfig
(this will ask you many questions. just select the default option for
each by pressing enter)
e. check to make sure that speakup is configured the way you wanted
it: cat .config | grep SPEAKUP
e. that's it, kernel configured!
(IMPORTANT: for this please check an online guide specific for your distro.
following instructions that i think should work on Debian based
system. but it may
a. still stayin inside linux-4.10.9, compile by simply running: make
(this will take a while. depending on the hardware specs, it may take
an hour or may be more)
b. after make completes, check it succeeded: echo $?
(this should return zero)
c. now run: sudo make modules_install
(again this may take a little while)
d. now install kernel which should be quick: sudo make install
(NOTE: this means that on next reboot your newly compiled kernel will load)
(Depending on your distro, it should back up previous kernel)
a. now running reboot should boot the compiled kernel
b. if speakup configuration was same as before, then you should be
able to test it with decext the same way as before.
Thanks!
Okash
Post by Okash Khawaja
Hi,
As part of recent changes, there are some that affect DecTalk External
which uses speakup_decext.ko. If someone can help in making sure those
changes are okay, do give a shout.
Cheers!
Okash
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Gregory Nowak
2017-04-13 02:47:19 UTC
Permalink
It should work under 32-bit debian or devuan jessie. I plan to try
this under that very environment soon, maybe even this weekend with a
bns and dtlk. As for getting back to the old kernel, the easiest thing
I can think of is to get familiar with your boot loaders menu, either
that, or access grub2 with a serial console.

Greg
Post by Tom Fowle
Will this process work on 32 bit jessie?
and for the wimps among us, how does one get the old kernel back if the new
version doesn't work?
thanks
tom Fowle
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail dns-***@EU.org
Keith Barrett
2017-04-13 13:33:16 UTC
Permalink
Hello Greg,

Just a heads up. I wanted to use a new install so that I could get back
but the i386 stretch installers lost speech each time I attempted it so
I abandoned that and used the am64 on another machine.

I have sent another message to the list regarding errors with make
oldconfig.

I have reported the installer issue to debian accessibility.
Post by Gregory Nowak
It should work under 32-bit debian or devuan jessie. I plan to try
this under that very environment soon, maybe even this weekend with a
bns and dtlk. As for getting back to the old kernel, the easiest thing
I can think of is to get familiar with your boot loaders menu, either
that, or access grub2 with a serial console.
Greg
Post by Tom Fowle
Will this process work on 32 bit jessie?
and for the wimps among us, how does one get the old kernel back if the new
version doesn't work?
thanks
tom Fowle
Tom Fowle
2017-04-14 02:12:23 UTC
Permalink
Greg,
thanks, I'll await your test results.
tom Fowle
Post by Gregory Nowak
It should work under 32-bit debian or devuan jessie. I plan to try
this under that very environment soon, maybe even this weekend with a
bns and dtlk. As for getting back to the old kernel, the easiest thing
I can think of is to get familiar with your boot loaders menu, either
that, or access grub2 with a serial console.
Greg
Post by Tom Fowle
Will this process work on 32 bit jessie?
and for the wimps among us, how does one get the old kernel back if the new
version doesn't work?
thanks
tom Fowle
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.
--
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Gregory Nowak
2017-04-17 19:45:03 UTC
Permalink
Hi all,
I tried to build a kernel with Okash's speakup patches following the
instructions at:
<https://raw.githubusercontent.com/bytefire/speakup-decext/master/decext-instructions.txt>

I got the kernel source from the URL given in the instructions. I
extracted it, got rid of drivers/staging/speakup, and extracted
speakup.tgz in place of that, which gave me back
drivers/staging/speakup. I applied tty-export.patch with no errors,
getting exactly the output Okash gave in the instructions. I put a
.config into place in the linux source tree, and ran make oldconfig
accepting defaults for all new options.

I then ran make, which seemed to make it almost until the end, before
it came to a halt with this:

"
drivers/staging/speakup/speakup_soft.c:25:87: fatal error: linux/sched/signal.h: No such file or directory
#include <linux/sched/signal.h> /* schedule(), signal_pending(), TASK_INTERRUPTIBLE */
^
compilation terminated.
scripts/Makefile.build:300: recipe for target 'drivers/staging/speakup/speakup_soft.o' failed
make[3]: *** [drivers/staging/speakup/speakup_soft.o] Error 1
scripts/Makefile.build:553: recipe for target 'drivers/staging/speakup' failed
make[2]: *** [drivers/staging/speakup] Error 2
scripts/Makefile.build:553: recipe for target 'drivers/staging' failed
make[1]: *** [drivers/staging] Error 2
Makefile:988: recipe for target 'drivers' failed
make: *** [drivers] Error 2
"

I did some web searching, but couldn't find anything definite about
that particular header file, other than that it seems to be new in the
latest kernel, seemingly a replacement for sched.h. So, what is
supposed to generate that header file, or where am I supposed to get
it from please? This is on a devuan jessie 32-bit x86 system. Thanks.

Greg
Post by Okash Khawaja
Also, these steps can be used to test all the synths and not just decext. The speakup.tgz archive contains all the patches I last submitted.
So please use these steps to test other synths too!
Thanks,
Okash
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail dns-***@EU.org
Okash Khawaja
2017-04-17 20:44:23 UTC
Permalink
Hi Greg,

You're right. linux/sched/signal.h is part of a recent change and not
in stable 4.10.x. I will need to update staging.tgz. Will update here
once I've done that.

Thanks,
Okash
Post by Gregory Nowak
Hi all,
I tried to build a kernel with Okash's speakup patches following the
<https://raw.githubusercontent.com/bytefire/speakup-decext/master/decext-instructions.txt>
I got the kernel source from the URL given in the instructions. I
extracted it, got rid of drivers/staging/speakup, and extracted
speakup.tgz in place of that, which gave me back
drivers/staging/speakup. I applied tty-export.patch with no errors,
getting exactly the output Okash gave in the instructions. I put a
.config into place in the linux source tree, and ran make oldconfig
accepting defaults for all new options.
I then ran make, which seemed to make it almost until the end, before
"
drivers/staging/speakup/speakup_soft.c:25:87: fatal error: linux/sched/signal.h: No such file or directory
#include <linux/sched/signal.h> /* schedule(), signal_pending(), TASK_INTERRUPTIBLE */
^
compilation terminated.
scripts/Makefile.build:300: recipe for target 'drivers/staging/speakup/speakup_soft.o' failed
make[3]: *** [drivers/staging/speakup/speakup_soft.o] Error 1
scripts/Makefile.build:553: recipe for target 'drivers/staging/speakup' failed
make[2]: *** [drivers/staging/speakup] Error 2
scripts/Makefile.build:553: recipe for target 'drivers/staging' failed
make[1]: *** [drivers/staging] Error 2
Makefile:988: recipe for target 'drivers' failed
make: *** [drivers] Error 2
"
I did some web searching, but couldn't find anything definite about
that particular header file, other than that it seems to be new in the
latest kernel, seemingly a replacement for sched.h. So, what is
supposed to generate that header file, or where am I supposed to get
it from please? This is on a devuan jessie 32-bit x86 system. Thanks.
Greg
Post by Okash Khawaja
Also, these steps can be used to test all the synths and not just decext. The speakup.tgz archive contains all the patches I last submitted.
So please use these steps to test other synths too!
Thanks,
Okash
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.
--
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Okash Khawaja
2017-04-17 21:48:42 UTC
Permalink
Hi,

I have updated the repository.
Now there is speakup2.tgz instead of speakup.tgz (to avoid
confusion between the two versions)
tty-export.patch includes ldisc related exports that were missed
out the first time round

Just to clarify, the problem is that kernel 4.11 that I developed
against has some issues with USB and therefore not best one to test
against at the moment. speakup.tgz I sent contained some code which
would only compile on 4.11 and that was the problem Greg pointed out.

I have now gone through the process on my system again and made sure
it compiles on 4.10.x and the above changes reflect that. So please
follow the steps from beginning with the updated tty-export.patch and
speakup2.tgz.

Okash
Hi Greg,
You're right. linux/sched/signal.h is part of a recent change and not
in stable 4.10.x. I will need to update staging.tgz. Will update here
once I've done that.
Thanks,
Okash
Post by Gregory Nowak
Hi all,
I tried to build a kernel with Okash's speakup patches following the
<https://raw.githubusercontent.com/bytefire/speakup-decext/master/decext-instructions.txt>
I got the kernel source from the URL given in the instructions. I
extracted it, got rid of drivers/staging/speakup, and extracted
speakup.tgz in place of that, which gave me back
drivers/staging/speakup. I applied tty-export.patch with no errors,
getting exactly the output Okash gave in the instructions. I put a
.config into place in the linux source tree, and ran make oldconfig
accepting defaults for all new options.
I then ran make, which seemed to make it almost until the end, before
"
drivers/staging/speakup/speakup_soft.c:25:87: fatal error: linux/sched/signal.h: No such file or directory
#include <linux/sched/signal.h> /* schedule(), signal_pending(), TASK_INTERRUPTIBLE */
^
compilation terminated.
scripts/Makefile.build:300: recipe for target 'drivers/staging/speakup/speakup_soft.o' failed
make[3]: *** [drivers/staging/speakup/speakup_soft.o] Error 1
scripts/Makefile.build:553: recipe for target 'drivers/staging/speakup' failed
make[2]: *** [drivers/staging/speakup] Error 2
scripts/Makefile.build:553: recipe for target 'drivers/staging' failed
make[1]: *** [drivers/staging] Error 2
Makefile:988: recipe for target 'drivers' failed
make: *** [drivers] Error 2
"
I did some web searching, but couldn't find anything definite about
that particular header file, other than that it seems to be new in the
latest kernel, seemingly a replacement for sched.h. So, what is
supposed to generate that header file, or where am I supposed to get
it from please? This is on a devuan jessie 32-bit x86 system. Thanks.
Greg
Post by Okash Khawaja
Also, these steps can be used to test all the synths and not just decext. The speakup.tgz archive contains all the patches I last submitted.
So please use these steps to test other synths too!
Thanks,
Okash
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.
--
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Gregory Nowak
2017-04-20 03:26:08 UTC
Permalink
Ok, so I've built the new kernel. I have a braille 'n speak connected
to ttyS0. I'm wanting to try the on-board serial port first,
before I move to a usb to serial converter.

With only the speakup_main module loaded out of the speakup modules, I
type in:

modprobe speakup_bns ser=0 start=1

and get back:

modprobe: ERROR: could not insert 'speakup_bns': No such device

The relevant dmesg output is:

"[ 82.864734] speakup_bns: module is from the staging directory, the
quality is unknown, you have been warned.
[ 82.865621] synth probe
[ 82.865626] Ports not available, trying to steal them
[ 82.865635] Unable to allocate port at 3f8, errno -16
[ 82.865637] Braille 'N Speak: not found
[ 82.865638] bns: device probe failed"

The modinfo output is:

"filename:
/lib/modules/4.10.9/kernel/drivers/staging/speakup/speakup_bns.ko
version: 2.11
license: GPL
description: Speakup support for Braille 'n Speak synthesizers
author: David Borowski
author: Kirk Reiser <***@braille.uwo.ca>
srcversion: AD55A47746A5B337C0BBEEE
depends: speakup
staging: Y
intree: Y
vermagic: 4.10.9 SMP mod_unload modversions 686
parm: ser:Set the serial port for the synthesizer
(0-based). (int)
parm: start:Start the synthesizer once it is
loaded. (short)"

I thought all the drivers were ported to use the new tty layer
support. Is this not the case?

Greg
Post by Okash Khawaja
Hi,
I have updated the repository.
Now there is speakup2.tgz instead of speakup.tgz (to avoid
confusion between the two versions)
tty-export.patch includes ldisc related exports that were missed
out the first time round
Just to clarify, the problem is that kernel 4.11 that I developed
against has some issues with USB and therefore not best one to test
against at the moment. speakup.tgz I sent contained some code which
would only compile on 4.11 and that was the problem Greg pointed out.
I have now gone through the process on my system again and made sure
it compiles on 4.10.x and the above changes reflect that. So please
follow the steps from beginning with the updated tty-export.patch and
speakup2.tgz.
Okash
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail dns-***@EU.org
Okash Khawaja
2017-04-20 07:40:35 UTC
Permalink
Hi Greg,

Thanks very much. It looks like migration for bns got missed out. It
is not in the patch
http://linux-speakup.org/pipermail/speakup/2017-April/060648.html. I
will fix that today and let you know. It won't require a full kernel
build this time. Just rebuild of speakup.

Okash
Post by Gregory Nowak
Ok, so I've built the new kernel. I have a braille 'n speak connected
to ttyS0. I'm wanting to try the on-board serial port first,
before I move to a usb to serial converter.
With only the speakup_main module loaded out of the speakup modules, I
modprobe speakup_bns ser=0 start=1
modprobe: ERROR: could not insert 'speakup_bns': No such device
"[ 82.864734] speakup_bns: module is from the staging directory, the
quality is unknown, you have been warned.
[ 82.865621] synth probe
[ 82.865626] Ports not available, trying to steal them
[ 82.865635] Unable to allocate port at 3f8, errno -16
[ 82.865637] Braille 'N Speak: not found
[ 82.865638] bns: device probe failed"
/lib/modules/4.10.9/kernel/drivers/staging/speakup/speakup_bns.ko
version: 2.11
license: GPL
description: Speakup support for Braille 'n Speak synthesizers
author: David Borowski
srcversion: AD55A47746A5B337C0BBEEE
depends: speakup
staging: Y
intree: Y
vermagic: 4.10.9 SMP mod_unload modversions 686
parm: ser:Set the serial port for the synthesizer
(0-based). (int)
parm: start:Start the synthesizer once it is
loaded. (short)"
I thought all the drivers were ported to use the new tty layer
support. Is this not the case?
Greg
Post by Okash Khawaja
Hi,
I have updated the repository.
Now there is speakup2.tgz instead of speakup.tgz (to avoid
confusion between the two versions)
tty-export.patch includes ldisc related exports that were missed
out the first time round
Just to clarify, the problem is that kernel 4.11 that I developed
against has some issues with USB and therefore not best one to test
against at the moment. speakup.tgz I sent contained some code which
would only compile on 4.11 and that was the problem Greg pointed out.
I have now gone through the process on my system again and made sure
it compiles on 4.10.x and the above changes reflect that. So please
follow the steps from beginning with the updated tty-export.patch and
speakup2.tgz.
Okash
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.
--
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Keith Barrett
2017-04-17 22:12:30 UTC
Permalink
Hello Greg,

As a point of interest, did the uname command in the instructions work
for you?

I got a "no such file or directory" response and I had to copy the
config manually from /boot.

I still have certificate errors but if you find it works, I will try
jessie instead of stretch.
Post by Gregory Nowak
Hi all,
I tried to build a kernel with Okash's speakup patches following the
<https://raw.githubusercontent.com/bytefire/speakup-decext/master/decext-instructions.txt>
I got the kernel source from the URL given in the instructions. I
extracted it, got rid of drivers/staging/speakup, and extracted
speakup.tgz in place of that, which gave me back
drivers/staging/speakup. I applied tty-export.patch with no errors,
getting exactly the output Okash gave in the instructions. I put a
.config into place in the linux source tree, and ran make oldconfig
accepting defaults for all new options.
I then ran make, which seemed to make it almost until the end, before
"
drivers/staging/speakup/speakup_soft.c:25:87: fatal error: linux/sched/signal.h: No such file or directory
#include <linux/sched/signal.h> /* schedule(), signal_pending(), TASK_INTERRUPTIBLE */
^
compilation terminated.
scripts/Makefile.build:300: recipe for target 'drivers/staging/speakup/speakup_soft.o' failed
make[3]: *** [drivers/staging/speakup/speakup_soft.o] Error 1
scripts/Makefile.build:553: recipe for target 'drivers/staging/speakup' failed
make[2]: *** [drivers/staging/speakup] Error 2
scripts/Makefile.build:553: recipe for target 'drivers/staging' failed
make[1]: *** [drivers/staging] Error 2
Makefile:988: recipe for target 'drivers' failed
make: *** [drivers] Error 2
"
I did some web searching, but couldn't find anything definite about
that particular header file, other than that it seems to be new in the
latest kernel, seemingly a replacement for sched.h. So, what is
supposed to generate that header file, or where am I supposed to get
it from please? This is on a devuan jessie 32-bit x86 system. Thanks.
Greg
Post by Okash Khawaja
Also, these steps can be used to test all the synths and not just decext. The speakup.tgz archive contains all the patches I last submitted.
So please use these steps to test other synths too!
Thanks,
Okash
Gregory Nowak
2017-04-17 22:35:16 UTC
Permalink
Keith,
I didn't use the uname command in the instructions, I simply copied
the config file from /boot into the source tree by hand.

Greg
Post by Keith Barrett
Hello Greg,
As a point of interest, did the uname command in the instructions
work for you?
I got a "no such file or directory" response and I had to copy the
config manually from /boot.
I still have certificate errors but if you find it works, I will try
jessie instead of stretch.
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail dns-***@EU.org
Keith Barrett
2017-04-13 13:27:52 UTC
Permalink
Post by Okash Khawaja
Hi,
Here are the steps in detail. Before starting this, please download
https://github.com/bytefire/speakup-decext/raw/master/speakup.tgz
https://github.com/bytefire/speakup-decext/raw/master/tty-export.patch
a. download stable kernel source from
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.9.tar.xz
b. extract the archive by running: tar xvfJ linux-4.10.9.tar.xz
a. cd into the extracted linux source code: cd linux-4.10.9
b. remove speakup directory: rm -r drivers/staging/speakup
c. copy the speakup.tgz file into drivers/staging: cp
path/to/speakup.tgz drivers/staging/
d. cd into staging directory: cd drivers/staging
e. extractspeakup.tgz: tar xvfz speakup.tgz
(now there should be a speakup directory inside drivers/staging)
f. cd back to the root of kernel source (i.e. linux-4.10.9) : cd ../..
g. apply the tty patch: patch -p1 < path/to/tty-export.patch
patching file drivers/tty/tty_io.c
patching file drivers/tty/tty_port.c
patching file include/linux/tty.h)
(if you don't already have 'patch' program then you can download it
from http://savannah.gnu.org/projects/patch/)
h. now we have the code ready for configuring and compiling!
a. make sure you are inside kernel source root directory, i.e. linux-4.10.9
b. make sure that existing kernel config exists: ls /boot/config-$(uname -r)
This resaults in a no such file or directory prompt.
I found /boot/config-4.9.0-2-amd64 and copied it.
(this should return just one file named config-<your-kernel-version>)
Post by Okash Khawaja
c. copy that file into your kernel source root directory: cp
/boot/config-$(uname -r) ./.config
d. update the config: make oldconfig
HOSTCC
scripts/basic/fisdep
bin/sh: 1: gcc: not found
scripts/Makefile.host:107: recipe for target scripts /basic/fisdep failed
script-basic error 2

I did a clean install of debian am64 for the test, using the latest
release candidate.
Post by Okash Khawaja
(this will ask you many questions. just select the default option for
each by pressing enter)
e. check to make sure that speakup is configured the way you wanted
it: cat .config | grep SPEAKUP
e. that's it, kernel configured!
(IMPORTANT: for this please check an online guide specific for your distro.
following instructions that i think should work on Debian based
system. but it may
a. still stayin inside linux-4.10.9, compile by simply running: make
(this will take a while. depending on the hardware specs, it may take
an hour or may be more)
b. after make completes, check it succeeded: echo $?
(this should return zero)
c. now run: sudo make modules_install
(again this may take a little while)
d. now install kernel which should be quick: sudo make install
(NOTE: this means that on next reboot your newly compiled kernel will load)
(Depending on your distro, it should back up previous kernel)
a. now running reboot should boot the compiled kernel
b. if speakup configuration was same as before, then you should be
able to test it with decext the same way as before.
Thanks!
Okash
Post by Okash Khawaja
Hi,
As part of recent changes, there are some that affect DecTalk External
which uses speakup_decext.ko. If someone can help in making sure those
changes are okay, do give a shout.
Cheers!
Okash
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Okash Khawaja
2017-04-13 14:28:36 UTC
Permalink
Hi Keith,
Post by Keith Barrett
Post by Okash Khawaja
a. make sure you are inside kernel source root directory, i.e. linux-4.10.9
b. make sure that existing kernel config exists: ls /boot/config-$(uname -r)
This resaults in a no such file or directory prompt.
I found /boot/config-4.9.0-2-amd64 and copied it.
Right that's correct too. Usually Debian names config files like that and puts them in /boot but may be not in this case. Either way, as you've found, the aim is to get hold for current config and using it as base for compiling the kernel.
Post by Keith Barrett
(this should return just one file named config-<your-kernel-version>)
Post by Okash Khawaja
c. copy that file into your kernel source root directory: cp
/boot/config-$(uname -r) ./.config
d. update the config: make oldconfig
HOSTCC
scripts/basic/fisdep
bin/sh: 1: gcc: not found
scripts/Makefile.host:107: recipe for target scripts /basic/fisdep failed
script-basic error 2
Looks like gcc is not installed?
Post by Keith Barrett
I did a clean install of debian am64 for the test, using the latest release candidate.
As a general note for steps 3 and 4, they are steps for compiling kernel, so other resources online will also apply.

Cheers,
Okash
Keith Barrett
2017-04-13 22:49:59 UTC
Permalink
Hi,

Following an online guide, I am getting complaints of invalid certificates.

Could this be because of the patching? I only discovered this when
running make.

Will try again in the morning but think I may need to start again.

Would be interested to know if any one on here is having better luck.
Post by Okash Khawaja
Hi Keith,
Post by Keith Barrett
Post by Okash Khawaja
a. make sure you are inside kernel source root directory, i.e. linux-4.10.9
b. make sure that existing kernel config exists: ls /boot/config-$(uname -r)
This resaults in a no such file or directory prompt.
I found /boot/config-4.9.0-2-amd64 and copied it.
Right that's correct too. Usually Debian names config files like that and puts them in /boot but may be not in this case. Either way, as you've found, the aim is to get hold for current config and using it as base for compiling the kernel.
Post by Keith Barrett
(this should return just one file named config-<your-kernel-version>)
Post by Okash Khawaja
c. copy that file into your kernel source root directory: cp
/boot/config-$(uname -r) ./.config
d. update the config: make oldconfig
HOSTCC
scripts/basic/fisdep
bin/sh: 1: gcc: not found
scripts/Makefile.host:107: recipe for target scripts /basic/fisdep failed
script-basic error 2
Looks like gcc is not installed?
Post by Keith Barrett
I did a clean install of debian am64 for the test, using the latest release candidate.
As a general note for steps 3 and 4, they are steps for compiling kernel, so other resources online will also apply.
Cheers,
Okash
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Gregory Nowak
2017-04-14 04:37:15 UTC
Permalink
Just a guess, do you have ca-certificates installed?

Greg
Post by Keith Barrett
Hi,
Following an online guide, I am getting complaints of invalid certificates.
Could this be because of the patching? I only discovered this when
running make.
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail dns-***@EU.org
Keith Barrett
2017-04-14 11:21:52 UTC
Permalink
Thanks for the thought but yes, it is there.
Post by Gregory Nowak
Just a guess, do you have ca-certificates installed?
Greg
Post by Keith Barrett
Hi,
Following an online guide, I am getting complaints of invalid certificates.
Could this be because of the patching? I only discovered this when
running make.
Okash Khawaja
2017-04-14 12:56:52 UTC
Permalink
Hi Keith,

Sorry I haven't come across certificate problems when running make. Are they warnings or do they result in failure of make?

Can you paste in certificate complaints? I may be able to help then. Just to be sure, is this make oldconfig command or just the make command?

The patch shouldn't cause those warnings.

Thanks,
Okash
Post by Keith Barrett
Thanks for the thought but yes, it is there.
Post by Gregory Nowak
Just a guess, do you have ca-certificates installed?
Greg
Post by Keith Barrett
Hi,
Following an online guide, I am getting complaints of invalid certificates.
Could this be because of the patching? I only discovered this when
running make.
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Keith Barrett
2017-04-14 15:34:58 UTC
Permalink
Post by Okash Khawaja
Hi Keith,
Sorry I haven't come across certificate problems when running make. Are they warnings or do they result in failure of make?
They result in failure.
Post by Okash Khawaja
Can you paste in certificate complaints? I may be able to help then. Just to be sure, is this make oldconfig command or just the make command?
Just make.

I am starting again now as I have followed a combination of your
instructions and an on line guide so will report back with the errors.
Post by Okash Khawaja
The patch shouldn't cause those warnings.
Thanks,
Okash
Post by Keith Barrett
Thanks for the thought but yes, it is there.
Post by Gregory Nowak
Just a guess, do you have ca-certificates installed?
Greg
Post by Keith Barrett
Hi,
Following an online guide, I am getting complaints of invalid certificates.
Could this be because of the patching? I only discovered this when
running make.
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Keith Barrett
2017-04-14 16:28:13 UTC
Permalink
Post by Keith Barrett
Post by Okash Khawaja
Hi Keith,
Sorry I haven't come across certificate problems when running make.
Are they warnings or do they result in failure of make?
They result in failure.
Post by Okash Khawaja
Can you paste in certificate complaints? I may be able to help then.
Just to be sure, is this make oldconfig command or just the make command?
Just make.
certs/system_keyring.o (make)1 *** No Rule to make target
'debian/certs/***@debian.org.cert.pen' needed by
certs/si09-certificate_list.
makefile 988: recipe for target 'certs' failed make certs error 2.
Post by Keith Barrett
I am starting again now as I have followed a combination of your
instructions and an on line guide so will report back with the errors.
Post by Okash Khawaja
The patch shouldn't cause those warnings.
Thanks,
Okash
Post by Keith Barrett
Thanks for the thought but yes, it is there.
Post by Gregory Nowak
Just a guess, do you have ca-certificates installed?
Greg
Post by Keith Barrett
Hi,
Following an online guide, I am getting complaints of invalid certificates.
Could this be because of the patching? I only discovered this when
running make.
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Okash Khawaja
2017-04-15 06:35:50 UTC
Permalink
Hi Keith,
Post by Keith Barrett
makefile 988: recipe for target 'certs' failed make certs error 2.
Found this by searching the error online:

https://unix.stackexchange.com/questions/293642/attempting-to-compile-any-kernel-yields-a-certification-error

Here's the reply from that link:

"I ran into this several years ago on a Debian build. In the .config file you copied from /boot find and comment out the lines CONFIG_SYSTEM_TRUSTED_KEY and CONFIG_MODULE_SIG_KEY."

There's also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823107



Basically make oldconfig should have taken care of this.

Hope that helps.

Okash
Keith Barrett
2017-04-15 16:57:39 UTC
Permalink
Hi Okash,

I commented out the two entries and now we get:-

certs/system_keyring/o make[1] no rule to make target
'debian/certs/***@debian.org.cert.pen' needed by
'certs/si09_certificate_list' stop recipe for target failed'
Post by Okash Khawaja
Hi Keith,
Post by Keith Barrett
makefile 988: recipe for target 'certs' failed make certs error 2.
https://unix.stackexchange.com/questions/293642/attempting-to-compile-any-kernel-yields-a-certification-error
"I ran into this several years ago on a Debian build. In the .config file you copied from /boot find and comment out the lines CONFIG_SYSTEM_TRUSTED_KEY and CONFIG_MODULE_SIG_KEY."
There's also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823107
Basically make oldconfig should have taken care of this.
Hope that helps.
Okash
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Okash Khawaja
2017-04-17 21:57:06 UTC
Permalink
Hi Keith,

This might be because the existing config is too old for 4.10 kernel.
I wouldn't know the solution without trying it out. From one of the
links I posted above, they removed following in 4.5 kernel:

CONFIG_MODULE_SIG_ALL
CONFIG_MODULE_SIG_KEY
CONFIG_SYSTEM_TRUSTED_KEYS

So it might be worth removing all three of them and then trying.

Cheers,
Okash


On Sat, Apr 15, 2017 at 5:57 PM, Keith Barrett
Post by Keith Barrett
Hi Okash,
I commented out the two entries and now we get:-
certs/system_keyring/o make[1] no rule to make target
'certs/si09_certificate_list' stop recipe for target failed'
Post by Okash Khawaja
Hi Keith,
Post by Keith Barrett
Post by Keith Barrett
certs/si09-certificate_list.
makefile 988: recipe for target 'certs' failed make certs error 2.
https://unix.stackexchange.com/questions/293642/attempting-to-compile-any-kernel-yields-a-certification-error
"I ran into this several years ago on a Debian build. In the .config file
you copied from /boot find and comment out the lines
CONFIG_SYSTEM_TRUSTED_KEY and CONFIG_MODULE_SIG_KEY."
There's also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823107
Basically make oldconfig should have taken care of this.
Hope that helps.
Okash
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Keith Barrett
2017-04-17 22:28:57 UTC
Permalink
Hi Okash,

What system are you using for your tests?

I was using stretch am64 rc3 but as the machine is not being used for
anything else, I could get something else on it for testing.
Post by Okash Khawaja
Hi Keith,
This might be because the existing config is too old for 4.10 kernel.
I wouldn't know the solution without trying it out. From one of the
CONFIG_MODULE_SIG_ALL
CONFIG_MODULE_SIG_KEY
CONFIG_SYSTEM_TRUSTED_KEYS
So it might be worth removing all three of them and then trying.
Cheers,
Okash
On Sat, Apr 15, 2017 at 5:57 PM, Keith Barrett
Post by Keith Barrett
Hi Okash,
I commented out the two entries and now we get:-
certs/system_keyring/o make[1] no rule to make target
'certs/si09_certificate_list' stop recipe for target failed'
Post by Okash Khawaja
Hi Keith,
Post by Keith Barrett
Post by Keith Barrett
certs/si09-certificate_list.
makefile 988: recipe for target 'certs' failed make certs error 2.
https://unix.stackexchange.com/questions/293642/attempting-to-compile-any-kernel-yields-a-certification-error
"I ran into this several years ago on a Debian build. In the .config file
you copied from /boot find and comment out the lines
CONFIG_SYSTEM_TRUSTED_KEY and CONFIG_MODULE_SIG_KEY."
There's also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823107
Basically make oldconfig should have taken care of this.
Hope that helps.
Okash
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Okash Khawaja
2017-04-17 23:01:34 UTC
Permalink
Hi Keith,

I'm using arch linux which keeps it's kernels fairly up to date.

If the kernel version isn't too old, i.e. 4.5 or later then that should be fine. Still I think it will be worth commenting out all three config options on your system and then trying.

Cheers,
Okash
Post by Keith Barrett
Hi Okash,
What system are you using for your tests?
I was using stretch am64 rc3 but as the machine is not being used for anything else, I could get something else on it for testing.
Post by Okash Khawaja
Hi Keith,
This might be because the existing config is too old for 4.10 kernel.
I wouldn't know the solution without trying it out. From one of the
CONFIG_MODULE_SIG_ALL
CONFIG_MODULE_SIG_KEY
CONFIG_SYSTEM_TRUSTED_KEYS
So it might be worth removing all three of them and then trying.
Cheers,
Okash
On Sat, Apr 15, 2017 at 5:57 PM, Keith Barrett
Post by Keith Barrett
Hi Okash,
I commented out the two entries and now we get:-
certs/system_keyring/o make[1] no rule to make target
'certs/si09_certificate_list' stop recipe for target failed'
Post by Okash Khawaja
Hi Keith,
Post by Keith Barrett
Post by Keith Barrett
certs/si09-certificate_list.
makefile 988: recipe for target 'certs' failed make certs error 2.
https://unix.stackexchange.com/questions/293642/attempting-to-compile-any-kernel-yields-a-certification-error
"I ran into this several years ago on a Debian build. In the .config file
you copied from /boot find and comment out the lines
CONFIG_SYSTEM_TRUSTED_KEY and CONFIG_MODULE_SIG_KEY."
There's also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823107
Basically make oldconfig should have taken care of this.
Hope that helps.
Okash
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Keith Barrett
2017-04-19 11:58:11 UTC
Permalink
Hello Okash,

I have tried removing all 3 options and various combinations of them and
still no joy.

Not sure what else I can do now.

The old kernel is 4-9.x. I did a fresh install of stretch rc3 am64, if
any one would like to reproduce the sympton.



Think I will wait and see if any one else gets this working as I need to
do some work now.
Post by Okash Khawaja
Hi Keith,
I'm using arch linux which keeps it's kernels fairly up to date.
If the kernel version isn't too old, i.e. 4.5 or later then that should be fine. Still I think it will be worth commenting out all three config options on your system and then trying.
Cheers,
Okash
Post by Keith Barrett
Hi Okash,
What system are you using for your tests?
I was using stretch am64 rc3 but as the machine is not being used for anything else, I could get something else on it for testing.
Post by Okash Khawaja
Hi Keith,
This might be because the existing config is too old for 4.10 kernel.
I wouldn't know the solution without trying it out. From one of the
CONFIG_MODULE_SIG_ALL
CONFIG_MODULE_SIG_KEY
CONFIG_SYSTEM_TRUSTED_KEYS
So it might be worth removing all three of them and then trying.
Cheers,
Okash
On Sat, Apr 15, 2017 at 5:57 PM, Keith Barrett
Post by Keith Barrett
Hi Okash,
I commented out the two entries and now we get:-
certs/system_keyring/o make[1] no rule to make target
'certs/si09_certificate_list' stop recipe for target failed'
Post by Okash Khawaja
Hi Keith,
Post by Keith Barrett
Post by Keith Barrett
certs/si09-certificate_list.
makefile 988: recipe for target 'certs' failed make certs error 2.
https://unix.stackexchange.com/questions/293642/attempting-to-compile-any-kernel-yields-a-certification-error
"I ran into this several years ago on a Debian build. In the .config file
you copied from /boot find and comment out the lines
CONFIG_SYSTEM_TRUSTED_KEY and CONFIG_MODULE_SIG_KEY."
There's also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823107
Basically make oldconfig should have taken care of this.
Hope that helps.
Okash
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Okash Khawaja
2017-04-22 07:11:09 UTC
Permalink
Hi Keith,

Kernel compile _is_ a bottleneck in this process, so thanks for trying!

Hopefully tests in future won't involve it.

Cheers,
Okash
Post by Keith Barrett
Hello Okash,
I have tried removing all 3 options and various combinations of them and
still no joy.
Not sure what else I can do now.
The old kernel is 4-9.x. I did a fresh install of stretch rc3 am64, if any
one would like to reproduce the sympton.
Think I will wait and see if any one else gets this working as I need to do
some work now.
Okash Khawaja
2017-04-15 06:08:59 UTC
Permalink
Hi Keith,

Found this by searching the error online:

https://unix.stackexchange.com/questions/293642/attempting-to-compile-any-kernel-yields-a-certification-error

Here's the reply from that link:

"I ran into this several years ago on a Debian build. In the .config file you copied from /boot find and comment out the lines CONFIG_SYSTEM_TRUSTED_KEY and CONFIG_MODULE_SIG_KEY."

There's also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823107



Basically make oldconfig should have taken care of this.

Hope that helps.

Okash
Post by Keith Barrett
Post by Keith Barrett
Post by Okash Khawaja
Hi Keith,
Sorry I haven't come across certificate problems when running make.
Are they warnings or do they result in failure of make?
They result in failure.
Post by Okash Khawaja
Can you paste in certificate complaints? I may be able to help then.
Just to be sure, is this make oldconfig command or just the make command?
Just make.
makefile 988: recipe for target 'certs' failed make certs error 2.
Post by Keith Barrett
I am starting again now as I have followed a combination of your
instructions and an on line guide so will report back with the errors.
Post by Okash Khawaja
The patch shouldn't cause those warnings.
Thanks,
Okash
Post by Keith Barrett
Thanks for the thought but yes, it is there.
Post by Gregory Nowak
Just a guess, do you have ca-certificates installed?
Greg
Post by Keith Barrett
Hi,
Following an online guide, I am getting complaints of invalid certificates.
Could this be because of the patching? I only discovered this when
running make.
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
John Covici
2017-04-30 08:18:12 UTC
Permalink
OK, so I use gentoo, so I built a 4.9.24 kernel, put in your
speakup2.tgz, the ttyexport.patch, and compiled with no problems. I
rebooted and got speech, using spkout which I have built into the
kernel. That is the good news.

There are some major problems, however. If there is a lot of output,
it takes a very long time -- 30 seconds or more to shut up when I hit
the enter key on the numpad. Now speakup uses rts-cts handshake, so I
wonder if things are working. The other major problem is that
speakup-r is not working properly, it just reads along and when I
stop, the cursor is many lines down from where speech stops -- I
wonder if the input functions are working.

All in all, this is great for a first test, keep up the good work.

On Tue, 11 Apr 2017 14:41:51 -0400,
Post by Okash Khawaja
Hi,
Here are the steps in detail. Before starting this, please download
https://github.com/bytefire/speakup-decext/raw/master/speakup.tgz
https://github.com/bytefire/speakup-decext/raw/master/tty-export.patch
a. download stable kernel source from
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.9.tar.xz
b. extract the archive by running: tar xvfJ linux-4.10.9.tar.xz
a. cd into the extracted linux source code: cd linux-4.10.9
b. remove speakup directory: rm -r drivers/staging/speakup
c. copy the speakup.tgz file into drivers/staging: cp
path/to/speakup.tgz drivers/staging/
d. cd into staging directory: cd drivers/staging
e. extractspeakup.tgz: tar xvfz speakup.tgz
(now there should be a speakup directory inside drivers/staging)
f. cd back to the root of kernel source (i.e. linux-4.10.9) : cd ../..
g. apply the tty patch: patch -p1 < path/to/tty-export.patch
patching file drivers/tty/tty_io.c
patching file drivers/tty/tty_port.c
patching file include/linux/tty.h)
(if you don't already have 'patch' program then you can download it
from http://savannah.gnu.org/projects/patch/)
h. now we have the code ready for configuring and compiling!
a. make sure you are inside kernel source root directory, i.e. linux-4.10.9
b. make sure that existing kernel config exists: ls /boot/config-$(uname -r)
(this should return just one file named config-<your-kernel-version>)
c. copy that file into your kernel source root directory: cp
/boot/config-$(uname -r) ./.config
d. update the config: make oldconfig
(this will ask you many questions. just select the default option for
each by pressing enter)
e. check to make sure that speakup is configured the way you wanted
it: cat .config | grep SPEAKUP
e. that's it, kernel configured!
(IMPORTANT: for this please check an online guide specific for your distro.
following instructions that i think should work on Debian based
system. but it may
a. still stayin inside linux-4.10.9, compile by simply running: make
(this will take a while. depending on the hardware specs, it may take
an hour or may be more)
b. after make completes, check it succeeded: echo $?
(this should return zero)
c. now run: sudo make modules_install
(again this may take a little while)
d. now install kernel which should be quick: sudo make install
(NOTE: this means that on next reboot your newly compiled kernel will load)
(Depending on your distro, it should back up previous kernel)
a. now running reboot should boot the compiled kernel
b. if speakup configuration was same as before, then you should be
able to test it with decext the same way as before.
Thanks!
Okash
Post by Okash Khawaja
Hi,
As part of recent changes, there are some that affect DecTalk External
which uses speakup_decext.ko. If someone can help in making sure those
changes are okay, do give a shout.
Cheers!
Okash
_______________________________________________
Speakup mailing list
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
***@ccs.covici.com
Okash Khawaja
2017-04-30 11:00:17 UTC
Permalink
Hi John,

Thanks for this. I'll look into the issues once I get home. I'm assuming these are all new problems specific to the speakup2.tgz

Okash
Post by John Covici
OK, so I use gentoo, so I built a 4.9.24 kernel, put in your
speakup2.tgz, the ttyexport.patch, and compiled with no problems. I
rebooted and got speech, using spkout which I have built into the
kernel. That is the good news.
There are some major problems, however. If there is a lot of output,
it takes a very long time -- 30 seconds or more to shut up when I hit
the enter key on the numpad. Now speakup uses rts-cts handshake, so I
wonder if things are working. The other major problem is that
speakup-r is not working properly, it just reads along and when I
stop, the cursor is many lines down from where speech stops -- I
wonder if the input functions are working.
All in all, this is great for a first test, keep up the good work.
On Tue, 11 Apr 2017 14:41:51 -0400,
Post by Okash Khawaja
Hi,
Here are the steps in detail. Before starting this, please download
https://github.com/bytefire/speakup-decext/raw/master/speakup.tgz
https://github.com/bytefire/speakup-decext/raw/master/tty-export.patch
a. download stable kernel source from
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.9.tar.xz
b. extract the archive by running: tar xvfJ linux-4.10.9.tar.xz
a. cd into the extracted linux source code: cd linux-4.10.9
b. remove speakup directory: rm -r drivers/staging/speakup
c. copy the speakup.tgz file into drivers/staging: cp
path/to/speakup.tgz drivers/staging/
d. cd into staging directory: cd drivers/staging
e. extractspeakup.tgz: tar xvfz speakup.tgz
(now there should be a speakup directory inside drivers/staging)
f. cd back to the root of kernel source (i.e. linux-4.10.9) : cd ../..
g. apply the tty patch: patch -p1 < path/to/tty-export.patch
patching file drivers/tty/tty_io.c
patching file drivers/tty/tty_port.c
patching file include/linux/tty.h)
(if you don't already have 'patch' program then you can download it
from http://savannah.gnu.org/projects/patch/)
h. now we have the code ready for configuring and compiling!
a. make sure you are inside kernel source root directory, i.e. linux-4.10.9
b. make sure that existing kernel config exists: ls /boot/config-$(uname -r)
(this should return just one file named config-<your-kernel-version>)
c. copy that file into your kernel source root directory: cp
/boot/config-$(uname -r) ./.config
d. update the config: make oldconfig
(this will ask you many questions. just select the default option for
each by pressing enter)
e. check to make sure that speakup is configured the way you wanted
it: cat .config | grep SPEAKUP
e. that's it, kernel configured!
(IMPORTANT: for this please check an online guide specific for your distro.
following instructions that i think should work on Debian based
system. but it may
a. still stayin inside linux-4.10.9, compile by simply running: make
(this will take a while. depending on the hardware specs, it may take
an hour or may be more)
b. after make completes, check it succeeded: echo $?
(this should return zero)
c. now run: sudo make modules_install
(again this may take a little while)
d. now install kernel which should be quick: sudo make install
(NOTE: this means that on next reboot your newly compiled kernel will load)
(Depending on your distro, it should back up previous kernel)
a. now running reboot should boot the compiled kernel
b. if speakup configuration was same as before, then you should be
able to test it with decext the same way as before.
Thanks!
Okash
Post by Okash Khawaja
Hi,
As part of recent changes, there are some that affect DecTalk External
which uses speakup_decext.ko. If someone can help in making sure those
changes are okay, do give a shout.
Cheers!
Okash
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
--
How do
you spend it?
John Covici
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Okash Khawaja
2017-04-30 17:57:39 UTC
Permalink
Hi all and John,

I haven't spent much time on user side of speakup, so bear with me as I
try to investigate this.
Post by John Covici
There are some major problems, however. If there is a lot of output,
it takes a very long time -- 30 seconds or more to shut up when I hit
the enter key on the numpad.
As I understand it, hitting numpad enter causes spk_shut_up to be set so that
further writes to synth_buffer don't happen and spk_do_flush is called
to ensure that synth_buffer is cleared. Is that correct?

Okash
Gregory Nowak
2017-05-01 00:42:21 UTC
Permalink
If I may jump in here ... When using the bns, I have to issue the
silence command (numpad-enter) once if speaking a single line, twice
if speaking a large block of text. I have had to do this since I can
remember, certainly a number of years before Okash's patches. Using
read to end is something I didn't test until John mentioned it. When I
do speakup+r, I just get a beep from my pc speaker, and nothing
else. I've looked through the speakup help provided by speakup+f1, and
don't see an option for read to end. I'm using the kernel I reported
my recent tests with using Okash's speakup patches. I also am inside a
text editor where I can use the arrow keys to move around.

Greg
Post by John Covici
OK, so I use gentoo, so I built a 4.9.24 kernel, put in your
speakup2.tgz, the ttyexport.patch, and compiled with no problems. I
rebooted and got speech, using spkout which I have built into the
kernel. That is the good news.
There are some major problems, however. If there is a lot of output,
it takes a very long time -- 30 seconds or more to shut up when I hit
the enter key on the numpad. Now speakup uses rts-cts handshake, so I
wonder if things are working. The other major problem is that
speakup-r is not working properly, it just reads along and when I
stop, the cursor is many lines down from where speech stops -- I
wonder if the input functions are working.
All in all, this is great for a first test, keep up the good work.
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail dns-***@EU.org
John Covici
2017-05-01 03:57:01 UTC
Permalink
Does the bns even support indexing? This is why read to end may not
work. In regular speakup and also Dave's version, I get an immediate
shutup when I press the enter on the numpad.

On Sun, 30 Apr 2017 20:42:21 -0400,
Post by Gregory Nowak
If I may jump in here ... When using the bns, I have to issue the
silence command (numpad-enter) once if speaking a single line, twice
if speaking a large block of text. I have had to do this since I can
remember, certainly a number of years before Okash's patches. Using
read to end is something I didn't test until John mentioned it. When I
do speakup+r, I just get a beep from my pc speaker, and nothing
else. I've looked through the speakup help provided by speakup+f1, and
don't see an option for read to end. I'm using the kernel I reported
my recent tests with using Okash's speakup patches. I also am inside a
text editor where I can use the arrow keys to move around.
Greg
Post by John Covici
OK, so I use gentoo, so I built a 4.9.24 kernel, put in your
speakup2.tgz, the ttyexport.patch, and compiled with no problems. I
rebooted and got speech, using spkout which I have built into the
kernel. That is the good news.
There are some major problems, however. If there is a lot of output,
it takes a very long time -- 30 seconds or more to shut up when I hit
the enter key on the numpad. Now speakup uses rts-cts handshake, so I
wonder if things are working. The other major problem is that
speakup-r is not working properly, it just reads along and when I
stop, the cursor is many lines down from where speech stops -- I
wonder if the input functions are working.
All in all, this is great for a first test, keep up the good work.
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.
--
_______________________________________________
Speakup mailing list
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
***@ccs.covici.com
Gregory Nowak
2017-05-01 04:34:29 UTC
Permalink
I checked the bns user's manual just now to be sure, and yes, the bns does
support indexing. According to the manual, sending a ctrl+f to the bns
is the index marker, ctrl+x is supposed to silence speech.

Greg
Post by John Covici
Does the bns even support indexing? This is why read to end may not
work. In regular speakup and also Dave's version, I get an immediate
shutup when I press the enter on the numpad.
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail dns-***@EU.org
Samuel Thibault
2017-05-01 07:59:48 UTC
Permalink
Post by Gregory Nowak
I checked the bns user's manual just now to be sure, and yes, the bns does
support indexing. According to the manual, sending a ctrl+f to the bns
is the index marker, ctrl+x is supposed to silence speech.
I believe you are not talking about the same kind of "indexing". John
talks about the device being able to report to the computer which word
the speech is currently speaking, so the computer can know the progress
of the speech.

Samuel
Gregory Nowak
2017-05-01 20:46:25 UTC
Permalink
I thought there was only one form of indexing, and that we're talking
about the same one. Here's the relevant excerpt from the bns user's
manual:

" Another interesting feature of speech box mode is
"indexing". This capability only works if the screen access
program you're using supports indexing. Indexing means that the
Braille 'n Speak is so closely linked to the PC cursor as it's
reading that, if you issue a "stop reading" command on your PC,
the PC cursor and the Braille 'n Speak will both stop at the same
place. In other words, the last word uttered by the Braille 'n
Speak is the same word as where your PC cursor rests. This can
be very handy when you're editing, for example, using a word
processor in your PC.
If your screen access program has the capability to change
speech parameters - rate of speech, volume, and so forth - you
can change how the Braille 'n Speak reads to you from your PC
keyboard. Here is a brief list of the speech parameters you
might be able to control from your PC if your screen access
program lets you do it:

- Volume - Control e x v, where x represents a volume from 01
to 16, 01 being the lowest volume.
- Pitch - Control e x p, where x represents a pitch from 01 to
63, 01 being the lowest pitch.
- Speech rate - Control e x e, where x represents a rate from
01 to 16, 01 being the slowest speech rate.
- Frequency - Control e x t, where x represents a tone from 01
to 25, 01 being the lowest.
- Punctuation level - Control e followed by a, m, s, or z,
where the letters represent All, Most, Some, or No punctuation,
respectively.
- Index marker - Control f.
- Silence command - Control x."

I gather from the above that ctrl+f is something the computer sends to
the bns, not the other way around. Either I'm misunderstanding what
the manual says, or there are indeed at least two kinds of indexing.

Greg
Post by Samuel Thibault
I believe you are not talking about the same kind of "indexing". John
talks about the device being able to report to the computer which word
the speech is currently speaking, so the computer can know the progress
of the speech.
Samuel
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail dns-***@EU.org
Samuel Thibault
2017-05-01 20:59:39 UTC
Permalink
Hello,
Post by Gregory Nowak
I thought there was only one form of indexing, and that we're talking
about the same one. Here's the relevant excerpt from the bns user's
Ok, it indeed looks very much like this is talking about exactly the
same thing, sorry :)
Post by Gregory Nowak
- Index marker - Control f.
- Silence command - Control x."
I gather from the above that ctrl+f is something the computer sends to
the bns, not the other way around.
It looks so indeed. That however however does not really explain how
the computer gets the index from the synthesizer.

The indexing support has never been implemented in the speakup_bns
driver, anyway. Perhaps you would be able to get more information on
this bns feature to be able to implement something in speakup?

Samuel
Samuel Thibault
2017-05-01 08:02:30 UTC
Permalink
Hello,
Post by Gregory Nowak
If I may jump in here ... When using the bns, I have to issue the
silence command (numpad-enter) once if speaking a single line, twice
if speaking a large block of text. I have had to do this since I can
remember, certainly a number of years before Okash's patches.
Then please do not jump in the thread :)

It's already difficult for Okash to make sure that his tty patches don't
bring regression. Please do not bring in here bugs which have been
happening for years before it.

Of course, you are welcome to report the bugs, and they should be
tracked and fixed. But do not throw them within a thread which already
has its load of potential for bugs, because that'd make the tty
migration way harder if Okash has to sort by himself what is a
regression from his patches and what is an already-existing bug.

Samuel
Samuel Thibault
2017-05-01 09:21:47 UTC
Permalink
Hello,
Post by John Covici
speakup-r is not working properly, it just reads along and when I
stop, the cursor is many lines down from where speech stops -- I
wonder if the input functions are working.
Just to make sure: was it working properly just before the switch to
tty-based functions?

Samuel
John Covici
2017-05-02 22:06:43 UTC
Permalink
On Mon, 01 May 2017 05:21:47 -0400,
Post by Samuel Thibault
Hello,
Post by John Covici
speakup-r is not working properly, it just reads along and when I
stop, the cursor is many lines down from where speech stops -- I
wonder if the input functions are working.
Just to make sure: was it working properly just before the switch to
tty-based functions?
Yes.
--
Your life is like a penny. You're going to lose it. The question is:
How do
you spend it?

John Covici
***@ccs.covici.com
Okash Khawaja
2017-05-08 11:43:06 UTC
Permalink
Hi,

I have updated speakup2.tgz so that it ensures hardware flow control is enabled, which is the latest patch.

Please download it from https://github.com/bytefire/speakup-decext

Thanks,
Okash
Post by John Covici
On Mon, 01 May 2017 05:21:47 -0400,
Post by Samuel Thibault
Hello,
Post by John Covici
speakup-r is not working properly, it just reads along and when I
stop, the cursor is many lines down from where speech stops -- I
wonder if the input functions are working.
Just to make sure: was it working properly just before the switch to
tty-based functions?
Yes.
--
How do
you spend it?
John Covici
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Tony Baechler
2017-05-10 09:19:03 UTC
Permalink
Hi,

This latest patch won't compile on kernel 4.10.7. The previous patches have
compiled fine until the latest git pull. I put the complete build log
online. I don't think I'm doing anything wrong, but I'm passing -j8 to make
if it matters. Please let me know if you want me to try anything else. The
log can be found here:

http://batsupport.com/log.gz
Post by Okash Khawaja
I have updated speakup2.tgz so that it ensures hardware flow control is enabled, which is the latest patch.
Please download it from https://github.com/bytefire/speakup-decext
Thanks,
Okash
Okash Khawaja
2017-05-10 13:47:33 UTC
Permalink
Hi Tony,

Thanks for this. It's fixed now and compiling.

Cheers!
Okash
Post by Tony Baechler
Hi,
http://batsupport.com/log.gz
Post by Okash Khawaja
I have updated speakup2.tgz so that it ensures hardware flow control is enabled, which is the latest patch.
Please download it from https://github.com/bytefire/speakup-decext
Thanks,
Okash
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
John Covici
2017-05-15 09:49:13 UTC
Permalink
Well, we have progress, not quite there yet. Now, speakup shuts up as
its supposed to when I hit the enter key on the numpad, but the
speakup-r command still does not stop at the cursor -- its about 20
lines below where it should be. I did not test further than checking
that.

Thanks and keep up the good work.

On Mon, 08 May 2017 07:43:06 -0400,
Post by Okash Khawaja
Hi,
I have updated speakup2.tgz so that it ensures hardware flow control is enabled, which is the latest patch.
Please download it from https://github.com/bytefire/speakup-decext
Thanks,
Okash
Post by John Covici
On Mon, 01 May 2017 05:21:47 -0400,
Post by Samuel Thibault
Hello,
Post by John Covici
speakup-r is not working properly, it just reads along and when I
stop, the cursor is many lines down from where speech stops -- I
wonder if the input functions are working.
Just to make sure: was it working properly just before the switch to
tty-based functions?
Yes.
--
How do
you spend it?
John Covici
_______________________________________________
Speakup mailing list
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
***@ccs.covici.com
Okash Khawaja
2017-05-15 17:10:15 UTC
Permalink
Hi John,

Thanks for the feedback, that's good to know. I'll look into speakup-r
issue.

Cheers,
Okash
Post by John Covici
Well, we have progress, not quite there yet. Now, speakup shuts up as
its supposed to when I hit the enter key on the numpad, but the
speakup-r command still does not stop at the cursor -- its about 20
lines below where it should be. I did not test further than checking
that.
Thanks and keep up the good work.
On Mon, 08 May 2017 07:43:06 -0400,
Post by Okash Khawaja
Hi,
I have updated speakup2.tgz so that it ensures hardware flow control is enabled, which is the latest patch.
Please download it from https://github.com/bytefire/speakup-decext
Thanks,
Okash
Post by John Covici
On Mon, 01 May 2017 05:21:47 -0400,
Post by Samuel Thibault
Hello,
Post by John Covici
speakup-r is not working properly, it just reads along and when I
stop, the cursor is many lines down from where speech stops -- I
wonder if the input functions are working.
Just to make sure: was it working properly just before the switch to
tty-based functions?
Yes.
--
How do
you spend it?
John Covici
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
--
How do
you spend it?
John Covici
John Covici
2017-06-04 12:34:37 UTC
Permalink
Hi. Well, the speakup-r functionality is working much better now --
that is great. I am now using this as my regular speakup for the time
being.

Now, if we could get Dav Borowski's patches with this i/o, we would
really have something!! He has some really nice modsto speakup which
I have been testing for a while now.

Thanks Okash.

On Mon, 15 May 2017 13:10:15 -0400,
Post by Okash Khawaja
Hi John,
Thanks for the feedback, that's good to know. I'll look into speakup-r
issue.
Cheers,
Okash
Post by John Covici
Well, we have progress, not quite there yet. Now, speakup shuts up as
its supposed to when I hit the enter key on the numpad, but the
speakup-r command still does not stop at the cursor -- its about 20
lines below where it should be. I did not test further than checking
that.
Thanks and keep up the good work.
On Mon, 08 May 2017 07:43:06 -0400,
Post by Okash Khawaja
Hi,
I have updated speakup2.tgz so that it ensures hardware flow control is enabled, which is the latest patch.
Please download it from https://github.com/bytefire/speakup-decext
Thanks,
Okash
Post by John Covici
On Mon, 01 May 2017 05:21:47 -0400,
Post by Samuel Thibault
Hello,
Post by John Covici
speakup-r is not working properly, it just reads along and when I
stop, the cursor is many lines down from where speech stops -- I
wonder if the input functions are working.
Just to make sure: was it working properly just before the switch to
tty-based functions?
Yes.
--
How do
you spend it?
John Covici
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
--
How do
you spend it?
John Covici
--
Your life is like a penny. You're going to lose it. The question is:
How do
you spend it?

John Covici
***@ccs.covici.com
Frost
2017-06-04 16:00:50 UTC
Permalink
Hello,

For some reason I'm no longer able to post to the SpeakUp
mailing list again, so thought I'd ask individuals. You wouldn't happen
to know what to write at the Debian Jessie installation boot prompt to
get both the LiteTalk (LTLK) and the software (SOFT) voice synthesizers
working with the talkwith script? Nothing I seem to type at the boot
prompt seems to work unless I accept the default software synthesizer.
I'm not at all sure what to put in /etc/modules or modules.conf to
configure Debian for both synthesizers, and I'm not getting through to
the mailing list again to ask. I thought I'd ask you, as you seem to be
discussing the more technical aspects of the SpeakUp module and would
likely have an answer. I'd appreciate the help, as Debian's accessible
installer also defaults to DHCP for the network configuration, rather
than also allowing a static IP setup. <laughs> I hope you can assist. --


Best regards,
Michael Ferranti
Zachary Kline
2017-06-04 16:11:33 UTC
Permalink
Not to put too fine a point on it, but this post did show up on the list :-)

Sent from my iPhone
Post by Samuel Thibault
Hello,
For some reason I'm no longer able to post to the SpeakUp
mailing list again, so thought I'd ask individuals. You wouldn't happen
to know what to write at the Debian Jessie installation boot prompt to
get both the LiteTalk (LTLK) and the software (SOFT) voice synthesizers
working with the talkwith script? Nothing I seem to type at the boot
prompt seems to work unless I accept the default software synthesizer.
I'm not at all sure what to put in /etc/modules or modules.conf to
configure Debian for both synthesizers, and I'm not getting through to
the mailing list again to ask. I thought I'd ask you, as you seem to be
discussing the more technical aspects of the SpeakUp module and would
likely have an answer. I'd appreciate the help, as Debian's accessible
installer also defaults to DHCP for the network configuration, rather
than also allowing a static IP setup. <laughs> I hope you can assist. --
Best regards,
Michael Ferranti
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Okash Khawaja
2017-06-04 18:51:31 UTC
Permalink
Hi John,

Thanks very much for your tests and feedback. Sure it will be great to have the features you mentioned and have it all mainlined.

Cheers,
Okash
Post by John Covici
Hi. Well, the speakup-r functionality is working much better now --
that is great. I am now using this as my regular speakup for the time
being.
Now, if we could get Dav Borowski's patches with this i/o, we would
really have something!! He has some really nice modsto speakup which
I have been testing for a while now.
Thanks Okash.
On Mon, 15 May 2017 13:10:15 -0400,
Post by Okash Khawaja
Hi John,
Thanks for the feedback, that's good to know. I'll look into speakup-r
issue.
Cheers,
Okash
Post by John Covici
Well, we have progress, not quite there yet. Now, speakup shuts up as
its supposed to when I hit the enter key on the numpad, but the
speakup-r command still does not stop at the cursor -- its about 20
lines below where it should be. I did not test further than checking
that.
Thanks and keep up the good work.
On Mon, 08 May 2017 07:43:06 -0400,
Post by Okash Khawaja
Hi,
I have updated speakup2.tgz so that it ensures hardware flow control is enabled, which is the latest patch.
Please download it from https://github.com/bytefire/speakup-decext
Thanks,
Okash
Post by John Covici
On Mon, 01 May 2017 05:21:47 -0400,
Post by Samuel Thibault
Hello,
Post by John Covici
speakup-r is not working properly, it just reads along and when I
stop, the cursor is many lines down from where speech stops -- I
wonder if the input functions are working.
Just to make sure: was it working properly just before the switch to
tty-based functions?
Yes.
--
How do
you spend it?
John Covici
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
--
How do
you spend it?
John Covici
--
How do
you spend it?
John Covici
John Covici
2017-06-04 19:46:16 UTC
Permalink
Now there is a bug in the speakup-r which was there in the old
version, but if you or someone could fix, it would make things more
stable. If you start the speakup-r from a blank line, it crashes the
system, cold, no logs or anything. Try it and you will see.

On Sun, 04 Jun 2017 14:51:31 -0400,
Post by Okash Khawaja
Hi John,
Thanks very much for your tests and feedback. Sure it will be great to have the features you mentioned and have it all mainlined.
Cheers,
Okash
Post by John Covici
Hi. Well, the speakup-r functionality is working much better now --
that is great. I am now using this as my regular speakup for the time
being.
Now, if we could get Dav Borowski's patches with this i/o, we would
really have something!! He has some really nice modsto speakup which
I have been testing for a while now.
Thanks Okash.
On Mon, 15 May 2017 13:10:15 -0400,
Post by Okash Khawaja
Hi John,
Thanks for the feedback, that's good to know. I'll look into speakup-r
issue.
Cheers,
Okash
Post by John Covici
Well, we have progress, not quite there yet. Now, speakup shuts up as
its supposed to when I hit the enter key on the numpad, but the
speakup-r command still does not stop at the cursor -- its about 20
lines below where it should be. I did not test further than checking
that.
Thanks and keep up the good work.
On Mon, 08 May 2017 07:43:06 -0400,
Post by Okash Khawaja
Hi,
I have updated speakup2.tgz so that it ensures hardware flow control is enabled, which is the latest patch.
Please download it from https://github.com/bytefire/speakup-decext
Thanks,
Okash
Post by John Covici
On Mon, 01 May 2017 05:21:47 -0400,
Post by Samuel Thibault
Hello,
Post by John Covici
speakup-r is not working properly, it just reads along and when I
stop, the cursor is many lines down from where speech stops -- I
wonder if the input functions are working.
Just to make sure: was it working properly just before the switch to
tty-based functions?
Yes.
--
How do
you spend it?
John Covici
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
--
How do
you spend it?
John Covici
--
How do
you spend it?
John Covici
--
Your life is like a penny. You're going to lose it. The question is:
How do
you spend it?

John Covici
***@ccs.covici.com
Okash Khawaja
2017-06-04 20:32:31 UTC
Permalink
Interesting. Will take a look once done with supporting more than ttyS.

Which synth is it? I can't find the email where you mentioned the synth you're using.

Thanks,
Okash
Post by John Covici
Now there is a bug in the speakup-r which was there in the old
version, but if you or someone could fix, it would make things more
stable. If you start the speakup-r from a blank line, it crashes the
system, cold, no logs or anything. Try it and you will see.
On Sun, 04 Jun 2017 14:51:31 -0400,
Post by Okash Khawaja
Hi John,
Thanks very much for your tests and feedback. Sure it will be great to have the features you mentioned and have it all mainlined.
Cheers,
Okash
Post by John Covici
Hi. Well, the speakup-r functionality is working much better now --
that is great. I am now using this as my regular speakup for the time
being.
Now, if we could get Dav Borowski's patches with this i/o, we would
really have something!! He has some really nice modsto speakup which
I have been testing for a while now.
Thanks Okash.
On Mon, 15 May 2017 13:10:15 -0400,
Post by Okash Khawaja
Hi John,
Thanks for the feedback, that's good to know. I'll look into speakup-r
issue.
Cheers,
Okash
Post by John Covici
Well, we have progress, not quite there yet. Now, speakup shuts up as
its supposed to when I hit the enter key on the numpad, but the
speakup-r command still does not stop at the cursor -- its about 20
lines below where it should be. I did not test further than checking
that.
Thanks and keep up the good work.
On Mon, 08 May 2017 07:43:06 -0400,
Post by Okash Khawaja
Hi,
I have updated speakup2.tgz so that it ensures hardware flow control is enabled, which is the latest patch.
Please download it from https://github.com/bytefire/speakup-decext
Thanks,
Okash
Post by John Covici
On Mon, 01 May 2017 05:21:47 -0400,
Post by Samuel Thibault
Hello,
Post by John Covici
speakup-r is not working properly, it just reads along and when I
stop, the cursor is many lines down from where speech stops -- I
wonder if the input functions are working.
Just to make sure: was it working properly just before the switch to
tty-based functions?
Yes.
--
How do
you spend it?
John Covici
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
--
How do
you spend it?
John Covici
--
How do
you spend it?
John Covici
--
How do
you spend it?
John Covici
John Covici
2017-06-04 21:05:31 UTC
Permalink
Its speakout, but this bug happens with any synth, I am pretty sure
including soft synth using speechd-up.

On Sun, 04 Jun 2017 16:32:31 -0400,
Post by Okash Khawaja
Interesting. Will take a look once done with supporting more than ttyS.
Which synth is it? I can't find the email where you mentioned the synth you're using.
Thanks,
Okash
Post by John Covici
Now there is a bug in the speakup-r which was there in the old
version, but if you or someone could fix, it would make things more
stable. If you start the speakup-r from a blank line, it crashes the
system, cold, no logs or anything. Try it and you will see.
On Sun, 04 Jun 2017 14:51:31 -0400,
Post by Okash Khawaja
Hi John,
Thanks very much for your tests and feedback. Sure it will be great to have the features you mentioned and have it all mainlined.
Cheers,
Okash
Post by John Covici
Hi. Well, the speakup-r functionality is working much better now --
that is great. I am now using this as my regular speakup for the time
being.
Now, if we could get Dav Borowski's patches with this i/o, we would
really have something!! He has some really nice modsto speakup which
I have been testing for a while now.
Thanks Okash.
On Mon, 15 May 2017 13:10:15 -0400,
Post by Okash Khawaja
Hi John,
Thanks for the feedback, that's good to know. I'll look into speakup-r
issue.
Cheers,
Okash
Post by John Covici
Well, we have progress, not quite there yet. Now, speakup shuts up as
its supposed to when I hit the enter key on the numpad, but the
speakup-r command still does not stop at the cursor -- its about 20
lines below where it should be. I did not test further than checking
that.
Thanks and keep up the good work.
On Mon, 08 May 2017 07:43:06 -0400,
Post by Okash Khawaja
Hi,
I have updated speakup2.tgz so that it ensures hardware flow control is enabled, which is the latest patch.
Please download it from https://github.com/bytefire/speakup-decext
Thanks,
Okash
Post by John Covici
On Mon, 01 May 2017 05:21:47 -0400,
Post by Samuel Thibault
Hello,
Post by John Covici
speakup-r is not working properly, it just reads along and when I
stop, the cursor is many lines down from where speech stops -- I
wonder if the input functions are working.
Just to make sure: was it working properly just before the switch to
tty-based functions?
Yes.
--
How do
you spend it?
John Covici
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
--
How do
you spend it?
John Covici
--
How do
you spend it?
John Covici
--
How do
you spend it?
John Covici
--
Your life is like a penny. You're going to lose it. The question is:
How do
you spend it?

John Covici
***@ccs.covici.com
Samuel Thibault
2017-05-01 09:31:57 UTC
Permalink
Hello,
If there is a lot of output, it takes a very long time -- 30 seconds
or more to shut up when I hit the enter key on the numpad.
Okash, this may be related with the serial port layer buffering data. I
realize that we haven't made the synth_flush functions call the
flush_buffer tty ops. We need to do so, otherwise even if we send the
clear character, that's only after the processing of pending data.

So in the synth_flush functions, one needs to first call flush_buffer()
and then send the clear character.

Yes, flush_buffer is yet another method to be added to the spk_io_ops
structure. In the serialio case, you can just let it do nothing. One
could want to flush the UART 16550 buffer but that's not the point of
your patch anyway :)

Samuel
Samuel Thibault
2017-05-01 09:33:20 UTC
Permalink
Post by Samuel Thibault
If there is a lot of output, it takes a very long time -- 30 seconds
or more to shut up when I hit the enter key on the numpad.
Okash, this may be related with the serial port layer buffering data.
That actually might be also related with the other, indexing, issue
reported by John.

Samuel
Okash Khawaja
2017-05-01 15:59:33 UTC
Permalink
Hi,
Post by Samuel Thibault
Hello,
If there is a lot of output, it takes a very long time -- 30 seconds
or more to shut up when I hit the enter key on the numpad.
Okash, this may be related with the serial port layer buffering data.
Right, that would explain it but I thought send_xchar would prioritise
SYNTH_CLEAR over buffered data.
Post by Samuel Thibault
I
realize that we haven't made the synth_flush functions call the
flush_buffer tty ops. We need to do so, otherwise even if we send the
clear character, that's only after the processing of pending data.
So in the synth_flush functions, one needs to first call flush_buffer()
and then send the clear character.
Yes, flush_buffer is yet another method to be added to the spk_io_ops
structure.
Cool, I'll make the changes and share them here as a patch.
Post by Samuel Thibault
In the serialio case, you can just let it do nothing. One
could want to flush the UART 16550 buffer but that's not the point of
your patch anyway :)
Sure, may be something to keep in mind for later.

Thanks,
Okash
Samuel Thibault
2017-05-01 16:00:25 UTC
Permalink
Post by Okash Khawaja
Post by Samuel Thibault
If there is a lot of output, it takes a very long time -- 30 seconds
or more to shut up when I hit the enter key on the numpad.
Okash, this may be related with the serial port layer buffering data.
Right, that would explain it but I thought send_xchar would prioritise
SYNTH_CLEAR over buffered data.
I guess so, yes, but then the buffered data will still get to the synth
:)

Samuel
Okash Khawaja
2017-04-20 08:46:32 UTC
Permalink
Greg,

I've updated speakup2.tgz so that it contains bns migration also:
https://github.com/bytefire/speakup-decext/raw/master/speakup2.tgz

Replace speakup directory under drivers/staging/ with the updated one
and run this from root of kernel source tree: make
M=drivers/staging/speakup clean && make M=drivers/staging/speakup

I still need to update the patches I sent.

Okash
Post by Okash Khawaja
Hi Greg,
Thanks very much. It looks like migration for bns got missed out. It
is not in the patch
http://linux-speakup.org/pipermail/speakup/2017-April/060648.html. I
will fix that today and let you know. It won't require a full kernel
build this time. Just rebuild of speakup.
Okash
Post by Gregory Nowak
Ok, so I've built the new kernel. I have a braille 'n speak connected
to ttyS0. I'm wanting to try the on-board serial port first,
before I move to a usb to serial converter.
With only the speakup_main module loaded out of the speakup modules, I
modprobe speakup_bns ser=0 start=1
modprobe: ERROR: could not insert 'speakup_bns': No such device
"[ 82.864734] speakup_bns: module is from the staging directory, the
quality is unknown, you have been warned.
[ 82.865621] synth probe
[ 82.865626] Ports not available, trying to steal them
[ 82.865635] Unable to allocate port at 3f8, errno -16
[ 82.865637] Braille 'N Speak: not found
[ 82.865638] bns: device probe failed"
/lib/modules/4.10.9/kernel/drivers/staging/speakup/speakup_bns.ko
version: 2.11
license: GPL
description: Speakup support for Braille 'n Speak synthesizers
author: David Borowski
srcversion: AD55A47746A5B337C0BBEEE
depends: speakup
staging: Y
intree: Y
vermagic: 4.10.9 SMP mod_unload modversions 686
parm: ser:Set the serial port for the synthesizer
(0-based). (int)
parm: start:Start the synthesizer once it is
loaded. (short)"
I thought all the drivers were ported to use the new tty layer
support. Is this not the case?
Greg
Post by Okash Khawaja
Hi,
I have updated the repository.
Now there is speakup2.tgz instead of speakup.tgz (to avoid
confusion between the two versions)
tty-export.patch includes ldisc related exports that were missed
out the first time round
Just to clarify, the problem is that kernel 4.11 that I developed
against has some issues with USB and therefore not best one to test
against at the moment. speakup.tgz I sent contained some code which
would only compile on 4.11 and that was the problem Greg pointed out.
I have now gone through the process on my system again and made sure
it compiles on 4.10.x and the above changes reflect that. So please
follow the steps from beginning with the updated tty-export.patch and
speakup2.tgz.
Okash
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.
--
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Gregory Nowak
2017-04-21 19:34:21 UTC
Permalink
Okash and list,
I have one good news, and two bad news. I'll start with the good news
first. Again, I have a bns connected to ttyS0, and it works! I tested
only for about five minutes or so, but reading the full screen, screen
review, changing volume, pitch, and rate all work as expected.

Now for the first bad news. I have a usb to serial converter which
uses the belkin_sa module, and shows up as ttyUSB0. The machine I'm
testing on has two on board serial ports ttyS0, and ttyS1. It has no
other modems, or serial boards. I connected my bns to the usb to
serial converter. I first assumed that since the machine has two
serial ports, the usb to serial converter would be passed as
ser=2. When I did that I got no speech from the bns. I saw in dmesg
that the speakup_bns module loaded, and the last line was "synth
probe." I then thought that maybe 0-3 was reserved for standard serial
ports, and I tried passing ser=4 to the speakup_bns module. I don't
know what dmesg shows or doesn't show, because my system locks up
about 30 seconds after I load the module, forcing me to do a
reset. Doing dmesg >dmesg during that 30 second window results in an
empty file called dmesg once I boot back up.

This begs two questions. First, does ser=x where x is an integer still
hold for usb to serial converters? Second, on a machine with two on
board standard serial ports ttyS0 and ttyS1, assuming ser=x still
holds true, would a usb to serial converter be ser=3 after the two
standard ports, or ser=4 as the first non-standard port, or something
else?

It's worth noting the results of a couple of tests I think. With the
speakup_bns modules *not* loaded, at the shell prompt, I do:
echo "hello" >/dev/ttyS0
with the bns connected to ttyS0, and the bns says "hello" as
expected. If I connect the bns to the usb to serial converter, and do:
echo "hello" >/dev/ttyUSB0
at all possible baud rates on the bns from 150 to 38400, I get garbage
from the bns. Unfortunately, setserial doesn't seem to know how to
talk to the usb to serial converter uart, so I can't use it to change
baud rates on the pc side. If I then use minicom with the bns
connected to the usb to serial converter, and type hello in minicom, I
do hear the bns speak "h e l l o" as I type it in minicom. I also use
this usb to serial converter with brltty to drive an alva340 braille
display with no problems.

The second bad news is that I also tested with the speakup_dtlk
module, and got no speech. The dmesg output is:

"[ 15.198916] speakup_dtlk: module is from the staging directory, the
quality is unknown, you have been warned.
[ 15.201084] synth probe
[ 15.201092] Probing for DoubleTalk.
[ 15.201098] DoubleTalk PC: not found
[ 15.201102] dtlk: device probe failed"

My dtlk is on the default 29e-29f i/o ports. The modinfo output is:

"filename:
/lib/modules/4.10.9/kernel/drivers/staging/speakup/speakup_dtlk.ko
version: 2.10
license: GPL
description: Speakup support for DoubleTalk PC synthesizers
author: David Borowski
author: Kirk Reiser <***@braille.uwo.ca>
srcversion: DAC7EC81AED58DF124C47E0
depends: speakup
staging: Y
vermagic: 4.10.9 SMP mod_unload modversions 686
parm: port:Set the port for the synthesizer (override
probing). (int)
parm: start:Start the synthesizer once it is
loaded. (short)"

Thanks.

Greg
Post by Okash Khawaja
Greg,
https://github.com/bytefire/speakup-decext/raw/master/speakup2.tgz
Replace speakup directory under drivers/staging/ with the updated one
and run this from root of kernel source tree: make
M=drivers/staging/speakup clean && make M=drivers/staging/speakup
I still need to update the patches I sent.
Okash
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail dns-***@EU.org
Kirk Reiser
2017-04-21 20:37:46 UTC
Permalink
I think it's great you all are making headway. I have one comment
however, you should be using speakup_ltlk for the DoubleTalk LT and
not the speakup_dtlk which is for the internal dDoubleTalk PC ISA
card.

keep up the good work!
Post by Gregory Nowak
Okash and list,
I have one good news, and two bad news. I'll start with the good news
first. Again, I have a bns connected to ttyS0, and it works! I tested
only for about five minutes or so, but reading the full screen, screen
review, changing volume, pitch, and rate all work as expected.
Now for the first bad news. I have a usb to serial converter which
uses the belkin_sa module, and shows up as ttyUSB0. The machine I'm
testing on has two on board serial ports ttyS0, and ttyS1. It has no
other modems, or serial boards. I connected my bns to the usb to
serial converter. I first assumed that since the machine has two
serial ports, the usb to serial converter would be passed as
ser=2. When I did that I got no speech from the bns. I saw in dmesg
that the speakup_bns module loaded, and the last line was "synth
probe." I then thought that maybe 0-3 was reserved for standard serial
ports, and I tried passing ser=4 to the speakup_bns module. I don't
know what dmesg shows or doesn't show, because my system locks up
about 30 seconds after I load the module, forcing me to do a
reset. Doing dmesg >dmesg during that 30 second window results in an
empty file called dmesg once I boot back up.
This begs two questions. First, does ser=x where x is an integer still
hold for usb to serial converters? Second, on a machine with two on
board standard serial ports ttyS0 and ttyS1, assuming ser=x still
holds true, would a usb to serial converter be ser=3 after the two
standard ports, or ser=4 as the first non-standard port, or something
else?
It's worth noting the results of a couple of tests I think. With the
echo "hello" >/dev/ttyS0
with the bns connected to ttyS0, and the bns says "hello" as
echo "hello" >/dev/ttyUSB0
at all possible baud rates on the bns from 150 to 38400, I get garbage
from the bns. Unfortunately, setserial doesn't seem to know how to
talk to the usb to serial converter uart, so I can't use it to change
baud rates on the pc side. If I then use minicom with the bns
connected to the usb to serial converter, and type hello in minicom, I
do hear the bns speak "h e l l o" as I type it in minicom. I also use
this usb to serial converter with brltty to drive an alva340 braille
display with no problems.
The second bad news is that I also tested with the speakup_dtlk
"[ 15.198916] speakup_dtlk: module is from the staging directory, the
quality is unknown, you have been warned.
[ 15.201084] synth probe
[ 15.201092] Probing for DoubleTalk.
[ 15.201098] DoubleTalk PC: not found
[ 15.201102] dtlk: device probe failed"
/lib/modules/4.10.9/kernel/drivers/staging/speakup/speakup_dtlk.ko
version: 2.10
license: GPL
description: Speakup support for DoubleTalk PC synthesizers
author: David Borowski
srcversion: DAC7EC81AED58DF124C47E0
depends: speakup
staging: Y
vermagic: 4.10.9 SMP mod_unload modversions 686
parm: port:Set the port for the synthesizer (override
probing). (int)
parm: start:Start the synthesizer once it is
loaded. (short)"
Thanks.
Greg
Post by Okash Khawaja
Greg,
https://github.com/bytefire/speakup-decext/raw/master/speakup2.tgz
Replace speakup directory under drivers/staging/ with the updated one
and run this from root of kernel source tree: make
M=drivers/staging/speakup clean && make M=drivers/staging/speakup
I still need to update the patches I sent.
Okash
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.
--
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
--
Well that's it then, colour me secure!

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

mQENBFYV5DMBCAC060mbsnLhGPjnFkf0R0p+7MxcfxlOuy5wc8y59y9ZNF0RZD1s
OTEsDih4vD9YJ3zA78VsBUDK47aiDWduh3nHzYN2ZSuxAQ9u7qPqphCG0jPagTU8
p7+Ceeya4I5odWtq+Nkf1UrHB7KKEtexphStSwUG5Bhi4bb84YinmX/a3I+OGV1D
by4QBSdPvSuDw0qFkt/ucLyEwv4L6lDjoH2GF+tnCew4SJtliJFvA1k7NpWO6HW9
aWtBxfYU85ccZKBSE25y+9KprUCncVTpaVs3FztCWG0dQRXHvEbV+Damp/IBd9Jv
HZX7azqbERUa/FjPTIlZhhI9VtaZaFfJSH+5ABEBAAG0HUtpcmsgUmVpc2VyIDxr
aXJrQHJlaXNlcnMuY2E+iQE+BBMBAgAoBQJWFeQzAhsDBQkADS8ABgsJCAcDAgYV
CAIJCgsEFgIDAQIeAQIXgAAKCRAHTEsk7UQUUoeuB/wIqsdLCfDrSvr3qg7rKBDg
ru44OMuRit6hbdWFZjmxccCdjeNhBJRVd5wrEqjj5YoqQAhmacXaEB0DO/TZlDgo
kUfJM7lrtQD4mYU9GVtrzJxCJoBUyeMVnMJt39F91tBu0mYM6oI/dv81dwxIv++4
hj55TZ4GG7DGYAy4LwNb+noNbivgOFHlnfNq8nxhZkHbJdYKP+sptZOL5sagmBQZ
iS9STB54g/U7Jtt1Fe+JwDmbxQhbSHa9JuWn0xZ8CtYhrz06xSqZl5vpMlak3eW2
x6m6IcqZfyuI2K7W/9BCgcsQyYzufO4Gk9KyPNISskX6pFBLuNxIH6hdfxSYYm9y
uQENBFYV5DMBCACtMyhHog5MR6eQUPTx7fWH5ntkgCtmWvQp4lcKj0HHbteDWglS
NVbWKWEk9PAKA4UeQVUH4vOhTRhAPpuDUavLdp2tDtT7ZBVh91B3AWIM6+7fIvyU
2uYt1q/CNjga8RllXBT7mW2zHGEYQFIkBJvqlU0PN1HlxRZIbSSEb+zQuVAd+ph3
kt/oZon3ZbNmKg+arsYMmKkYJ0REwKQib7h5Xl31aK74XmWBp2Ky+lopsJSP8wpH
AfC71h4s3LDm8ADHF1Ns4KuGZdLTugr8uiPm5kEJFGes1uYKy8R7OTFko0NEuJkv
STfpPYnTU2qDCJBH08zZErI/6YBIlSsCSde3ABEBAAGJASUEGAECAA8FAlYV5DMC
GwwFCQANLwAACgkQB0xLJO1EFFKAmgf/d3dk1/HgmF8rmvYVru/hJvmIpmiLqPl5
bYSwdZeU+k82qp3xACM2yMJhOh89SgHsaaqQAE1qo5rAJcSG7/+7M/kzf4u/WM/E
unXDtLkbzi5Zl+gjoikrfOhgF0NmuGdlrOme8a6ue7+iE4XLAo0/jhVlh45O6Iq0
0DGyeFr22cR3jZj4wRmPw5zj4r/sWc06UfquVAEMmfIvJMaGYvwBI+TU6gI8MjLe
VDY0vay/nQ79fXSLQmYEvjwKXIavQu9c8TFt0z9EDdoIMx69ZunqZuYQInxaT+cL
i9zhihMGz4XA1q3blLNX3I0jWzAa23ZchI7htc3kfxp1jWqrGyGEIg==
=nrPH
-----END PGP PUBLIC KEY BLOCK-----
Gregory Nowak
2017-04-21 21:00:15 UTC
Permalink
Just to clarify, I am *not* using a doubletalk lt or trippletalk
serial synthesizer. I am in fact using a doubletalk pc synthesizer,
the one which is a card which goes into an isa slot on the
motherboard.

Greg
Post by Kirk Reiser
I think it's great you all are making headway. I have one comment
however, you should be using speakup_ltlk for the DoubleTalk LT and
not the speakup_dtlk which is for the internal dDoubleTalk PC ISA
card.
keep up the good work!
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail dns-***@EU.org
Kirk Reiser
2017-04-21 23:10:13 UTC
Permalink
Ah, sorry about that. I didn't think there were any ISA bus machines around anymore! 'grin'
Post by Gregory Nowak
Just to clarify, I am *not* using a doubletalk lt or trippletalk
serial synthesizer. I am in fact using a doubletalk pc synthesizer,
the one which is a card which goes into an isa slot on the
motherboard.
Greg
Post by Kirk Reiser
I think it's great you all are making headway. I have one comment
however, you should be using speakup_ltlk for the DoubleTalk LT and
not the speakup_dtlk which is for the internal dDoubleTalk PC ISA
card.
keep up the good work!
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.
--
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
--
Well that's it then, colour me secure!

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

mQENBFYV5DMBCAC060mbsnLhGPjnFkf0R0p+7MxcfxlOuy5wc8y59y9ZNF0RZD1s
OTEsDih4vD9YJ3zA78VsBUDK47aiDWduh3nHzYN2ZSuxAQ9u7qPqphCG0jPagTU8
p7+Ceeya4I5odWtq+Nkf1UrHB7KKEtexphStSwUG5Bhi4bb84YinmX/a3I+OGV1D
by4QBSdPvSuDw0qFkt/ucLyEwv4L6lDjoH2GF+tnCew4SJtliJFvA1k7NpWO6HW9
aWtBxfYU85ccZKBSE25y+9KprUCncVTpaVs3FztCWG0dQRXHvEbV+Damp/IBd9Jv
HZX7azqbERUa/FjPTIlZhhI9VtaZaFfJSH+5ABEBAAG0HUtpcmsgUmVpc2VyIDxr
aXJrQHJlaXNlcnMuY2E+iQE+BBMBAgAoBQJWFeQzAhsDBQkADS8ABgsJCAcDAgYV
CAIJCgsEFgIDAQIeAQIXgAAKCRAHTEsk7UQUUoeuB/wIqsdLCfDrSvr3qg7rKBDg
ru44OMuRit6hbdWFZjmxccCdjeNhBJRVd5wrEqjj5YoqQAhmacXaEB0DO/TZlDgo
kUfJM7lrtQD4mYU9GVtrzJxCJoBUyeMVnMJt39F91tBu0mYM6oI/dv81dwxIv++4
hj55TZ4GG7DGYAy4LwNb+noNbivgOFHlnfNq8nxhZkHbJdYKP+sptZOL5sagmBQZ
iS9STB54g/U7Jtt1Fe+JwDmbxQhbSHa9JuWn0xZ8CtYhrz06xSqZl5vpMlak3eW2
x6m6IcqZfyuI2K7W/9BCgcsQyYzufO4Gk9KyPNISskX6pFBLuNxIH6hdfxSYYm9y
uQENBFYV5DMBCACtMyhHog5MR6eQUPTx7fWH5ntkgCtmWvQp4lcKj0HHbteDWglS
NVbWKWEk9PAKA4UeQVUH4vOhTRhAPpuDUavLdp2tDtT7ZBVh91B3AWIM6+7fIvyU
2uYt1q/CNjga8RllXBT7mW2zHGEYQFIkBJvqlU0PN1HlxRZIbSSEb+zQuVAd+ph3
kt/oZon3ZbNmKg+arsYMmKkYJ0REwKQib7h5Xl31aK74XmWBp2Ky+lopsJSP8wpH
AfC71h4s3LDm8ADHF1Ns4KuGZdLTugr8uiPm5kEJFGes1uYKy8R7OTFko0NEuJkv
STfpPYnTU2qDCJBH08zZErI/6YBIlSsCSde3ABEBAAGJASUEGAECAA8FAlYV5DMC
GwwFCQANLwAACgkQB0xLJO1EFFKAmgf/d3dk1/HgmF8rmvYVru/hJvmIpmiLqPl5
bYSwdZeU+k82qp3xACM2yMJhOh89SgHsaaqQAE1qo5rAJcSG7/+7M/kzf4u/WM/E
unXDtLkbzi5Zl+gjoikrfOhgF0NmuGdlrOme8a6ue7+iE4XLAo0/jhVlh45O6Iq0
0DGyeFr22cR3jZj4wRmPw5zj4r/sWc06UfquVAEMmfIvJMaGYvwBI+TU6gI8MjLe
VDY0vay/nQ79fXSLQmYEvjwKXIavQu9c8TFt0z9EDdoIMx69ZunqZuYQInxaT+cL
i9zhihMGz4XA1q3blLNX3I0jWzAa23ZchI7htc3kfxp1jWqrGyGEIg==
=nrPH
-----END PGP PUBLIC KEY BLOCK-----
Gregory Nowak
2017-04-22 02:39:23 UTC
Permalink
Well, there aren't (a fake, type "ISA motherboard" into amazon). I
built this box in 2002. It's gone through a few rebuilds over the
years, but the cpu, mobo, and case are still the originals. The
doubletalk card started out in an entirely other machine (now gone)
back in 1998.

Greg
Post by Kirk Reiser
Ah, sorry about that. I didn't think there were any ISA bus machines around anymore! 'grin'
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail dns-***@EU.org
Tom Fowle
2017-04-22 05:33:47 UTC
Permalink
There are at least two of us with isa bus machines,
Greg who knows what he's doing and me who doesn't yet.

Actually you can, if you're really weird, still get motherboards with one or
more isa slots.

They're limited to single core processors sadly.

More than you wanted to know I'm sure <GRIN>
tom Fowle
Post by Kirk Reiser
Ah, sorry about that. I didn't think there were any ISA bus machines around anymore! 'grin'
Post by Gregory Nowak
Just to clarify, I am *not* using a doubletalk lt or trippletalk
serial synthesizer. I am in fact using a doubletalk pc synthesizer,
the one which is a card which goes into an isa slot on the
motherboard.
Greg
Post by Kirk Reiser
I think it's great you all are making headway. I have one comment
however, you should be using speakup_ltlk for the DoubleTalk LT and
not the speakup_dtlk which is for the internal dDoubleTalk PC ISA
card.
keep up the good work!
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.
--
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
--
Well that's it then, colour me secure!
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
mQENBFYV5DMBCAC060mbsnLhGPjnFkf0R0p+7MxcfxlOuy5wc8y59y9ZNF0RZD1s
OTEsDih4vD9YJ3zA78VsBUDK47aiDWduh3nHzYN2ZSuxAQ9u7qPqphCG0jPagTU8
p7+Ceeya4I5odWtq+Nkf1UrHB7KKEtexphStSwUG5Bhi4bb84YinmX/a3I+OGV1D
by4QBSdPvSuDw0qFkt/ucLyEwv4L6lDjoH2GF+tnCew4SJtliJFvA1k7NpWO6HW9
aWtBxfYU85ccZKBSE25y+9KprUCncVTpaVs3FztCWG0dQRXHvEbV+Damp/IBd9Jv
HZX7azqbERUa/FjPTIlZhhI9VtaZaFfJSH+5ABEBAAG0HUtpcmsgUmVpc2VyIDxr
aXJrQHJlaXNlcnMuY2E+iQE+BBMBAgAoBQJWFeQzAhsDBQkADS8ABgsJCAcDAgYV
CAIJCgsEFgIDAQIeAQIXgAAKCRAHTEsk7UQUUoeuB/wIqsdLCfDrSvr3qg7rKBDg
ru44OMuRit6hbdWFZjmxccCdjeNhBJRVd5wrEqjj5YoqQAhmacXaEB0DO/TZlDgo
kUfJM7lrtQD4mYU9GVtrzJxCJoBUyeMVnMJt39F91tBu0mYM6oI/dv81dwxIv++4
hj55TZ4GG7DGYAy4LwNb+noNbivgOFHlnfNq8nxhZkHbJdYKP+sptZOL5sagmBQZ
iS9STB54g/U7Jtt1Fe+JwDmbxQhbSHa9JuWn0xZ8CtYhrz06xSqZl5vpMlak3eW2
x6m6IcqZfyuI2K7W/9BCgcsQyYzufO4Gk9KyPNISskX6pFBLuNxIH6hdfxSYYm9y
uQENBFYV5DMBCACtMyhHog5MR6eQUPTx7fWH5ntkgCtmWvQp4lcKj0HHbteDWglS
NVbWKWEk9PAKA4UeQVUH4vOhTRhAPpuDUavLdp2tDtT7ZBVh91B3AWIM6+7fIvyU
2uYt1q/CNjga8RllXBT7mW2zHGEYQFIkBJvqlU0PN1HlxRZIbSSEb+zQuVAd+ph3
kt/oZon3ZbNmKg+arsYMmKkYJ0REwKQib7h5Xl31aK74XmWBp2Ky+lopsJSP8wpH
AfC71h4s3LDm8ADHF1Ns4KuGZdLTugr8uiPm5kEJFGes1uYKy8R7OTFko0NEuJkv
STfpPYnTU2qDCJBH08zZErI/6YBIlSsCSde3ABEBAAGJASUEGAECAA8FAlYV5DMC
GwwFCQANLwAACgkQB0xLJO1EFFKAmgf/d3dk1/HgmF8rmvYVru/hJvmIpmiLqPl5
bYSwdZeU+k82qp3xACM2yMJhOh89SgHsaaqQAE1qo5rAJcSG7/+7M/kzf4u/WM/E
unXDtLkbzi5Zl+gjoikrfOhgF0NmuGdlrOme8a6ue7+iE4XLAo0/jhVlh45O6Iq0
0DGyeFr22cR3jZj4wRmPw5zj4r/sWc06UfquVAEMmfIvJMaGYvwBI+TU6gI8MjLe
VDY0vay/nQ79fXSLQmYEvjwKXIavQu9c8TFt0z9EDdoIMx69ZunqZuYQInxaT+cL
i9zhihMGz4XA1q3blLNX3I0jWzAa23ZchI7htc3kfxp1jWqrGyGEIg==
=nrPH
-----END PGP PUBLIC KEY BLOCK-----
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Butch Bussen
2017-04-22 19:20:19 UTC
Permalink
Where would a person get boards with an isa slot?
73
Butch
WA0VJR
Node 3148
Wallace, ks.


On Fri, 21 Apr 2017, Tom
Post by Tom Fowle
There are at least two of us with isa bus machines,
Greg who knows what he's doing and me who doesn't yet.
Actually you can, if you're really weird, still get motherboards with one or
more isa slots.
They're limited to single core processors sadly.
More than you wanted to know I'm sure <GRIN>
tom Fowle
Post by Kirk Reiser
Ah, sorry about that. I didn't think there were any ISA bus machines around anymore! 'grin'
Post by Gregory Nowak
Just to clarify, I am *not* using a doubletalk lt or trippletalk
serial synthesizer. I am in fact using a doubletalk pc synthesizer,
the one which is a card which goes into an isa slot on the
motherboard.
Greg
Post by Kirk Reiser
I think it's great you all are making headway. I have one comment
however, you should be using speakup_ltlk for the DoubleTalk LT and
not the speakup_dtlk which is for the internal dDoubleTalk PC ISA
card.
keep up the good work!
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.
--
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
--
Well that's it then, colour me secure!
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
mQENBFYV5DMBCAC060mbsnLhGPjnFkf0R0p+7MxcfxlOuy5wc8y59y9ZNF0RZD1s
OTEsDih4vD9YJ3zA78VsBUDK47aiDWduh3nHzYN2ZSuxAQ9u7qPqphCG0jPagTU8
p7+Ceeya4I5odWtq+Nkf1UrHB7KKEtexphStSwUG5Bhi4bb84YinmX/a3I+OGV1D
by4QBSdPvSuDw0qFkt/ucLyEwv4L6lDjoH2GF+tnCew4SJtliJFvA1k7NpWO6HW9
aWtBxfYU85ccZKBSE25y+9KprUCncVTpaVs3FztCWG0dQRXHvEbV+Damp/IBd9Jv
HZX7azqbERUa/FjPTIlZhhI9VtaZaFfJSH+5ABEBAAG0HUtpcmsgUmVpc2VyIDxr
aXJrQHJlaXNlcnMuY2E+iQE+BBMBAgAoBQJWFeQzAhsDBQkADS8ABgsJCAcDAgYV
CAIJCgsEFgIDAQIeAQIXgAAKCRAHTEsk7UQUUoeuB/wIqsdLCfDrSvr3qg7rKBDg
ru44OMuRit6hbdWFZjmxccCdjeNhBJRVd5wrEqjj5YoqQAhmacXaEB0DO/TZlDgo
kUfJM7lrtQD4mYU9GVtrzJxCJoBUyeMVnMJt39F91tBu0mYM6oI/dv81dwxIv++4
hj55TZ4GG7DGYAy4LwNb+noNbivgOFHlnfNq8nxhZkHbJdYKP+sptZOL5sagmBQZ
iS9STB54g/U7Jtt1Fe+JwDmbxQhbSHa9JuWn0xZ8CtYhrz06xSqZl5vpMlak3eW2
x6m6IcqZfyuI2K7W/9BCgcsQyYzufO4Gk9KyPNISskX6pFBLuNxIH6hdfxSYYm9y
uQENBFYV5DMBCACtMyhHog5MR6eQUPTx7fWH5ntkgCtmWvQp4lcKj0HHbteDWglS
NVbWKWEk9PAKA4UeQVUH4vOhTRhAPpuDUavLdp2tDtT7ZBVh91B3AWIM6+7fIvyU
2uYt1q/CNjga8RllXBT7mW2zHGEYQFIkBJvqlU0PN1HlxRZIbSSEb+zQuVAd+ph3
kt/oZon3ZbNmKg+arsYMmKkYJ0REwKQib7h5Xl31aK74XmWBp2Ky+lopsJSP8wpH
AfC71h4s3LDm8ADHF1Ns4KuGZdLTugr8uiPm5kEJFGes1uYKy8R7OTFko0NEuJkv
STfpPYnTU2qDCJBH08zZErI/6YBIlSsCSde3ABEBAAGJASUEGAECAA8FAlYV5DMC
GwwFCQANLwAACgkQB0xLJO1EFFKAmgf/d3dk1/HgmF8rmvYVru/hJvmIpmiLqPl5
bYSwdZeU+k82qp3xACM2yMJhOh89SgHsaaqQAE1qo5rAJcSG7/+7M/kzf4u/WM/E
unXDtLkbzi5Zl+gjoikrfOhgF0NmuGdlrOme8a6ue7+iE4XLAo0/jhVlh45O6Iq0
0DGyeFr22cR3jZj4wRmPw5zj4r/sWc06UfquVAEMmfIvJMaGYvwBI+TU6gI8MjLe
VDY0vay/nQ79fXSLQmYEvjwKXIavQu9c8TFt0z9EDdoIMx69ZunqZuYQInxaT+cL
i9zhihMGz4XA1q3blLNX3I0jWzAa23ZchI7htc3kfxp1jWqrGyGEIg==
=nrPH
-----END PGP PUBLIC KEY BLOCK-----
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Tom Fowle
2017-04-23 02:06:35 UTC
Permalink
butch
Google Motherboard with "ISA SLOT"

note the quotes around isa slot, without them you'll get finds for isa and
slot seperately.
There are lots of hits

tom Fowle
Post by Butch Bussen
Where would a person get boards with an isa slot?
73
Butch
WA0VJR
Node 3148
Wallace, ks.
Post by Tom Fowle
There are at least two of us with isa bus machines,
Greg who knows what he's doing and me who doesn't yet.
Actually you can, if you're really weird, still get motherboards with one or
more isa slots.
They're limited to single core processors sadly.
More than you wanted to know I'm sure <GRIN>
tom Fowle
Post by Kirk Reiser
Ah, sorry about that. I didn't think there were any ISA bus machines around anymore! 'grin'
Post by Gregory Nowak
Just to clarify, I am *not* using a doubletalk lt or trippletalk
serial synthesizer. I am in fact using a doubletalk pc synthesizer,
the one which is a card which goes into an isa slot on the
motherboard.
Greg
Post by Kirk Reiser
I think it's great you all are making headway. I have one comment
however, you should be using speakup_ltlk for the DoubleTalk LT and
not the speakup_dtlk which is for the internal dDoubleTalk PC ISA
card.
keep up the good work!
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.
--
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
--
Well that's it then, colour me secure!
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
mQENBFYV5DMBCAC060mbsnLhGPjnFkf0R0p+7MxcfxlOuy5wc8y59y9ZNF0RZD1s
OTEsDih4vD9YJ3zA78VsBUDK47aiDWduh3nHzYN2ZSuxAQ9u7qPqphCG0jPagTU8
p7+Ceeya4I5odWtq+Nkf1UrHB7KKEtexphStSwUG5Bhi4bb84YinmX/a3I+OGV1D
by4QBSdPvSuDw0qFkt/ucLyEwv4L6lDjoH2GF+tnCew4SJtliJFvA1k7NpWO6HW9
aWtBxfYU85ccZKBSE25y+9KprUCncVTpaVs3FztCWG0dQRXHvEbV+Damp/IBd9Jv
HZX7azqbERUa/FjPTIlZhhI9VtaZaFfJSH+5ABEBAAG0HUtpcmsgUmVpc2VyIDxr
aXJrQHJlaXNlcnMuY2E+iQE+BBMBAgAoBQJWFeQzAhsDBQkADS8ABgsJCAcDAgYV
CAIJCgsEFgIDAQIeAQIXgAAKCRAHTEsk7UQUUoeuB/wIqsdLCfDrSvr3qg7rKBDg
ru44OMuRit6hbdWFZjmxccCdjeNhBJRVd5wrEqjj5YoqQAhmacXaEB0DO/TZlDgo
kUfJM7lrtQD4mYU9GVtrzJxCJoBUyeMVnMJt39F91tBu0mYM6oI/dv81dwxIv++4
hj55TZ4GG7DGYAy4LwNb+noNbivgOFHlnfNq8nxhZkHbJdYKP+sptZOL5sagmBQZ
iS9STB54g/U7Jtt1Fe+JwDmbxQhbSHa9JuWn0xZ8CtYhrz06xSqZl5vpMlak3eW2
x6m6IcqZfyuI2K7W/9BCgcsQyYzufO4Gk9KyPNISskX6pFBLuNxIH6hdfxSYYm9y
uQENBFYV5DMBCACtMyhHog5MR6eQUPTx7fWH5ntkgCtmWvQp4lcKj0HHbteDWglS
NVbWKWEk9PAKA4UeQVUH4vOhTRhAPpuDUavLdp2tDtT7ZBVh91B3AWIM6+7fIvyU
2uYt1q/CNjga8RllXBT7mW2zHGEYQFIkBJvqlU0PN1HlxRZIbSSEb+zQuVAd+ph3
kt/oZon3ZbNmKg+arsYMmKkYJ0REwKQib7h5Xl31aK74XmWBp2Ky+lopsJSP8wpH
AfC71h4s3LDm8ADHF1Ns4KuGZdLTugr8uiPm5kEJFGes1uYKy8R7OTFko0NEuJkv
STfpPYnTU2qDCJBH08zZErI/6YBIlSsCSde3ABEBAAGJASUEGAECAA8FAlYV5DMC
GwwFCQANLwAACgkQB0xLJO1EFFKAmgf/d3dk1/HgmF8rmvYVru/hJvmIpmiLqPl5
bYSwdZeU+k82qp3xACM2yMJhOh89SgHsaaqQAE1qo5rAJcSG7/+7M/kzf4u/WM/E
unXDtLkbzi5Zl+gjoikrfOhgF0NmuGdlrOme8a6ue7+iE4XLAo0/jhVlh45O6Iq0
0DGyeFr22cR3jZj4wRmPw5zj4r/sWc06UfquVAEMmfIvJMaGYvwBI+TU6gI8MjLe
VDY0vay/nQ79fXSLQmYEvjwKXIavQu9c8TFt0z9EDdoIMx69ZunqZuYQInxaT+cL
i9zhihMGz4XA1q3blLNX3I0jWzAa23ZchI7htc3kfxp1jWqrGyGEIg==
=nrPH
-----END PGP PUBLIC KEY BLOCK-----
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Okash Khawaja
2017-04-22 07:38:28 UTC
Permalink
Hi Greg,

Thanks for the tests, very helpful. Okay so it doesn't look too bad.
Post by Gregory Nowak
Okash and list,
I have one good news, and two bad news. I'll start with the good news
first. Again, I have a bns connected to ttyS0, and it works! I tested
only for about five minutes or so, but reading the full screen, screen
review, changing volume, pitch, and rate all work as expected.
Nice!
Post by Gregory Nowak
Now for the first bad news. I have a usb to serial converter which
uses the belkin_sa module, and shows up as ttyUSB0.
So the code doesn't yet allow the user to specify ttyUSB yet but you can
test ttyUSB by making following change in the speakup code:

In spk_ttyio.c file, inside spk_ttyio_initialise_ldisc() function,
replace the line

tty = tty_open_by_driver(MKDEV(4, (ser + 64)), NULL, NULL);

with

tty = tty_open_by_driver(MKDEV(188, ser), NULL, NULL);

where (188, 0) will represent ttyUSB0 - 0 being default value of ser.
Post by Gregory Nowak
The machine I'm
testing on has two on board serial ports ttyS0, and ttyS1. It has no
other modems, or serial boards. I connected my bns to the usb to
serial converter. I first assumed that since the machine has two
serial ports, the usb to serial converter would be passed as
ser=2. When I did that I got no speech from the bns. I saw in dmesg
that the speakup_bns module loaded, and the last line was "synth
probe." I then thought that maybe 0-3 was reserved for standard serial
ports, and I tried passing ser=4 to the speakup_bns module. I don't
know what dmesg shows or doesn't show, because my system locks up
about 30 seconds after I load the module,
That doesn't look good. May be something we need to guard against. With
serdev work still in flux (and pending reply for functionality we want)
I am not sure whether we need to put in those guards just yet, as that
will probably be implemented differently with serdev.
Post by Gregory Nowak
forcing me to do a
reset. Doing dmesg >dmesg during that 30 second window results in an
empty file called dmesg once I boot back up.
This begs two questions. First, does ser=x where x is an integer still
hold for usb to serial converters?
Yes ser will still hold but we will need another param to specify
ttyUSB.
Post by Gregory Nowak
Second, on a machine with two on
board standard serial ports ttyS0 and ttyS1, assuming ser=x still
holds true, would a usb to serial converter be ser=3 after the two
standard ports, or ser=4 as the first non-standard port, or something
else?
It's worth noting the results of a couple of tests I think. With the
echo "hello" >/dev/ttyS0
with the bns connected to ttyS0, and the bns says "hello" as
echo "hello" >/dev/ttyUSB0
at all possible baud rates on the bns from 150 to 38400, I get garbage
from the bns. Unfortunately, setserial doesn't seem to know how to
talk to the usb to serial converter uart, so I can't use it to change
baud rates on the pc side. If I then use minicom with the bns
connected to the usb to serial converter, and type hello in minicom, I
do hear the bns speak "h e l l o" as I type it in minicom. I also use
this usb to serial converter with brltty to drive an alva340 braille
display with no problems.
Thanks for the tests! Additional diagnostics are always useful.
Post by Gregory Nowak
The second bad news is that I also tested with the speakup_dtlk
module, and got no speech.
Was it working before? These changes don't migrate PC synths: acsntpc,
decpc, keypc and dtlk.
Post by Gregory Nowak
"[ 15.198916] speakup_dtlk: module is from the staging directory, the
quality is unknown, you have been warned.
[ 15.201084] synth probe
[ 15.201092] Probing for DoubleTalk.
[ 15.201098] DoubleTalk PC: not found
[ 15.201102] dtlk: device probe failed"
/lib/modules/4.10.9/kernel/drivers/staging/speakup/speakup_dtlk.ko
version: 2.10
license: GPL
description: Speakup support for DoubleTalk PC synthesizers
author: David Borowski
srcversion: DAC7EC81AED58DF124C47E0
depends: speakup
staging: Y
vermagic: 4.10.9 SMP mod_unload modversions 686
parm: port:Set the port for the synthesizer (override
probing). (int)
parm: start:Start the synthesizer once it is
loaded. (short)"
Once again, the feedback is very useful so really appreciate that :)

Okash
Gregory Nowak
2017-04-23 03:52:31 UTC
Permalink
Post by Okash Khawaja
So the code doesn't yet allow the user to specify ttyUSB yet but you can
Thanks. Will play with this, and report back.
Post by Okash Khawaja
Was it working before? These changes don't migrate PC synths: acsntpc,
decpc, keypc and dtlk.
Oh, ok. I was under the impression that all synths, not just the
serial ones, were being migrated. To answer your question, the last
kernel that the speakup_dtlk module works for me on is 3.2.0 from
debian wheezy. Under the 3.16.0 kernel in debian/devuan jessie,
modprobe speakup_dtlk locks up my system.

Thanks to Okash and Samuel for your work. It's much appreciated.

Greg
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail dns-***@EU.org
Gregory Nowak
2017-04-24 03:48:57 UTC
Permalink
Hi Okash and list,
I again have good news, and bad news. The good news is that after
making the changes Okash described in spk_ttyio.c and recompiling the
speakup modules, the bns driver works over ttyUSB0! Very awesome! I
remember wanting this when I got my first machine without an on board
serial port in 2000. I also used the driver a lot more extensively
over ttyS0 and over ttyUSB0, and still didn't notice issues.

Now, for the bad news. The speakup_bns driver isn't releasing the
serial port. This is true for both ttyS0 and ttyUSB0. When I unload
speakup_bns, and attempt to use minicom over either port, I see this
in dmesg:

"[ 109.515946] ttyS ttyS0: tty_open: tty->count(2) != #fd's(1)
[ 110.517304] ttyS ttyS0: tty_release: tty->count(2) != #fd's(1)
[ 110.517400] ttyS ttyS0: tty_open: tty->count(2) != #fd's(1)
[ 111.518555] ttyS ttyS0: tty_release: tty->count(2) != #fd's(1)
[ 111.518663] ttyS ttyS0: tty_open: tty->count(2) != #fd's(1)
[ 113.436335] ttyS ttyS0: tty_release: tty->count(2) != #fd's(1)"

"[ 807.947758] ttyUSB ttyUSB0: tty_open: tty->count(3) != #fd's(1)
[ 808.152816] ttyUSB ttyUSB0: tty_release: tty->count(3) != #fd's(1)
[ 808.155764] ttyUSB ttyUSB0: tty_open: tty->count(3) != #fd's(1)
[ 808.520824] ttyUSB ttyUSB0: tty_release: tty->count(3) != #fd's(1)
[ 808.523768] ttyUSB ttyUSB0: tty_open: tty->count(3) != #fd's(1)
[ 810.947111] ttyUSB ttyUSB0: tty_release: tty->count(3) != #fd's(1)"

If I modprobe speakup_bns again, I can use it just fine, unload, and
reload again without problems. I also found that after using
speakup_bns over the usb to serial converter and unloading the
speakup_bns module, I then can't unload the belkin_sa module, even
though I see no other modules using it from lsmod. I assume the same
holds true for the standard port modules, but didn't try unloading
them as well. When I unplug the usb to serial converter after using it
with speakup_bns, and unloading speakup_bns, and plug it back in, it
gets assigned /dev/ttyUSB1 instead of being assigned /dev/ttyUSB0 as
normally happens.

Thanks again for your work.

Greg
Post by Okash Khawaja
Hi Greg,
Thanks for the tests, very helpful. Okay so it doesn't look too bad.
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail dns-***@EU.org
Okash Khawaja
2017-04-24 07:48:21 UTC
Permalink
Hi all and Greg,

That's good news! Regarding ttyS0 and ttyUSB0 lockup, they are held by
speakup.ko. Synth specific modules only use them. So unloading
speakup.ko should free those.

Like I mentioned in another thread, I tested Apollo that Keith sent
me, and that works fine. DoubleTalk was also looking good. So overall
this change taking good shape :)

We _do_ need to test DECEXT though, in order to upstream the changes.
That and serdev are the only two things outstanding now.

Okash
Post by Gregory Nowak
Hi Okash and list,
I again have good news, and bad news. The good news is that after
making the changes Okash described in spk_ttyio.c and recompiling the
speakup modules, the bns driver works over ttyUSB0! Very awesome! I
remember wanting this when I got my first machine without an on board
serial port in 2000. I also used the driver a lot more extensively
over ttyS0 and over ttyUSB0, and still didn't notice issues.
Now, for the bad news. The speakup_bns driver isn't releasing the
serial port. This is true for both ttyS0 and ttyUSB0. When I unload
speakup_bns, and attempt to use minicom over either port, I see this
"[ 109.515946] ttyS ttyS0: tty_open: tty->count(2) != #fd's(1)
[ 110.517304] ttyS ttyS0: tty_release: tty->count(2) != #fd's(1)
[ 110.517400] ttyS ttyS0: tty_open: tty->count(2) != #fd's(1)
[ 111.518555] ttyS ttyS0: tty_release: tty->count(2) != #fd's(1)
[ 111.518663] ttyS ttyS0: tty_open: tty->count(2) != #fd's(1)
[ 113.436335] ttyS ttyS0: tty_release: tty->count(2) != #fd's(1)"
"[ 807.947758] ttyUSB ttyUSB0: tty_open: tty->count(3) != #fd's(1)
[ 808.152816] ttyUSB ttyUSB0: tty_release: tty->count(3) != #fd's(1)
[ 808.155764] ttyUSB ttyUSB0: tty_open: tty->count(3) != #fd's(1)
[ 808.520824] ttyUSB ttyUSB0: tty_release: tty->count(3) != #fd's(1)
[ 808.523768] ttyUSB ttyUSB0: tty_open: tty->count(3) != #fd's(1)
[ 810.947111] ttyUSB ttyUSB0: tty_release: tty->count(3) != #fd's(1)"
If I modprobe speakup_bns again, I can use it just fine, unload, and
reload again without problems. I also found that after using
speakup_bns over the usb to serial converter and unloading the
speakup_bns module, I then can't unload the belkin_sa module, even
though I see no other modules using it from lsmod. I assume the same
holds true for the standard port modules, but didn't try unloading
them as well. When I unplug the usb to serial converter after using it
with speakup_bns, and unloading speakup_bns, and plug it back in, it
gets assigned /dev/ttyUSB1 instead of being assigned /dev/ttyUSB0 as
normally happens.
Thanks again for your work.
Greg
Post by Okash Khawaja
Hi Greg,
Thanks for the tests, very helpful. Okay so it doesn't look too bad.
--
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.
--
_______________________________________________
Speakup mailing list
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
Okash Khawaja
2017-05-01 18:02:08 UTC
Permalink
This patch fixes the issue where TTY-migrated synths would take a while
to shut up after hitting numpad enter key. When calling synth_flush, even
though XOFF character is sent as high priority, data buffered in TTY layer
is still sent to the synth. This patch flushes that buffered data when
synth_flush is called.

Reported-by: John Covici <***@ccs.covici.com>
Signed-off-by: Okash Khawaja <***@gmail.com>

Index: linux-staging/drivers/staging/speakup/serialio.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/serialio.c
+++ linux-staging/drivers/staging/speakup/serialio.c
@@ -30,6 +30,7 @@
static void spk_serial_tiocmset(unsigned int set, unsigned int clear);
static unsigned char spk_serial_in(void);
static unsigned char spk_serial_in_nowait(void);
+static void spk_serial_flush_buffer(void);

struct spk_io_ops spk_serial_io_ops = {
.synth_out = spk_serial_out,
@@ -37,6 +38,7 @@
.tiocmset = spk_serial_tiocmset,
.synth_in = spk_serial_in,
.synth_in_nowait = spk_serial_in_nowait,
+ .flush_buffer = spk_serial_flush_buffer,
};
EXPORT_SYMBOL_GPL(spk_serial_io_ops);

@@ -268,6 +270,11 @@
return inb_p(speakup_info.port_tts + UART_RX);
}

+static void spk_serial_flush_buffer(void)
+{
+ /* TODO: flush the UART 16550 buffer */
+}
+
static int spk_serial_out(struct spk_synth *in_synth, const char ch)
{
if (in_synth->alive && spk_wait_for_xmitr(in_synth)) {
Index: linux-staging/drivers/staging/speakup/spk_ttyio.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/spk_ttyio.c
+++ linux-staging/drivers/staging/speakup/spk_ttyio.c
@@ -85,6 +85,7 @@
static void spk_ttyio_tiocmset(unsigned int set, unsigned int clear);
static unsigned char spk_ttyio_in(void);
static unsigned char spk_ttyio_in_nowait(void);
+static void spk_ttyio_flush_buffer(void);

struct spk_io_ops spk_ttyio_ops = {
.synth_out = spk_ttyio_out,
@@ -92,6 +93,7 @@
.tiocmset = spk_ttyio_tiocmset,
.synth_in = spk_ttyio_in,
.synth_in_nowait = spk_ttyio_in_nowait,
+ .flush_buffer = spk_ttyio_flush_buffer,
};
EXPORT_SYMBOL_GPL(spk_ttyio_ops);

@@ -201,6 +203,11 @@
return (rv == 0xff) ? 0 : rv;
}

+static void spk_ttyio_flush_buffer(void)
+{
+ speakup_tty->ops->flush_buffer(speakup_tty);
+}
+
int spk_ttyio_synth_probe(struct spk_synth *synth)
{
int rv = spk_ttyio_initialise_ldisc(synth->ser);
Index: linux-staging/drivers/staging/speakup/spk_types.h
===================================================================
--- linux-staging.orig/drivers/staging/speakup/spk_types.h
+++ linux-staging/drivers/staging/speakup/spk_types.h
@@ -154,6 +154,7 @@
void (*tiocmset)(unsigned int set, unsigned int clear);
unsigned char (*synth_in)(void);
unsigned char (*synth_in_nowait)(void);
+ void (*flush_buffer)(void);
};

struct spk_synth {
Index: linux-staging/drivers/staging/speakup/speakup_audptr.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_audptr.c
+++ linux-staging/drivers/staging/speakup/speakup_audptr.c
@@ -127,6 +127,7 @@

static void synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->send_xchar(SYNTH_CLEAR);
synth->io_ops->synth_out(synth, PROCSPEECH);
}
Index: linux-staging/drivers/staging/speakup/speakup_decext.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_decext.c
+++ linux-staging/drivers/staging/speakup/speakup_decext.c
@@ -221,6 +221,7 @@
static void synth_flush(struct spk_synth *synth)
{
in_escape = 0;
+ synth->io_ops->flush_buffer();
synth->synth_immediate(synth, "\033P;10z\033\\");
}

Index: linux-staging/drivers/staging/speakup/speakup_dectlk.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_dectlk.c
+++ linux-staging/drivers/staging/speakup/speakup_dectlk.c
@@ -293,6 +293,7 @@
synth->io_ops->synth_out(synth, ']');
in_escape = 0;
is_flushing = 1;
+ synth->io_ops->flush_buffer();
synth->io_ops->synth_out(synth, SYNTH_CLEAR);
}

Index: linux-staging/drivers/staging/speakup/speakup_spkout.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_spkout.c
+++ linux-staging/drivers/staging/speakup/speakup_spkout.c
@@ -125,6 +125,7 @@

static void synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->send_xchar(SYNTH_CLEAR);
}

Index: linux-staging/drivers/staging/speakup/synth.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/synth.c
+++ linux-staging/drivers/staging/speakup/synth.c
@@ -120,6 +120,7 @@

void spk_synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->synth_out(synth, synth->clear);
}
EXPORT_SYMBOL_GPL(spk_synth_flush);
Okash Khawaja
2017-05-01 18:03:35 UTC
Permalink
Hi,

For testing, I have updated the github repo [1]. I will test this on apollo.

Thanks,
Okash

[1] https://github.com/bytefire/speakup-decext
Post by Okash Khawaja
This patch fixes the issue where TTY-migrated synths would take a while
to shut up after hitting numpad enter key. When calling synth_flush, even
though XOFF character is sent as high priority, data buffered in TTY layer
is still sent to the synth. This patch flushes that buffered data when
synth_flush is called.
Index: linux-staging/drivers/staging/speakup/serialio.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/serialio.c
+++ linux-staging/drivers/staging/speakup/serialio.c
@@ -30,6 +30,7 @@
static void spk_serial_tiocmset(unsigned int set, unsigned int clear);
static unsigned char spk_serial_in(void);
static unsigned char spk_serial_in_nowait(void);
+static void spk_serial_flush_buffer(void);
struct spk_io_ops spk_serial_io_ops = {
.synth_out = spk_serial_out,
@@ -37,6 +38,7 @@
.tiocmset = spk_serial_tiocmset,
.synth_in = spk_serial_in,
.synth_in_nowait = spk_serial_in_nowait,
+ .flush_buffer = spk_serial_flush_buffer,
};
EXPORT_SYMBOL_GPL(spk_serial_io_ops);
@@ -268,6 +270,11 @@
return inb_p(speakup_info.port_tts + UART_RX);
}
+static void spk_serial_flush_buffer(void)
+{
+ /* TODO: flush the UART 16550 buffer */
+}
+
static int spk_serial_out(struct spk_synth *in_synth, const char ch)
{
if (in_synth->alive && spk_wait_for_xmitr(in_synth)) {
Index: linux-staging/drivers/staging/speakup/spk_ttyio.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/spk_ttyio.c
+++ linux-staging/drivers/staging/speakup/spk_ttyio.c
@@ -85,6 +85,7 @@
static void spk_ttyio_tiocmset(unsigned int set, unsigned int clear);
static unsigned char spk_ttyio_in(void);
static unsigned char spk_ttyio_in_nowait(void);
+static void spk_ttyio_flush_buffer(void);
struct spk_io_ops spk_ttyio_ops = {
.synth_out = spk_ttyio_out,
@@ -92,6 +93,7 @@
.tiocmset = spk_ttyio_tiocmset,
.synth_in = spk_ttyio_in,
.synth_in_nowait = spk_ttyio_in_nowait,
+ .flush_buffer = spk_ttyio_flush_buffer,
};
EXPORT_SYMBOL_GPL(spk_ttyio_ops);
@@ -201,6 +203,11 @@
return (rv == 0xff) ? 0 : rv;
}
+static void spk_ttyio_flush_buffer(void)
+{
+ speakup_tty->ops->flush_buffer(speakup_tty);
+}
+
int spk_ttyio_synth_probe(struct spk_synth *synth)
{
int rv = spk_ttyio_initialise_ldisc(synth->ser);
Index: linux-staging/drivers/staging/speakup/spk_types.h
===================================================================
--- linux-staging.orig/drivers/staging/speakup/spk_types.h
+++ linux-staging/drivers/staging/speakup/spk_types.h
@@ -154,6 +154,7 @@
void (*tiocmset)(unsigned int set, unsigned int clear);
unsigned char (*synth_in)(void);
unsigned char (*synth_in_nowait)(void);
+ void (*flush_buffer)(void);
};
struct spk_synth {
Index: linux-staging/drivers/staging/speakup/speakup_audptr.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_audptr.c
+++ linux-staging/drivers/staging/speakup/speakup_audptr.c
@@ -127,6 +127,7 @@
static void synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->send_xchar(SYNTH_CLEAR);
synth->io_ops->synth_out(synth, PROCSPEECH);
}
Index: linux-staging/drivers/staging/speakup/speakup_decext.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_decext.c
+++ linux-staging/drivers/staging/speakup/speakup_decext.c
@@ -221,6 +221,7 @@
static void synth_flush(struct spk_synth *synth)
{
in_escape = 0;
+ synth->io_ops->flush_buffer();
synth->synth_immediate(synth, "\033P;10z\033\\");
}
Index: linux-staging/drivers/staging/speakup/speakup_dectlk.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_dectlk.c
+++ linux-staging/drivers/staging/speakup/speakup_dectlk.c
@@ -293,6 +293,7 @@
synth->io_ops->synth_out(synth, ']');
in_escape = 0;
is_flushing = 1;
+ synth->io_ops->flush_buffer();
synth->io_ops->synth_out(synth, SYNTH_CLEAR);
}
Index: linux-staging/drivers/staging/speakup/speakup_spkout.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_spkout.c
+++ linux-staging/drivers/staging/speakup/speakup_spkout.c
@@ -125,6 +125,7 @@
static void synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->send_xchar(SYNTH_CLEAR);
}
Index: linux-staging/drivers/staging/speakup/synth.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/synth.c
+++ linux-staging/drivers/staging/speakup/synth.c
@@ -120,6 +120,7 @@
void spk_synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->synth_out(synth, synth->clear);
}
EXPORT_SYMBOL_GPL(spk_synth_flush);
John Covici
2017-05-02 23:05:15 UTC
Permalink
Make sure that the modem lines rts-cts are also properly switched.

On Mon, 01 May 2017 14:03:35 -0400,
Post by Okash Khawaja
Hi,
For testing, I have updated the github repo [1]. I will test this on apollo.
Thanks,
Okash
[1] https://github.com/bytefire/speakup-decext
Post by Okash Khawaja
This patch fixes the issue where TTY-migrated synths would take a while
to shut up after hitting numpad enter key. When calling synth_flush, even
though XOFF character is sent as high priority, data buffered in TTY layer
is still sent to the synth. This patch flushes that buffered data when
synth_flush is called.
Index: linux-staging/drivers/staging/speakup/serialio.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/serialio.c
+++ linux-staging/drivers/staging/speakup/serialio.c
@@ -30,6 +30,7 @@
static void spk_serial_tiocmset(unsigned int set, unsigned int clear);
static unsigned char spk_serial_in(void);
static unsigned char spk_serial_in_nowait(void);
+static void spk_serial_flush_buffer(void);
struct spk_io_ops spk_serial_io_ops = {
.synth_out = spk_serial_out,
@@ -37,6 +38,7 @@
.tiocmset = spk_serial_tiocmset,
.synth_in = spk_serial_in,
.synth_in_nowait = spk_serial_in_nowait,
+ .flush_buffer = spk_serial_flush_buffer,
};
EXPORT_SYMBOL_GPL(spk_serial_io_ops);
@@ -268,6 +270,11 @@
return inb_p(speakup_info.port_tts + UART_RX);
}
+static void spk_serial_flush_buffer(void)
+{
+ /* TODO: flush the UART 16550 buffer */
+}
+
static int spk_serial_out(struct spk_synth *in_synth, const char ch)
{
if (in_synth->alive && spk_wait_for_xmitr(in_synth)) {
Index: linux-staging/drivers/staging/speakup/spk_ttyio.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/spk_ttyio.c
+++ linux-staging/drivers/staging/speakup/spk_ttyio.c
@@ -85,6 +85,7 @@
static void spk_ttyio_tiocmset(unsigned int set, unsigned int clear);
static unsigned char spk_ttyio_in(void);
static unsigned char spk_ttyio_in_nowait(void);
+static void spk_ttyio_flush_buffer(void);
struct spk_io_ops spk_ttyio_ops = {
.synth_out = spk_ttyio_out,
@@ -92,6 +93,7 @@
.tiocmset = spk_ttyio_tiocmset,
.synth_in = spk_ttyio_in,
.synth_in_nowait = spk_ttyio_in_nowait,
+ .flush_buffer = spk_ttyio_flush_buffer,
};
EXPORT_SYMBOL_GPL(spk_ttyio_ops);
@@ -201,6 +203,11 @@
return (rv == 0xff) ? 0 : rv;
}
+static void spk_ttyio_flush_buffer(void)
+{
+ speakup_tty->ops->flush_buffer(speakup_tty);
+}
+
int spk_ttyio_synth_probe(struct spk_synth *synth)
{
int rv = spk_ttyio_initialise_ldisc(synth->ser);
Index: linux-staging/drivers/staging/speakup/spk_types.h
===================================================================
--- linux-staging.orig/drivers/staging/speakup/spk_types.h
+++ linux-staging/drivers/staging/speakup/spk_types.h
@@ -154,6 +154,7 @@
void (*tiocmset)(unsigned int set, unsigned int clear);
unsigned char (*synth_in)(void);
unsigned char (*synth_in_nowait)(void);
+ void (*flush_buffer)(void);
};
struct spk_synth {
Index: linux-staging/drivers/staging/speakup/speakup_audptr.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_audptr.c
+++ linux-staging/drivers/staging/speakup/speakup_audptr.c
@@ -127,6 +127,7 @@
static void synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->send_xchar(SYNTH_CLEAR);
synth->io_ops->synth_out(synth, PROCSPEECH);
}
Index: linux-staging/drivers/staging/speakup/speakup_decext.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_decext.c
+++ linux-staging/drivers/staging/speakup/speakup_decext.c
@@ -221,6 +221,7 @@
static void synth_flush(struct spk_synth *synth)
{
in_escape = 0;
+ synth->io_ops->flush_buffer();
synth->synth_immediate(synth, "\033P;10z\033\\");
}
Index: linux-staging/drivers/staging/speakup/speakup_dectlk.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_dectlk.c
+++ linux-staging/drivers/staging/speakup/speakup_dectlk.c
@@ -293,6 +293,7 @@
synth->io_ops->synth_out(synth, ']');
in_escape = 0;
is_flushing = 1;
+ synth->io_ops->flush_buffer();
synth->io_ops->synth_out(synth, SYNTH_CLEAR);
}
Index: linux-staging/drivers/staging/speakup/speakup_spkout.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_spkout.c
+++ linux-staging/drivers/staging/speakup/speakup_spkout.c
@@ -125,6 +125,7 @@
static void synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->send_xchar(SYNTH_CLEAR);
}
Index: linux-staging/drivers/staging/speakup/synth.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/synth.c
+++ linux-staging/drivers/staging/speakup/synth.c
@@ -120,6 +120,7 @@
void spk_synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->synth_out(synth, synth->clear);
}
EXPORT_SYMBOL_GPL(spk_synth_flush);
--
Your life is like a penny. You're going to lose it. The question is:
How do
you spend it?

John Covici
***@ccs.covici.com
Okash Khawaja
2017-05-03 06:15:33 UTC
Permalink
Hi,
Post by John Covici
Make sure that the modem lines rts-cts are also properly switched.
Do you mean driver might not be heeding these flow control primitives from
speak out? Can you suggest how to ensure rts/cts are properly
switched? They are handled by TTY layer.

Thanks,
Okash
John Covici
2017-05-03 06:44:44 UTC
Permalink
They may be working, but I could not tell when I was using it, but I
will test when I get a chance. Which archive did you update
speakup.tgz or speakup2.tgz in the repository?

On Wed, 03 May 2017 02:15:33 -0400,
Post by Okash Khawaja
Hi,
Post by John Covici
Make sure that the modem lines rts-cts are also properly switched.
Do you mean driver might not be heeding these flow control primitives from
speak out? Can you suggest how to ensure rts/cts are properly
switched? They are handled by TTY layer.
Thanks,
Okash
--
Your life is like a penny. You're going to lose it. The question is:
How do
you spend it?

John Covici
***@ccs.covici.com
Okash Khawaja
2017-05-03 06:53:51 UTC
Permalink
It's speakup2.tgz. I've removed speakup.tgz.

Thanks
Post by John Covici
They may be working, but I could not tell when I was using it, but I
will test when I get a chance. Which archive did you update
speakup.tgz or speakup2.tgz in the repository?
On Wed, 03 May 2017 02:15:33 -0400,
Post by Okash Khawaja
Hi,
Post by John Covici
Make sure that the modem lines rts-cts are also properly switched.
Do you mean driver might not be heeding these flow control primitives from
speak out? Can you suggest how to ensure rts/cts are properly
switched? They are handled by TTY layer.
Thanks,
Okash
--
How do
you spend it?
John Covici
Samuel Thibault
2017-05-04 23:21:41 UTC
Permalink
Hello,
Post by John Covici
Make sure that the modem lines rts-cts are also properly switched.
Mmm, I'm afraid we forgot to set that.

It seems RTS/CTS flow control is not enabled by default. So in ttyio
we'd need to call tty_set_termios. See how set_termios gets the current
value, on which we just need to termios.c_cflag |= CRTSCTS before
calling tty_set_termios.

Samuel
Okash Khawaja
2017-05-05 07:50:20 UTC
Permalink
Hi,
Post by Samuel Thibault
Hello,
Post by John Covici
Make sure that the modem lines rts-cts are also properly switched.
Mmm, I'm afraid we forgot to set that.
It seems RTS/CTS flow control is not enabled by default.
Ah I see. So it is by reading the value returned by set_termios that we know if RTS/CTS flow control enabled or not. I'm still learning as I have been while working on speakup in general.
Post by Samuel Thibault
So in ttyio
we'd need to call tty_set_termios. See how set_termios gets the current
value, on which we just need to termios.c_cflag |= CRTSCTS before
calling tty_set_termios.
Sure I'll update the patch.

Thanks,
Okash
Samuel Thibault
2017-05-05 07:58:21 UTC
Permalink
Post by Okash Khawaja
Ah I see. So it is by reading the value returned by set_termios that we know if RTS/CTS flow control enabled or not. I'm still learning as I have been while working on speakup in general.
That's true for any kind of development actually, everybody learns every
day :)

Samuel
Okash Khawaja
2017-05-07 18:48:03 UTC
Permalink
This patch fixes the issue where TTY-migrated synths would take a while to shut up after hitting numpad enter key. When calling synth_flush, even though XOFF character is sent as high priority, data buffered in TTY layer is still sent to the synth. This patch flushes that buffered data when synth_flush is called.

It also tries to ensure that hardware flow control is enabled, by setting CRTSCTS using tty's termios.

Reported-by: John Covici <***@ccs.covici.com>
Signed-off-by: Okash Khawaja <***@gmail.com>

Index: linux-staging/drivers/staging/speakup/serialio.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/serialio.c
+++ linux-staging/drivers/staging/speakup/serialio.c
@@ -30,6 +30,7 @@
static void spk_serial_tiocmset(unsigned int set, unsigned int clear);
static unsigned char spk_serial_in(void);
static unsigned char spk_serial_in_nowait(void);
+static void spk_serial_flush_buffer(void);

struct spk_io_ops spk_serial_io_ops = {
.synth_out = spk_serial_out,
@@ -37,6 +38,7 @@
.tiocmset = spk_serial_tiocmset,
.synth_in = spk_serial_in,
.synth_in_nowait = spk_serial_in_nowait,
+ .flush_buffer = spk_serial_flush_buffer,
};
EXPORT_SYMBOL_GPL(spk_serial_io_ops);

@@ -268,6 +270,11 @@
return inb_p(speakup_info.port_tts + UART_RX);
}

+static void spk_serial_flush_buffer(void)
+{
+ /* TODO: flush the UART 16550 buffer */
+}
+
static int spk_serial_out(struct spk_synth *in_synth, const char ch)
{
if (in_synth->alive && spk_wait_for_xmitr(in_synth)) {
Index: linux-staging/drivers/staging/speakup/spk_ttyio.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/spk_ttyio.c
+++ linux-staging/drivers/staging/speakup/spk_ttyio.c
@@ -85,6 +85,7 @@
static void spk_ttyio_tiocmset(unsigned int set, unsigned int clear);
static unsigned char spk_ttyio_in(void);
static unsigned char spk_ttyio_in_nowait(void);
+static void spk_ttyio_flush_buffer(void);

struct spk_io_ops spk_ttyio_ops = {
.synth_out = spk_ttyio_out,
@@ -92,6 +93,7 @@
.tiocmset = spk_ttyio_tiocmset,
.synth_in = spk_ttyio_in,
.synth_in_nowait = spk_ttyio_in_nowait,
+ .flush_buffer = spk_ttyio_flush_buffer,
};
EXPORT_SYMBOL_GPL(spk_ttyio_ops);

@@ -99,6 +101,7 @@
{
int ret = 0;
struct tty_struct *tty;
+ struct ktermios tmp_termios;

ret = tty_register_ldisc(N_SPEAKUP, &spk_ttyio_ldisc_ops);
if (ret) {
@@ -127,6 +130,18 @@
}

clear_bit(TTY_HUPPED, &tty->flags);
+ /* ensure hardware flow control is enabled */
+ down_read(&tty->termios_rwsem);
+ tmp_termios = tty->termios;
+ up_read(&tty->termios_rwsem);
+
+ if (!(tmp_termios.c_cflag & CRTSCTS)) {
+ tmp_termios.c_cflag |= CRTSCTS;
+ ret = tty_set_termios(tty, &tmp_termios);
+ if (ret)
+ pr_warn("speakup: Failed to set hardware flow control\n");
+ }
+
tty_unlock(tty);

ret = tty_set_ldisc(tty, N_SPEAKUP);
@@ -201,6 +216,11 @@
return (rv == 0xff) ? 0 : rv;
}

+static void spk_ttyio_flush_buffer(void)
+{
+ speakup_tty->ops->flush_buffer(speakup_tty);
+}
+
int spk_ttyio_synth_probe(struct spk_synth *synth)
{
int rv = spk_ttyio_initialise_ldisc(synth->ser);
Index: linux-staging/drivers/staging/speakup/spk_types.h
===================================================================
--- linux-staging.orig/drivers/staging/speakup/spk_types.h
+++ linux-staging/drivers/staging/speakup/spk_types.h
@@ -154,6 +154,7 @@
void (*tiocmset)(unsigned int set, unsigned int clear);
unsigned char (*synth_in)(void);
unsigned char (*synth_in_nowait)(void);
+ void (*flush_buffer)(void);
};

struct spk_synth {
Index: linux-staging/drivers/staging/speakup/speakup_audptr.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_audptr.c
+++ linux-staging/drivers/staging/speakup/speakup_audptr.c
@@ -127,6 +127,7 @@

static void synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->send_xchar(SYNTH_CLEAR);
synth->io_ops->synth_out(synth, PROCSPEECH);
}
Index: linux-staging/drivers/staging/speakup/speakup_decext.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_decext.c
+++ linux-staging/drivers/staging/speakup/speakup_decext.c
@@ -221,6 +221,7 @@
static void synth_flush(struct spk_synth *synth)
{
in_escape = 0;
+ synth->io_ops->flush_buffer();
synth->synth_immediate(synth, "\033P;10z\033\\");
}

Index: linux-staging/drivers/staging/speakup/speakup_dectlk.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_dectlk.c
+++ linux-staging/drivers/staging/speakup/speakup_dectlk.c
@@ -293,6 +293,7 @@
synth->io_ops->synth_out(synth, ']');
in_escape = 0;
is_flushing = 1;
+ synth->io_ops->flush_buffer();
synth->io_ops->synth_out(synth, SYNTH_CLEAR);
}

Index: linux-staging/drivers/staging/speakup/speakup_spkout.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_spkout.c
+++ linux-staging/drivers/staging/speakup/speakup_spkout.c
@@ -125,6 +125,7 @@

static void synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->send_xchar(SYNTH_CLEAR);
}

Index: linux-staging/drivers/staging/speakup/synth.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/synth.c
+++ linux-staging/drivers/staging/speakup/synth.c
@@ -120,6 +120,7 @@

void spk_synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->synth_out(synth, synth->clear);
}
EXPORT_SYMBOL_GPL(spk_synth_flush);
Samuel Thibault
2017-05-07 18:55:47 UTC
Permalink
Post by Okash Khawaja
This patch fixes the issue where TTY-migrated synths would take a while to shut up after hitting numpad enter key. When calling synth_flush, even though XOFF character is sent as high priority, data buffered in TTY layer is still sent to the synth. This patch flushes that buffered data when synth_flush is called.
It also tries to ensure that hardware flow control is enabled, by setting CRTSCTS using tty's termios.
Index: linux-staging/drivers/staging/speakup/serialio.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/serialio.c
+++ linux-staging/drivers/staging/speakup/serialio.c
@@ -30,6 +30,7 @@
static void spk_serial_tiocmset(unsigned int set, unsigned int clear);
static unsigned char spk_serial_in(void);
static unsigned char spk_serial_in_nowait(void);
+static void spk_serial_flush_buffer(void);
struct spk_io_ops spk_serial_io_ops = {
.synth_out = spk_serial_out,
@@ -37,6 +38,7 @@
.tiocmset = spk_serial_tiocmset,
.synth_in = spk_serial_in,
.synth_in_nowait = spk_serial_in_nowait,
+ .flush_buffer = spk_serial_flush_buffer,
};
EXPORT_SYMBOL_GPL(spk_serial_io_ops);
@@ -268,6 +270,11 @@
return inb_p(speakup_info.port_tts + UART_RX);
}
+static void spk_serial_flush_buffer(void)
+{
+ /* TODO: flush the UART 16550 buffer */
+}
+
static int spk_serial_out(struct spk_synth *in_synth, const char ch)
{
if (in_synth->alive && spk_wait_for_xmitr(in_synth)) {
Index: linux-staging/drivers/staging/speakup/spk_ttyio.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/spk_ttyio.c
+++ linux-staging/drivers/staging/speakup/spk_ttyio.c
@@ -85,6 +85,7 @@
static void spk_ttyio_tiocmset(unsigned int set, unsigned int clear);
static unsigned char spk_ttyio_in(void);
static unsigned char spk_ttyio_in_nowait(void);
+static void spk_ttyio_flush_buffer(void);
struct spk_io_ops spk_ttyio_ops = {
.synth_out = spk_ttyio_out,
@@ -92,6 +93,7 @@
.tiocmset = spk_ttyio_tiocmset,
.synth_in = spk_ttyio_in,
.synth_in_nowait = spk_ttyio_in_nowait,
+ .flush_buffer = spk_ttyio_flush_buffer,
};
EXPORT_SYMBOL_GPL(spk_ttyio_ops);
@@ -99,6 +101,7 @@
{
int ret = 0;
struct tty_struct *tty;
+ struct ktermios tmp_termios;
ret = tty_register_ldisc(N_SPEAKUP, &spk_ttyio_ldisc_ops);
if (ret) {
@@ -127,6 +130,18 @@
}
clear_bit(TTY_HUPPED, &tty->flags);
+ /* ensure hardware flow control is enabled */
+ down_read(&tty->termios_rwsem);
+ tmp_termios = tty->termios;
+ up_read(&tty->termios_rwsem);
+
+ if (!(tmp_termios.c_cflag & CRTSCTS)) {
+ tmp_termios.c_cflag |= CRTSCTS;
+ ret = tty_set_termios(tty, &tmp_termios);
+ if (ret)
+ pr_warn("speakup: Failed to set hardware flow control\n");
+ }
+
tty_unlock(tty);
ret = tty_set_ldisc(tty, N_SPEAKUP);
@@ -201,6 +216,11 @@
return (rv == 0xff) ? 0 : rv;
}
+static void spk_ttyio_flush_buffer(void)
+{
+ speakup_tty->ops->flush_buffer(speakup_tty);
+}
+
int spk_ttyio_synth_probe(struct spk_synth *synth)
{
int rv = spk_ttyio_initialise_ldisc(synth->ser);
Index: linux-staging/drivers/staging/speakup/spk_types.h
===================================================================
--- linux-staging.orig/drivers/staging/speakup/spk_types.h
+++ linux-staging/drivers/staging/speakup/spk_types.h
@@ -154,6 +154,7 @@
void (*tiocmset)(unsigned int set, unsigned int clear);
unsigned char (*synth_in)(void);
unsigned char (*synth_in_nowait)(void);
+ void (*flush_buffer)(void);
};
struct spk_synth {
Index: linux-staging/drivers/staging/speakup/speakup_audptr.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_audptr.c
+++ linux-staging/drivers/staging/speakup/speakup_audptr.c
@@ -127,6 +127,7 @@
static void synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->send_xchar(SYNTH_CLEAR);
synth->io_ops->synth_out(synth, PROCSPEECH);
}
Index: linux-staging/drivers/staging/speakup/speakup_decext.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_decext.c
+++ linux-staging/drivers/staging/speakup/speakup_decext.c
@@ -221,6 +221,7 @@
static void synth_flush(struct spk_synth *synth)
{
in_escape = 0;
+ synth->io_ops->flush_buffer();
synth->synth_immediate(synth, "\033P;10z\033\\");
}
Index: linux-staging/drivers/staging/speakup/speakup_dectlk.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_dectlk.c
+++ linux-staging/drivers/staging/speakup/speakup_dectlk.c
@@ -293,6 +293,7 @@
synth->io_ops->synth_out(synth, ']');
in_escape = 0;
is_flushing = 1;
+ synth->io_ops->flush_buffer();
synth->io_ops->synth_out(synth, SYNTH_CLEAR);
}
Index: linux-staging/drivers/staging/speakup/speakup_spkout.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/speakup_spkout.c
+++ linux-staging/drivers/staging/speakup/speakup_spkout.c
@@ -125,6 +125,7 @@
static void synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->send_xchar(SYNTH_CLEAR);
}
Index: linux-staging/drivers/staging/speakup/synth.c
===================================================================
--- linux-staging.orig/drivers/staging/speakup/synth.c
+++ linux-staging/drivers/staging/speakup/synth.c
@@ -120,6 +120,7 @@
void spk_synth_flush(struct spk_synth *synth)
{
+ synth->io_ops->flush_buffer();
synth->io_ops->synth_out(synth, synth->clear);
}
EXPORT_SYMBOL_GPL(spk_synth_flush);
--
Samuel
<d> bah à défaut de ligne TGV, ils ont un GR
-+- #ens-mim - comment ça, paumé ?! -+-
Loading...