• You are not registered on MyBroadband, which means you miss out on great benefits. To join our community is very easy, and completely free. Register now.
  • New Two-Day Giveaway - Enter Here

Linux HOWTO (Card Setup)

Tazz_Tux

Linux Guru
Joined
Jan 28, 2005
Messages
622
#1
This is a "howto" to get the 3G cards to work under Linux.
This will be a work in progress so expect changes !!!
If you find this how-to useful please post a little message at the end. I would like to put some stats together as to how many people read it, and from where in the world they are. Thanks !


Kernel Version : 2.6.18 + Gentoo Patch set r6 (http://dev.gentoo.org/~dsd/genpatches/)​

The following cards/phones works 100% with my scripts/configs:

  • Novatel U630
  • Option Fusion
  • Option Quad
  • Motorola E1000
  • Nokia 6680 (just don't set the speed/service - no 3gonly and 384k configs)
  • Option HSDPA Card
  • Novatel HSDPA Card
  • Huawei Card E620
  • Huawei Card E220
You need to download the new wvdial.conf for the HSDPA stuff to work !!!

I use Gentoo Linux which compiles everything from source. As a result of things might be a bit different but we can work around it. Firstly, we need to get Linux to detect your card, start your PCMCIA services - normally this can be done using (most distros do this for you):

Code:
/etc/init.d/pcmcia start
Before you insert your card, open a console/switch to an open console and as root run the following

Code:
tail -f /var/log/messages
This will allow you to "see" what Linux is doing :)

Right, now insert your card and you should see some stuff happening. I have included log traces of what the two cards "look" like under /var/log/messages in the attachment section.

If you see only the option_insert_nousb.txt messages using an option card run the following command:

Code:
modprobe usbserial vendor=0x0af0 product=0x5000
If you had to run the above command, you will need to save the vmc_g file attached into /etc/modules.d

Now we need to find out where your card is - you will see in the messages where the card is - /dev/ttyS? for novatel or /dev/ttyUSB? for option

Code:
find /dev/ | grep ttyS
Should show /dev/ttyS0 or /dev/ttyS1 for a Novatel Card.

Code:
find /dev/ | grep ttyUSB
Should show /dev/ttyUSB0 and USB1 and USB2 for an Option Card. (or /dev/tts/ttyUSB0-2 for udev)

Once we found that, we need to change /etc/wvdial.conf to match your settings, attached is my working wvdial.conf. Now we can start dialing up

For Novatel:

Code:
wvdial novatel internet 3gonly 384k
For Option:

Code:
wvdial option internet 3gonly 384k
If you need to send your PIN, add "pin" infront of all the commands, e.g.

Code:
wvdial pin novatel internet 3gonly 384k
Once your connection is up - surf away :) Now you can setup things like KPPP and Gnome's Modem Lights to do your dialing for you.

Extra Steps for the HSDPA card:

Download the kernel module from the link below. Extract it to a directory somewhere safe. If you are *still* running the 2.4 series of kernels, you need to change the Makefile to reflect this.

Compile the driver using the following commands:

Code:
make clean && make
Once this is done, run the following command to insert the module into the kernel

Code:
insmod nozomi.ko (2.6 Kernel)
insmod nozomi.o  (2.4 Kernel)
Once you have done that, use the following command to setup the connection:

Code:
wvdial hsdpa
Extra steps for the Novatel U740 Card

Until I get time to update the files etc. our Novatel Linux Users out there can just type this command before using the normal dialing command:

Code:
modprobe usbserial vendor=0x1410 product=0x1400
OR

Code:
modprobe usbserial vendor=0x1410 product=0x1410
Using lsusb will show you the Vendor and Product ID's or cat /proc/bus/usb/devices will do the same.I will still add them into the FAQ but atleast this should help for now ;)

This will add the USB's like the 3G Option did - am I seeing a swap here ? - so just dial /dev/ttyUSB0 or so - check the logs

Extra Steps for the Huawei Cards:

None really - just make sure usbserial is loaded and the card will come up on /dev/ttyUSB0 - check the logs again to confirm

If the card doesn't come up, unload usbserial and reload with the following command:

Code:
rmmod usbserial && modprobe usbserial vendor=0x12d1 product=0x1001
I am still trying to work on the USB only card, so at the moment, I don't know if it will work under Linux.

Huawei E220:

I have found that this modem will only work with the short cable supplied...not the long one with two plugs...*shrug*

Same as the E620, except use the following modprobe command:
Code:
rmmod usb-storage
modprobe usbserial vendor=0x12d1 product=0x1003 (Some have reported an ID of 0x1001 - use lsusb to confirm)
After that, you will notice only one USB serial coming up, then, remove the device and re-attach it, you shouldn't need to re-insert usbserial.

Notes:

I have only seen 3G speeds on this device, but I think it is because of my RF conditions and location. More on this to follow...
*Always* remove the usb-storage module - we have seen that it still causes problems even with the device detected correctly

Attachments:

wvdial.conf
novatel_insert.txt
option_insert_nousb.txt
option_usbserial.txt
vmc_3g
Option HSDPA Driver

FAQ:

Q) How do I enable "Internet Connection Sharing"

A) Since the 2.6 kernel is main stream etc. I will only cover IPTables and Kernel 2.6. I am also assuming that ppp0 is your dialup and eth0 is your lan

Firstly - we need to add some rules to iptables - run the following commands:

iptables -F (This will CLEAR ALL RULES !!!)
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

then we need to enable routing:
echo "1" > /proc/sys/net/ipv4/ip_forward

That should do it - from here you can add rules to block incomming connections etc.

Q) My card is broken/replies "ERROR" to all the commands

A) You didn't send your PIN to the card - either add the "pin" command or disable the PIN on the SIM

Q) My Novatel card is very slow - +-800 bytes per second

A) Try running "setserial -a /dev/ttyS1 low_latency spd_warp" - replace /dev/ttyS1 with your port
Once you have your setserial command, insert it into /etc/ppp/ip-up.local - this will cause the command to be ran everytime a connection is made.

Q) What does all the wvdial sections do/mean?

A)

Defaults - What to do if nothing is selected (Always included)
pin - send your pin to the card
novatel - select the novatel card
option - select the option card
hsdpa - Option HSDPA card
e1000 - select the E1000 via USB
onboard - select the onboard modem of my notebook
internet - select the internet APN
internetvpn - select the internetvpn APN
myapn - select your apn
384k,144k,64k - select the speed of your 3G connection
2gonly - select GPRS only
3gonly - select 3G only

Q) How do I see the usage under Linux

A) Linux Usage (new)
Linux Usage (old)

TODO:

  • Make the Option card call "modprobe usbserial" by itself
  • Make the Novatel card register the second port under Linux
  • Do some research into the signal levels reported via +CSQ
  • Get the PIN to work with wvdial and Novatel

Please do not post question in this thread - rather post them in the sub forum
 
Last edited:

DaTaByTE

New Member
Joined
Jul 3, 2008
Messages
1
#2
Its still not working

I have tried all that is provided in this post and i still can't connect to the internet using my E220 card in opensus 10.3

Need some help here!!!
 
Top