# How-To: EVDO on Gentoo Linux

## nick-oshean

Updated post 2007-12-29

The how-to has been updated to reflect recent changes. I have added the section on adding the option or airprime module for use with usb-serial and your EVDO devices. 

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. Add the option or airprime module

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.

```

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])

```

2. Add the option or airprime module

Either the airprime or option kernel modules will be used in conjunction with the usb-serial module in order to control your EVDO card. The current trend in the most recent kernel is that most modern devices (including USB devices like the U720/722) are added to the option module while the airprime module seems to be slowly phased out and by default seems to support only the KPC650 PCMCIA card. This is seems to be an uncoordinated effort and things change quickly.

You could technically add both drivers and one of them will have the matching USB vendor ID/Device ID in it for your device and load. You can check the drivers to see which ID's are in which module. Generally speaking it is safe to add both if you want to be lazy. The option module also supports many GSM cards which are not covered in this how-to as I do not have any to test with.

```

  Location:

    -> Device Drivers

      -> USB support

        -> USB Serial Converter support

          -> USB AirPrime CDMA Wireless Driver

or       -> USB driver for GSM and CDMA modems (Option driver)

```

3. Add ppp to your kernel and emerge ppp

Add PPP support:

```

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:

```

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:

```
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

```

#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"

```

I changed the verizon-connect script to be a valid working script. This is my actual script that I use to connect with my Keyocera KPC650.

verizon-connect

```

#time out is 20 because sometimes the card takes a little while to initalize

TIMEOUT 20

ABORT 'BUSY'

ABORT 'NO ANSWER'

ABORT 'NO CARRIER'

SAY 'Starting Verizon\n'

'' 'AT'

'OK' 'ATQ0V1E0'

'OK' 'ATZ'

'OK' 'AT&F'

# Dial the number

SAY 'Connecting...\n'

'OK' 'ATDT#777'

CONNECT CLIENT

```

verizon-disconnect

```

"" "\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:

```

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[b] -> 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

[i]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

```
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 and I will make edits.

Thanks!

----------

## codergeek42

Moved from Networking & Security to Documentation, Tips & Tricks.

----------

## Ainvar

Awesome, I will be trying this out tomorrow! I tried this in Ubuntu and failed miserably due to the disconnects. Thanks in advance!!

----------

## rmmst49

thanks alot for the guide.  also, thanks to the gentoo newsletter pointing me to this howto.  I've been running windows on my laptop for a couple of months now since i got VZW evdo, which i really need, and I haven't had the time to really investigate how to get it woking with the kernel.  if this works you are my new hero.  I feel like a traitor every time i hear the windows start up chimes.  I'll edit this when i get it working . . . 

on a similar note, has anyone tried the evdo antenna they sell on evdo-coverage.com? does it really make a difference/worth the money?

----------

## jwoolf330

Hi there- Great post  - not a lot of info readily available and this helped a ton.

I'm able to follow the instructions identically, however when I "pppd call verizon" (yes, I set my phone number correctly) I can't connect.

The logs are as follows:

