I am 90% (I think, I hope) there to getting mobile internet working on my Slackware 12.1 laptop via a bluetooth connection with a mobile phone (Nokia E61i) that is internet-enabled on the UK Vodafone network. The final step of getting a DNS working on the connection is eluding me however. I have found plenty of advice on setting up a pppd peer file and a chat script which seem to work OK except that the network seems to be giving me a bad DNS so no browser can browse (unless you provide explicit IP addresses).
There is an error message "Cannot determine ethernet address for proxy ARP" shortly before the bad DNS seems to be provided, but I am not at all sure what I can do to fix this. I have tried both with and without "usepeerdns" in my peer definition file and have tried to put some other DNS addresses in a resolv.conf file in /etc/ppp which I found in a posting from others having DNS problems with the Vodafone network, but nothing seems to help.
The actual connection through to the internet provider does seem to work since I can monitor the bytes on the phone software and when I try and ping or connect in a browser I see bytes being sent and received - its just that they are not helpful bytes from a kosher DNS service.
My debug output during the PPP session looks like this:
Code:
root@BZ_Lenovo:/etc/ppp/peers# pppd call vodaf
send (ATZ^M)
expect (OK)
ATZ^M^M
OK
-- got it
send (AT+CGDCONT=1,"IP","internet"^M)
expect (OK)
^M
AT+CGDCONT=1,"IP","internet"^M^M
OK
-- got it
send (ATD*99***1#^M)
expect (CONNECT)
^M
ATD*99***1#^M^M
CONNECT
-- got it
send (^M)
Serial connection established.
using channel 13
Using interface ppp0
Connect: ppp0 <--> /dev/rfcomm0
rcvd [LCP ConfReq id=0x0 <auth pap> <mru 1500> <asyncmap 0xa0000>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0>]
No auth is possible
sent [LCP ConfRej id=0x0 <auth pap>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0>]
rcvd [LCP ConfReq id=0x1 <mru 1500> <asyncmap 0xa0000>]
sent [LCP ConfAck id=0x1 <mru 1500> <asyncmap 0xa0000>]
sent [LCP EchoReq id=0x0 magic=0x0]
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [LCP EchoRep id=0x0 magic=0x0]
rcvd [LCP ProtRej id=0x0 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
rcvd [IPCP ConfReq id=0x0 <addr 10.6.6.6>]
sent [IPCP ConfAck id=0x0 <addr 10.6.6.6>]
rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfNak id=0x2 <addr 10.46.20.87> <ms-dns1 10.206.65.68> <ms-dns3 10.206.65.68>]
sent [IPCP ConfReq id=0x3 <addr 10.46.20.87> <ms-dns1 10.206.65.68> <ms-dns3 10.206.65.68>]
rcvd [IPCP ConfAck id=0x3 <addr 10.46.20.87> <ms-dns1 10.206.65.68> <ms-dns3 10.206.65.68>]
Cannot determine ethernet address for proxy ARP
local IP address 10.46.20.87
remote IP address 10.6.6.6
primary DNS address 10.206.65.68
secondary DNS address 10.206.65.68
*** Here I try some basic pinging of various hosts in another terminal
*** Phone shows bytes coming and going. I get "unknown host" errors.
*** Browser cannot find home page unless it's IP address is provided
*** I type Contrlol-C and ev everything exits nicely.
Terminating on signal 2
Connect time 1.4 minutes.
Sent 1050 bytes, received 967 bytes.
sent [LCP TermReq id=0x2 "User request"]
rcvd [LCP TermAck id=0x2]
Connection terminated.