DecTalk External (decext) testers wanted!

Okash Khawaja okash.khawaja at
Sat Apr 22 03:38:28 EDT 2017

Hi Greg,

Thanks for the tests, very helpful. Okay so it doesn't look too bad.

On Fri, Apr 21, 2017 at 12:34:21PM -0700, Gregory Nowak wrote:
> 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.
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);


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

where (188, 0) will represent ttyUSB0 - 0 being default value of ser.

> 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.

> 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

> 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.
Thanks for the tests! Additional diagnostics are always useful.

> 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.

> 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 <kirk at>
> 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 :)


More information about the Speakup mailing list