LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Novatel Merlin V620 CDMA PC Card: How To? (https://www.linuxquestions.org/questions/linux-hardware-18/novatel-merlin-v620-cdma-pc-card-how-to-300962/)

sipples 03-12-2005 10:29 PM

Novatel Merlin V620 CDMA PC Card: How To?
 
I have SuSE Linux Professional 9.2, and I'm trying to set it up with the Novatel Merlin V620 CDMA EV-DO PC Card (Verizon Wireless). I've used USBView, and it does seem to identify the card as a Novatel Merlin, but Linux doesn't seem to know what to do with it.

Looks like it's some sort of USB bridge (NEC USB) to the modem, so Linux is getting past that. So if I can somehow tell Linux how to treat it as a USB modem, I should be OK.

Anybody familiar with this device and/or got it working? Looking for any assistance (or follow-up questions about what I should post). Thanks.

Timothy Sipples
tsipple -at- that yahoo place

sipples 03-12-2005 10:35 PM

By the way, vendor ID is listed as 1410 and product ID as 1110 for this modem card.

scutt 04-08-2005 08:53 PM

Novatel V620 3g Linux how-to
 
For Linux 2.6 Kernels it is really quite simple to get it to work. The first thing you do is simply cat /proc/bus/usb/devices and grab the verndorID and the product code form the device ( which I can see you have done already ).

As per your post:
vendor=1416
product=1110

( I recommend that you another terminal open with tail -f /var/log/messages while you do this for debuging)

Now, with the info we just need to tell usbserial kernel module to use this device:

modprobe usbserial vendor=0x1416 product=0x1110

( You should see a message flash through your tail saying something like blah blah /class/dev/usb/ttyUSB0 and /class/dev/usb/ttyUSB1 )

Holy crap, your in.... now you just have to set pppd to allow the paramets to connect and then call it and your on the net:

/etc/ppp is were we are going to go, you need two files one under /etc/ppp/peers/<your ppp> and one under /etc/ppp/<your chat script>

mine looks like this:
vi /etc/ppp/peers/verizon

connect '/usr/sbin/chat -v -t3 -f /etc/ppp/verizon-chat'

debug
/dev/ttyUSB0
230400
user="<your#>@vzw3g.com"
password="<your passwd>"
defaultroute
usepeerdns
ipparam rtt

vi /etc/ppp/verizon-chat

'' 'AT'
'OK' 'ATDT#777'

now add this to your /etc/ppp/pap-secrets

<your#>@vzw3g.com * <your passwd>

Also, Suse users, or others that get disconnect after 2.1->2.6 minutes
vi /etc/ppp/options

Comment out all the LCP lines in the file, wq, and restart your ppp dialing


pppd call verizon

sipples 04-22-2005 07:44 PM

No Luck Yet
 
No messages appear in /var/log/messages when I issue this command:

modprobe usbserial vendor=0x1410 product=0x1110

Here's what cat /proc/bus/usb/devices shows (relevant portion):

T: Bus=05 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1410 ProdID=1110 Rev= 0.00
S: Manufacturer=Novatel Wireless Inc.
S: Product=Novatel Wireless Merlin CDMA
C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=128ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=84(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms


Any ideas? Thanks! (By the way, using SuSE 9.2.)

scutt 04-22-2005 08:27 PM

Depending on any mucking around with the card that is done, and or the Laptop PCMCIA controller onboard, you may at times need to remore the card form the slot .. give it a few seconds, and reinsert it into the the PCMCIA slot; do this while tail -f /var/log/messages you should see the device appear and load two (2) usb devices one is a built in hub on the card, and the other is the modem itself. Once you see these messages, it is on to configuring the pppd to dial using this modem.

I would post the output of my /var/log/messages with this card, but I left that lapi at work, sorry, maybe monday if you have no luck I will post the outputs.

sipples 04-23-2005 01:13 PM

No luck. Have tried various combinations of power on with/without the card, inserting the card before/after bootup, inserting before/after modprobe, etc. The modprobe usbserial (...) line doesn't generate anything whatsoever -- nothing in /var/log/messages, nothing in the console where it's run.

By the way, I have read that it works quite easily with Mac OS 10 without explicit driver support, so it would appear to be a "generic enough" piece of hardware.

Any further suggestions most welcome. Thanks.

scutt 04-23-2005 05:06 PM

Yep it does, that is what I am using right now to respond, PowerBook and 10.3.9, like I said the other lapi is my Suse 9.1 AMD64 and is at work. To get the card to work with OSx it is much the same, you simply tell the drive the Product and Vendor codes, except in OSx they are in decimal not hex, and then set the card up with pppd and it just works. That is much the same thing that I have done in Suse 9.1, NetBSD 2.0.1, and FreeBSD 5.3 to get this card working.

By the way unless you have the module loading at boot, pwr cycling the machine with or without the card will make no difference, you have to have the module loaded first, then insert the card, or have it already inserted. Also are you getting any beeps when the card is inserted into the machine, like high-low, or high-high? If not the the card is not ever initializing and sounds like it could be an IRQ conflict.

The only thing that I can think of is that you may have a conflicting module loaded like ACM module or that you may have an IRQ overlap that is cause problems. I have had this card working this way in everything form E-Machines->Compaq->Toshiba->Sony->Apples. Try giving looking at your modules and see what you have loaded using lsmod; you can by the way try using the ACM module for Suse, this is the winmodem kernel module, the first time I used this card in linux, that is the module I used but the module seemed very unstable.

I am sorry your having so much trouble, but we can get this working.

sipples 04-24-2005 01:00 PM

Quote:

Originally posted by scutt
By the way unless you have the module loading at boot, pwr cycling the machine with or without the card will make no difference, you have to have the module loaded first, then insert the card, or have it already inserted. Also are you getting any beeps when the card is inserted into the machine, like high-low, or high-high? If not the the card is not ever initializing and sounds like it could be an IRQ conflict.
No beeps on this model (IBM ThinkPad T40). When I insert the card it does get power -- green flashing light soon appears indicating reception. USBView also sees the card. And that "other" operating system sees and uses the card.

Quote:

The only thing that I can think of is that you may have a conflicting module loaded like ACM module or that you may have an IRQ overlap that is cause problems. I have had this card working this way in everything form E-Machines->Compaq->Toshiba->Sony->Apples. Try giving looking at your modules and see what you have loaded using lsmod; you can by the way try using the ACM module for Suse, this is the winmodem kernel module, the first time I used this card in linux, that is the module I used but the module seemed very unstable.
Here's an lsmod printout:

ipv6 237312 6
nvram 8328 0

cpufreq_userspace 5208 2
speedstep_centrino 8020 0
freq_table 4356 1 speedstep_centrino
thermal 17928 0
processor 25640 2 speedstep_centrino,thermal
fan 5380 0
button 8464 0
battery 11396 0
ac 6404 0
edd 10012 0
usbserial 26856 0
snd_pcm_oss 57896 0
snd_mixer_oss 19200 1 snd_pcm_oss
lp 10536 0
snd_intel8x0 31396 0
snd_ac97_codec 69728 1 snd_intel8x0
snd_pcm 96776 3 snd_pcm_oss,snd_intel8x0,snd_ac97_codec
snd_timer 24708 1 snd_pcm
snd 60164 6 snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_
codec,snd_pcm,snd_timer
soundcore 9056 1 snd
snd_page_alloc 10248 2 snd_intel8x0,snd_pcm
slamr 408264 2
vmnet 23068 8
parport_pc 37824 1
parport 37960 2 lp,parport_pc
vmmon 98828 0
af_packet 20872 2
joydev 9664 0
sg 35872 0
st 37404 0
sd_mod 16912 0
sr_mod 16292 0
scsi_mod 111052 4 sg,st,sd_mod,sr_mod
ide_cd 38176 0
cdrom 36508 2 sr_mod,ide_cd
ohci_hcd 20228 0
ds 17796 4
ipw2100 134460 0
firmware_class 9600 1 ipw2100
ieee80211 30884 1 ipw2100
ieee80211_crypt 5576 2 ipw2100,ieee80211
intel_agp 21024 1
agpgart 32168 1 intel_agp
ehci_hcd 29188 0
uhci_hcd 29712 0
yenta_socket 19840 1
pcmcia_core 66100 2 ds,yenta_socket
hw_random 5524 0
subfs 7552 1
nls_utf8 2176 1
nls_cp437 5888 1
vfat 13056 1
fat 43168 1 vfat
evdev 8960 0
dm_mod 54524 0
e1000 82308 0
usbcore 106724 6 usbserial,ohci_hcd,ehci_hcd,uhci_hcd
reiserfs 242000 1


Quote:

I am sorry your having so much trouble, but we can get this working.
I think so -- this one should be doable. By the way, here's what appears in /var/log/messages (after typing modprobe usbserial vendor=0x1410 product=0x1110 -- or before, doesn't matter) when I insert the card after bootup:

Apr 24 12:23:16 t40linux kernel: ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
Apr 24 12:23:16 t40linux kernel: PCI: Enabling device 0000:07:00.0 (0000 -> 0002)
Apr 24 12:23:16 t40linux kernel: ACPI: PCI interrupt 0000:07:00.0[A] -> GSI 11 (level, low) -> IRQ 11
Apr 24 12:23:16 t40linux kernel: ohci_hcd 0000:07:00.0: OHCI Host Controller
Apr 24 12:23:17 t40linux kernel: PCI: Setting latency timer of device 0000:07:00.0 to 64
Apr 24 12:23:17 t40linux kernel: ohci_hcd 0000:07:00.0: irq 11, pci mem f96ec000
Apr 24 12:23:17 t40linux kernel: ohci_hcd 0000:07:00.0: new USB bus registered,assigned bus number 5
Apr 24 12:23:17 t40linux kernel: usb usb5: Product: OHCI Host Controller
Apr 24 12:23:17 t40linux kernel: usb usb5: Manufacturer: Linux 2.6.8-24.14-default ohci_hcd
Apr 24 12:23:17 t40linux kernel: usb usb5: SerialNumber: 0000:07:00.0
Apr 24 12:23:17 t40linux kernel: hub 5-0:1.0: USB hub found
Apr 24 12:23:17 t40linux kernel: hub 5-0:1.0: 3 ports detected
Apr 24 12:23:17 t40linux kernel: PCI: Enabling device 0000:07:00.1 (0000 -> 0002)
Apr 24 12:23:17 t40linux kernel: ACPI: PCI interrupt 0000:07:00.1[B] -> GSI 11 (level, low) -> IRQ 11
Apr 24 12:23:17 t40linux kernel: ohci_hcd 0000:07:00.1: OHCI Host Controller
Apr 24 12:23:17 t40linux kernel: PCI: Setting latency timer of device 0000:07:00.1 to 64
Apr 24 12:23:17 t40linux kernel: ohci_hcd 0000:07:00.1: irq 11, pci mem f97a4000
Apr 24 12:23:17 t40linux kernel: ohci_hcd 0000:07:00.1: new USB bus registered,assigned bus number 6
Apr 24 12:23:17 t40linux kernel: usb usb6: Product: OHCI Host Controller
Apr 24 12:23:17 t40linux kernel: usb usb6: Manufacturer: Linux 2.6.8-24.14-default ohci_hcd
Apr 24 12:23:17 t40linux kernel: usb usb6: SerialNumber: 0000:07:00.1
Apr 24 12:23:17 t40linux kernel: hub 6-0:1.0: USB hub found
Apr 24 12:23:17 t40linux kernel: hub 6-0:1.0: 2 ports detected
Apr 24 12:23:17 t40linux kernel: usb 5-1: new full speed USB device using address 2
Apr 24 12:23:17 t40linux kernel: usb 5-1: Product: Novatel Wireless Merlin CDMA
Apr 24 12:23:17 t40linux kernel: usb 5-1: Manufacturer: Novatel Wireless Inc.


Note the kernel is 2.6.8-24.14 (SuSE 9.2 updated). Note also there's no magic "/dev/ttyUSB0" sorts of line(s) that appear after the Novatel lines.

Here are some other things I tried without success:

1. "Dumbed down" the ThinkPad by shutting off other devices (infrared, serial, parallel) and by shutting off PCI power management.
2. Kernel boot parameter noapic.
3. modprobe cdc_acm
4. Installing SuSE's ltmodem (Lucent Winmodem) package.

I should probably also list the hardware characteristics for this thing, from VZAccess Manager, for comparison:

Firmware Version: M6500C-BBIRD-40304.120 [Sep 16 2004 18:33:45]
Hardware Version: D2121104000231

Any further suggestions most welcome. Thanks.

ijcd 04-25-2005 02:28 PM

Need ohci-hcd too
 
I too am using a Thinkpad T40. I've managed to get a bit further than you, but still can't connect. The T40 has a uhci usb controller, but the card also has an ohci controller, so make sure you have them both loaded.

modprobe uhci-hcd
modprobe ohci-hcd
modprobe usbserial vendor=0x1410 product=0x1110

My connect attempts look like this:

sopwith% sudo pon verizon
Serial connection established.
using channel 4
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x1dbf7fcb> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x1dbf7fcb> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x1dbf7fcb> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x1dbf7fcb> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x1dbf7fcb> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x1dbf7fcb> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x1dbf7fcb> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x1dbf7fcb> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x1dbf7fcb> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x1dbf7fcb> <pcomp> <accomp>]
LCP: timeout sending Config-Requests
Connection terminated.
Receive serial link is not 8-bit clean:
Problem: all had bit 7 set to 0
Serial connection established.
using channel 5
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB0
tcflush failed: Bad file descriptor
tcsetattr: Invalid argument (line 1003)
sopwith%



