• sexpots.ini - modem command failure (TIMEOUT)

    From HotblackDesiato@VERT to rswindell on Sun Aug 11 20:01:00 2024
    I am trying to set up SEXPOTS for my synchronet BBS (time warp back to the 90s...). However, sexpots keeps returning "modem command failure". I am running Debian Bookworm and the U.S. Robotics modem is connected to /dev/ttyS0. The user sbbs is member of the group dialout and has access tot he modem. I can issue modem commands in mincom and I am able to connect to the only remaining dialup BBS in my city. So I confirm that the modem works. I was able to get SEXPOTS to run once yesterday, but since then fails to run (either manually started or via systemd). I rebooted, restarted the modem etc., not sure how I managed to get it to run once. After that only failures.

    Any ideas?

    Here is my sexpots.ini

    LogLevel = INFO ; set display/log output level
    Debug = TRUE ; enable debug logging (overrides LogLevel) PauseOnExit = FALSE ; wait for key-press on exit (non-service)
    CLS = FALSE ; send a form feed (clear screen) before copyright banner
    Prompt =
    PromptTimeout = 60 ; seconds to wait for a remote character after sending prompt (0=infinite)

    [COM]
    Device = /dev/ttyS0 ; COM port device name (or port number)
    BaudRate = 0 ; If non-zero, use this DTE rate (e.g. 115200) Hangup = TRUE ; Hang-up phone after call
    IgnoreDCD = FALSE ; Set to TRUE to ignore state of DCD
    DCDTimeout = 10 ; Seconds to wait for DCD to drop
    DTRDelay = 100 ; Milliseconds to delay before hangup
    NullModem = FALSE ; Set to TRUE to not send AT commands to modem Parity = FALSE ; Use parity (error detection/correction) bit ParityOdd = FALSE ; Use odd (not even) parity for parity calculations ByteSize = 8 ; Number of data bits per byte
    StopBits = 1 ; Number of stop bits per byte

    [Modem]
    ;Init = AT&F ; Modem initialization string
    Init = AT&FML1 ; low volume
    AutoAnswer = ATS0=1 ; Put modem into "auto-answer" mode
    CleanUp = ATS0=0 ; When exiting, turn off auto-answer ;EnableCallerID = AT+VCID=1 ; Enable Caller-ID support (or try AT#CID=1) EnableCallerID = AT#CID=1
    Timeout = 5 ; Seconds to wait for a response from modem
    ReInit = 60 ; Minutes of inactivity while waiting for caller before re-initialization
    Answer = ATA ; Answer command
    Ring = RING ; Ring indication (from modem)
    ManualAnswer = FALSE ; Set to TRUE to disable auto-answer and use ring detection/manual answer instead

    [TCP]
    Host = localhost ; Hostname or IP address of TCP server
    Port = 23 ; TCP port number of TCP server
    NoDelay = TRUE ; Set to TRUE to disable the Nagle Algorithm
    Telnet = TRUE ; Set to FALSE to disable Telnet mode

    [Telnet]
    Debug = FALSE ; Set to TRUE to log Telnet commands sent/recv AdvertiseLocation = FALSE ; Set to TRUE to send "WILL SEND LOCATION"
    TermType = SEXPOTS ; You shouldn't normally change this value TermSpeed = 28800,28800 ; Default terminal speed reported (tx, rx bps)

    [Ident]
    Enabled = FALSE ; Set to TRUE to enable Ident (RFC1413) server
    Port = 113 ; TCP Port Ident server will listen on
    Interface = 0 ; IP address of network interface (0=Any)
    Response = CALLERID:SEXPOTS ; Resp-type and Add-info portions of response


    I get this when I run SEXPOTS:

    bbs@server:/opt/synchronet/exec$ /opt/synchronet/exec/sexpots /opt/synchronet/exec/sexpots.ini

    Synchronet External POTS Support/Linux v2.0 Copyright 2024 Rob Swindell

    8/12 10:46:48 Reading /opt/synchronet/exec/sexpots.ini
    8/12 10:46:48 Reading /opt/synchronet/exec/sexpots.ini
    8/12 10:46:48 Synchronet Communications I/O Library for Linux v1.19
    8/12 10:46:48 Build Aug 10 2024 11:40:02 GCC 12.2.0
    8/12 10:46:48 TCP Host: localhost
    8/12 10:46:48 TCP Port: 23
    8/12 10:46:48 Opening Communications Device (COM Port): /dev/ttyS0
    8/12 10:46:48 COM Port device handle: 3
    8/12 10:46:48 COM Port DTE rate: 0 bps
    8/12 10:46:48 Initializing modem:
    8/12 10:46:48 Modem Command: AT&FML1
    8/12 10:46:48 Waiting for Modem Response ...
    8/12 10:46:53 Modem Response TIMEOUT (5 seconds) on /dev/ttyS0
    8/12 10:46:53 Retry #1: sending modem command (AT&FML1) on /dev/ttyS0
    8/12 10:46:53 Dropping DTR on /dev/ttyS0
    8/12 10:46:53 Raising DTR on /dev/ttyS0
    8/12 10:46:53 Modem Command: AT&FML1
    8/12 10:46:53 Waiting for Modem Response ...
    8/12 10:46:58 Modem Response TIMEOUT (5 seconds) on /dev/ttyS0
    8/12 10:46:58 Retry #2: sending modem command (AT&FML1) on /dev/ttyS0
    8/12 10:46:58 Dropping DTR on /dev/ttyS0
    8/12 10:46:58 Raising DTR on /dev/ttyS0
    8/12 10:46:58 Modem Command: AT&FML1
    8/12 10:46:58 Waiting for Modem Response ...
    8/12 10:47:03 Modem Response TIMEOUT (5 seconds) on /dev/ttyS0
    8/12 10:47:03 Modem command (AT&FML1) failure on /dev/ttyS0 (3 attempts)
    8/12 10:47:03 Cleaning up ...
    8/12 10:47:03 Done (handled 0 calls).


    mincom output (I get TR and CS LEDs on after issuing the two commands):

    sbbs@server:/opt/synchronet/exec$ cat minicom.txt
    Willkommen zu minicom 2.8

    Optionen: I18n
    Port /dev/ttyS0, 10:31:20

    Drücken Sie CTRL-A Z für Hilfe zu speziellen Tasten
    AT&FML1
    OK
    AT#CID=1
    OK

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From nelgin@VERT/EOTLBBS to HotblackDesiato on Mon Aug 12 10:40:57 2024
    On Sun, 11 Aug 2024 20:01:00 -0700
    "HotblackDesiato" (VERT) <VERT!HotblackDesiato@endofthelinebbs.com>
    wrote:

    I am trying to set up SEXPOTS for my synchronet BBS (time warp back
    to the 90s...). However, sexpots keeps returning "modem command
    failure". I am running Debian Bookworm and the U.S. Robotics modem is connected to /dev/ttyS0. The user sbbs is member of the group dialout
    and has access tot he modem. I can issue modem commands in mincom and
    I am able to connect to the only remaining dialup BBS in my city. So
    I confirm that the modem works. I was able to get SEXPOTS to run once yesterday, but since then fails to run (either manually started or
    via systemd). I rebooted, restarted the modem etc., not sure how I
    managed to get it to run once. After that only failures.

    I'd make sure nothing else is using ttyS0

    fuser /dev/ttyS0

    Your modem config is pretty much the same as mine, and if it works in
    minicom it should be working otherwise. Maybe double check permissions
    maybe?
    --
    End Of The Line BBS - Plano, TX
    telnet endofthelinebbs.com 23
    ---
    Synchronet End Of The Line BBS - endofthelinebbs.com
  • From Digital Man@VERT to HotblackDesiato on Mon Aug 12 17:17:10 2024
    Re: sexpots.ini - modem command failure (TIMEOUT)
    By: HotblackDesiato to rswindell on Sun Aug 11 2024 08:01 pm


    I am trying to set up SEXPOTS for my synchronet BBS (time warp back to the 90s...). However, sexpots keeps returning "modem command failure". I am running Debian Bookworm and the U.S. Robotics modem is connected to /dev/ttyS0. The user sbbs is member of the group dialout and has access tot he modem. I can issue modem commands in mincom and I am able to connect to the only remaining dialup BBS in my city. So I confirm that the modem works. I was able to get SEXPOTS to run once yesterday, but since then fails to run (either manually started or via systemd). I rebooted, restarted the modem etc., not sure how I managed to get it to run once. After that only failures.

    Any ideas?

    Here is my sexpots.ini

    LogLevel = INFO ; set display/log output level
    Debug = TRUE ; enable debug logging (overrides LogLevel) PauseOnExit = FALSE ; wait for key-press on exit (non-service)
    CLS = FALSE ; send a form feed (clear screen) before copyright banner
    Prompt =
    PromptTimeout = 60 ; seconds to wait for a remote character after sending prompt (0=infinite)

    [COM]
    Device = /dev/ttyS0 ; COM port device name (or port number)
    BaudRate = 0 ; If non-zero, use this DTE rate (e.g. 115200) Hangup = TRUE ; Hang-up phone after call
    IgnoreDCD = FALSE ; Set to TRUE to ignore state of DCD
    DCDTimeout = 10 ; Seconds to wait for DCD to drop
    DTRDelay = 100 ; Milliseconds to delay before hangup
    NullModem = FALSE ; Set to TRUE to not send AT commands to modem Parity = FALSE ; Use parity (error detection/correction) bit ParityOdd = FALSE ; Use odd (not even) parity for parity calculations ByteSize = 8 ; Number of data bits per byte StopBits = 1 ; Number of stop bits per byte

    [Modem]
    ;Init = AT&F ; Modem initialization string
    Init = AT&FML1 ; low volume

    So this would be interpretted as
    &F - factor defaults
    M0 - disable modem speaker
    L1 - set speaker volume to '1'

    L1 and M0 contradict eachother. ATLx is not supported by all modems either.

    Have you tried using a simpler modem init string, like just "ATZ" maybe?
    --
    digital man (rob)

    Steven Wright quote #29:
    To steal ideas from one person is plagiarism; to steal from many is research. Norco, CA WX: 88.1F, 37.0% humidity, 11 mph WNW wind, 0.00 inches rain/24hrs ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From HotblackDesiato@VERT to Digital Man on Mon Aug 12 19:05:19 2024
    Thanks Rob.

    I also tried AT&F as per your example ini file, but have the same issue.

    I even tried an empty Init, no command. Same issue with ATS0=1. This command, as well as AT&F work in minicom.

    Maybe I need a longer timeout?


    I will try ATZ once I am back home.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From HotblackDesiato@VERT to nelgin on Mon Aug 12 19:07:40 2024
    Thanks, I will try this once I am back home.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to HotblackDesiato on Mon Aug 12 19:10:05 2024
    Re: sexpots.ini - modem command failure (TIMEOUT)
    By: HotblackDesiato to Digital Man on Mon Aug 12 2024 07:05 pm

    Thanks Rob.

    I also tried AT&F as per your example ini file, but have the same issue.

    I even tried an empty Init, no command. Same issue with ATS0=1. This command, as well as AT&F work in minicom.

    Maybe I need a longer timeout?

    No, just sounds like a serial port/UART communication issue.
    --
    digital man (rob)

    Sling Blade quote #21:
    Karl: Coffee makes me nervous when I drink it. Mmm.
    Norco, CA WX: 83.0F, 42.0% humidity, 12 mph WNW wind, 0.00 inches rain/24hrs ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From HotblackDesiato@VERT to nelgin on Mon Aug 12 23:13:01 2024
    Nothing is using /dev/ttyS0

    root@server:/home/sbbs# fuser -a -v /dev/ttyS0
    BEN. PID ZUGR. BEFEHL
    /dev/ttyS0:

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From HotblackDesiato@VERT to Digital Man on Mon Aug 12 23:17:51 2024
    I changed the Init command to "ATZ" and ran sexpots manually after boot. It seems to work (see below). I will test with systemd now.

    sbbs@server:/opt/synchronet/exec$ /opt/synchronet/exec/sexpots /opt/synchronet/exec/sexpots.ini

    Synchronet External POTS Support/Linux v2.0 Copyright 2024 Rob Swindell

    8/13 14:14:44 Reading /opt/synchronet/exec/sexpots.ini
    8/13 14:14:44 Reading /opt/synchronet/exec/sexpots.ini
    8/13 14:14:44 Synchronet Communications I/O Library for Linux v1.19
    8/13 14:14:44 Build Aug 10 2024 11:40:02 GCC 12.2.0
    8/13 14:14:44 TCP Host: localhost
    8/13 14:14:44 TCP Port: 23
    8/13 14:14:44 Opening Communications Device (COM Port): /dev/ttyS0
    8/13 14:14:44 COM Port device handle: 3
    8/13 14:14:44 COM Port DTE rate: 0 bps
    8/13 14:14:44 Initializing modem:
    8/13 14:14:44 Modem Command: ATZ
    8/13 14:14:44 Waiting for Modem Response ...
    8/13 14:14:44 Modem Response: OK
    8/13 14:14:44 Setting modem to auto-answer:
    8/13 14:14:44 Modem Command: ATS0=1
    8/13 14:14:44 Waiting for Modem Response ...
    8/13 14:14:44 Modem Response: OK
    8/13 14:14:44 Enabling modem Caller-ID:
    8/13 14:14:44 Modem Command: AT#CID=1
    8/13 14:14:44 Waiting for Modem Response ...
    8/13 14:14:44 Modem Response: OK
    8/13 14:14:44 Waiting for incoming call (Carrier Detect) ...

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From HotblackDesiato@VERT to Digital Man on Mon Aug 12 23:28:21 2024
    I rebooted with "sexpots.service" enabled. The three LEDS AA, TR, CS were on, but after a few seconds TR went off. systemd gives me inactive status:

    root@server:~# systemctl status sexpots.service
    ○ sexpots.service - SEXPOTS modem support for synchronet
    Loaded: loaded (/lib/systemd/system/sexpots.service; enabled; preset: enabled)
    Active: inactive (dead) since Tue 2024-08-13 14:21:43 +08; 38s ago
    Duration: 15.104s
    Process: 796 ExecStart=/opt/synchronet/exec/sexpots /opt/synchronet/exec/sexpots.ini (code=exited, status=0/SUCCESS)
    Main PID: 796 (code=exited, status=0/SUCCESS)
    CPU: 559ms

    Aug 13 14:21:43 server sexpots[796]: 8/13 14:21:33 Raising DTR on /dev/ttyS0 Aug 13 14:21:43 server sexpots[796]: 8/13 14:21:33 Modem Command: ATZ
    Aug 13 14:21:43 server sexpots[796]: 8/13 14:21:33 Waiting for Modem Response ...
    Aug 13 14:21:43 server sexpots[796]: 8/13 14:21:38 Dropping DTR on /dev/ttyS0 Aug 13 14:21:43 server sexpots[796]: 8/13 14:21:38 Raising DTR on /dev/ttyS0 Aug 13 14:21:43 server sexpots[796]: 8/13 14:21:38 Modem Command: ATZ
    Aug 13 14:21:43 server sexpots[796]: 8/13 14:21:38 Waiting for Modem Response ...
    Aug 13 14:21:43 server sexpots[796]: 8/13 14:21:43 Cleaning up ...
    Aug 13 14:21:43 server sexpots[796]: 8/13 14:21:43 Done (handled 0 calls).
    Aug 13 14:21:43 server systemd[1]: sexpots.service: Deactivated successfully.

    It seems I am making a mistake in my systemd config file.

    [Unit]
    Description=SEXPOTS modem support for synchronet
    After=sbbs.service

    [Service]
    Type=simple
    User=sbbs
    Group=sbbs
    WorkingDirectory=/home/sbbs
    ExecStart=/opt/synchronet/exec/sexpots /opt/synchronet/exec/sexpots.ini ExecReload=/opt/synchronet/exec/sexpots /opt/synchronet/exec/sexpots.ini -live

    [Install]
    WantedBy=multi-user.target

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From HotblackDesiato@VERT to Digital Man on Tue Aug 13 00:18:09 2024
    I think I have a success, as I was repeatedly able to successfully start it manually. The systemd service also doesn't die:

    This post actually helped me: https://sestar.synchro.net/msgs/msg.ssjs?msg_sub=fido-synchron&message=19258

    I increased the timeout to 15, changed the init string to AT&S1L1 and all baud rates to 57600. sexpots always connects on the 2nd or 3rd try.

    systemctl status sexpots.service
    ● sexpots.service - SEXPOTS modem support for synchronet
    Loaded: loaded (/lib/systemd/system/sexpots.service; enabled; preset: enabled)
    Active: active (running) since Tue 2024-08-13 15:10:56 +08; 1min 43s ago
    Main PID: 774 (sexpots)
    Tasks: 1 (limit: 9281)
    Memory: 724.0K
    CPU: 5.615s
    CGroup: /system.slice/sexpots.service
    └─774 /opt/synchronet/exec/sexpots /opt/synchronet/exec/sexpots.ini

    Aug 13 15:10:56 server systemd[1]: Started sexpots.service - SEXPOTS modem support for synchronet.
    Aug 13 15:11:11 server sexpots[774]: 8/13 15:11:11 Modem Response TIMEOUT (15 seconds) on /dev/ttyS0
    Aug 13 15:11:11 server sexpots[774]: 8/13 15:11:11 Retry #1: sending modem command (AT&S1L1) on /dev/ttyS0
    Aug 13 15:11:26 server sexpots[774]: 8/13 15:11:26 Modem Response TIMEOUT (15 seconds) on /dev/ttyS0
    Aug 13 15:11:26 server sexpots[774]: 8/13 15:11:26 Retry #2: sending modem command (AT&S1L1) on /dev/ttyS0

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to HotblackDesiato on Tue Aug 13 12:04:56 2024
    Re: sexpots.ini - modem command failure (TIMEOUT)
    By: HotblackDesiato to Digital Man on Mon Aug 12 2024 11:28 pm

    ExecReload=/opt/synchronet/exec/sexpots /opt/synchronet/exec/sexpots.ini -live

    This doesn't really make sense to me. The '-live' option requires an argument (the communication port handle/descriptor) and it's not used for any "reload" purpose.
    --
    digital man (rob)

    Steven Wright quote #1:
    I'd kill for a Nobel Peace Prize.
    Norco, CA WX: 87.5F, 38.0% humidity, 6 mph WNW wind, 0.00 inches rain/24hrs ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net