|
|
|
|
| How-To: EVDO on Gentoo Linux |
|
|
|
[Original]
[Print]
[Top]
|
I have heard that there is a demand for this kind of information so I figured I would post it here as well.
The original article is posted here in the Gentoo forums: http://forums.gentoo.org/viewtopic-t-42799...01029f7e28b5fc5
This how-to will discuss how to get EVDO on Gentoo Linux. Specifically Verizon EVDO using the Keyocera KPC650 EVDO PCMCIA card.
Most if not all EVDO PCMCIA cards are just serial modems with usb-serial hardware. So they basically just show up as USB devices. They could have just been serial devices but I guess it's easier in windows to make it a USB device that converts to/from serial, maybe it's easier to write drivers for or easier to work with. But it makes it relatively easy for us to support it in Linux.
On a personal note, I remember being a geek kid around 10 or 12 owning my dad's second hand laptop and thinking I was the coolest! Well I saw in some movie, tv or magazine cellular modems. I thought how cool would that be, to have Internet anywhere. Throughout the years anywhere/anytime Internet was obtainable for the common man but dialing up via cell cost way too much for me in my teens (I'm 22 now and have a full time job). So when I got my job, and Verizon reduced the price of EVDO from $80 to $60 I instantly went out and bought the service. My childhood dream came true.
Wow I'm a geek.
Anyways....
Contents 1. Add usb-serial generic driver support in the kernel. 2. Patch your kernel 3. Add ppp to your kernel and emerge ppp 4. create ppp scripts 5. Reboot and insert PCMCIA card 6. Calling and connecting
Important Notes Make sure to activate your EVDO PCMCIA card using the included Windows software. It is required! Borrow someone's laptop like I did. Once this is done and tested in Windows, it will be recognized by the EVDO network no matter what OS its in.
Disclaimer This guide is as complete as I can make it. I will probably add and correct some things as time goes on, or as people add them. If i have made any errors or any mistakes please let me know and feel free to e-mail me/PM me for help. Making how-to's more accurate helps everyone.
1. Add usb-serial generic driver support in the kernel. Code:
Symbol: USB_SERIAL_GENERIC [=y] Prompt: USB Generic Serial Driver Defined at drivers/usb/serial/Kconfig:46 Depends on: USB && USB_SERIAL Location: -] Device Drivers -] USB support -] USB Serial Converter support -] USB Serial Converter support (USB_SERIAL [=m])
Important Note Add usbserial vendor=0x0c88 product=0x17da maxSize=2048 to your /etc/modules.autoload.d/kernel-2.6. Note the maxSize= parameter, this was added by the patch. The vendor/product ID's will differ if your using a card other than the Keyocera KPC650. Just put in your appropriate ID's for your hardware.
2. Patch your kernel See my other thread http://forums.gentoo.org/viewtopic-p-3067617.html#3067617 for the patch and more info.
3. Add ppp to your kernel and emerge ppp Add PPP support: Code:
Symbol: PPP [=m] Prompt: PPP (point-to-point protocol) support Defined at drivers/net/Kconfig:2426 Depends on: NETDEVICES Location: -] Device Drivers -] Network device support -] Network device support (NETDEVICES [=y])
Add PPP support for async serial ports: Code:
Symbol: PPP_ASYNC [=m] Prompt: PPP support for async serial ports Defined at drivers/net/Kconfig:2482 Depends on: NETDEVICES && PPP Location: -] Device Drivers -] Network device support -] Network device support (NETDEVICES [=y]) -] PPP (point-to-point protocol) support (PPP [=m]) Selects: CRC_CCITT
Emerge ppp: Code:
emerge ppp
Important Note Add ppp_async to your /etc/modules.autoload.d/kernel-2.6 and it should auto-load the modules dependencies on reboot. Or just modprobe it for now.
4. create ppp scripts Since I use the Verizon EVDO service they will be named as such. Feel free to rename. in /etc/ppp/peers/ we will create three scripts: verizon verizon-connect verizon-disconnect
verizon Code:
#the USB serial device of the EVDO PCMCIA card. tts/USB0 #your login information user YOUR_TEN_DIDGET_CELL_PHONE_NUMBER@vzw3g.com 230400 # speed #debug defaultroute # use the cellular network for the default route usepeerdns # use the DNS servers from the remote network -detach # keep pppd in the foreground crtscts # hardware flow control #lock # lock the serial port noauth # don't expect the modem to authenticate itself connect "/usr/sbin/chat -v -f /etc/ppp/peers/verizon-connect" disconnect "/usr/sbin/chat -v -f /etc/ppp/peers/verizon-disconnect"
verizon-connect Code:
#time out is 20 because sometimes the card takes a little while to initialize.
TIMEOUT 20 ABORT 'BUSY' ABORT 'NO ANSWER' ABORT 'NO CARRIER' SAY 'Starting Verizonn'
'' 'AT' 'OK' 'ATQ0V1E0' 'OK' 'ATZ'TIMEOUT 20 ABORT 'BUSY' ABORT 'NO ANSWER' ABORT 'NO CARRIER' SAY 'Starting Verizonn'
'' 'AT' 'OK' 'ATQ0V1E0' 'OK' 'ATZ' 'OK' 'AT&F' # Dial the number SAY 'Connecting...n' 'OK' 'ATDT#777' CONNECT CLIENT
'OK' 'AT&F' # Dial the number SAY 'Connecting...n' 'OK' 'ATDT#777' CONNECT CLIENT
verizon-disconnect Code:
"" "K" "" "+++ATH0" SAY "Disconnected from Verizon."
5. Reboot and insert PCMCIA card Now you should reboot with your new patched kernel, with your modules auto-loading.
Insert your PCMCIA card and look at your dmesg output, it should be similar to mine:
Code:
pccard: CardBus card inserted into slot 0 PCI: Enabling device 0000:04:00.0 (0000 -] 0002) ACPI: PCI Interrupt 0000:04:00.0[A] -] GSI 19 (level, low) -] IRQ 17 PCI: Setting latency timer of device 0000:04:00.0 to 64 ohci_hcd 0000:04:00.0: OHCI Host Controller ohci_hcd 0000:04:00.0: new USB bus registered, assigned bus number 6 ohci_hcd 0000:04:00.0: irq 17, io mem 0x42000000 hub 6-0:1.0: USB hub found hub 6-0:1.0: 1 port detected PCI: Enabling device 0000:04:00.1 (0000 -] 0002) ACPI: PCI Interrupt 0000:04:00.1 -] GSI 19 (level, low) -] IRQ 17 PCI: Setting latency timer of device 0000:04:00.1 to 64 ohci_hcd 0000:04:00.1: OHCI Host Controller ohci_hcd 0000:04:00.1: new USB bus registered, assigned bus number 7 ohci_hcd 0000:04:00.1: irq 17, io mem 0x42001000 hub 7-0:1.0: USB hub found hub 7-0:1.0: 1 port detected usb 6-1: new full speed USB device using ohci_hcd and address 2 usbserial_generic 6-1:1.0: generic converter detected usb 6-1: generic converter now attached to ttyUSB0 usbserial_generic 6-1:1.1: generic converter detected usb 6-1: generic converter now attached to ttyUSB1
Important Note ttyUSB0 is the device we put in the PPP scripts. If you have other usb-serial devices this will be different (maybe USB1 or USB2 etc).
6. Calling and connecting As root just type Code: pppd call verizon and you should connect to the EVDO service.
That should be it! I expect there to be some error or mistake on my part above. If i have not explained something clearly or left something out, contact me.
-- Nick DePetrillo Network Security Engineer OSHEAN PGP Key: http://pgp.mit.edu:11371/pks/lookup?op=vin...arch=0x121245B5
|
|
|
[Original]
[Print]
[Top]
|
|
|