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