We’re using the latest HL7800 firmware (HL7800.4.6.9) and
2 USB acm ports (UART0 and UART1 port is not connected)
Unfortunately it looks like the PPP data port (ttyACM1) is somehow stuck
after a while. It doesn’t respond to the PPP LCP Config Requests.
It is easy to recreate the problem with the recommended hl78xx and hl78xx-chat script
(from: HL7800 as a network interface in Linux), see:
Aug 31 10:08:06 (none) daemon.notice pppd[5405]: pppd 2.4.8 started by root, uid 0
Aug 31 10:08:07 (none) local2.info chat[5418]: abort on (BUSY)
Aug 31 10:08:07 (none) local2.info chat[5418]: abort on (NO CARRIER)
Aug 31 10:08:07 (none) local2.info chat[5418]: abort on (VOICE)
Aug 31 10:08:07 (none) local2.info chat[5418]: abort on (NO DIALTONE)
Aug 31 10:08:07 (none) local2.info chat[5418]: abort on (NO ANSWER)
Aug 31 10:08:07 (none) local2.info chat[5418]: abort on (DELAYED)
Aug 31 10:08:07 (none) local2.info chat[5418]: abort on (ERROR)
Aug 31 10:08:07 (none) local2.info chat[5418]: timeout set to 10 seconds
Aug 31 10:08:07 (none) local2.info chat[5418]: send (AT^M)
Aug 31 10:08:08 (none) local2.info chat[5418]: expect (OK)
Aug 31 10:08:08 (none) local2.info chat[5418]: AT^M^M
Aug 31 10:08:08 (none) local2.info chat[5418]: OK
Aug 31 10:08:08 (none) local2.info chat[5418]: -- got it
Aug 31 10:08:08 (none) local2.info chat[5418]: send (ATD*99***1#^M)
Aug 31 10:08:08 (none) local2.info chat[5418]: expect (CONNECT)
Aug 31 10:08:08 (none) local2.info chat[5418]: ^M
Aug 31 10:08:08 (none) local2.info chat[5418]: ATD*99***1#^M^M
Aug 31 10:08:08 (none) local2.info chat[5418]: CONNECT
Aug 31 10:08:08 (none) local2.info chat[5418]: -- got it
Aug 31 10:08:08 (none) daemon.debug pppd[5405]: Script /usr/sbin/chat -v -t 5 -f /etc/chatscripts/hl78xx-chat finished (pid 5418), status = 0x0
Aug 31 10:08:08 (none) daemon.info pppd[5405]: Serial connection established.
Aug 31 10:08:08 (none) daemon.debug pppd[5405]: using channel 31
Aug 31 10:08:08 (none) daemon.info pppd[5405]: Using interface ppp0
Aug 31 10:08:08 (none) daemon.notice pppd[5405]: Connect: ppp0 <--> /dev/ttyACM1
Aug 31 10:08:08 (none) daemon.info NetworkManager[20998]: <info> [1630404488.2192] manager: (ppp0): new Ppp device (/org/freedesktop/NetworkManager/Devices/23)
Aug 31 10:08:09 (none) daemon.debug pppd[5405]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x45f67298> <pcomp>]
Aug 31 10:08:09 (none) auth.notice AdminMode[5434]: Initializing D-Bus server
Aug 31 10:08:09 (none) auth.crit AdminMode[5434]: Could not connect to EVSEd. Cannot continue.
Aug 31 10:08:12 (none) daemon.debug pppd[5405]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x45f67298> <pcomp>]
Aug 31 10:08:15 (none) daemon.debug pppd[5405]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x45f67298> <pcomp>]
Aug 31 10:08:18 (none) daemon.debug pppd[5405]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x45f67298> <pcomp>]
Aug 31 10:08:21 (none) daemon.debug pppd[5405]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x45f67298> <pcomp>]
Aug 31 10:08:24 (none) daemon.debug pppd[5405]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x45f67298> <pcomp>]
Aug 31 10:08:27 (none) daemon.debug pppd[5405]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x45f67298> <pcomp>]
Aug 31 10:08:30 (none) daemon.debug pppd[5405]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x45f67298> <pcomp>]
Aug 31 10:08:33 (none) daemon.debug pppd[5405]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x45f67298> <pcomp>]
Aug 31 10:08:36 (none) daemon.debug pppd[5405]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x45f67298> <pcomp>]
Aug 31 10:08:39 (none) daemon.warn pppd[5405]: LCP: timeout sending Config-Requests
Aug 31 10:08:39 (none) daemon.notice pppd[5405]: Connection terminated.
Aug 31 10:08:40 (none) daemon.notice pppd[5405]: Modem hangup
Aug 31 10:08:40 (none) daemon.info pppd[5405]: Exit.
Clearly the modem (USB virtual) PPP port doesn’t respond.
After modem reset (with CFUN=1,1) it does work once, see:
Aug 31 10:18:24 (none) daemon.notice pppd[10224]: pppd 2.4.8 started by root, uid 0
Aug 31 10:18:25 (none) local2.info chat[10235]: abort on (BUSY)
Aug 31 10:18:25 (none) local2.info chat[10235]: abort on (NO CARRIER)
Aug 31 10:18:25 (none) local2.info chat[10235]: abort on (VOICE)
Aug 31 10:18:25 (none) local2.info chat[10235]: abort on (NO DIALTONE)
Aug 31 10:18:25 (none) local2.info chat[10235]: abort on (NO ANSWER)
Aug 31 10:18:25 (none) local2.info chat[10235]: abort on (DELAYED)
Aug 31 10:18:25 (none) local2.info chat[10235]: abort on (ERROR)
Aug 31 10:18:25 (none) local2.info chat[10235]: timeout set to 10 seconds
Aug 31 10:18:25 (none) local2.info chat[10235]: send (AT^M)
Aug 31 10:18:25 (none) local2.info chat[10235]: expect (OK)
Aug 31 10:18:25 (none) local2.info chat[10235]: AT^M^M
Aug 31 10:18:25 (none) local2.info chat[10235]: OK
Aug 31 10:18:25 (none) local2.info chat[10235]: -- got it
Aug 31 10:18:25 (none) local2.info chat[10235]: send (ATD*99***1#^M)
Aug 31 10:18:25 (none) local2.info chat[10235]: expect (CONNECT)
Aug 31 10:18:25 (none) local2.info chat[10235]: ^M
Aug 31 10:18:25 (none) local2.info chat[10235]: ATD*99***1#^M^M
Aug 31 10:18:25 (none) local2.info chat[10235]: CONNECT
Aug 31 10:18:25 (none) local2.info chat[10235]: -- got it
Aug 31 10:18:25 (none) daemon.debug pppd[10224]: Script /usr/sbin/chat -v -t 5 -f /etc/chatscripts/hl78xx-chat finished (pid 10235), status = 0x0
Aug 31 10:18:25 (none) daemon.info pppd[10224]: Serial connection established.
Aug 31 10:18:25 (none) daemon.debug pppd[10224]: using channel 32
Aug 31 10:18:25 (none) daemon.info pppd[10224]: Using interface ppp0
Aug 31 10:18:25 (none) daemon.notice pppd[10224]: Connect: ppp0 <--> /dev/ttyACM1
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xae051895> <pcomp> <accomp>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x4db71c0c> <pcomp>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: sent [LCP ConfRej id=0x1 <accomp>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x4db71c0c> <pcomp>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <magic 0xae051895> <pcomp>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: sent [LCP ConfAck id=0x2 <asyncmap 0x0> <magic 0xae051895> <pcomp>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: sent [LCP EchoReq id=0x0 magic=0x4db71c0c]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: rcvd [LCP EchoRep id=0x0 magic=0xae051895]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: rcvd [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 10.0.0.1>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: sent [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 10.0.0.1>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: rcvd [IPV6CP ConfReq id=0x1]
Aug 31 10:18:26 (none) daemon.warn pppd[10224]: Unsupported protocol 'IPv6 Control Protocol' (0x8057) received
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: sent [LCP ProtRej id=0x2 80 57 01 01 00 04]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: rcvd [CCP ConfReq id=0x1]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: sent [CCP ConfAck id=0x1]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: rcvd [CCP ConfRej id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: sent [CCP ConfReq id=0x2]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: rcvd [IPCP ConfRej id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: sent [IPCP ConfReq id=0x2 <addrs 0.0.0.0 0.0.0.0> <compress VJ 0f 01>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: rcvd [CCP ConfAck id=0x2]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: rcvd [IPCP ConfRej id=0x2 <addrs 0.0.0.0 0.0.0.0>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: sent [IPCP ConfReq id=0x3 <compress VJ 0f 01>]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: rcvd [IPCP ConfAck id=0x3 <compress VJ 0f 01>]
Aug 31 10:18:26 (none) daemon.err pppd[10224]: Could not determine local IP address
Aug 31 10:18:26 (none) daemon.info pppd[10224]: Connect time 0.1 minutes.
Aug 31 10:18:26 (none) daemon.info pppd[10224]: Sent 97 bytes, received 89 bytes.
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: sent [IPCP TermReq id=0x4 "Could not determine local IP address"]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: rcvd [IPCP TermAck id=0x4]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: sent [LCP TermReq id=0x3 "No network protocols running"]
Aug 31 10:18:26 (none) daemon.debug pppd[10224]: rcvd [LCP TermAck id=0x3]
Aug 31 10:18:26 (none) daemon.notice pppd[10224]: Connection terminated.
Aug 31 10:18:27 (none) daemon.info pppd[10224]: Exit.
I known there is some local IP address pppd config issue that is causing pppd to fail,
but at least the ttyACM1 PPP port is responding, right?
After this, any subsequent ‘pppd call hl78xx’ fails because the ttyACM1 PPP port doesn’t respond!
Isn’t this a modem PPP port bug or am I missing something?
I guess the internal state of the modem PPP port is confused, is there something I can do to reset the port (apart from CFUN=1,1)?
Can you please investigate this issue?