Cannot get UL865 out of data mode

  • I'm using an UL865 connected to a microcontroller via UART with hardware flow control. Conencted signals: TXD, RXD, RTS, CTS.


    Everything works fine at 115200, but I want to use 921600, so I change the baud rate appropiately with AT+IPR=921600 and establish the connection. PPP negotiation works and I have access to the Internet.


    Now, I want to get the modem out of data mode in order to send it some AT command (hangup, for example). I'm completely unable to do this at 921600 baud. I send the <1s pause>+++<1s pause> escape sequence and nothing happens.


    Note that this works perfectly when operating at 115200 baud rate. It's only when I set 921200 when the escape sequence doesn't work. BTW any baud rate above 115200 exhibits the same problem.


    Any ideas?


    (need a way to get the modem out of data mode with just those four signals, resetting the modem is not an option in my case, deasserting DTE, which I've tried and works, is not either)

  • Quite strangely, escape sequence stops working only after PPP negotiation finishes. I've tried to then disconnect the modem signals from the microcontroller and connect to a serial-USB converter and then try the escape sequence. Works if I disconnect the microcontroller after CONNECT but doesn't work after PPP negotiation is complete.

  • Ok, some more information: the escape sequence at 921600 fails only when I first try it at 115200.


    It's like some bytes coming in at the wrong baud rate put the modem in a state in which it does not recognize the escape sequence when later sent at the right baud rate. Most likely bytes being received at 115200 when the modem UART is configured at 921600 are causing framing errors, but the modem should be able to recover, shouldn't it?


    Now I have a workaround (try first 921600 instead of 115200), but this does not actually solve the problem. How do I know spurious framing errors won't eventually set the modem in that unrecoverable state in which it does not recognize the escape sequence?

  • Hi,


    How much time do you wait between the two attempts, the one at 115200 and the one at 921600?
    Do you have the DCD line connected to your microcontroller?