Rearranging The Deckchairs

Frank O'Dwyer's blog

Getting the Vodafone 1.8M 3G Card Working Under Ubuntu Linux (Edgy Eft)

After a bit of wrangling, I have managed to get the Vodafone 1.8M 3G data card working under Ubuntu Linux (Edgy Eft). In case anyone else is trying to do this, here are the steps I followed. First, check you have the same card that I do. Insert the card and then:

$ lspci -v02:00.0
Network controller: Option N.V. Unknown device 000c
Flags: medium devsel, IRQ 11
Memory at 56000000 (32-bit, non-prefetchable) [size=2K]

Then, get hold of the nozomi driver. [Update: this is no longer necessary as Feisty seems to detect it just fine…so just skip to the gnome-ppp setup if you have Feisty] In Ubuntu you can do this using Synaptic from the System menu (install the nozomi-source package), or get a command line and do this:

$ sudo apt-get install nozomi-source

This results in a driver tarball being dropped into /usr/src. Go there and unpack it and build it:

$ sudo bash
$ cd /usr/src
$ tar xvf nozomi-source.tar.bz2 --bzip2
$ cd modules/nozomi/
$ make

if you see this error:

/usr/src/modules/nozomi/nozomi.c: In function ‘receive_data’:
/usr/src/modules/nozomi/nozomi.c:966: error: ‘struct tty_struct’ has no member named ‘flip’
make[2]: *** [/usr/src/modules/nozomi/nozomi.o] Error 1
make[1]: *** [_module_/usr/src/modules/nozomi] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.17-11-generic'
make: *** [default] Error 2

Then edit the file nozomi.c and comment out the line that’s causing it:

if (tty->flip.count >= TTY_FLIPBUF_SIZE) {
tty_flip_buffer_push(tty);
}

so that it looks like:

// if (tty->flip.count >= TTY_FLIPBUF_SIZE) {
tty_flip_buffer_push(tty);
// }

Then rebuild and install the module:

$ make
$ insmod nozomi.ko

Now inserting your card should result in the following:

$ dmesg

[17182820.856000] pccard: CardBus card inserted into slot 0
[17182820.856000] [1452] nozomi_card_init(): Init, cards_found: 1
[17182820.856000] [1341] nozomi_get_card_type(): Card type is: 2048
[17182820.856000] PCI: Enabling device 0000:02:00.0 (0000 -> 0002)
[17182820.856000] ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
[17182820.856000] Nozomi driver nozomi_tty<6>[792] nozomi_read_config_table(): Version of card: 3
[17182821.172000] [784] nozomi_read_config_table(): Initialization OK!

Now you should be able to get gnome-ppp or similar programs working. Here is the config file (/etc/wvdial.conf) that I use:

[Dialer Defaults]
Phone = *99***1#
Username = username
Password = password
New PPPD = yes
Stupid Mode = 1

[Dialer vodafone]
Modem = /dev/noz0
Baud = 460800
Init1 = ATZ

To install gnome-ppp, just go to the “Applications” menu and select “Add/Remove…”. Then, in gnome-ppp the following settings should work: image

Where username and password can be anything (I just use “username” and “password”).

Click connect and it should just work!

Alternatively, you can try it from a command line as follows:

root@frank-laptop:/etc# wvdial vodafone

--> WvDial: Internet dialer version 1.56
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT 1800000
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Sat Mar 24 14:56:39 2007
--> Pid of pppd: 12293
--> Using interface ppp0
--> local  IP address 10.171.92.209
--> remote IP address 10.64.64.64
--> primary   DNS address 10.205.65.68
--> secondary DNS address 10.205.65.68

technorati tags:ubuntu, linux, howto, edgy, eft, vodafone, 3G, option, nozomi

discount tramadol