Using Huawei E220 with Debian/Linux

Introduction

In Italy www.tre.it has introduced the Huawei E220 HSDPA USB modem to connect to Internet thru UMTS HSDPA up to 7.2Mps (also at 3.6Mpbs, or UMTS data at 384Kbps or even GPRS). It costs 19Eur/Month and it allows a total traffic of 5GiB/month, exactly what I need. The modem is not a gift, it costed 49Eur for a loan of 2 (two) years. The price per month is not more than the one of an ADSL cable subscription, and the big advantage is that I could travel where I want in Italy and (almost) always being able to connect to Internet at a decent speed.
Here follows my experience with Debian/Linux to establish a PPP connection with the modem I bought from Tre, i.e. an Huawei E220 USB modem. For any comment, correction, contribution write to lcappa__gmail.com (replace the underscores with the 'at' character), thanks.
You could get also some help reading the instructions in here by D.Bollmann


How to let a Linux kernel "see" the Huawei E220 USB modem

This paragraph is subdivided into a sections for the Linux kernel 2.6.20 to 2.6.23 and one for the Linux kernel after 2.6.24.


Linux kernel 2.6.20-2.6.23:

The Huaweii E220 modem is a composite USB device: in fact it acts like a mass storage device, and also as three serial communication ports. The Linux's developers dealt with this ignoring the mass device storage (which is a read-only mass storage, i.e. a CD-ROM with preload software only for Windows). For more information see http://www.kernel.org/pub/linux/kernel/v2.6/testing/v2.6.20/ChangeLog-2.6.20-rc2 or http://lwn.net/Articles/220545/ where you read the changelog for 2.6.20 linux kernel. The interesting part is reported here below:

[...]
Johann Wilhelm (2): usb-storage: Ignore the virtual cd-drive of the Huawei E220 USB Modem usb-gsm-driver: Added VendorId and ProductId for Huawei E220 USB Modem
[...]

This modification is present from Linux kernel 2.6.20 and more recent ones. Either assure yourself to select the following options while compiling the kernel or be sure that the prebuilt kernel you are going to use has the following enabled:
            Device Drivers --->
              USB support --->
                <M> OHCI HCD support

            Device Drivers  --->
              Network device support  --->
                <M> PPP (point-to-point protocol) support
                <M> PPP support for async serial ports
          
Now, running a 2.6.20+ Linux kernel, you could attach the Huawei modem to an usb port, and you should read in the 'dmesg' output the following text:
            usb 2-2: new full speed USB device using ohci_hcd and address 3
            usb 2-2: configuration #1 chosen from 1 choice
            usb-storage: USB Mass Storage device detected
            usb-storage: -- associate_dev
            usb-storage: Vendor: 0x12d1, Product: 0x1003, Revision: 0x0000
            usb-storage: Interface Subclass: 0xff, Protocol: 0xff
            usb-storage: device ignored
            usb-storage: storage_probe() failed
            usb-storage: -- usb_stor_release_resources
            usb-storage: -- sending exit command to thread
            usb-storage: -- dissociate_dev
            option 2-2:1.0: GSM modem (1-port) converter detected
            usb 2-2: GSM modem (1-port) converter now attached to ttyUSB0
            usb-storage: USB Mass Storage device detected
            usb-storage: -- associate_dev
            usb-storage: Vendor: 0x12d1, Product: 0x1003, Revision: 0x0000
            usb-storage: Interface Subclass: 0xff, Protocol: 0xff
            usb-storage: device ignored
            usb-storage: storage_probe() failed
            usb-storage: -- usb_stor_release_resources
            usb-storage: -- sending exit command to thread
            usb-storage: -- dissociate_dev
            option 2-2:1.1: GSM modem (1-port) converter detected
            usb 2-2: GSM modem (1-port) converter now attached to ttyUSB1
            usb-storage: USB Mass Storage device detected
            usb-storage: -- associate_dev
            usb-storage: Vendor: 0x12d1, Product: 0x1003, Revision: 0x0000
            usb-storage: Interface Subclass: 0x06, Protocol: 0x50
            usb-storage: device ignored
            usb-storage: storage_probe() failed
            usb-storage: -- usb_stor_release_resources
            usb-storage: -- sending exit command to thread
            usb-storage: -- dissociate_dev
            option 2-2:1.2: GSM modem (1-port) converter detected
            usb 2-2: GSM modem (1-port) converter now attached to ttyUSB2
          
