properly switching synths in speakup

Gregory Nowak greg at romuald.net.eu.org
Sun Apr 23 02:49:46 EDT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all.

How does one properly switch synths on the fly in speakup? I have the
doubletalk pc configured into the kernel, and I have the bns built as
a module. However, I can't switch from the dtlk to the bns.

If I do:

echo bns >/proc/speakup/synth_name

, I just get taken back to the shell prompt with no errors, and
/proc/speakup/synth_name still contains dtlk.

If I do:

modprobe speakup_bns

, speech dies, and I have this in my dmesg output:

"releasing synth dtlk
Unable to handle kernel NULL pointer dereference at virtual address
0000000c
 printing eip:
c01f7410
*pde = 00000000
Oops: 0000 [#1]
Modules linked in: speakup_bns ide_cd cdrom snd_pcm_oss snd_mixer_oss
psmouse 8250_pnp 8250 floppy parport_pc parport uhci_hcd snd_via82xx
snd_ac97_codec snd_ac97_bus snd_pcm snd_timer snd_page_alloc
snd_mpu401_uart snd_rawmidi snd_seq_device snd tuner bttv video_buf
firmware_class compat_ioctl32 i2c_algo_bit v4l2_common btcx_risc
ir_common tveeprom videodev ext2 af_packet ntfs 8139too usbserial
usbcore ppp_async crc_ccitt ppp_generic slhc serial_core pcspkr
via686a eeprom i2c_isa i2c_viapro i2c_core
CPU:    0
EIP:    0060:[<c01f7410>]    Tainted: P      VLI
EFLAGS: 00010216   (2.6.16 #2)
EIP is at stop_serial_interrupt+0x14/0x1f
eax: 00000000   ebx: c02d8fe4   ecx: c0298b92   edx: 000002a0
esi: 0805b158   edi: 00000001   ebp: d8ebe000   esp: d8ebff88
ds: 007b   es: 007b   ss: 0068
Process modprobe (pid: 3128, threadinfo=d8ebe000 task=df068ab0)
Stack: <0>c01f7439 c01f7bf4 00000000 00000003 e0874b80 c01f79e4
e0874be0 e087600a
       e0874b80 c01274f7 08061080 0805b158 c01029f9 08061080 000014ff
       0805b158
       0805b158 00000001 bfa8a4d8 00000080 0000007b c010007b 00000080
       b7efc18e
Call Trace:
 [<c01f7439>] synth_readbuf_handler+0x0/0x38
 [<c01f7bf4>] synth_release+0xc1/0xe3
 [<c01f79e4>] do_synth_init+0xa/0x159
 [<e087600a>] mod_synth_init+0xa/0x1d [speakup_bns]
 [<c01274f7>] sys_init_module+0xb3/0x179
 [<c01029f9>] syscall_call+0x7/0xb
Code: ec 89 ca ec 8d 59 02 89 da ec 83 c1 06 89 ca ec b0 01 89 da ee
5b c3 8b 15 a8 42 34 c0 31 c0 42 ee 68 39 74 1f c0 a1 80 63 34 c0 <ff>
70 0c e8 18 3f f3 ff 58 5a c3 a1 a8 42 34 c0 85 c0 74 14 6a"

Finally, if I first try simply doing:

echo none >/proc/speakup/synth_name

, speech dies, and I have this in my dmesg output:

"releasing synth dtlk
Unable to handle kernel NULL pointer dereference at virtual address
0000000c
 printing eip:
c01f7410
*pde = 00000000
Oops: 0000 [#1]
Modules linked in: ide_cd cdrom snd_pcm_oss snd_mixer_oss psmouse
8250_pnp 8250 floppy parport_pc parport uhci_hcd snd_via82xx
snd_ac97_codec snd_ac97_bus snd_pcm snd_timer snd_page_alloc
snd_mpu401_uart snd_rawmidi snd_seq_device snd tuner bttv video_buf
firmware_class compat_ioctl32 i2c_algo_bit v4l2_common btcx_risc
ir_common tveeprom videodev ext2 af_packet ntfs 8139too usbserial
usbcore ppp_async crc_ccitt ppp_generic slhc serial_core pcspkr
via686a eeprom i2c_isa i2c_viapro i2c_core
CPU:    0
EIP:    0060:[<c01f7410>]    Tainted: P      VLI
EFLAGS: 00010216   (2.6.16 #2)
EIP is at stop_serial_interrupt+0x14/0x1f
eax: 00000000   ebx: c02d8fe4   ecx: c0344360   edx: 000002a0
esi: dfc25f3d   edi: c028e182   ebp: 00000005   esp: dfc25f00
ds: 007b   es: 007b   ss: 0068
Process bash (pid: 3005, threadinfo=dfc24000 task=c154ea70)
Stack: <0>c01f7439 c01f7bf4 00000000 00000003 dfc25f38 c01f798c
00000005 dfc25f38
       00000005 c0298d64 dfc25f39 c0298d65 c01f5da8 dfc25f38 656e6f6e
       dfd91d00
       df4f1b7c dec79220 00000005 df798360 080f3408 dfc25fa4 c0167cac
       df798360
Call Trace:
 [<c01f7439>] synth_readbuf_handler+0x0/0x38
 [<c01f7bf4>] synth_release+0xc1/0xe3
 [<c01f798c>] synth_init+0x5b/0xa9
 [<c01f5da8>] synth_write_proc+0x86/0xa9
 [<c0167cac>] proc_file_write+0x2b/0x2f
 [<c0142132>] vfs_write+0x80/0xd8
 [<c0142228>] sys_write+0x3b/0x63
 [<c01029f9>] syscall_call+0x7/0xb
Code: ec 89 ca ec 8d 59 02 89 da ec 83 c1 06 89 ca ec b0 01 89 da ee
5b c3 8b 15 a8 42 34 c0 31 c0 42 ee 68 39 74 1f c0 a1 80 63 34 c0 <ff>
70 0c e8 18 3f f3 ff 58 5a c3 a1 a8 42 34 c0 85 c0 74 14 6a"

Kernel version is 2.6.16, speakup version is:

Speakup v-2.00 CVS: Mon Jan 23 11:26:53 EST 2006

Any help would be much appreciated. Thanks in advance.

Greg

P.S. just looking at my message, I realized something strange. The
speakup version says that it's from January, however, I did a fresh
checkout back when I built the 2.6.16 kernel, and I know the changes
to make speakup work with 2.6.16 and up were made in late March. So, I
can only conclude that the version string wasn't updated, either
deliberately, or it was an oversight.


- -- 
web site: http://www.romuald.net.eu.org
gpg public key: http://www.romuald.net.eu.org/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)

- --
Free domains: http://www.eu.org/ or mail dns-manager at EU.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

iD8DBQFESyOK7s9z/XlyUyARAi+NAJ4jyL5eHNE3X1uh1LKYIBKibqvDfwCeJEs/
FjvH3Edh39uZ7c2eGDl60jQ=
=lQ3g
-----END PGP SIGNATURE-----




More information about the Speakup mailing list