hharte / mm_manager

Manager for the Nortel Millennium series of payphones.
Other
59 stars 10 forks source link

Initialization with USR 5637 #20

Open maristieuvelonde opened 8 months ago

maristieuvelonde commented 8 months ago

Hello, I'm trying to get this to work with a USR 5637, and firmware NPA1F01.

First issue I have is that the init string doesn't seem to get applied properly. I know this because using the proposed init string ATE=1 S0=4 S7=3 &D2 +MS=Bell212A, the modem never answers. If instead after mm_manager is launched, I connect using screen and set these settings manually the modem behaves as expected.

However, even when the modem is seemingly initialized properly after manual intervention, I am stuck with the following error.

$ mm_manager -m -u -n 18885556300 -f /dev/ttyACM0 -vvv \
    -l mm_manager.log -p mm_manager.pcap \
    -i 'ATE=1 S0=4 S7=30 &D2 +MS=Bell212A' 
mm_manager v0.8 [dev] - (c) 2020-2023, Howard M. Harte

Sending UDP packets to 127.0.0.1:27273
Default Table directory: tables/default
Terminal-specific Table directory: tables/<terminal_id>
Using access code: 2727378
Using key card number: 4012888888
Manager Inter-packet Tx gap: 100ms.
Using Primary NCC number: 18885556300
Using Secondary NCC number: 18885556300
Baud Rate: 19200
Resetting modem: 'ATZ'
Intializing modem: 'ATE=1 S0=4 S7=30 &D2 +MS=Bell212A'
Modem initialized.
Waiting for call from terminal...
2024-02-03  0:22:52: Ringing...

2024-02-03  0:22:54: Ringing...

2024-02-03  0:22:56: Ringing...

2024-02-03  0:22:58: Ringing...

2024-02-03  0:23:10: Connected!

receive_mm_packet: CRC Error!
receive_mm_packet: Framing Error!

T-->M RX: flags=34 [ DIS | ERR | REQ | RETRY | Seq:0], len=  8 (datalen=  3), crc=0109.
    *** CRC Error, calculated: 260a ***
    *** Framing Error, expected STOP=0x03, got STOP=44 ***

    000: 31, 61, 55,                                                     1aU

T-->M RX: flags=34 [ DIS | ERR | REQ | RETRY | Seq:0], len=  8 (datalen=  3), crc=0109.
    *** CRC Error, calculated: 260a ***
    *** Framing Error, expected STOP=0x03, got STOP=44 ***

    000: 31, 61, 55,                                                     1aU
receive_mm_packet: Received disconnect status Failure from terminal.
receive_mm_packet: Hanging up modem.

T-->M RX: flags=34 [ DIS | ERR | REQ | RETRY | Seq:0], len=  8 (datalen=  3), crc=0109.
    *** CRC Error, calculated: 260a ***
    *** Framing Error, expected STOP=0x03, got STOP=44 ***

    000: 31, 61, 55,                                                     1aU

2024-02-03  0:23:21: Terminal : Disconnected.

2024-02-03  0:25:17: Carrier lost.

I've tried adding B1, &N2, and M0 to the init, all to no avail. I always get the exact same result.

Attached the resulting log (the pcap is empty): mm_manager.log.

maristieuvelonde commented 8 months ago

Turns out that echo is enabled by default after ATZ, but ATE=1 behaves very strangely on my modem. It actually turns off echo and sets S0=1. This is true with two different firmware revisions as well. I removed ATE=1 from the init, and now I get much further into the process (though it is currently still failing with CRC errors, they are now different each time).