If not, use the program located at this link http://www.kanoistika.sk/bobovsky/archiv/umts/ and run it as 'root' user:
            # ./huaweiAktBbo-i386.out

            Hladam HUAWEI E220 a prepnem na modem - bbo 06
            4 set feature request returned 0
            Prepnute-OK, Mas ttyUSB0 ttyUSB1 (cez usbserial vendor=0x12d1
            product=0x1003)
            pozri /proc/bus/usb/devices
          
You should get the output shown above (the "Aborted' word should not appear in the output, if it does, run it again after some second). Again, run the 'dmesg' command: you should finally read what has been shown already above. As a pedantic check, you could run the command below and see if the ttyUSB0/1/2 devices have been created or not (they corresponds to the three serial communication ports):
          $ ls -la /dev/ttyUSB*
          crw-rw---- 1 root dialout 188, 0 2007-05-26 08:45 /dev/ttyUSB0
          crw-rw---- 1 root dialout 188, 1 2007-05-26 10:44 /dev/ttyUSB1
          crw-rw---- 1 root dialout 188, 2 2007-05-26 10:44 /dev/ttyUSB2
        
Now your modem is ready to be used to connect to internet with 'pppd'.


Linux Kernel 2.6.24+:

In this kernel the Huawei E200 modem is correctly identified as a composite USB device, as you could read in the change log of the kernel 2.6.24 where the parts regarding the Huawei E220 are reported here below:

[...]
commit d853d872c14b9adc4adad29e56cd378b291f86e0
Author: Johann Wilhelm
Date: Wed Sep 5 13:49:29 2007 +0200

USB: usb-storage: Initialize Huawei E220 properly

This is a reworked version of this patch:

http://www.mail-archive.com/linux-usb-devel%40lists.sourceforge.net/msg55094/ activate_huawei_dev.patch

That properly initializes the HUAWEI E220 devices into multi-port mode.

[...]

commit b5ce18afecda8ce1a9ed5fb8ec6362df6f6f85b8
Author: Jaime Velasco Juan
Date: Fri Nov 30 16:30:11 2007 +0000

USB: option: Bind to the correct interface of the Huawei E220

This fixes a bunch of problems we are having with the Huawei devices...

[...]

Like told in the previous section, you must have compiled into the kernel (or as a module) the "OHCI HCD support", the "PPP (point-to-point protocol) support" and the "PPP support for async serial ports". When you plug the modem into the USB port then in the /var/log/syslog file should be present something like:
Jan 16 19:12:25 localhost kernel: [ 4007.162245] usb 5-1: new full speed USB device using uhci_hcd and address 4
Jan 16 19:12:25 localhost kernel: [ 4007.322066] usb 5-1: configuration #1 chosen from 1 choice
Jan 16 19:12:25 localhost kernel: [ 4007.330004] scsi7 : SCSI emulation for USB Mass Storage devices
Jan 16 19:12:25 localhost kernel: [ 4007.330004] usb 5-1: New USB device found, idVendor=12d1, idProduct=1003
Jan 16 19:12:25 localhost kernel: [ 4007.330004] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jan 16 19:12:25 localhost kernel: [ 4007.330004] usb 5-1: Product: HUAWEI Mobile
Jan 16 19:12:25 localhost kernel: [ 4007.330004] usb 5-1: Manufacturer: HUAWEI Technologies
Jan 16 19:12:25 localhost kernel: [ 4007.333594] usb-storage: device found at 4
Jan 16 19:12:25 localhost kernel: [ 4007.333594] usb-storage: waiting for device to settle before scanning
Jan 16 19:12:25 localhost kernel: [ 4007.397474] usb 5-1: USB disconnect, address 4
Jan 16 19:12:26 localhost kernel: [ 4008.135034] usb 5-1: new full speed USB device using uhci_hcd and address 5
Jan 16 19:12:26 localhost kernel: [ 4008.298591] usb 5-1: configuration #1 chosen from 1 choice
Jan 16 19:12:26 localhost kernel: [ 4008.307142] usb-storage: probe of 5-1:1.0 failed with error -5
Jan 16 19:12:26 localhost kernel: [ 4008.307142] option 5-1:1.0: GSM modem (1-port) converter detected
Jan 16 19:12:26 localhost kernel: [ 4008.307142] usb 5-1: GSM modem (1-port) converter now attached to ttyUSB0
Jan 16 19:12:26 localhost kernel: [ 4008.307142] usb-storage: probe of 5-1:1.1 failed with error -5
Jan 16 19:12:26 localhost kernel: [ 4008.307142] option 5-1:1.1: GSM modem (1-port) converter detected
Jan 16 19:12:26 localhost kernel: [ 4008.307142] usb 5-1: GSM modem (1-port) converter now attached to ttyUSB1
Jan 16 19:12:26 localhost kernel: [ 4008.312525] scsi10 : SCSI emulation for USB Mass Storage devices
Jan 16 19:12:26 localhost kernel: [ 4008.312525] usb 5-1: New USB device found, idVendor=12d1, idProduct=1003
Jan 16 19:12:26 localhost kernel: [ 4008.312525] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jan 16 19:12:26 localhost kernel: [ 4008.312525] usb 5-1: Product: HUAWEI Mobile
Jan 16 19:12:26 localhost kernel: [ 4008.312525] usb 5-1: Manufacturer: HUAWEI Technologies
Jan 16 19:12:26 localhost kernel: [ 4008.312525] usb-storage: device found at 5
Jan 16 19:12:26 localhost kernel: [ 4008.312525] usb-storage: waiting for device to settle before scanning
Jan 16 19:12:31 localhost kernel: [ 4013.334473] usb-storage: device scan complete
Jan 16 19:12:31 localhost kernel: [ 4013.341314] scsi 10:0:0:0: CD-ROM HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
Jan 16 19:12:31 localhost kernel: [ 4013.373284] sr0: scsi-1 drive
Jan 16 19:12:31 localhost kernel: [ 4013.373284] sr 10:0:0:0: Attached scsi CD-ROM sr0
Jan 16 19:12:31 localhost kernel: [ 4013.373284] sr 10:0:0:0: Attached scsi generic sg1 type 5
and all is ready to be used to connect to Internet.


How to connect to Internet using a Tre USIM mobile service

The version of the 'ppp' package I am using is:
            # dpkg -l | grep ppp
            ii  ppp     2.4.4rel-10.1 Point-to-Point Protocol (PPP) daemon
          
Firstly to keep things simple, I inserted the SIM card in a Tre mobile phone and disabled the PIN check. Then I created the file /etc/ppp/peers/h3g with the following content:
lock
connect "/usr/sbin/chat -v -f /etc/ppp/h3g.chat"
#Use the first of the serial ports.
/dev/ttyUSB0
hide-password
noauth
debug
novj
460800
#This options tells pppd to create automatically a default route for
#this connection in the routing table upon connection.
#This works if you do not have set (you must not indeed!) the 'gateway'
# option for any network interface you have (eg eth0).
defaultroute
user anyuser
password anypassword
modem
crtscts
nodeflate
nobsdcomp
#Ask the peer for up to 2 DNS server addresses.  The  addresses  sup-
#plied  by  the peer (if any) are passed to the /etc/ppp/ip-up script
#in the environment variables DNS1  and  DNS2,  and  the  environment
#variable USEPEERDNS will be set to 1.  In addition, pppd will create
#an /etc/ppp/resolv.conf file containing one or two nameserver  lines
#with the address(es) supplied by the peer.
usepeerdns
Let's create also file /etc/ppp/h3g.chat with:
ABORT BUSY
ABORT ERROR
REPORT CONNECT
TIMEOUT 20
#Reset to factory defined configuration.
"" "AT&F"
#Setting manual operation selection (1) and numeric operator selection (2)
#The answer will be an ERROR (perhaps related to SIMLOCK? Any guru could explain me this behaviour is welcome). Anyway the values 1,2 are correctly set as you could verify with the following command.
OK "AT+COPS=1,2"
#Verify that COPS=1,2
ERROR "AT+COPS?"
#22299 is the numeric operator selector assigned for Tre H3G Italia.
"+COPS: 1,2" 'AT+COPS=1,2,22299'
#This is to be sure of being connected to HSDPA of Tre and not anyone else ('roaming' costs too much!).
OK "AT+COPS?"
#This check for Home network is probably useless, but i am paranoic about not using any other provider!
'+COPS: 1,2,"22299",2' "at+creg?"
#Checking that the registration to the Home network (i.e. Tre ISP) has been done.
"+CREG: 0,1" "ATZ"
OK "ATE1"
OK "ATS0=0"
#datacard.tre.it is the ISP Access Point Name.
OK 'AT+CGDCONT=1,"IP","datacard.tre.it"'
OK "ATDT*99#"
TIMEOUT 30
CONNECT \d\c


The DNS problem

If you use the 'usepeerdns' option for the peer configuration file, when negotiating IP adresses 'pppd' could receive some bogus DNS addresses, such as 10.11.12.13 in your /etc/resolv.conf file. To resolve this issue, you have not use the 'usepeerdns' option in the file /etc/ppp/peers/h3g. Just hard code the right DNS IP addresses into the /etc/resolv.conf file and you are done; of course you have to discover the DNS addresses of your ISP yourself; for this purpose edit /etc/resolv.conf to be like this:
            nameserver 62.13.171.5
            nameserver 62.13.171.4
The above DNS addresses are for the italian ISP Tre.


How to connect to Internet

This paragraph is subdivided into a sections for Linux kernel 2.6.20 to 2.6.23, one for Linux kernel 2.6.24 and up.

Linux kernel 2.6.20-2.6.23:

The final step is to create a file with the following script:
            #!/bin/bash
            ./huaweiAktBbo-i386.out
            sleep 3 # wait for the USB host to settle down...
            /usr/sbin/pppd call h3g
          
You must also set to the 'root' user the owner of the huaweiAktBbo-i386.out executable, running for example the following command with 'sudo' (or as the root user if your user is not a sudoer):
            $ sudo chown root ./huaweiAktBbo-i386.out
            $ ls -la ./huaweiAktBbo-i386.out
            -rwxr-xr-x 1 root luca 5876 2007-05-25 21:48 ./huaweiAktBbo-i386.out
          
You must also assign it the 's' option on execution, so that the huaweiAktBbo-i386.out executable is executed with the root user ID, i.e.:
            $ sudo chmod +s ./huaweiAktBbo-i386.out
            $ ls -la ./huaweiAktBbo-i386.out
            -rwsr-sr-x 1 root luca 5876 2007-05-25 21:48 ./huaweiAktBbo-i386.out
          
Put the files huaweiAktBbo-i386.out and the created script in the same directory and run the script to connect to Internet. To stop the connection either run "poff" or kill the pppd process.

Linux kernel 2.6.24+:

Just run:
$ pon h3g
To stop a connection run:
$ poff
That's all!

Check for successful connection

A successful connection log could be watched issuing this command as 'root' user before activating the internet connection (i.e. pon h3g in another terminal):
#plog -f
that will output a similar text:
Jan 17 12:33:15 localhost pppd[10614]: pppd 2.4.4 started by luca, uid 1000
Jan 17 12:33:16 localhost chat[10616]: abort on (BUSY)
Jan 17 12:33:16 localhost chat[10616]: abort on (ERROR)
Jan 17 12:33:16 localhost chat[10616]: report (CONNECT)
Jan 17 12:33:16 localhost chat[10616]: timeout set to 20 seconds
Jan 17 12:33:16 localhost chat[10616]: send (AT&F^M)
Jan 17 12:33:16 localhost chat[10616]: expect (OK)
Jan 17 12:33:16 localhost chat[10616]: AT&F^M^M
Jan 17 12:33:16 localhost chat[10616]: OK
Jan 17 12:33:16 localhost chat[10616]:  -- got it
Jan 17 12:33:16 localhost chat[10616]: send (AT+COPS=1,2^M)
Jan 17 12:33:16 localhost chat[10616]: expect (ERROR)
Jan 17 12:33:16 localhost chat[10616]: ^M
Jan 17 12:33:16 localhost chat[10616]: AT+COPS=1,2^M^M
Jan 17 12:33:16 localhost chat[10616]: ERROR
Jan 17 12:33:16 localhost chat[10616]:  -- got it
Jan 17 12:33:16 localhost chat[10616]: send (AT+COPS?^M)
Jan 17 12:33:17 localhost chat[10616]: expect (+COPS: 1,2)
Jan 17 12:33:17 localhost chat[10616]: ^M
Jan 17 12:33:17 localhost chat[10616]: AT+COPS?^M^M
Jan 17 12:33:17 localhost chat[10616]: +COPS: 1,2
Jan 17 12:33:17 localhost chat[10616]:  -- got it
Jan 17 12:33:17 localhost chat[10616]: send (AT+COPS=1,2,22299^M)
Jan 17 12:33:17 localhost chat[10616]: expect (OK)
Jan 17 12:33:17 localhost chat[10616]: ,"22299",2^M
Jan 17 12:33:17 localhost chat[10616]: ^M
Jan 17 12:33:17 localhost chat[10616]: OK
Jan 17 12:33:17 localhost chat[10616]:  -- got it
Jan 17 12:33:17 localhost chat[10616]: send (AT+COPS?^M)
Jan 17 12:33:17 localhost chat[10616]: expect (+COPS: 1,2,"22299",2)
Jan 17 12:33:17 localhost chat[10616]: ^M
Jan 17 12:33:17 localhost chat[10616]: AT+COPS=1,2,22299^M^M
Jan 17 12:33:17 localhost chat[10616]: OK^M
Jan 17 12:33:17 localhost chat[10616]: AT+COPS?^M^M
Jan 17 12:33:17 localhost chat[10616]: +COPS: 1,2,"22299",2
Jan 17 12:33:17 localhost chat[10616]:  -- got it
Jan 17 12:33:17 localhost chat[10616]: send (at+creg?^M)
Jan 17 12:33:17 localhost chat[10616]: expect (+CREG: 0,1)
Jan 17 12:33:17 localhost chat[10616]: ^M
Jan 17 12:33:17 localhost chat[10616]: ^M
Jan 17 12:33:17 localhost chat[10616]: OK^M
Jan 17 12:33:17 localhost chat[10616]: at+creg?^M^M
Jan 17 12:33:17 localhost chat[10616]: +CREG: 0,1
Jan 17 12:33:17 localhost chat[10616]:  -- got it
Jan 17 12:33:17 localhost chat[10616]: send (ATZ^M)
Jan 17 12:33:17 localhost chat[10616]: expect (OK)
Jan 17 12:33:17 localhost chat[10616]: ^M
Jan 17 12:33:17 localhost chat[10616]: ^M
Jan 17 12:33:17 localhost chat[10616]: OK
Jan 17 12:33:17 localhost chat[10616]:  -- got it
Jan 17 12:33:17 localhost chat[10616]: send (ATE1^M)
Jan 17 12:33:17 localhost chat[10616]: expect (OK)
Jan 17 12:33:17 localhost chat[10616]: ^M
Jan 17 12:33:17 localhost chat[10616]: ATZ^M^M
Jan 17 12:33:17 localhost chat[10616]: OK
Jan 17 12:33:17 localhost chat[10616]:  -- got it
Jan 17 12:33:17 localhost chat[10616]: send (ATS0=0^M)
Jan 17 12:33:17 localhost chat[10616]: expect (OK)
Jan 17 12:33:17 localhost chat[10616]: ^M
Jan 17 12:33:17 localhost chat[10616]: ATS0=0^M^M
Jan 17 12:33:17 localhost chat[10616]: OK
Jan 17 12:33:17 localhost chat[10616]:  -- got it
Jan 17 12:33:17 localhost chat[10616]: send (AT+CGDCONT=1,"IP","datacard.tre.it"^M)
Jan 17 12:33:17 localhost chat[10616]: expect (OK)
Jan 17 12:33:17 localhost chat[10616]: ^M
Jan 17 12:33:17 localhost chat[10616]: AT+CGDCONT=1,"IP","datacard.tre.it"^M^M
Jan 17 12:33:17 localhost chat[10616]: OK
Jan 17 12:33:17 localhost chat[10616]:  -- got it
Jan 17 12:33:17 localhost chat[10616]: send (ATDT*99#^M)
Jan 17 12:33:18 localhost chat[10616]: timeout set to 30 seconds
Jan 17 12:33:18 localhost chat[10616]: expect (CONNECT)
Jan 17 12:33:18 localhost chat[10616]: ^M
Jan 17 12:33:18 localhost chat[10616]: ATDT*99#^M^M
Jan 17 12:33:18 localhost chat[10616]: CONNECT
Jan 17 12:33:18 localhost chat[10616]:  -- got it
Jan 17 12:33:18 localhost chat[10616]: send (\d)
Jan 17 12:33:19 localhost pppd[10614]: Serial connection established.
Jan 17 12:33:19 localhost pppd[10614]: using channel 4
Jan 17 12:33:19 localhost pppd[10614]: Using interface ppp0
Jan 17 12:33:19 localhost pppd[10614]: Connect: ppp0 <--> /dev/ttyUSB0
Jan 17 12:33:20 localhost pppd[10614]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x7297fdd5> <pcomp> <accomp>]
Jan 17 12:33:20 localhost pppd[10614]: rcvd [LCP ConfReq id=0x4 <asyncmap 0x0> <auth chap MD5> <magic 0x106420ea> <pcomp> <accomp>]
Jan 17 12:33:20 localhost pppd[10614]: sent [LCP ConfAck id=0x4 <asyncmap 0x0> <auth chap MD5> <magic 0x106420ea> <pcomp> <accomp>]
Jan 17 12:33:20 localhost pppd[10614]: rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x7297fdd5> <pcomp> <accomp>]
Jan 17 12:33:20 localhost pppd[10614]: sent [LCP EchoReq id=0x0 magic=0x7297fdd5]
Jan 17 12:33:20 localhost pppd[10614]: rcvd [LCP DiscReq id=0x5 magic=0x106420ea]
Jan 17 12:33:20 localhost pppd[10614]: rcvd [CHAP Challenge id=0x1 <8a0296bf4a148111400f5b31104c4651>, name = "UMTS_CHAP_SRVR"]
Jan 17 12:33:20 localhost pppd[10614]: sent [CHAP Response id=0x1 <41388937c3b0e94fb24c4a8436f2741a>, name = "anyuser"]
Jan 17 12:33:20 localhost pppd[10614]: rcvd [LCP EchoRep id=0x0 magic=0x106420ea 72 97 fd d5]
Jan 17 12:33:20 localhost pppd[10614]: rcvd [CHAP Success id=0x1 ""]
Jan 17 12:33:20 localhost pppd[10614]: CHAP authentication succeeded
Jan 17 12:33:20 localhost pppd[10614]: CHAP authentication succeeded
Jan 17 12:33:20 localhost pppd[10614]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
Jan 17 12:33:21 localhost pppd[10614]: rcvd [IPCP ConfNak id=0x1 <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins
10.11.12.14>]
Jan 17 12:33:21 localhost pppd[10614]: sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14>]
Jan 17 12:33:22 localhost pppd[10614]: rcvd [IPCP ConfNak id=0x2 <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14> <ms-wins 10.11.12.13>
<ms-wins 10.11.12.14>]
Jan 17 12:33:22 localhost pppd[10614]: sent [IPCP ConfReq id=0x3 <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14>]
Jan 17 12:33:23 localhost pppd[10614]: rcvd [IPCP ConfNak id=0x3 <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14> <ms-wins
10.11.12.13> <ms-wins 10.11.12.14>]
Jan 17 12:33:23 localhost pppd[10614]: sent [IPCP ConfReq id=0x4 <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns3
10.11.12.14>]
Jan 17 12:33:24 localhost pppd[10614]: rcvd [IPCP ConfNak id=0x4 <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14> <ms-wins
10.11.12.13> <ms-wins 10.11.12.14>]
Jan 17 12:33:24 localhost pppd[10614]: sent [IPCP ConfReq id=0x5 <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns3
10.11.12.14>]
Jan 17 12:33:24 localhost pppd[10614]: rcvd [IPCP ConfReq id=0x4]
Jan 17 12:33:24 localhost pppd[10614]: sent [IPCP ConfNak id=0x4 <addr 0.0.0.0>]
Jan 17 12:33:24 localhost pppd[10614]: rcvd [IPCP ConfNak id=0x5 <addr 10.100.11.218> <ms-dns1 62.13.171.4> <ms-dns3
62.13.171.5>]
Jan 17 12:33:24 localhost pppd[10614]: sent [IPCP ConfReq id=0x6 <addr 10.100.11.218> <ms-dns1 62.13.171.4> <ms-dns3
62.13.171.5>]
Jan 17 12:33:24 localhost pppd[10614]: rcvd [IPCP ConfAck id=0x6 <addr 10.100.11.218> <ms-dns1 62.13.171.4> <ms-dns3
62.13.171.5>]
Jan 17 12:33:25 localhost pppd[10614]: rcvd [IPCP ConfReq id=0x5]
Jan 17 12:33:25 localhost pppd[10614]: sent [IPCP ConfAck id=0x5]
Jan 17 12:33:25 localhost pppd[10614]: Could not determine remote IP address: defaulting to 10.64.64.64
Jan 17 12:33:25 localhost pppd[10614]: Cannot determine ethernet address for proxy ARP
Jan 17 12:33:25 localhost pppd[10614]: local  IP address 10.100.11.218
Jan 17 12:33:25 localhost pppd[10614]: remote IP address 10.64.64.64
Jan 17 12:33:25 localhost pppd[10614]: primary   DNS address 62.13.171.4
Jan 17 12:33:25 localhost pppd[10614]: secondary DNS address 62.13.171.5
Jan 17 12:33:25 localhost pppd[10614]: Script /etc/ppp/ip-up started (pid 10624)
Jan 17 12:33:25 localhost pppd[10614]: Script /etc/ppp/ip-up finished (pid 10624), status = 0x0
          

Valid CSS! Valid HTML 4.01 Transitional Last Update: 16 January 2008