[Regression ncs v1.8.0] nRF9160-DK , Modem_shell demo , HARD FAULT after connecting over ppp

Hello,

I was testing modem_shell demo in terms of using ppp. I'm using nrf9160dk board. 

I found issue present in ncs v1.7.1 https://devzone.nordicsemi.com/f/nordic-q-a/80776/nrf9160-dk-modem_shell-demo-ppp-unable-to-access-the-internet

When I'm using  v1.7.1 with applied changes from PR as advised, I'm able to connect with ppp client (from linux I'm executing: sudo pppd -detach /dev/ttyACM0 115200 noauth nocrtscts local ) without any issues

When I'm using ncs v1.8.0 which seems to have fix for this issue merged in (I verified that changes are present in cs/zephyr/subsys/net/ip/packet_socket.c), the problem with hard fault is still present.

  • Hi,

     

    Thank you for reporting this back to us. I can confirm that I see the same fault occuring from the "ppp_workq" thread.

    I will report this internally.

     

    Kind regards,

    Håkon

  • I got help from R&D to debug this issue, and the fault you're seeing is highly likely a side-effect to the ipv6 support having been added to the modem_shell.

    If you add the flag "noccp" to the pppd options, it should work as intended:

    $ sudo pppd -detach /dev/ttyACM0 115200 noauth nocrtscts local noccp
    Using interface ppp0
    Connect: ppp0 <--> /dev/ttyACM0
    local  LL address fe80::xyz
    remote LL address fe80::xyzz
    local  IP address x.y.z.zz
    remote IP address x.y.z.zz
    

     

    Could you try this and report back?

     

    Kind regards,

    Håkon

  • Hi ,
    In case of hard fault that helped.
    Right now I'm getting:

    Using interface ppp0
    Connect: ppp0 <--> /dev/ttyACM0
    LCP: Rcvd Code-Reject for code 192, id 33
    local IP address x.y.z.zz
    remote IP address x.y.z.zz
    LCP: Rcvd Code-Reject for code 192, id 33
    LCP: Rcvd Code-Reject for code 192, id 33
    LCP: Rcvd Code-Reject for code 192, id 33
    LCP: Rcvd Code-Reject for code 192, id 33
    LCP: Rcvd Code-Reject for code 192, id 33

  • Hi,

     

    Does the shell (uart1) output show anything specific?

    You can also add "debug" to the pppd options to get a more verbose output on the PC side.

     

    Are you able to for instance ping from the PC side?

    ping -I ppp0 google.com

     

    Kind regards,

    Håkon

  • There is nothing interesting on shell uart:

    *** Booting Zephyr OS build v2.7.0-ncs1  ***
    
    MOSH version:       v1.8.0
    MOSH build id:      custom
    MOSH build variant: dev
    
    Initializing modemlib...
    
    
    mosh:~$ Initialized modemlib
    
    
    Network registration status: searching
    Currently active system mode: LTE-M
    LTE cell changed: ID: 61565196, Tracking area: 54003
    RRC mode: Connected
    PDN event: PDP context 0 activated
    Network registration status: Connected - roaming
    PSM parameter update: TAU: 10800, Active time: -1 seconds
    Default PDN is active: starting PPP automatically.
    modem data socket 4 created for modem data
    PPP Zephyr data socket 5 created
    Modem config for system mode: LTE-M
    Modem config for LTE preference: No preference, automatically selected by the modem
    Currently active system mode: LTE-M
    Modem FW version:      mfw_nrf9160_1.2.3
    Operator full name:   "Orange"
    Operator short name:  "Orange"
    Operator PLMN:        "26003"
    Current cell id:       61565196 (0x03AB690C)
    Current phy cell id:   421
    Current band:          20
    Current TAC:           54003 (0xD2F3)
    Current rsrp:          26: -115dBm
    Current snr:           27: 3dB
    Mobile network time and date: 22/01/05,12:15:27+04
    PDP context info 1:
      CID:                0
      PDN ID:             0
      PDP context active: yes
      PDP type:           IP
      APN:                xxx
      IPv4 MTU:           1500
      IPv4 address:       x.y.z.zz
      IPv6 address:       ::
      IPv4 DNS address:   x.y.z.zz, x.y.z.zz
      IPv6 DNS address:   ::, ::
    PPP carrier ON
    RRC mode: Idle
    Dial up (IPv4) connection up
    RRC mode: Connected
    RRC mode: Idle
    RRC mode: Connected
    RRC mode: Idle
    RRC mode: Connected

    From PC pppd cal with debug I can see:

    ~ sudo pppd -detach /dev/ttyACM0 115200 noauth nocrtscts local noccp debug
    using channel 6
    Using interface ppp0
    Connect: ppp0 <--> /dev/ttyACM0
    sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf62fbb22> <pcomp> <accomp>]
    rcvd [LCP ConfRej id=0x1 <asyncmap 0x0> <magic 0xf62fbb22> <pcomp> <accomp>]
    sent [LCP ConfReq id=0x2]
    rcvd [LCP ConfAck id=0x2]
    rcvd [LCP ConfReq id=0x1 <mru 1500>]
    sent [LCP ConfAck id=0x1 <mru 1500>]
    sent [LCP EchoReq id=0x0 magic=0x0]
    sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0>]
    rcvd [IPCP ConfReq id=0x1 <addr x.y.z.zz> <ms-dns1 10.105.16.254> <ms-dns2 10.105.144.254>]
    sent [IPCP ConfRej id=0x1 <ms-dns1 10.105.16.254> <ms-dns2 10.105.144.254>]
    rcvd [IPV6CP ConfReq id=0x1 <addr fe80::0000:5eff:fe00:5371>]
    Unsupported protocol 'IPv6 Control Protocol' (0x8057) received
    sent [LCP ProtRej id=0x3 80 57 01 01 00 0e 01 0a 00 00 5e ff fe 00 53 71]
    rcvd [LCP EchoRep id=0x0 magic=0x0]
    rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]
    sent [IPCP ConfReq id=0x2 <addr 0.0.0.0>]
    rcvd [IPCP ConfReq id=0x2 <addr x.y.z.zz>]
    sent [IPCP ConfAck id=0x2 <addr x.y.z.zz>]
    rcvd [LCP CodeRej id=0x3 c0 21 08 03 00 14 80 57 01 01 00 0e 01 0a 00 00 5e ff]
    LCP: Rcvd Code-Reject for code 192, id 33
    rcvd [IPCP ConfNak id=0x2 <addr x.y.z.zz>]
    sent [IPCP ConfReq id=0x3 <addr x.y.z.zz>]
    rcvd [IPCP ConfAck id=0x3 <addr x.y.z.zz>]
    local  IP address x.y.z.zz
    remote IP address x.y.z.zz
    Script /etc/ppp/ip-up started (pid 14054)
    Script /etc/ppp/ip-up finished (pid 14054), status = 0x0
    rcvd [IPV6CP ConfReq id=0x1 <addr fe80::0000:5eff:fe00:5371>]
    Unsupported protocol 'IPv6 Control Protocol' (0x8057) received
    sent [LCP ProtRej id=0x4 80 57 01 01 00 0e 01 0a 00 00 5e ff fe 00 53 71]
    rcvd [LCP CodeRej id=0x4 c0 21 08 04 00 14 80 57 01 01 00 0e 01 0a 00 00 5e ff]
    LCP: Rcvd Code-Reject for code 192, id 33

    I tried to ping time.google.com (ip: 216.239.35.0) as I know it is on white list of my sim card but also without success.
    Strange thing is that I'm also not able to ping it from modem shell. I need to make some more tries as I think I was able to do it in the past

Related