![]() |
Linux - HOWTO (With Stats)
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:
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 startCode:
tail -f /var/log/messagesRight, 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=0x5000Now 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 ttySCode:
find /dev/ | grep ttyUSBOnce 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 384kCode:
wvdial option internet 3gonly 384kCode:
wvdial pin novatel internet 3gonly 384kExtra 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 && makeCode:
insmod nozomi.ko (2.6 Kernel)Code:
wvdial hsdpaUntil 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=0x1400OR Code:
modprobe usbserial vendor=0x1410 product=0x1410This 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=0x1001Huawei 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-storageNotes: 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... 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 TODO:
|
Correct me if I'm wrong :
If you use devfs, the device will be either /dev/usb/tts/n (where n in usually 0) or /dev/? for the PC card device... |
Hey nicroets,
I also thought this, but running devfs and udev I havn't been able to get that to work - I will keep trying and update the thread as needed :) EDIT: Corrected wvdial.conf settings - /dev/tts/USB0 :) Laterz ! Quote:
|
Update:
Changed the wvdial.conf file on the server to correctly insert the PIN command - Init1 was getting replaced by ATZ :) |
TazzTux - thanks for all this useful info. One more request .... do you know of a way to query the signal strength (3G and/or GPRS) from the card? Is there an AT command for this?
|
Howzit,
The command that I know doesn't seem to work on the Novatel cards which is: Code:
AT+CSQQuote:
|
I noticed in the Novatel documentation +CSQ is 'optional' so not to sure if it is implemented.
What is your firmware version? |
Hey v3g,
I sport the latest rev14 under the hood :D Laterz ! Quote:
|
Not surprised :)
|
Hey Tazz_Tux,
Have you any experience in using dial-on-demand with the 3g card under Linux? I have a plan that involves an old PC, a 3G card and an 802.11 AP as a homebrew gateway device, and it strikes me that dial-on-demand is crucial to safeguard precious bundled MBs against nasty unsolicited incoming connections :) |
Howzit TheCynick,
Why bother - Vodacom issues private IPs so no connection - except from another 3G is open. But if you really wanna - just run iptables and make some rules to block all incoming traffic - except est. and related. Download webmin and config it via that - VERY nice tool :) Laterz !!! Quote:
|
Ok, here's a little hickup in my linux setup.
At work I use LAN (eth0) for my internet access. eth0 is configured with static address (no DHCP) At home I use my Novatel 3G card. I connect fine with the 3G card using the wvdial.conf above, but it seems like Linux is still trying to use my LAN for Internet access. I can't ping or do DNS lookups or anything. If I run, ifdown eth0 and then connect with wvdial then everything works just fine. What am I missing? Oh, I'm currently on Ubuntu 5.04 |
Run this command before you connect:
Code:
route -nCode:
route del default gwQuote:
|
Ok,
This is what I get from: route -n Code:
Kernel IP routing table |
Ok,
You have a default route - delete it with: Code:
route del default gwQuote:
|
| All times are GMT +2. The time now is 12:14 AM. |
Gaming News | Games Forum | Broadband Deals | Terms & Conditions
© 2009 MyBroadband. All rights reserved.