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