I "activated" the card by setting it up on a different windows laptop and going through the setup program and verifying that the card and my account worked. Does anyone know if this needs to be done on the Linux machine as well? What does "activating" do?

I'm going to try messing around with it in minicom next.

--Ian

scutt 04-25-2005 06:17 PM

Comment out all the lines in /etc/ppp/options that deal with LCP. It will always timeout, and cause your system to hangup.

Also, I don't see where your getting connect at all, just trying, make sure that your chat scripts clears the modem before dialing; Also, make sure your ppp script has a reference to your chat script:

connect "/usr/sbin/chat -v -f /etc/chatscripts/pon"

here is list of known modem commands for the V620

AT
ATZ
ATQ0V1E0
AT+GMM
AT+FCLASS=?
AT1
AT2
AT3
AT4
AT5
AT6
AT7

hope this helps

ijcd 04-25-2005 06:24 PM

Got it!
 
I banged on this thing for two weeks with no success, trying many sets of directions I found on google. I finally got it working today. I don't seen anything significantly different with my final setup, so maybe I just had something odd out of place. The directions that worked in the end were here:

http://www.linuxdevcenter.com/pub/a/..._cellular.html

The verizon directions at the bottom. I had to comment out the

novj
novjccomp

lines to make it stay connected longer than a minute, however. All seems to be ok now.

