Re: Novatel MC760 Virgin Mobile Broadband2Go

2010-04-23 Thread J.C. Roberts
On Thu, 22 Apr 2010 07:44:04 -0600 Ted Roby  wrote:

> Novatel (0x1410) makes an MC760 (0x6002) used by
> Virgin Mobile in their BroadBand2Go card.

First things first. You will probably need to put it into a ms-windows
machine with the vendor/carrier provided software to do the initial
device configuration (e.g. "activation" including getting the prl and
similar downloads).

As mentioned, there are typically more than one serial ports on these
devices. Only one of the serial ports is used for the connection, while
the others are for undocumented "management" purposes. You'll need to
experiment to figure out which is the right port.

These cards can attach to different networks, such as QNC, RTT, EVDO
Rev0, EVDO RevA, GSM. GPRS, UTMS, HSDPA, ... and you can control the
network via the AT commands. Unfortunately, some devices will
uncontrollably "float" between networks depending on usage and/or
signal strength.

With some providers, you need to use the correct phone number in your
ppp.conf, typically "#777" but with other providers, this doesn't
matter. Similarly, with some providers the authname and authkey matter
(some use the device phone number), but with other providers they don't
matter, or need to be set to known values.

One thing to note is the setting for 'speed' only matters on some
devices while other devices ignore the provided value. I've got no clue
how the MC760 works.

>From what I've read, Virgin Mobile Broadband uses PAP and CHAP must be
disabled, but I'm thousands of miles away from being able to test it, so
I'm uncertain if it's true.

>From the file content and file names, it seems you've found hints from
the linux users like:

http://forums.whirlpool.net.au/forum-replies-archive.cfm/808806.html

The good thing about the above link is it seems to show the AT commands
for controlling which network you connect to with virgin. Reformatting
the information into a simple ppp.conf should not be too difficult.

Below is my ppp.conf and dmesg for an EVDO device running on Verizon
here in the states. Yours will obviously be different, but it might be
a helpful reference.

jcr

---
# Default Settings
# set log debug async connect Phase Chat LCP IPCP CCP tun command
default:
 set log connect Phase Chat LQM LCP IPCP CCP tun command

# NOTE: need to document AT codes for QNC, RTT, EVDO, etc.
# For old 14.4K QNC Network
#   AT$QCMDR=2;AT$QCQNC=1
# For 128K144K RTT "Express Network"
#   AT$QCMDR=3;AT$QCQNC=0
# For EVDO
#   AT (unknown)

# VerizonWireless 1xEVDO/1xRTT
vzw:
 set device /dev/cuaU0
 set speed 230400
 set phone "#777"
 set authname vzw3g.com
 set authkey vzw
 set server /var/run/ppp.pid "" 0177
 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" \
  AT OK \
  ATZ0 OK \
  ATQ0 OK \
  ATV1 OK \
  ATE1 OK \
  AT+EFCS=2 OK \
  AT&V OK \
  \\dATDT\\T TIMEOUT 30 CONNECT"
 set login
 set redial 3 0 
 set timeout 0
 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 add! default HISADDR
 enable dns
 disable ipv6cp
 enable lqr
 accept lqr
 set cd off
# set mru 2048
# set mtu 2048
# set mru 2048
# set mtu 2048
# set ctsrts off
# set escape 0xff
# set accmap 000a
# enable echo
# set echoperiod 30
# disable vjcomp
# deny vjcomp
# disable deflate pred1 vjcomp acfcomp chap chap81 mppe
# deny deflate pred1 vjcomp acfcomp chap chap81 mppe
# disable vjcomp pred1 deflate lqr
# deny vjcomp pred1 deflate lqr
# disable vjcomp pred1 deflate
# deny vjcomp pred1 deflate
# disable lqr
# deny lqr

