Log-in |

This project is developing Solaris support for the emerging WWAN technologies, including device drivers, configuration files and recipes for various devices.

usbsacm driver have been integrated in Solaris Nevada build 56. It comes standard with any OpenSolaris release.

Devices reported to work:

  • Kyocera KPC650 (aka Passport 1xEV-DO)
  • Novatel V620 (Merlin)
  • Novatel S720
  • Novatel U720
  • Pantech PX-500
  • Bora 5188
  • Nokia 6670
  • Sony Ericsson K750c, W800

WWAN access using PPP and usbsacm driver

Background

Many WWAN modems are essentially USB modems. The standard for USB modems is called Communication Class Device Abstract Communication Model (CDC ACM). Popular PCMCIA WWAN modem cards, such as Novatel Merlin V620 and Kyocera KPC650, include an internal USB controller and a CDC ACM device - and can use the same drivers as the USB modems connected to the external USB ports.

The Solaris usbsacm driver supports devices compatible with CDC ACM. The following instructions were verified with the Novatel V620 EV-DO modem card from Verizon, previously activated in the VZAccess software for Windows.

Configuration

Connect your modem device. After a few seconds, one or more devices numbered 0..N should appear in the /dev/term directory. At the software level, these devices behave just like serial ports, even though the data flows over USB. You can use any existing serial communication software like PPP or terminal emulators. If device does not appear in /dev/term, see the Troubleshooting section below.

These instruction assume /dev/evdo to be your device. Typically you'll need to create a symlink to /dev/term/0:

ln -s /dev/term/0 /dev/evdo

To configure PPP, you can use these files as a starting point:

  • evdo: put in /etc/ppp/peers directory
  • evdo-chat: put in /etc/ppp directory

Edit the "user" entry in the evdo file, e.g. Verizon users should replace 1234567890 with their phone number.

Now run:

pppd call evdo

and watch the output. If it fails, retry a couple times before starting troubleshooting. Successful PPP connection is accompanied with a message "Serial connection established." and ifconfig -a will show the sppp0 interface. You might need to copy /etc/ppp/resolv.conf to /etc/resolv.conf and /etc/nsswitch.dns to /etc/nsswitch.conf to get your name resolution right, or use something like inetmenu. The WWAN should be fully accessible after that.

Troubleshooting

Binding the driver to the device

If no device appears in /dev/term, run 'prtconf -D' and locate your modem device in the output, e.g.:

        pci1025,57, instance #0 (driver name: pcic)         <~--- PCMCIA controller
            pcs, instance #0 (driver name: pcs)
            pci1033,35, instance #0 (driver name: ohci)     <~--- internal USB controller
                device, instance #0 (driver name: usbsacm)  <~--- modem device

If the "device" node does not show a driver name associated with it, you can try to bind the driver to it. To do this, locate your device again, this time in the 'prtconf -v' output (e.g. search for "device,"):

                device, instance #0
                    Driver properties:
                        name='pm-components' type=string items=3 dev=none
                            value='NAME= usbsacm0 Power' + '0=USB D3 State' + '3=USB D0 State'
                    Hardware properties:
                        name='driver-minor' type=int items=1
                            value=00000000
                        name='driver-major' type=int items=1
                            value=00000002
                        name='configuration#' type=int items=1
                            value=00000001
                        name='usb-product-name' type=string items=1
                            value='Novatel Wireless Merlin CDMA'
                        name='usb-vendor-name' type=string items=1
                            value='Novatel Wireless Inc.'
                        name='usb-release' type=int items=1
                            value=00000110
                        name='usb-num-configs' type=int items=1
                            value=00000001
                        name='usb-revision-id' type=int items=1
                            value=00000000
                        name='usb-product-id' type=int items=1
                            value=00001110
                        name='usb-vendor-id' type=int items=1
                            value=00001410
                        **name='compatible' type=string items=3
                            value='usb1410,1110.0' + 'usb1410,1110' + 'usb,device'**
                        name='reg' type=int items=1
                            value=00000001
                        name='assigned-address' type=int items=1
                            value=00000002

The 'compatible' property is what you are looking for. Choose one that looks like "usbXXX,YYY", where XXX is vendor ID and YYY is product ID. Run run the following command:

update_drv -i "usbXXX,YYY" usbsacm

After reboot 'prtconf -D' should show usbsacm driver next to the device. If not, the driver failed to attach, probably not recognizing the device as compatible.

Testing modem connection

A simple way to test your modem is to send it some simple commands using tip(1) or other terminal emulator:

# tip /dev/term/0
connected
**atz**
OK
**ati**
Manufacturer: NOVATEL WIRELESS INCORPORATED
Model: CDMA MERLIN V620
Revision: M6500C-BBIRD-40304.135  [MAR 11 2005 14:00:00]
ESN: 0x5B123456
+GCAP: +CIS707-A, CIS-856, +MS, +ES, +DS, +FCLASS

OK
**at+csq**
99, 99

OK
**atdt#777**
CONNECT

Characters in bold font are user input, the rest is modem output. at+csq shows signal strength on this particular modem. Dialing #777 usually gets you on the service provider's network - if the modem returns "NO CARRIER", it could mean weak signal or refused connection from the network.

last modified by admin on 2009/11/09 10:40
Collectives
Project

Project wwan Pages

© Sun Microsystems Inc. 2009
XWiki Enterprise 1.8.2.19075 - Documentation
Terms Of Use | Privacy | Trademarks | Copyright Policy | Site Guidelines | Site map | Help
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.