--Ian

scutt 04-25-2005 08:24 PM

Good to hear it, yeah I have seen that post before, that post is for a card using a true FIFO, like the Aircard 580. So with your V620, you can increase that serial connection to 23400, this is the line rate of your USB 1.0 card. What this will do is when your area goes full 3G, you will be able to transer the full 2.3Mb/sec down (depending on reception), were as the serial cards will be limited to 1.5Mb/sec down. Don't sell your little V620 short, open up the throttle.

Glad your up, wirefree, and on the net.

sipples 04-25-2005 10:13 PM

Working!
 
OK, a slightly different route to success here, but unless it's purely accidently, here's what worked:

1. Unloading and reloading the drivers, as follows:

modprobe -r usbserial
modprobe -r ehci-hcd
modprobe -r ohci-hcd
modprobe ohci-hcd
modprobe usbserial vendor=0x1410 product=0x1110


I used the tail -f /var/log/messages command in another window, to keep an eye on these commands and make sure that the V620 actually registered correctly. I'm not sure why unloading (-r) the drivers is needed, but in my case it was very important. I might try playing with the boot order for OHCI and EHCI/UHCI drivers to see if that fixes the problem. Perhaps the usbserial driver stops hunting after it searches the first USB ports?

2. I'm using wvdial as the PPP dialer. It just required a few simple changes to /etc/wvdial.conf as follows:

Modem = /dev/ttyUSB0
Baud = 230400
(...)
Phone = #777
Username = 1235551212@vzw3g.com
Password = vzw
(...)
Idle Seconds = 3600


Note that 1235551212 is my Verizon Wireless phone number for this data line. (Well, obviously THAT's not my number. Replace with whatever yours is.) The "(...)" parts above indicate there are some lines in between that don't need to be changed.

3. I also changed some things in /etc/ppp/options -- specifically I had to commend out any configuration line that started with "lcp" by putting a # symbol in front. In my case it was these lines:

#lcp-echo-interval 30
#lcp-echo-failure 4
#lcp-max-configure 60
#lcp-restart 2


4. Then I just dialed using this command:

wvdial

I was logged in as root for all these steps -- I believe that's necessary.

So I'm typing this reply via my Novatel V620. Thanks all for the clues! Hopefully this info gives others some incentive and information.

sipples 04-25-2005 11:31 PM

Still Investigating
 
A little too soon to declare victory. I've had a couple episodes where I've been able to lock up the modem with a reboot needed to reset. Stay tuned!

sclin 04-28-2005 09:46 AM

Quote:

Originally posted by scutt
To get the card to work with OSx it is much the same, you simply tell the drive the Product and Vendor codes, except in OSx they are in decimal not hex, and then set the card up with pppd and it just works. That is much the same thing that I have done in Suse 9.1, NetBSD 2.0.1, and FreeBSD 5.3 to get this card working.
Scutt,

I know this is a Linux list, but I happened to google over here -- I'm trying to get this card (Novatel V620) to work with FreeBSD 5.3, which it sounds like you were able to do. For me, it just comes up as a ugen (generic USB) device, not as a serial device, so I can't do much with it.

Can you give me a pointer to how you were able to get it working on FreeBSD 5.3? Feel free to pm or email me if you think it's too off-topic for this forum.

-Thanks, Steve


All times are GMT -5. The time now is 12:14 PM.