#EOF
---
OpenBSD 4.7 (GENERIC) #556: Tue Mar  9 09:46:59 MST 2010
dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel Pentium II ("GenuineIntel" 686-class, 512KB L2 cache) 400
MHz cpu0:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR
real mem  = 133783552 (127MB) avail mem = 120979456 (115MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 08/01/01, BIOS32 rev. 0 @
0xffe90, SMBIOS rev. 2.2 @ 0xfb410 (64 entries) bios0: vendor Dell
Computer Corporation version "A10" date 08/01/01 bios0: Dell Computer
Corporation OptiPlex GX1 400MTbr+ apm0 at bios0: Power Management spec
V1.2 apm0: AC on, battery charge unknown
acpi at bios0 function 0x0 not configured
pcibios0 at bios0: rev 2.1 @ 0xf/0x1
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfc670/176 (9 entries)
pcibios0: PCI Interrupt Router at 000:07:0 ("Intel 82371AB PIIX4 ISA"
rev 0x00) pcibios0: PCI bus #3 is the last bus
bios0: ROM list: 0xc/0x8000 0xc8000/0x8000
cpu0 at mainbus0: (uniprocessor)
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82443BX AGP" rev 0x03
intelagp0 at pchb0
agp0 at intelagp0: aperture at 0xf400, size 0x400
ppb0 at pci0 dev 1 function 0 "Intel 82443BX AGP" rev 0x03
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "ATI Rage Pro" rev 0x5c
wsdisplay0 at vga1 mux 1:

Re: Novatel MC760 Virgin Mobile Broadband2Go

2010-04-22 Thread Stuart Henderson
On 2010-04-22, Ted Roby  wrote:
> On Thu, Apr 22, 2010 at 8:57 AM, David Coppa  wrote:
>
>>
>> The diff is ok.
>>
>> Regarding your problem:
>> have you tried all ports?
>> Usually it can be /dev/cuaU0 or /dev/cuaU2
>>
>>
> Yes. But thank you for the confirmation.
> I will continue troubleshooting my ppp syntax.
>
> My pasting of ppp.conf and peers/virgin show
> different devices because I failed to clean it
> all up from testing, before I pasted here.
>
>

Take it step by step.

Typically one or more ports are only for monitoring the connection
and you cannot connect or send active commands.

So connect to each port in turn.

See if you can find one which doesn't respond to your commands
with an error response.

Ideally you're looking for being able to do something like this:

# cu -l /dev/cuaU2
AT+CGDCONT=1,"IP",""
OK
ATD*99***1#
CONNECT <...>

Don't bother attempting PPP until you see CONNECT.

If possible try connecting from Windows too. Sometimes doing
this once can clear things for connecting from other OS.



Re: Novatel MC760 Virgin Mobile Broadband2Go

2010-04-22 Thread Ted Roby
On Thu, Apr 22, 2010 at 8:57 AM, David Coppa  wrote:

>
> The diff is ok.
>
> Regarding your problem:
> have you tried all ports?
> Usually it can be /dev/cuaU0 or /dev/cuaU2
>
>
Yes. But thank you for the confirmation.
I will continue troubleshooting my ppp syntax.

My pasting of ppp.conf and peers/virgin show
different devices because I failed to clean it
all up from testing, before I pasted here.



Re: Novatel MC760 Virgin Mobile Broadband2Go

2010-04-22 Thread David Coppa
On Thu, Apr 22, 2010 at 3:44 PM, Ted Roby  wrote:
> Novatel (0x1410) makes an MC760 (0x6002) used by
> Virgin Mobile in their BroadBand2Go card.

...

> Still, I have no success yet in initiating ppp.
> I consider this as my own error, and suspect
> the device will operate as expected. My
> ppp script skills have diminished since the
> advent of DSL.
>
> First, here's my /usr/src/sys/dev/usb diffs:

The diff is ok.

Regarding your problem:
have you tried all ports?
Usually it can be /dev/cuaU0 or /dev/cuaU2

cheers,
David



Novatel MC760 Virgin Mobile Broadband2Go

2010-04-22 Thread Ted Roby
Novatel (0x1410) makes an MC760 (0x6002) used by
Virgin Mobile in their BroadBand2Go card.

This card advertises itself as "incompatible" with
"linux" at this time.

After adding the device to usbdevs, rebuilding
usbdevs.h and usbdevs_data.h, and adding to
umsm.c it was finally recognized and mounted
as such:

(FYI, this part of the dmesg is the same regardless
of addition to usbdevs. See further dmesg after
performing 'eject cd1' for the successful output
after adding to sys/dev/usb files.)

umass1 at uhub7 port 1 configuration 1 interface 0 "Novatel Wireless Inc.
Novatel Wireless CDMA" rev 1.10/0.00 addr
 3
umass1: using SCSI over Bulk-Only
scsibus2 at umass1: 2 targets, initiator 0
cd1 at scsibus2 targ 1 lun 0:  SCSI2 5/cdrom
removable
umass2 at uhub7 port 1 configuration 1 interface 1 "Novatel Wireless Inc.
Novatel Wireless CDMA" rev 1.10/0.00 addr
 3
umass2: using SCSI over Bulk-Only
scsibus4 at umass2: 2 targets, initiator 0
sd1 at scsibus4 targ 1 lun 0:  SCSI2 0/direct
removable
sd1: drive offline


This device mounts a CD image when inserted.
After ejecting with 'eject cd1' I get the following:


cd1 detached
scsibus2 detached
umass1 detached
sd1 detached
scsibus4 detached
umass2 detached
umsm0 at uhub7 port 1 configuration 1 interface 0 "Novatel Wireless Inc.
Novatel Wireless CDMA" rev 1.10/0.00 addr
3
ucom0 at umsm0
umsm1 at uhub7 port 1 configuration 1 interface 1 "Novatel Wireless Inc.
Novatel Wireless CDMA" rev 1.10/0.00 addr
3
ucom1 at umsm1
umsm2 at uhub7 port 1 configuration 1 interface 2 "Novatel Wireless Inc.
Novatel Wireless CDMA" rev 1.10/0.00 addr
3
ucom2 at umsm2
umsm3 at uhub7 port 1 configuration 1 interface 4 "Novatel Wireless Inc.
Novatel Wireless CDMA" rev 1.10/0.00 addr
3


Still, I have no success yet in initiating ppp.
I consider this as my own error, and suspect
the device will operate as expected. My
ppp script skills have diminished since the
advent of DSL.

First, here's my /usr/src/sys/dev/usb diffs:

Index: sys/dev/usb/usbdevs
===
RCS file: /cvs/src/sys/dev/usb/usbdevs,v
retrieving revision 1.493
diff -u sys/dev/usb/usbdevs
--- sys/dev/usb/usbdevs 17 Apr 2010 15:05:59 -  1.493
+++ sys/dev/usb/usbdevs 22 Apr 2010 13:29:21 -
@@ -2741,6 +2741,7 @@
 product NOVATEL MERLINX950D0x5010  X950D
 product NOVATEL ZEROCD20x5030  ZeroCD
 product NOVATEL U760   0x6000  U760
+product NOVATEL MC760  0x6002  MC760

 /* Novatel Wireless(1) products */
 product NOVATEL1 FLEXPACKGPS   0x0100  NovAtel FlexPack GPS

Index: sys/dev/usb/umsm.c
===
RCS file: /cvs/src/sys/dev/usb/umsm.c,v
retrieving revision 1.61
diff -u sys/dev/usb/umsm.c
--- sys/dev/usb/umsm.c  14 Apr 2010 02:47:58 -  1.61
+++ sys/dev/usb/umsm.c  22 Apr 2010 13:29:45 -
@@ -172,6 +172,7 @@
{{ USB_VENDOR_NOVATEL, USB_PRODUCT_NOVATEL_MERLINX950D },
DEV_UMASS4},
{{ USB_VENDOR_NOVATEL, USB_PRODUCT_NOVATEL_ZEROCD2 }, DEV_UMASS4},
{{ USB_VENDOR_NOVATEL, USB_PRODUCT_NOVATEL_U760 }, DEV_UMASS4},
+   {{ USB_VENDOR_NOVATEL, USB_PRODUCT_NOVATEL_MC760 }, DEV_UMASS4},

{{ USB_VENDOR_NOVATEL1, USB_PRODUCT_NOVATEL1_FLEXPACKGPS }, 0},


Here's /etc/ppp/ppp.conf
default:
   set device /dev/cuaU1
   set speed 460800
   set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" AT OK-AT-OK
ATE1Q0s7=60 OK \\dATDT\\T TIMEOUT 40 CONNECT"
   set login
   set authname guest
   set authkey guest
   set timeout 120
   enable dns

Here's /etc/ppp/peers/virgin:
/dev/cuaU0
460800
lock
crtscts
modem
noauth
defaultroute
user guest
connect "/usr/sbin/chat -V -f /etc/ppp/chat-virgin"
noipdefault


And here's /etc/ppp/chat-virgin:
TIMEOUT 10
REPORT CONNECT
ABORT BUSY
ABORT 'NO CARRIER'
ABORT ERROR
"" "ATZ"
OK "AT&F"
OK "AT_OPSYS=1"
OK 'AT+CGDCONT=1,"IP","virginbroadban d"'
SAY "Calling...\n"
TIMEOUT 120
OK "ATD*99***1#"
CONNECT \c


When negotiating manually (at the ppp prompt with 'term')
I get as far as the "AT&F" sequence. Any command after
that produces ERROR.

Here's some usbdevs info:
 port 2 addr 2: high speed, self powered, config 1, USB2.0 Hub(0x0606),
Genesys Logic(0x05e3), rev 7.02
  port 1 addr 3: full speed, power 500 mA, config 1, Novatel Wireless
CDMA(0x6002), Novatel Wireless Inc.(0x1410), rev 0.00, iSerialNumber
091116569131000

Note, the above usbdevs shows the device attached to
an external hub. This was ONLY done for obtaining this
output. During testing the device was inserted into
a built-in usb port, and typically mounted on /dev/usb4