The problem is a very simple one. I messed up the ? : statement in the .c file and reversed the correct order of the argumets. The statement was put in because the register_chrdev() function returns 0 on success, a negative number on failure, and the major number recieved if dynamic allocation was requested. Since we wanted to be able to support both static and dynamic major number allocation we check to see if we are statically or dynamically allocating the major number and then printk the number of the return value of the register_chrdev() function as appropriate. That was the theory anyway, as it happens I messed up the order of the statement so it's printk'ing the return value when it shouldn't be so you see zero in all cases, dynamic or static. This will be fixed in the next major release, don't worry the only problem there is that the printk is incorrect, not exactly a major bug. As for running festival as a server there should be a shell script to do so in /path/to/festival/src/scripts/festival_server.sh so if you had Festival installed in /usr/local/src/ the path would be: /usr/local/src/festival/festival/src/scripts/festival_server.sh which you just run in the background (via & or whatever method you choose) and that sets up a sane default configuration that allows localhost to connect but not anyone else. festival --server should also work but you would have to pass it a number of other configuration options so its probably best to just use the script. Just running festival will not work as it does not start listening on the right port unless specifically told to. HtH Owen On Thu, 10 Apr 2003, Doug wrote: > Owen, > > I am having a problem in the final steps of getting > your speakup mods working with festival. The patches > were applied with no errors and the kernel compiled > just fine. I created the usrdev device: > > ls -l /dev/usrdev > crwxrwxrwx 1 root root 252, 0 /dev/usrdev > > The major device number is 252, which is what is > hardcoded in speakup_usrdev.h > > But then I boot I get these messages: > > Speakup usrdev: Registered as char device major #0 > Speakup usrdev: Minor number is 0 > Speakup v-1.00 CVS: initialized > > and later I get the message > speakup: initialized device: /dev/synth, node (MAJOR 10, MINOR 25) > > > Note that initially the usrdev is listed as major 0 minor 0. > Do you have any idea what might be wrong here? > > These are my kernel config options: > > CONFIG_SPEAKUP=y > CONFIG_SPEAKUP_USRDEV=y > CONFIG_SPEAKUP_DEFAULT="usrdev" > CONFIG_SPEAKUP_KEYMAP=y > > Another issue ... can you please tell me the right commands > to start festival as server and start the middleware program? > If I run festival I get an interactive session. How do I > make it run as server? > > If I start festival as usual I get the interactive session > and festival works. I can do (SayText "festival works") > and it speaks fine. If I open another tty and then start > the middleware program I get this message: > > Festival server: localhost, on port: 1214 with mode: fundamental > festival_client: connect to server failed > failed to open Festival: connection refused > Speech Error! > > Unix sockets and TCP/IP is installed, and I can ping > localhost, in case that matters ... > > Any ideas? I am so close ... but so far ... > Why would the usrdev be major #0? >