```

Feb  7 22:10:44 [chat] timeout set to 60 seconds

Feb  7 22:10:44 [chat] abort on (BUSY)

Feb  7 22:10:44 [chat] abort on (NO ANSWER)

Feb  7 22:10:44 [chat] abort on (NO CARRIER)

Feb  7 22:10:44 [chat] send (AT^M)

Feb  7 22:10:44 [chat] expect (OK)

Feb  7 22:10:44 [chat] AT^M^M

Feb  7 22:10:44 [chat] OK

Feb  7 22:10:44 [chat] -- got it_

Feb  7 22:10:44 [chat] send (ATQ0V1E0^M)

Feb  7 22:10:44 [chat] expect (OK)

Feb  7 22:10:44 [chat] ^M

Feb  7 22:10:44 [chat] ATQ0V1E0^M^M

Feb  7 22:10:44 [chat] OK

Feb  7 22:10:44 [chat] -- got it_

Feb  7 22:10:44 [chat] send (ATZ^M)

Feb  7 22:10:44 [chat] timeout set to 60 seconds

Feb  7 22:10:44 [chat] abort on (BUSY)

Feb  7 22:10:44 [chat] abort on (NO ANSWER)

Feb  7 22:10:44 [chat] abort on (NO CARRIER)

Feb  7 22:10:44 [chat] send (AT^M)

Feb  7 22:10:44 [chat] expect (OK)

Feb  7 22:10:44 [chat] ^M

Feb  7 22:10:44 [chat] OK

Feb  7 22:10:44 [chat] -- got it_

Feb  7 22:10:44 [chat] send (ATQ0V1E0^M)

Feb  7 22:10:44 [chat] expect (OK)

Feb  7 22:10:44 [chat] ^M

Feb  7 22:10:44 [chat] AT^M^M

Feb  7 22:10:44 [chat] OK

Feb  7 22:10:44 [chat] -- got it_

Feb  7 22:10:44 [chat] send (ATZ^M)

Feb  7 22:10:44 [chat] expect (OK)

Feb  7 22:10:44 [chat] ^M

Feb  7 22:10:44 [chat] ATQ0V1E0^M^M

Feb  7 22:10:44 [chat] OK

Feb  7 22:10:44 [chat] -- got it_

Feb  7 22:10:44 [chat] send (AT&F^M)

Feb  7 22:10:44 [chat] expect (OK)

Feb  7 22:10:44 [chat] ^M

Feb  7 22:10:44 [chat] OK

Feb  7 22:10:44 [chat] -- got it_

Feb  7 22:10:44 [chat] send (ATDT#777^M)

Feb  7 22:10:44 [chat] expect (CONNECT)

Feb  7 22:10:44 [chat] ^M

Feb  7 22:10:44 [chat] AT&F^M^M

Feb  7 22:10:44 [chat] OK^M

Feb  7 22:10:46 [chat] ATDT#777^M^M

Feb  7 22:10:46 [chat] CONNECT

Feb  7 22:10:46 [chat] -- got it_

Feb  7 22:10:46 [chat] send (CLIENT^M)

Feb  7 22:10:46 [chat] expect (OK)

Feb  7 22:10:46 [chat] ^M

Feb  7 22:11:42 [chat] ^M

Feb  7 22:11:42 [chat] NO CARRIER

Feb  7 22:11:42 [chat] -- failed

Feb  7 22:11:42 [chat] Failed (NO CARRIER)

```

Any Ideas on what I might be doing wrong? I'm getting great performance out of windows so I'm fairly sure the card is configured correctly. 

Thanks,

John

----------

## jwoolf330

Update:

While the instructions in this How-To were largely on the mark for me, I hit a couple stmbling blocks on my way to getting it working. Below are the issues / solutions I came up with.

Note: running gentoo-sources 2.6.15.r1 on an IBM ThinkPad T40 using Verizon service with a Kyocera KPC650 card.

First, the verizon-connect script above wasn't working for me. After some research and poking around I am using this script which is working great:

```

SAY 'Starting Verizon\n'

TIMEOUT 120

ABORT 'BUSY'

ABORT 'NO ANSWER'

ABORT 'NO CARRIER'

'' 'ATZ'

'OK' 'AT&F0'

'OK' 'ATE0v1'

'' 'AT+CSQ'

'OK' 'ATDT#777'

'CONNECT'

```

Next, it seems that this card uses USB OHCI (insert and run lspci -v | grep prog-if) so you need the OHCI module (ohci_usb). I have EHCI and UHCI compiled into my kernel, but here is the relevent part of my /etc/modules.autoload.d/kernel2.6

```

usbserial vendor=0x0c88 product=0x17da maxSize=2048

ppp_asynch

pci_hotplug

acpi_php

yenta_socket

pcmcia_core

pcmcia

ohci-hcd

```

Finally, the patch file bailed on the second merge. This is minor and easy to edit / fix by hand.  Just look for the line number and replace the appropriate line.

This is working great now. No sudden disconnects, decent speed. I'll post again as I optimize.

Best of luck-

John

----------

## billatq

 *rmmst49 wrote:*   

> thanks alot for the guide.  also, thanks to the gentoo newsletter pointing me to this howto.  I've been running windows on my laptop for a couple of months now since i got VZW evdo, which i really need, and I haven't had the time to really investigate how to get it woking with the kernel.  if this works you are my new hero.  I feel like a traitor every time i hear the windows start up chimes.  I'll edit this when i get it working . . . 
> 
> on a similar note, has anyone tried the evdo antenna they sell on evdo-coverage.com? does it really make a difference/worth the money?

 

I haven't tried it, but I'm considering buying one. What's amusing about that site is that they go on and on about how their competitors tend to overprice the products being sold, yet do the same  :Smile: .

I found the arc antenna at http://www.mobilecityonline.com/wireless/store/accessorydetail.asp?id=19240 for $24 and the pigtail elsewhere for $6. (Think Froogle, but be sure you look at the vendor's ratings as well.)

If you really do get something like a 6-10dBi gain, it's definitely worth it and $30 is a whole lot less painful than the $80 those guys want.

----------

## nick-oshean

