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):
Before you insert your card, open a console/switch to an open console and as root run the following
This will allow you to "see" what Linux is doing
tail -f /var/log/messages
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:
If you had to run the above command, you will need to save the vmc_g file attached into /etc/modules.d
modprobe usbserial vendor=0x0af0 product=0x5000
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
Should show /dev/ttyS0 or /dev/ttyS1 for a Novatel Card.
find /dev/ | grep ttyS
Should show /dev/ttyUSB0 and USB1 and USB2 for an Option Card. (or /dev/tts/ttyUSB0-2 for udev)
find /dev/ | grep ttyUSB
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
wvdial novatel internet 3gonly 384k
If you need to send your PIN, add "pin" infront of all the commands, e.g.
wvdial option 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.
wvdial pin novatel internet 3gonly 384k
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:
Once this is done, run the following command to insert the module into the kernel
Once you have done that, use the following command to setup the connection:
insmod nozomi.ko (2.6 Kernel)
insmod nozomi.o (2.4 Kernel)
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:
modprobe usbserial vendor=0x1410 product=0x1400
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
modprobe usbserial vendor=0x1410 product=0x1410
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:
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.
rmmod usbserial && modprobe usbserial vendor=0x12d1 product=0x1001
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:
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.
modprobe usbserial vendor=0x12d1 product=0x1003 (Some have reported an ID of 0x1001 - use lsusb to confirm)
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
Option HSDPA Driver
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?
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)
- 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