Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

speakup_dtlk doesn't work in recent kernels #5

Closed
grnowak opened this issue Sep 18, 2017 · 7 comments
Closed

speakup_dtlk doesn't work in recent kernels #5

grnowak opened this issue Sep 18, 2017 · 7 comments
Labels

Comments

@grnowak
Copy link

grnowak commented Sep 18, 2017

The DoubleTalk PC synthesizer driven by the speakup_dtlk module doesn't work in the latest kernel version, 4.13.2 as I write. For clarity, this is the ISA card produced by RC Systems in the 1990s. The output of uname -a on a 4.13.2 kernel compiled by me on a devuan Jessie system is:

"Linux sophie 4.13.2 #1 SMP Sat Sep 16 16:57:47 MST 2017 i686 GNU/Linux"

The relevant dmesg output is:

"[ 4.435722] speakup: module is from the staging directory, the quality is unknown, you have been warned.
[ 4.441864] input: Speakup as /devices/virtual/input/input3
[ 4.442161] initialized device: /dev/synth, node (MAJOR 10, MINOR 25)
[ 4.443528] speakup 3.1.6: initialized
[ 4.443535] synth name on entry is: (null)
[ 4.443959] speakup_dtlk: module is from the staging directory, the quality is unknown, you have been warned.
[ 4.444674] synth probe
[ 4.444678] Probing for DoubleTalk.
[ 4.444682] DoubleTalk PC: not found
[ 4.444684] dtlk: device probe failed"

The last kernel version this synthesizer works on for me is the 3.2.0 kernel included in debian wheezy:

"Linux sophie 3.2.0-4-686-pae #1 SMP Debian 3.2.82-1 i686 GNU/Linux"

The dmesg output from that kernel version is:

"[ 5.338607] speakup: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.344445] input: Speakup as /devices/virtual/input/input2
[ 5.346294] initialized device: /dev/synth, node (MAJOR 10, MINOR 25)
[ 5.346433] speakup 3.1.6: initialized
[ 5.346439] synth name on entry is: (null)
[ 5.346790] speakup_dtlk: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.348159] synth probe
[ 5.348169] Probing for DoubleTalk.
[ 5.349894] DoubleTalk PC: 29e-29f, ROM ver 5.74, s/n xxxxx, driver: 2.10"

There is one other person besides myself on the speakup list who is also using this synthesizer. There maybe others as well. Barring technical difficulties, it would be awesome if the DoubleTalk PC could be used with recent kernels. I would appreciate it if this could be looked into please, and hopefully fixed. Thanks.

@bytefire
Copy link
Owner

bytefire commented Sep 18, 2017 via email

@grnowak
Copy link
Author

grnowak commented Sep 19, 2017

The changes you made to speakup didn't break the dtlk driver. It was broken for a while, probably as long as the other serial synthesizers. I can add here that using the 3.16 kernel included with debian/devuan jessie, crashed the machine when loading speakup_dtlk. So, no way to get dmesg output there.

I also tried loading speakup_dtlk using the 4.10.9 kernel with the new speakup patches applied when I was testing the new serial support a few months ago. I got the same results as with 4.13.2, the machine doesn't crash, but the DoubleTalk PC isn't detected. If testing with 4.12 would help, I can do that. I probably won't be able to do the compile until the weekend though.

While I realize you don't have the hardware, I was hoping you could have a look at the speakup_dtlk driver anyway to see if you can spot anything obvious. If posting speakup_dtlk.c from debian wheezy's working kernel would help, I can do that. Thanks.

@bytefire
Copy link
Owner

Of course! I'm sorry I didn't fully understand the original point which was very clear.

Let's keep this item, I'll take a look. Don't think we need any further input yet, the logs will be helpful for a start. Cheers!

@bytefire bytefire added the bug label Sep 19, 2017
@grnowak
Copy link
Author

grnowak commented Feb 25, 2020

To make a lengthy story short, the motherboard and CPU I had in the machine with the dtlk both failed. I suspected the board was failing for a while, but had no idea the CPU was also, which it seems to have done.

I was able to rebuild this system with a used dual processor motherboard, and two used pentium III 450 MHz CPUs. I found when booting the rebuilt system that my dtlk wasn't found with the 3.2.x kernel, with which it worked on the old board, and only one of the processors was detected. After a bit of experimenting, I discovered that passing "acpi=off" to the kernel caused both processors, and the dtlk to be detected.

Wondering what would happen if I tried the dtlk with the newer 3.16.x kernel in debian/devuan jessie, I discovered that it was detected, whereas it wasn't detected on the old motherboard. I recently compiled a 5.4.21 kernel for that machine, and found the dtlk is still detected running that 5.4.21 kernel with "acpi=off".

Having said this, my dtlk card is failing. Issues which I thought might have been caused by the old motherboard in fact seem to be caused by the dtlk card itself. The card will randomly lockup the system. This happens when using speakup, windows 9x and DOS screen readers, as well as the DOS utilities which came with the dtlk card itself when booted and running under DOS. The problem is getting worse not better with time, so I will have to let go of the dtlk card at some point. The other person on the speakup list who I know was using the dtlk card told me a while ago he isn't using his computer with that card much anymore. I have contacted him to see if he could try my 5.4.21 kernel on his system to confirm my findings, but he hasn't yet responded. If he does, and is willing to give my kernel a try, I'll post back, otherwise this issue can be closed I suppose.

In conclusion, I mistakenly opened this issue believing speakup's code was at fault, when in fact the problems I was seeing were due to failing hardware. My apologies for the confusion and misinformation this caused. As a side note, after much thought, I recently bought a brand new doubletalk lt (speakup_ltlk.ko) since I like the doubletalk speech, and since speakup works with any serial ports now. This will be my main speakup synth for the foreseeable future.

@sthibaul
Copy link

In conclusion, I mistakenly opened this issue believing speakup's code was at fault, when in fact the problems I was seeing were due to failing hardware.

Ok, no problem :)

You can close the issue by hitting the "close" button below. (I for myself can't since I'm no admin here)

@grnowak
Copy link
Author

grnowak commented Feb 25, 2020 via email

@grnowak
Copy link
Author

grnowak commented Feb 29, 2020

The other person with the dtlk responded. However, it seems like his card may be failing also, and walking him through installing and testing my 5.4.21 debian package requires more hand holding than I expected, so the process will probably take a while. I'll go ahead and close this issue. If there's something significant to report, I'll reopen it.

@grnowak grnowak closed this as completed Feb 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants