2.4 COM Enumerator Recognition by Modems
This is a sample implementation. This contains two departures for modems:
- The modem treats (DTR=0 & RTS=0) while IDLE as a special case, regardless of the state of an modem commands that condition the interpretation of the DTR lead (V.24 circuit 108/1 or 108/2) and the RTS lead (V.24 circuit 105 or 133).
- The modem uses the time signature between DTR=1 and RTS=1 to detect the COM Enumerator and distinguish from all other applications.
After the modem finishes the detection process, with success or failure, it should "go be a modem" and use the relevant command settings (e.g. TIA-602, etc) to condition susequent responses to DTR and RTS.
Sample Modem COM Enumerator Detection States
- on power up, set DSR=1
IDLE state (b-e)
- check for new commands, Ringing, check RTS and DTR.
- If AT command received, go be a modem.
- If Ringing detected, report event at default speed and go be a modem.
- if (DTR=0 & RTS=0) (unplugged or computer off or computer rebooted)
and IDLE (e.g. not in an active phone call)
wait (forever) for DTR=1
COM Enumerator detection (f-j)
- IF DTR=1, start T1=150ms, T2=250ms and check RTS (h)
- IF DTR=0, go back to IDLE (b)
- IF RTS=1 and T1 not expired, quit - go to IDLE (b)
- IF RTS=1 and T1 expired and T2 not expired
go send COM ID (e.g. Table 4)
go to IDLE (b)
- IF RTS=0 and T2 expired, quit - go to IDLE (b)