Introduction
Some time ago i’ve bought Nokia E50. It’s a quite impressive phone, although the iphone made some not so right hype about itself nowadays. Anyway i’ve configured almost everything but the GPRS connectivity. When the Ethernet link was in a good shape i wasn’t worry about it, and honestly i’ve got many more interesting ways to spend my free time 😉
Unfortunately some days ago a big storm hit Cracow, and my Internet provider has found himself on the knees with the storm’s damages. The Internet link wasn’t working and i’ve got something important to send by an email. After this i’ve considered once and for all to configure my linux box for gprs connection with this phone.
I’ve chosen Bluetooth and the GPRS/Edge connectivity. After some searching on the net i’ve found no easy solution (working on my computer/phone). Now i’ve finally made everything running smoothly and thus i’ll write something about it. I’m using Polish Orange provider (Orange Polska/Idea).
Bluetooth connection
- Make sure you have connected phone and the linux box and exchange keys (it’s mentioned all over internet and i’m not going tell you how to do it).
- All of examples provided below has last 3 hex pairs of bluetooth address masked with the xx:xx:xx for a privacy reason
- Next find your phone with the command hcitool scan
- response should be something like:
-
zorba@thinkpad:~$ hcitool scan Scanning ... 00:19:B7:xx:xx:xx Zorba zorba@thinkpad:~$
- next search for Dial Up Network capability (DUN) with the command sdptool search dun
- result should be like:
zorba@thinkpad:~$ sdptool search dun Inquiring ... Searching for dun on 00:19:B7:xx:xx:xx ... Service Name: Dial-Up Networking Service RecHandle: 0x100a7 Service Class ID List: "Dialup Networking" (0x1103) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 2 Language Base Attr List: code_ISO639: 0x454e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "Dialup Networking" (0x1103) Version: 0x0100 zorba@thinkpad:~$
- result should be like:
- It has found DUN on the channel 2 (mark as bold above)
- Next configure rfcomm for the channel 2 with the command
sudo rfcomm bind 0 00:19:B7:xx:xx:xx 2 - It has binded your phone with the channel 2 for the 0’th rfcomm device
- Now it’s all ready for the ppp communication !
PPPD configuration
Save provided ppp configuration files below in your /etc/ppp/peers directory. I’ve found this configuration over the net and make some changes in order to make it works on the Nokia E50 phone.
Changes made are:
- in gprs added:
- connect-delay 6000
- default-asyncmap
- changed the user to “internet” as required on polish orange network
- in the gprs-connect-chat make some changes in the names of the connection string
Example communication log
This is my communication log with the orange network. Please bear in mind, that some differences might be with your case, but not so substantial.
zorba@thinkpad:~$ pppd call gprsPress CTRL-C to close the connection at any stage! defining PDP context... rAT OK ATH OK ATE1 OK AT+CGDCONT=1,"IP","internet","",0,0 OK waiting for connect... ATD*99# CONNECT Connected. If the following ppp negotiations fail, try restarting the phone. Serial connection established. using channel 3 Using interface ppp0 Connect: ppp0 <--> /dev/rfcomm0 rcvd [LCP ConfReq id=0x0 <auth pap> <mru 1500> <asyncmap 0xa0000>] sent [LCP ConfReq id=0x1 <magic 0xe36493ed>] sent [LCP ConfRej id=0x0 <asyncmap 0xa0000>] rcvd [LCP ConfRej id=0x1 <magic 0xe36493ed>] sent [LCP ConfReq id=0x2] rcvd [LCP ConfReq id=0x1 <auth pap> <mru 1500>] sent [LCP ConfAck id=0x1 <auth pap> <mru 1500>] rcvd [LCP ConfAck id=0x2] sent [PAP AuthReq id=0x1 user="internet" password="internet"] rcvd [PAP AuthAck id=0x1 ""] PAP authentication succeeded sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15>] sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>] rcvd [IPCP ConfReq id=0x0 <addr 10.6.6.6>] sent [IPCP ConfNak id=0x0 <addr 10.0.0.1>] rcvd [LCP ProtRej id=0x0 80 fd 01 01 00 0c 1a 04 78 00 18 04 78 00] Protocol-Reject for 'Compression Control Protocol' (0x80fd) received rcvd [IPCP ConfNak id=0x1 <addr 91.94.171.116> <ms-dns1 194.9.223.79> <ms-dns3 217.17.34.10>] sent [IPCP ConfReq id=0x2 <addr 91.94.171.116> <ms-dns1 194.9.223.79> <ms-dns3 217.17.34.10>] rcvd [IPCP ConfReq id=0x1 <addr 10.0.0.1>] sent [IPCP ConfAck id=0x1 <addr 10.0.0.1>] rcvd [IPCP ConfAck id=0x2 <addr 91.94.171.116> <ms-dns1 194.9.223.79> <ms-dns3 217.17.34.10>] not replacing existing default route via 192.168.1.1 Cannot determine ethernet address for proxy ARP local IP address 91.94.171.116 remote IP address 10.0.0.1 primary DNS address 194.9.223.79 secondary DNS address 217.17.34.10 Script /etc/ppp/ip-up started (pid 12460) Script /etc/ppp/ip-up finished (pid 12460), status = 0x0
After pressing Ctrl+C the rest is:
Terminating on signal 2 Connect time 1.0 minutes. Sent 0 bytes, received 0 bytes. Script /etc/ppp/ip-down started (pid 12528) sent [LCP TermReq id=0x3 "User request"] Script /etc/ppp/ip-down finished (pid 12528), status = 0x0 rcvd [LCP TermAck id=0x3] Connection terminated. Sending break to the modem PDP context detached Serial link disconnected.
Conclusion
Have fun! If you have questions, feel free to ask on the email provided on the main page of my site.