Step 1)
First download the necessary packages we need.
Open System>Administration>Synaptic Package Manager
Find and install:
- Code: Select all
1) wvdial
2) linux-source
If the above are not listed, open terminal, use the code(s): 1)
- Code: Select all
$ sudo apt-get install wvdial
2)
- Code: Select all
$ sudo apt-get install linux-source
Step 2)
Open a terminal and type: - Code: Select all
$ sudo -s
$ cd /usr/src
$ tar xjvf linux-source-2.6.28.tar.bz2
$ gedit /usr/src/linux-source-2.6.28/drivers/usb/serial/option.c
"Now look for static struct usb_device_id option_ids[] about line 300 and add the following just above it:"
- Code: Select all
// +++ chrisb
#define NEOTEL_DEVICE_VENDOR_ID 0x1d09
#define NEOTEL_DEVICE_PRODUCT_ID 0x4000
// +++
"and then in the struct add:" (the line in BOLD)
- Code: Select all
static struct usb_device_id option_ids[] = {
{ USB_DEVICE(NEOTEL_DEVICE_VENDOR_ID, NEOTEL_DEVICE_PRODUCT_ID) },
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },
save and close gedit.
"To compile:"
- Code: Select all
$ cd /usr/src/linux-source-2.6.28/drivers/usb/serial/
$ make -C /lib/modules/`uname -r`/build M=`pwd`
If successful you should see a long list without errors resembling the following:- Code: Select all
make: Entering directory `/usr/src/linux-headers-2.6.24-21-generic'
LD /usr/src/linux-source-2.6.24/drivers/usb/serial/built-in.o
CC [M] /usr/src/linux-source-2.6.24/drivers/usb/serial/usb-serial.o
CC [M] /usr/src/linux-source-2.6.24/drivers/usb/serial/generic.o
CC [M] /usr/src/linux-source-2.6.24/drivers/usb/serial/bus.o
....
make: Leaving directory `/usr/src/linux-headers-2.6.24-21-generic'
"Backup the old drivers"- Code: Select all
$ mv /lib/modules/2.6.28-11-generic/kernel/drivers/usb/serial/option.ko /lib/modules/2.6.28-11-generic/kernel/drivers/usb/serial/option.ko.backup
"Now add new drivers (compiled):"- Code: Select all
$ cp /usr/src/linux-source-2.6.28/drivers/usb/serial/option.ko /lib/modules/2.6.28-11-generic/kernel/drivers/usb/serial/option.ko
"You also need to load the new option:"- Code: Select all
$ gedit /etc/modules
"And just add to the end of the file:"
- Code: Select all
option
Reboot your computer, open a terminal again and type:
- Code: Select all
$ lsusb
Which should produce, among others:
Bus 002 Device 002: ID 1d09:4000 TechFaith Wireless Technology Limited
Step 3)
Open a terminal and type:
- Code: Select all
$ sudo -s
And then:- Code: Select all
$ wvdialconf
Which should produce something similar to:
Editing:
- Code: Select all
`/etc/wvdial.conf'
.
Scanning your serial ports for a modem.
ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Modem Port Scan<*1>: S1 S2 S3
WvModem<*1>: Cannot get information for serial port.
ttyUSB0<*1>: ATQ0 V1 E1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB0<*1>: Modem Identifier: ATI -- Manufacturer: QUALCOMM INCORPORATED
ttyUSB0<*1>: Speed 9600: AT -- OK
ttyUSB0<*1>: Max speed is 9600; that should be safe.
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
WvModem<*1>: Cannot get information for serial port.
ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Found a modem on /dev/ttyUSB0.
Modem configuration written to /etc/wvdial.conf.
ttyUSB0<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
Now run:- Code: Select all
$ gedit /etc/wvdial.conf
Copy and paste the following and change your username and password:
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
Baud = 9600
New PPPD = yes
Modem = /dev/ttyUSB0
ISDN = 0
Stupid Mode = 1
Phone = #777
Modem = /dev/ttyUSB0
Username =
[email protected]Dial Command = ATDT
Password = 1234
Baud = 460800
PPPD Options = crtcts multilink usepeerdns lock defaultroute
[Dialer neotel]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Baud = 460800
Stupid Mode = 1
Modem = /dev/ttyUSB0
Modem Type = USB Modem
Dial Command = ATDT
PPPD Options = crtcts multilink usepeerdns lock defaultroute
Save and close gedit
Step 4)
In the terminal, as any user, type:
- Code: Select all
$ wvdial
Which, if successful, should result in:
--> WvDial: Internet dialer version 1.60 --> Cannot get information for serial port. --> Initializing modem. --> Sending: ATZ ATZ OK --> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 OK --> Modem initialized. --> Sending: ATDT#777 --> Waiting for carrier. ATDT#777 CONNECT --> Carrier detected. Starting PPP immediately. --> Starting pppd at Thu May 14 22:59:46 2009 --> Warning: Could not modify /etc/ppp/pap-secrets: Permission denied --> --> PAP (Password Authentication Protocol) may be flaky. --> Warning: Could not modify /etc/ppp/chap-secrets: Permission denied --> --> CHAP (Challenge Handshake) may be flaky. --> Pid of pppd: 4541 --> Using interface ppp0 --> pppd: 0�[1c][08]P�[1c][08] --> pppd: 0�[1c][08]P�[1c][08] --> pppd: 0�[1c][08]P�[1c][08] --> pppd: 0�[1c][08]P�[1c][08] --> pppd: 0�[1c][08]P�[1c][08] --> local IP address 41.174.2.250 --> pppd: 0�[1c][08]P�[1c][08] --> remote IP address 2.2.2.2 --> pppd: 0�[1c][08]P�[1c][08] --> primary DNS address 41.160.0.36 --> pppd: 0�[1c][08]P�[1c][08] --> secondary DNS address 41.160.0.37 --> pppd: 0�[1c][08]P�[1c][08]
and a fully working internet connection!!!!!
to disconnect, in the terminal that is running :
- Code: Select all
wvdial, hold ctrl-c