How to get debug output from pppd on Android-x86

Disable starting ppp as a service (comment corresponding lines in file /hardware/ril/rild/rild.rc)

service ril-daemon /system/bin/rild
    class main
    socket rild stream 660 root radio
    socket rild-debug stream 660 radio system
    user root
    group radio cache inet misc audio log readproc wakelock

#service ppp /system/bin/pppd call gprs
#    user root
#    group system radio
#    disabled
#    oneshot

and start pppd manually with redirecting stderr output

# pppd call gprs &>/data/misc/radio/pppd.log

Bash Reference Manual

Logcat command-line tool

Advertisements

Unsupported protocol ‘IPv6 Control Protocol’ (0x8057) received

The issue was observed on Android-x86. In this case connections by IPv4 work but by IPv6 don’t.

To see error message kill pppd service and start it from command line

pppd call gprs

2018-07-09_15h32_35

Solution

Add following lines

ipv6cp-use-ipaddr
+ipv6

to the file /system/etc/ppp/peers/gprs

These options are passed to the pppd service.

Check that everything is Ok.

2018-07-09_15h16_21

To test http-connection by IPv6 use simple web-server

import SimpleHTTPServer
import SocketServer
import socket

PORT = 8000

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler

class V6Server(SocketServer.TCPServer):
address_family = socket.AF_INET6

httpd = V6Server(("::", PORT), Handler)

print "serving at port", PORT
httpd.serve_forever()

Start it by Python 2.7.

Test IPv6 connection by commands

ping6 -I ppp0 
curl -6 http://[]:8000/out.txt

shapka_saita_no_domain