What do I do if my DSPs fail?
At times, it is worth checking the state of the DSPs on your Prosody X cards to see if they are running and not overloaded. This can be especially helpful if you are experiencing problems with your application, where it might crash or hang. If a DSP has crashed it is imperative that a memory image of the DSP be obtained prior to rebooting the machine or restarting the card.
Below is a guide to viewing the status of your DSPs on both a Linux and Windows machine respectively.
TO VIEW THE STATUS OF THE DSPs FROM A LINUX TERMINAL:
root@machine:/# cd /usr/local/aculab/v6
root@machine:/usr/local/aculab/v6# . setV6.sh
root@machine:/usr/local/aculab/v6# cd bin
root@machine:/usr/local/aculab/v6/bin# pxdiagutil -i 192.168.40.246 -k aculabpass -m 0 status
TO VIEW THE STATUS OF THE DSPs FROM A WINDOWS COMMAND PROMPT:
C:\>cd "C:\Program Files\Aculab\v6\bin"
C:\Program Files\Aculab\v6\bin>pxdiagutil -i 192.168.40.246 -k aculabpass -m 0 status
NOTE 1: "-m 0" ranges from 0- (number of dsp's minus 1). Each DSP much be checked individually.
NOTE 2: "192.168.40.246" is the IP Address of your Prosody X card and can be obtained by running "prosody_ip_card_mgr --list"
NOTE 3: "aculabpass" is the security key you attributed to the Prosody X card
NOTE 4: A DSP will be in a failed state if it does not say "Kernel: Running OK 100 epochs per second, uptime..."
Check the status of all DSPs to provide Aculab support with a complete impression of the systems state. On Linux systems the output from each status command can be redirected to a file while on Windows the results can be cut and pasted into an email. When contacting the support team, please provide these results even if all the DSPs are reporting "Kernel: Running OK 100 epochs per second, uptime...".
In the unlikely event of a DSP crash, the status returned by the above commands will be something different to "Kernel: Running OK 100 epochs per second, uptime..." in which case you should "dump" a memory image from any crashed DSP and forward them to the Support team for analysis by using the following method:
TO GET LOGS OF A DSP THAT HAS CRASHED FROM A LINUX TERMINAL =>
root@machine:/# cd /usr/local/aculab/v6
root@machine:/usr/local/aculab/v6# . setV6.sh
root@machine:/usr/local/aculab/v6# cd bin
root@machine:/usr/local/aculab/v6/bin# pxdiagutil -i 192.168.40.246 -k aculabpass -m 0 -d module0newdump.dmp dump
TO GET LOGS OF A DSP THAT HAS CRASHED FROM A WINDOWS COMMAND PROMPT =>
C:\>cd "C:\Program Files\Aculab\v6\bin"
C:\Program Files\Aculab\v6\bin>pxdiagutil -i 192.168.40.246 -k aculabpass -m 0 -d module0newdump.dmp dump
NOTE 1: Replace -m 0 with the module number that has crashed.
NOTE 2: "192.168.40.246" is the IP Address of your Prosody X card and can be obtained by running "prosody_ip_card_mgr --list"
NOTE 3: "aculabpass" is the security key you attributed to the Prosody X card
NOTE 4: This command must only ever be run on a crashed module
Please DO NOT attempt to obtain memory dumps from any DSPs that is running normal as this may trigger a DSP crash itself.
It is worth noting that using the "pxdiagutil" is not meant to continuously monitor the dsp, it is intended to be a form of checking and dumping a DSP via the command line. If you are interested in monitoring the functionality and connectivity of your dsp's then the tool known as "cpumon" would be more suitable. For more information on cpumon, please see here.