I changed the verizon-connect script to be the script I use to connect via my Keyocera KPC650, instead of a generic script that actually did not work.

The rest of the scripts were cut and pastes of my own.

----------

## HROLFGANG

I ran across this thread while trying to make my Kyocera KPC650 (on the Alltel network, but just resold from Verizon) work under Knoppix 4 and decided to see if your approach could work.

Step 1: add usb serial driver to kernel.  I'm pretty sure that Knoppix already has that.  I added the product ID and vendor ID's with the following commands:

sudo insmod /lib/modules/2.6.12/kernel/drivers/usb/serial/usbserial.ko

sudo insmod /lib/modules/2.6.12/kernel/drivers/usb/serial/ipaq.ko vendor=0x0c88 product=0x17da maxsize=2048 (though dmesg doesn't know what to make of the maxSize parameter.  "ipaq: Unknown parameter 'maxSize'")

dmesg shows the card as having ttyUSB0 and ttyUSB1 ports.

Step 2: Knoppix already has PPP.

Step 3: create scripts.  I copied the scripts to the /etc/ppp/peers directory.  In the verizon script, I adjusted it to show ttyUSB0 and phonenumber@alltel.net.  I tried your verizon-connect and jwoolf's version of it too.

When I issue the command pppd connect verizon, I get the message:

Starting Verizon

Connect script failed

Where are the logs written, so that I can do a post-mortem to see where it dies?

Thanks

Brian

----------

## HROLFGANG

Here is where I am so far:

Step 1: add usb serial driver to kernel.  

sudo insmod /lib/modules/2.6.12/kernel/drivers/usb/serial/usbserial.ko vendor=0x0c88 product=0x17da (still don't know what to do about the maxSize parameter).

dmesg shows the card as having ttyUSB0 and ttyUSB1 ports. 

I tried using kppp under KDE.  I made a symlink to /dev/modem at KNOPPIX => Network/Internet => /dev/modem connection setup.

Next, I went to KPPP and set up an account/modem combo that dials #777 and uses the init string from the script mentioned earlier in this thread.  I set up the security as PAP, with the phonenumber@sprintpcs.com and password.

I can dial and connect to the internet quite well, but the dang connection keeps dropping after a few minutes.

Any ideas?

Thanks

Brian

----------

## vitiho

 *HROLFGANG wrote:*   

> Here is where I am so far:
> 
> Step 1: add usb serial driver to kernel.  
> 
> sudo insmod /lib/modules/2.6.12/kernel/drivers/usb/serial/usbserial.ko vendor=0x0c88 product=0x17da (still don't know what to do about the maxSize parameter).
> ...

 

I had same problems on verizon (with debian distro, but I don't think that matters), you have to add these two lines, they fixed that problem for me:

lcp-echo-failure 4

lcp-echo-interval 65535

add them before connect line

----------

## redwood

I followed the Gentoo EVDO KPC650 wiki directions

and my aircard works generally OK so long as I do not 

browse to sites with large fancy graphics and do not

download large files, e.g. `emerge sync`

I submitted a bug report to kernel.org:

http://bugzilla.kernel.org/show_bug.cgi?id=6425

and they inform me that the generic usbserial driver has no flow

control code to deal with large data transfers and that I should

therefore write my own driver if I don't want to crash my system

when performing large data transfers.

Anyhope of Verizon/Kyocera writing linux drivers?

It's really a shame that linux lacks a driver for this card;

it blows away the other pcmcia-modem cards. I had a

Xingular gc83 aircard but had no reception out here in

the countryside. I asked Xingular's technical support if

they had an antennae booster for the card but they informed

me there was no such thing so I had to cancel the service. 

When  Verizon introduced the EVDO service I signed up and

have always had excellent reception with the big antenna

booster which comes with the kpc650.

----------

## redwood

Found this link from FC4 with similar issue about big downloads

not working with usbserial driver:

http://www.spinics.net/lists/usb/msg05290.html

----------

## kungfoo

Any help on this matter would be greatly appreciated.  I have a thinkpad t43p.

thanks,

Harrison

gleb ~ # uname -a

Linux gleb 2.6.16-gentoo-r7 #4 PREEMPT Thu Jun 1 20:17:16 PDT 2006 i686 Intel(R) Pentium(R) M processor 2.13GHz GNU/Linux

gleb ~ # gzcat /proc/config.gz

<snip>

#

# Bus options (PCI, PCMCIA, EISA, MCA, ISA)

#

CONFIG_PCI=y

# CONFIG_PCI_GOBIOS is not set

# CONFIG_PCI_GOMMCONFIG is not set

# CONFIG_PCI_GODIRECT is not set

CONFIG_PCI_GOANY=y

CONFIG_PCI_BIOS=y

CONFIG_PCI_DIRECT=y

CONFIG_PCI_MMCONFIG=y

CONFIG_PCIEPORTBUS=y

CONFIG_HOTPLUG_PCI_PCIE=y

# CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE is not set

# CONFIG_PCI_MSI is not set

CONFIG_PCI_LEGACY_PROC=y

CONFIG_ISA_DMA_API=y

CONFIG_ISA=y

# CONFIG_EISA is not set

# CONFIG_MCA is not set

# CONFIG_SCx200 is not set

#

# PCCARD (PCMCIA/CardBus) support

#

CONFIG_PCCARD=y

# CONFIG_PCMCIA_DEBUG is not set

CONFIG_PCMCIA=y

CONFIG_PCMCIA_LOAD_CIS=y

CONFIG_PCMCIA_IOCTL=y

CONFIG_CARDBUS=y

#

# PC-card bridges

#

CONFIG_YENTA=y

CONFIG_YENTA_O2=y

CONFIG_YENTA_RICOH=y

CONFIG_YENTA_TI=y

CONFIG_YENTA_ENE_TUNE=y

CONFIG_YENTA_TOSHIBA=y

# CONFIG_PD6729 is not set

# CONFIG_I82092 is not set

# CONFIG_I82365 is not set

# CONFIG_TCIC is not set

CONFIG_PCMCIA_PROBE=y

CONFIG_PCCARD_NONSTATIC=y

#

# PCI Hotplug Support

#

CONFIG_HOTPLUG_PCI=y

# CONFIG_HOTPLUG_PCI_FAKE is not set

# CONFIG_HOTPLUG_PCI_COMPAQ is not set

# CONFIG_HOTPLUG_PCI_IBM is not set

# CONFIG_HOTPLUG_PCI_ACPI is not set

# CONFIG_HOTPLUG_PCI_CPCI is not set

# CONFIG_HOTPLUG_PCI_SHPC is not set

<snip>

gleb ~ # dmesg | grep -A 11 PCI\ Hot 

pci_hotplug: PCI Hot Plug PCI Core version: 0.5

pciehp: HPC vendor_id 8086 device_id 2660 ss_vid 0 ss_did 0

ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 20 (level, low) -> IRQ 17

Evaluate _OSC Set fails. Status = 0x0005

Evaluate _OSC Set fails. Status = 0x0005

pciehp: Cannot get control of hotplug hardware for pci 0000:00:1c.0

pciehp: HPC vendor_id 8086 device_id 2664 ss_vid 0 ss_did 0

ACPI: PCI Interrupt 0000:00:1c.2[C] -> GSI 22 (level, low) -> IRQ 18

Evaluate _OSC Set fails. Status = 0x0005

Evaluate _OSC Set fails. Status = 0x0005

pciehp: Cannot get control of hotplug hardware for pci 0000:00:1c.2

pciehp: PCI Express Hot Plug Controller Driver version: 0.4

gleb ~ # dmesg | grep -A 5 Yenta

Yenta: CardBus bridge found at 0000:04:00.0 [1014:056c]

Synaptics Touchpad, model: 1, fw: 5.9, id: 0x2c6ab1, caps: 0x884793/0x0

serio: Synaptics pass-through port at isa0060/serio1/input0

input: SynPS/2 Synaptics TouchPad as /class/input/input1

Yenta: ISA IRQ mask 0x04b8, PCI irq 16

Socket status: 30000820

pcmcia: parent PCI bridge I/O window: 0x5000 - 0x8fff

cs: IO port probe 0x5000-0x8fff: clean.

pcmcia: parent PCI bridge Memory window: 0xa8400000 - 0xb7ffffff

pcmcia: parent PCI bridge Memory window: 0xd0000000 - 0xd7ffffff

gleb ~ # cat /proc/interrupts 

           CPU0       

  0:      82603    IO-APIC-edge  timer

  1:       4632    IO-APIC-edge  i8042

  9:        241   IO-APIC-level  acpi

 12:       5247    IO-APIC-edge  i8042

 14:       4974    IO-APIC-edge  libata

 15:         12    IO-APIC-edge  libata

 16:      40517   IO-APIC-level  yenta, uhci_hcd:usb2, fglrx

 17:          0   IO-APIC-level  pciehp

 18:          0   IO-APIC-level  pciehp, Intel ICH4

 20:          2   IO-APIC-level  ehci_hcd:usb1, uhci_hcd:usb5

 21:      24746   IO-APIC-level  uhci_hcd:usb3

 22:          0   IO-APIC-level  uhci_hcd:usb4

 23:      10420   IO-APIC-level  ipw2200

NMI:          0 

LOC:      43211 

ERR:          0

MIS:          0

gleb ~ # find /sys/bus/pcmcia

/sys/bus/pcmcia

/sys/bus/pcmcia/drivers

/sys/bus/pcmcia/devices

gleb ~ # cat /proc/bus/pccard/drivers 

gleb ~ # pccardctl info

PRODID_1=""

PRODID_2=""

PRODID_3=""

PRODID_4=""

MANFID=0000,0000

FUNCID=255

gleb ~ # pcmcia-socket-startup 

::nothing changes in dmesg::

::pull the card out::

gleb ~ # dmesg | tail -n 1

pccard: card ejected from slot 0

::put the card back in::

gleb ~ # dmesg | tail -n 1

pccard: CardBus card inserted into slot 0

gleb ~ # pcmcia-socket-startup 

gleb ~ # dmesg | tail -n 1

pccard: CardBus card inserted into slot 0

----------

## redwood

Have you tried the kernel command line option "pci=assign-busses" ?

On the pcmciautils website troubleshooting/FAQ guide there is a 

discussion about pci busses and bios. I read it but didn't fully grasp it.

But I had to add the option "pci=assign-busses" to my kernel line in my grub.conf

in order for my Kyocera KPC650 to power up, otherwise the led would not

light up in response to `pccardctl insert`

`pccardctl info` still shows nothing though.

But the card does work so long as you steer clear of large downloads.

----------

## kungfoo

Just tried it, to no avail.

I was previously running hotplug, which has since been disabled.

I have some more debug output to add to the list also.

thanks,

Harrison

gleb ~ # lspci -vv | grep -A 13 Ricoh

04:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 8d)

        Subsystem: IBM Unknown device 056c

        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-

        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-

        Latency: 168

        Interrupt: pin A routed to IRQ 16

        Region 0: Memory at a8400000 (32-bit, non-prefetchable) [size=4K]

        Bus: primary=04, secondary=05, subordinate=08, sec-latency=176

        Memory window 0: d0000000-d1fff000 (prefetchable)

        Memory window 1: aa000000-abfff000

        I/O window 0: 00005000-000050ff

        I/O window 1: 00005400-000054ff

        BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+

        16-bit legacy interface ports at 0001

gleb ~ # ps | grep -v grep | grep -v ps | grep udev

 1086 ?        root     /sbin/udevd --daemon

gleb ~ # cat /proc/iomem | grep -A 10 a8400000

a8400000-b7ffffff : PCI Bus #04

  a8400000-a8400fff : 0000:04:00.0

    a8400000-a8400fff : yenta_socket

  a8401000-a8401fff : 0000:04:02.0

    a8401000-a8401fff : ipw2200

  aa000000-abffffff : PCI CardBus #05

    aa000000-aa000fff : 0000:05:00.0

    aa001000-aa001fff : 0000:05:00.1

c0000000-c7ffffff : PCI Bus #01

  c0000000-c7ffffff : 0000:01:00.0

c8000000-c80fffff : PCI Bus #03

d0000000-d7ffffff : PCI Bus #04

  d0000000-d1ffffff : PCI CardBus #05

----------

## redwood

Did you compile usbserial generic support into kernel or as module?

If you compiled usbserial as module, try

#modprobe usbserial

#lsmod

----------

## kungfoo

gleb ~ # modprobe usbserial vendor=0x0c88 product=0x17da

::nothing changes in dmesg::

gleb ~ # lsmod

Module                  Size  Used by

usbserial              26472  0 

::some omitted::

The rest is built into the kernel.  A friend of mine inserted the card into his system, running 2.6.15 with udev and pcmciautils, and the card received power even without loading usbserial.  Once he inserted usbserial with the appropriate flags a device node was built.

thanks,

Harrison

----------

## redwood

Found this out about kpc650 driver:

http://wiki.kernelnewbies.org/Linux_2_6_18http://wiki.kernelnewbies.org/Linux_2_6_18

The "airprime" driver in conjuntion with "usbserial" driver seems to be working just fine

for me on amd64 linux-2.6.17-r4. No system hangs on high bandwidth sites.

I compiled both as modules:

#modprobe usbserial vendor="0x0c88" product="0x17da"

#modprobe airprime

I did not have to do any patching of usbserial drivers.

----------

## lost_soul

Hi! Anyone got a Ubiquam UM-300 working under linux?

----------

## kurtg

Thanks for starting this thread.   I'm using different hardware w/ a Dell 5700 Wireless card which I believe is a "Novatel Wireless Merlin XV620" if I peeled the Dell sticker off.   :Smile:    I'm not a complete newbie to this as I had a Kyocera card working just fine on my previous PCMCIA latptop. 

I have all my ppp kernel modules and usb-serial.c patch installed, compiled, and booted.   I use the following: 

 *Quote:*   

> modprobe usbserial vendor=0x413c product=0x8117 maxSize=2048

 

which results in a device /dev/ttyUSB0 (& 1).

My problem seems to be that my ppp chat doesn't seem to recognize that it has a good IP address and instead just terminates the conversation. 

Here's my 'verizon script.  

 *Quote:*   

> 
> 
> ttyUSB0
> 
> 115200
> ...

 

Here's the verizon-connect chat script: 

 *Quote:*   

> 
> 
> ABORT 'BUSY'
> 
> ABORT 'NO ANSWER'
> ...

 

And Here's the actual conversation. 

 *Quote:*   

> 
> 
> Starting Verizon connect script
> 
> Serial connection established.
> ...

 

I find it curious that I get an IP addr 66.174.52.4, but ppp seems to think "Could not determine local IP address", and my pppd seems to end the conversation.   I'm not very familiar with ppp, but this seems very strange. 

Any hints, ideas, suggestions are very welcome.

----------

## Akhouk

Thanks nick-oshean  for the great help.

I just got hold of a new Canar (Sudan) CDMA2000 card boxed as a Huawei EC500. It detected the card out of the box and within a few minutes I copied the configuration details given by nick-oshean and had it working straight away. I didn't patch the kernel though and haven't experienced any timeouts or disconnects.

I see that the MS Windows software allows you to send SMS (not that I have tried it as I don't have windows). Does anyone know if there is a way to send SMS through Linux using these cards ??

Also, anyway to monitor the signal strength ??

----------

## enqack

Thanks for the guide.  I used it for getting a connection through my Samsung i730 with EVDO service.  No deviation from the guide needed either.

Though one question remains: Can I get an internal EVDO card for my Dell M1210 and use the same login info as on my i730 phone without having to purchase another data plan from Verizon for the internal card?  If anyone has any info on that a reply would be hot.

Thanks agian

----------

## tacmann

I've been trying to get my Merlin S720 to work by following this guide, but with no luck.  I get the following messages when I plug in the card.

dmesg | grep airprime

drivers/usb/serial/usb-serial.c: USB Serial support registered for airprime

usbcore: registered new interface driver airprime

USB driver airprime lacks resume support.

dmesg

hub 7-0:1.0: USB hub found

hub 7-0:1.0: 2 ports detected

Device driver usbdev7.1_ep81 lacks bus and class support for being resumed.

usb 6-1: new full speed USB device using ohci_hcd and address 2

Device driver usbdev6.2_ep00 lacks bus and class support for being resumed.

usb 6-1: configuration #1 chosen from 1 choice

Device driver usbdev6.2_ep81 lacks bus and class support for being resumed.

Device driver usbdev6.2_ep82 lacks bus and class support for being resumed.

Device driver usbdev6.2_ep02 lacks bus and class support for being resumed.

Device driver usbdev6.2_ep84 lacks bus and class support for being resumed.

Device driver usbdev6.2_ep04 lacks bus and class support for being resumed.

Device driver usbdev6.2_ep85 lacks bus and class support for being resumed.

Device driver usbdev6.2_ep05 lacks bus and class support for being resumed.

Device driver usbdev6.2_ep86 lacks bus and class support for being resumed.

Device driver usbdev6.2_ep06 lacks bus and class support for being resumed.

I'm not sure what might be keeping this from getting a USB assignment.  Any suggestions on what I might try or where to look?

----------

## dragon_788

Hey tacmann, I'd double check your kernel config, I found there was a 3rd option under the USB Serial Drivers that I needed to have enabled in order to get the Sprint card to activate properly. I have it "working" but I still haven't figured out the exact steps that I got working with. This was on a fresh install. I've updated the Merlin S620 wiki entry, and fyi I've used it successfully on the S720 and EX720.

----------

## tacmann

dragon_788

Thanks for the tip here and on the wiki about the GSM and CDMA modems in the kernel.  As soon as I added that module in, I was able to see it attached to ttyUSB0.

----------

## whtwtr

 *tacmann wrote:*   

> I've been trying to get my Merlin S720 to work by following this guide, but with no luck.  I get the following messages when I plug in the card.
> 
> dmesg | grep airprime
> 
> drivers/usb/serial/usb-serial.c: USB Serial support registered for airprime
> ...

 

NUDGE   :Wink: 

I have the same problem of no device showing up in /dev for my Novatel u727 usb modem and I get very similar dmesg messages like tacmann. I have searched high and low for a resolution to the "lacks bus and class support for being resumed" messages as I suspect this is the reason why my device is not being registered in /dev . This after a fresh new kernel 2.6.22-suspend2-r2 

Any help is greatly appreciated...

output of lsmod

```

Module                  Size  Used by

sd_mod                 19648  0 

sr_mod                 12008  0 

hidp                   13184  3 

snd_seq                41840  0 

snd_seq_device          5836  1 snd_seq

snd_pcm_oss            36672  0 

snd_mixer_oss          13184  1 snd_pcm_oss

option                  8640  0 

ipw2200               127144  0
```

Output of dmesg

 *Quote:*   

> drivers/usb/serial/usb-serial.c: USB Serial support registered for GSM modem (1-port)
> 
> usbcore: registered new interface driver option
> 
> USB driver option lacks resume support.
> ...

 

.config: (usb specific stuff)

```

#

# USB Input Devices

#

CONFIG_USB_HID=y

# CONFIG_USB_HIDINPUT_POWERBOOK is not set

# CONFIG_HID_FF is not set

# CONFIG_USB_HIDDEV is not set

#

# USB support

#

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB_ARCH_HAS_OHCI=y

CONFIG_USB_ARCH_HAS_EHCI=y

CONFIG_USB=y

# CONFIG_USB_DEBUG is not set

#

# Miscellaneous USB options

#

CONFIG_USB_DEVICEFS=y

# CONFIG_USB_DEVICE_CLASS is not set

# CONFIG_USB_DYNAMIC_MINORS is not set

# CONFIG_USB_SUSPEND is not set

# CONFIG_USB_OTG is not set

#

# USB Host Controller Drivers

#

CONFIG_USB_EHCI_HCD=y

# CONFIG_USB_EHCI_SPLIT_ISO is not set

# CONFIG_USB_EHCI_ROOT_HUB_TT is not set

# CONFIG_USB_EHCI_TT_NEWSCHED is not set

# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set

# CONFIG_USB_ISP116X_HCD is not set

CONFIG_USB_OHCI_HCD=y

# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set

# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set

CONFIG_USB_OHCI_LITTLE_ENDIAN=y

CONFIG_USB_UHCI_HCD=y

# CONFIG_USB_SL811_HCD is not set

#

# USB Device Class drivers

#

CONFIG_USB_ACM=y

# CONFIG_USB_PRINTER is not set

#

# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'

#

#

# may also be needed; see USB_STORAGE Help for more information

#

CONFIG_USB_STORAGE=y

# CONFIG_USB_STORAGE_DEBUG is not set

# CONFIG_USB_STORAGE_DATAFAB is not set

# CONFIG_USB_STORAGE_FREECOM is not set

# CONFIG_USB_STORAGE_ISD200 is not set

# CONFIG_USB_STORAGE_DPCM is not set

# CONFIG_USB_STORAGE_USBAT is not set

# CONFIG_USB_STORAGE_SDDR09 is not set

# CONFIG_USB_STORAGE_SDDR55 is not set

# CONFIG_USB_STORAGE_JUMPSHOT is not set

# CONFIG_USB_STORAGE_ALAUDA is not set

# CONFIG_USB_STORAGE_KARMA is not set

# CONFIG_USB_LIBUSUAL is not set

#

# USB Imaging devices

#

# CONFIG_USB_MDC800 is not set

# CONFIG_USB_MICROTEK is not set

CONFIG_USB_MON=y

#

# USB port drivers

#

#

# USB Serial Converter support

#

CONFIG_USB_SERIAL=y

# CONFIG_USB_SERIAL_CONSOLE is not set

CONFIG_USB_SERIAL_GENERIC=y

# CONFIG_USB_SERIAL_AIRCABLE is not set

# CONFIG_USB_SERIAL_AIRPRIME is not set

# CONFIG_USB_SERIAL_ARK3116 is not set

# CONFIG_USB_SERIAL_BELKIN is not set

# CONFIG_USB_SERIAL_WHITEHEAT is not set

# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set

# CONFIG_USB_SERIAL_CP2101 is not set

# CONFIG_USB_SERIAL_CYPRESS_M8 is not set

# CONFIG_USB_SERIAL_EMPEG is not set

# CONFIG_USB_SERIAL_FTDI_SIO is not set

# CONFIG_USB_SERIAL_FUNSOFT is not set

# CONFIG_USB_SERIAL_VISOR is not set

# CONFIG_USB_SERIAL_IPAQ is not set

# CONFIG_USB_SERIAL_IR is not set

# CONFIG_USB_SERIAL_EDGEPORT is not set

# CONFIG_USB_SERIAL_EDGEPORT_TI is not set

# CONFIG_USB_SERIAL_GARMIN is not set

# CONFIG_USB_SERIAL_IPW is not set

# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set

# CONFIG_USB_SERIAL_KEYSPAN is not set

# CONFIG_USB_SERIAL_KLSI is not set

# CONFIG_USB_SERIAL_KOBIL_SCT is not set

# CONFIG_USB_SERIAL_MCT_U232 is not set

# CONFIG_USB_SERIAL_MOS7720 is not set

# CONFIG_USB_SERIAL_MOS7840 is not set

# CONFIG_USB_SERIAL_NAVMAN is not set

# CONFIG_USB_SERIAL_PL2303 is not set

# CONFIG_USB_SERIAL_HP4X is not set

# CONFIG_USB_SERIAL_SAFE is not set

# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set

# CONFIG_USB_SERIAL_TI is not set

# CONFIG_USB_SERIAL_CYBERJACK is not set

# CONFIG_USB_SERIAL_XIRCOM is not set

CONFIG_USB_SERIAL_OPTION=m

# CONFIG_USB_SERIAL_OMNINET is not set

# CONFIG_USB_SERIAL_DEBUG is not set

#

# USB Miscellaneous drivers

#

# CONFIG_USB_EMI62 is not set

# CONFIG_USB_EMI26 is not set

# CONFIG_USB_ADUTUX is not set

# CONFIG_USB_AUERSWALD is not set

# CONFIG_USB_RIO500 is not set

# CONFIG_USB_LEGOTOWER is not set

# CONFIG_USB_LCD is not set

# CONFIG_USB_BERRY_CHARGE is not set

# CONFIG_USB_LED is not set

# CONFIG_USB_CYPRESS_CY7C63 is not set

# CONFIG_USB_CYTHERM is not set

# CONFIG_USB_PHIDGET is not set

# CONFIG_USB_IDMOUSE is not set

# CONFIG_USB_FTDI_ELAN is not set

# CONFIG_USB_APPLEDISPLAY is not set

# CONFIG_USB_SISUSBVGA is not set

# CONFIG_USB_LD is not set

# CONFIG_USB_TRANCEVIBRATOR is not set

# CONFIG_USB_IOWARRIOR is not set

# CONFIG_USB_TEST is not set

#

# USB DSL modem support

#

#

# USB Gadget Support

#

CONFIG_USB_GADGET=y

# CONFIG_USB_GADGET_DEBUG_FILES is not set

CONFIG_USB_GADGET_SELECTED=y

# CONFIG_USB_GADGET_FSL_USB2 is not set

CONFIG_USB_GADGET_NET2280=y

CONFIG_USB_NET2280=y

# CONFIG_USB_GADGET_PXA2XX is not set

# CONFIG_USB_GADGET_GOKU is not set

# CONFIG_USB_GADGET_LH7A40X is not set

# CONFIG_USB_GADGET_OMAP is not set

# CONFIG_USB_GADGET_AT91 is not set

# CONFIG_USB_GADGET_DUMMY_HCD is not set

CONFIG_USB_GADGET_DUALSPEED=y

# CONFIG_USB_ZERO is not set

# CONFIG_USB_ETH is not set

# CONFIG_USB_GADGETFS is not set

# CONFIG_USB_FILE_STORAGE is not set

# CONFIG_USB_G_SERIAL is not set

# CONFIG_USB_MIDI_GADGET is not set

CONFIG_MMC=y

# CONFIG_MMC_DEBUG is not set

# CONFIG_MMC_UNSAFE_RESUME is not set

```

----------

## whitecom

 *Quote:*   

> #
> 
> # Miscellaneous USB options
> 
> #
> ...

 

Hi there,

Recompile your kernel with CONFIG_USB_SUSPEND=y option, and that error will go away. Its in Device Drivers > USB Support >  USB selective suspend/resume and wakeup (EXPERIMENTAL)

Goodluck!

Aaron

----------

## lvk

Does anybody know how to enter a PIN code under linux? (Huawei EC500)

AT+CPIN doesnt work (says "COMMAND NOT SUPPORT")

----------

## nechto

Hi all.

I can not deal with modem EC500 read many forums, there are people who have set up internet on it, but unfortunately a good description of nowhere there. Can someone help? It should be

i'm sorry for my English.

----------

## nechto

solved. 1 trouble exists

----------

