Why is my PPP connection failing using the modem_shell on the nRF9160dk to talk to a Dart-6UL over uart? Also what are these errors I'm seeing on the MoSH even when a PPP connection is successful?

I'm trying to connect the nrf9160dk from its uart0 running the modem_shell sample code from SDK v2.2.0 to our Dart6ul on its tty4 uart running at 921600 baud using a PPP connection. I have been able to use the modem_shell on the nrf9160 and ubuntu laptop successfully. But I'm getting errors in both configurations that I don't understand completely. When trying to replace the ubuntu laptop (ttyACM0) with the Dart6UL (ttymxc4), I use the same command (changing the port) to initiate the PPP connection from the unix device:

 pppd -detach /dev/ttymxc4 921600 noauth crtscts noccp novj nodeflate nobsdcomp local debug +ipv6 ipv6cp-use-ipaddr usepeerdns noipdefault defaultroute ipv6cp-restart 5 ipcp-restart 5 lcp-echo-interval 0

I have been able to successfully run the Serial LTE Modem example on my 9160 and Dart-6ul with these same devicetree settings to use the ttymxc4 and uart0.

When running the mosh, I see these same errors on the MoSH terminal (regardless of ubuntu or dart-6ul):

[00:00:04.657,104] <wrn> net_if: iface 0x200127c4 is down

[00:00:34.670,959] <err> net_sock: invalid access on sock -1 by thread 0x20012ad0

[00:00:36.702,850] <err> net_ppp: uart_rx_enable() failed, err -16

And the bottom two repeat. I'm attaching photos of the ubuntu and the dart-6ul outputs from MoSH prompt. In addition the Dart-6ul is not completing the setup of the PPP connection. I see the PPP start but then it fails out and eventually gives me a fork error. I'm attaching my net-connect and net-chat file running on the Dart-6ul. And a log file that the net-connect kicks off.

Any help getting these understood and me pointed in the right direction would be greatly appreciated!

9160dk_mosh_errors.jpg shows the startup of the LTE connection and the issues identified above.

dart_6ul_fail1.jpg shows that the PPP did initiate but it doesn't appear as a network interface and then displays the fork error.

#!/bin/bash
exec > ppp_connect_log.txt 2>&1

/usr/sbin/pppd -detach /dev/ttymxc4 921600 noauth crtscts noccp novj nodeflate nobsdcomp local debug +ipv6 ipv6cp-use-ipaddr usepeerdns noipdefault defaultroute ipv6cp-restart 5 ipcp-restart 5 lcp-echo-interval 0
ABORT 'NO CARRIER'
ABORT 'NO DIALTONE'
ABORT 'ERROR'
'' ATZ
OK 'AT+CGDCONT=1,"IP","hologram"'
OK 'ATDT*99***1#'
CONNECT \d\c

Script /etc/ppp/net-connect finished (pid 511), status = 0x8
Connect script failed

ce temporarily unavailable
Connect script failed

Parents Reply Children
  • MichelleV said:
    I've been able to sucessfully get a ppp connection running on a variscite dart 6ul via usb but still can't via uart.

    How did you connect the dart 6ul to the nRF9160 with USB?

    It might be some flow control issue?

    Another thing you could try is to use a logic analyzer to capture the activity on the UART lines in the cases where it works vs. when it doesn't. There might be some differences there that can indicate what is wrong.

    MichelleV said:
    I was also told that since the modem_shell is a "test" application, I really can't get any more assistance. We are trying to run this in the configuration we will need for the future product but we are still very much in the test / evaluation phase of the project. Can I continue to reach out to you to get this figured out?

    We will still try our best to help you use the nRF9160 and the modem shell, but "our best" is a bit more limited in this case, compared to more common use cases.

    Also, because the modem shell is primarily intended to be used when testing the nRF9160, the testing has been limited to desktop Linux (Ubuntu), and not single board computers with custom Linux kernels, or other similar devices.

    And unfortunately, our knowledge falls a bit short on that front.

    You can also try to reach out to the Zephyr community. The PPP implementation comes from Zephyr, and is not something we have done ourselves. So if you ask there, they might be able to provide more details.

    https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.4.0/zephyr/introduction/index.html#community-support

  • I do have a couple of logic captures...I'll dig through those here in a bit and see if there is anything that jumps out.

    I took my 9160DK and plugged the usb cable from it into the top usb jack on my variscite dart-6ul dk. I was then able to get the PPP connection to the 9160 via the ttyACM0 device. 

    I'll check out the Zephyr community as well. Thank you!

Related