HL7692 Linux no IP address over IPCP

I’m trying to integrate HL7692 into an Embedded Linux ARM board using pppd. Modem is connected over UART (not USB), and the problem seems to be that there’s no IP address in IPCP response. Consequently there’s a “Could not determine local IP address” error by pppd.
Same pppd configuration (and SIM card) works with another (non-Sierra) USB modem, with the only line changed being ttyS5 replaced with ttyACM0.
Sending AT commands over UART port seems to be working fine.

Can’t upload detailed logs and configuration since “New users cannot upload attachments”, so I posted logs and relevant conf file together here: https://pastebin.com/8DRgGF9R

Here’s also probably the most important line:
HL7692:
rcvd [IPCP ConfNak id=0x9 <ms-dns1 193.41.60.16> <ms-dns2 193.41.60.15>]
Another modem:
rcvd [IPCP ConfNak id=0x1 <addr 10.247.92.74> <ms-dns1 193.41.60.16> <ms-dns2 193.41.60.15>]

Note that there’re only DNS addresses in the former, and both DNS and IP in the latter.

Hello ivand, When you use UART, I suppose you should use /dev/ttyUSB0, not /dev/ttyS5. no?

No, when using HL7692 there’s no USB of any sort, modem is connected over UART directly to CPU.

Another modem has USB port, so I connect it to USB port of our board.

For HL7692, Could you please check AT+CGDCONT? to make sure the same APN is used with another non-sierra modem?

To set new apn: AT+CGDCONT=1,“IP”,“APN”

And before the PPPD, make sure network is well registered, please check ressult of AT+COPS? AT+CGREG?.

For Sierra:
AT+CGDCONT?
+CGDCONT: 1,“IP”,“www.ab.kyivstar.net”,“10.70.11.89”,0,0,0,0,0,0
OK

Other modem:
AT+CGDCONT?
+CGDCONT: 1,“IP”,“www.ab.kyivstar.net”,“0.0.0.0”,0,0
OK

So APN is the same, but it seems like Sierra is reporting IP address via AT command, and another modem through IPCP, which pppd expects. But that’s just my guess, not sure if it’s correct or not.

AT+COPS?
+COPS: 0,0,"UA-KYIVSTAR",7
OK

AT+CREG?
+CREG: 0,1
OK

Hi ivand,

For HL7692, when use cid1, could you try AT+CGATT=0 then to make the pppd connection?
or try with cid2(AT+CGDCONT=2,“IP”,”www.ab.kyivstar.net"), and set ATD99**2# in the configuration.

Hi Sierra_klin2

I’m not 100% sure what I was supposed to do, so I’ve copy-pasted both relevant pppd config file and pppd logs here: https://pastebin.com/vbXV407Q

In both cases there’s a “Serial line is looped back.”/“Loopback detected” error.

Hi,

Regarding the “Serial line is looped back.” issue, it’s quite different with the original issue, Could you check the UART driver or baudrate settings? and check
your settings under /etc/ppp/peers/.

Or is it possible to try PPP with USB-ACM0 modem port?

How am I supposed to check UART driver? AT commands work, so apparently it works.

Settings including baud rate are provided, you can check them as well.

We don’t have hardware that utilizes USB port. There’s adapter board that allows connecting modem to PC over UART, but the problem is the same on PC (No IP address).

Hi,

Back to the original issue “HL7692 Linux no IP address over IPCP”,

according to your log in: https://pastebin.com/8DRgGF9R
In your NG log:

sent [IPCP ConfReq id=0x2 <addrs 0.0.0.0 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
rcvd [IPCP ConfReq id=0x2]
sent [IPCP ConfAck id=0x2]
rcvd [IPCP ConfRej id=0x2 <addrs 0.0.0.0 0.0.0.0>]

Fortunately, my colleague ever sees such issue.
The solution is:

  • set AT+CGDCONT=1,“IP”,“www.ab.kyivstar.net
  • restart module
  • DO NOT SET AGAIN +CGDCONT by AT command
  • REMOVE the definition AT+CGDCONT=1,“IP”,“www.ab.kyivstar.net” in your “/etc/ppp/chat-4g.cgatt”
  • Perform the PPP connection (ATD99**1#)
    Or use cid2.

will try it, thanks!

but what do you mean exactly by restart: hardware reset, or some AT command?

Should no difference. You can try hardware reset or AT+CFUN=1,1.

Seems to work, thank you!

Why is it needed in the first place though, is it operator-specific for example?

We’re planning to ship product to different countries/operators, and therefore I’d like to know if this reboot should always be there, and that it won’t break things for another operator.

It’s not for specific operator. Since the APN could be saved in flash (+CGDCONT) it will not be lost after any reset. you only need to set it once.