![]() |
Hmmm, no, on my system all iaxmodem processes were still in memory, but one pseudo-tty was missing. So the resetmodem script will not do much good. Nonetheless, I understand the gist of the problem now, so I will monitor it further and find a solution. I appreciate your help immensely. Regards, Niksa On 03/22/2010 01:49 PM, Lee Howard wrote: > I guess it depends on how you run iaxmodem and how the crash occurred. > > If you run iaxmodem in daemon-mode, then the parent process should > restart the child process if it "crashes" such that it terminates. > > Thanks, > > Lee. > > > Niksa Baldun wrote: >> Lee, >> >> Many thanks for detailed explanation. >> >> I am unclear on the resetmodem script, however. You are using lsof on >> the pseudo-tty, but if iaxmodem already crashed, that tty will not >> exist. Or am I wrong? >> >> Thanks, >> >> Niksa >> >> >> On 03/22/2010 06:05 AM, Lee Howard wrote: >> >>> Niksa Baldun wrote: >>> >>>> I have the strangest of problems. I am using hylafax with a pool of >>>> iaxmodems. Sometimes when I connect to the system using ssh, I keep >>>> getting "ATZ" on the screen and I can't input any commands. Apparently >>>> hylafax thinks that the ssh pseudo console is actually a modem and it >>>> tries to communicate with it. >>>> >>>> When I restart the system, the problem goes away, but I can't find out >>>> what triggers it. How would I go about finding the cause of this? I >>>> tried browsing the system log, but I don't really know what to look >>>> for. >>>> >>> iaxmodem uses pseudo-ttys, but the way that Linux works, iaxmodem >>> cannot request any particular device name for the pseudo-tty. So we >>> end up with something like /dev/pts/24, but it will vary depending on >>> many things and will not be consistent. For example, ssh also uses >>> pseudo-ttys, and often the tty numbers are allocated based on a >>> first-come-first-serve basis. >>> >>> In order to achieve a consistent device name iaxmodem creates a >>> symlink to the pseudo-tty, and HylaFAX uses the symlink. >>> >>> If iaxmodem crashes and is not restarted then HylaFAX will be trying >>> to operate on a broken symlink. And then maybe you log in with ssh >>> and are given the pty that iaxmodem was just using. Now you'll start >>> to get faxgetty talking to your pty that ssh is using. >>> >>> You can make HylaFAX restart iaxmodems when they "wedge" by putting >>> this in /var/spool/hylafax/etc/resetmodem : >>> >>> ----------------------------------------- >>> #!/bin/sh >>> >>> set -x >>> exec 2> /tmp/resetmodem.$$ >>> >>> >>> PTY=`ls -l $1 | sed 's/.*-> //g'` >>> >>> IAXPID=`/usr/bin/sudo /usr/sbin/lsof "$PTY" | grep iaxmodem | sed >>> 's/^iaxmodem *\([0-9]*\) .*/\1/g'` >>> >>> /usr/bin/sudo /bin/kill -HUP $IAXPID >>> >>> exit >>> ----------------------------------------- >>> >>> Make sure to mark resetmodem as executable (chmod a+x >>> /var/spool/hylafax/etc/resetmodem). >>> >>> You'll also need something like this in your /etc/sudoers file: >>> >>> uucp ALL = NOPASSWD: /bin/kill >>> uucp ALL = NOPASSWD: /usr/sbin/lsof >>> >>> Thanks, >>> >>> Lee. >>> >>> >>> ____________________ HylaFAX(tm) Users Mailing List >>> _______________________ >>> To subscribe/unsubscribe, click >>> http://lists.hylafax.org/cgi-bin/lsg2.cgi >>> On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < >>> /dev/null >>> *To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxx* >>> >>> >>> >>> >> >> >> ____________________ HylaFAX(tm) Users Mailing List >> _______________________ >> To subscribe/unsubscribe, click >> http://lists.hylafax.org/cgi-bin/lsg2.cgi >> On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < >> /dev/null >> *To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxx* >> >> >> > > > ____________________ HylaFAX(tm) Users Mailing List _______________________ To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < /dev/null *To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxx*