Pages

Sierra Wireless AirCard 555 for Linux Configuration

Bookmark and Share
The AirCard 555 is a CDMA 1xRTT Data/Fax/Voice cellular modem sold through Verizon Wireless.
Sierra Wireless and Verizon Wireless both "support" various windows platforms for the AirCard 555. Using the serial functionality is rather easy under linux.

Step 1: Activate the Modem

Once activated you can uninstall the windows software and never use windows again.

Step 2: Make cardmgr recognize the AirCard 555 as a serial card.

By default cardmgr will guess that the AirCard 555 is a 'network' type device. This isn't correct.
To make cardmgr see the AirCard 555 as a serial device you need to add a config file and a cis file under /etc/pcmcia/
/etc/pcmcia/aircard555.conf:

card "Sierra Wireless AirCard 555"
  manfid 0x0192, 0xa555
  cis "cis/aircard555.dat"
  bind "serial_cs"

/etc/pcmcia/cis/aircard555.cis:
dev_info
  no_info
attr_dev_info
  EEPROM 250ns, 512b
manfid 0x013f, 0x0710
funcid serial_port
vers_1 7.0, "Sierra Wireless", "AirCard 555", "A555", "Rev 1"
config base 0x0700 mask 0x0073 last_index 0x03
cftable_entry 0x20 [default]
  io 0x03f8-0x03ff [lines=3] [8bit] [range]
  irq mask 0x3fbc [level]
cftable_entry 0x21
  io 0x02f8-0x02ff [lines=3] [8bit] [range]
cftable_entry 0x22
  io 0x03e8-0x03ef [lines=3] [8bit] [range]
cftable_entry 0x23
  io 0x02e8-0x02ef [lines=3] [8bit] [range]
cftable_entry 0x24
  io 0x0000-0x0007 [lines=3] [8bit]

/etc/pcmcia/cis/aircard555.dat (Generated):
$ cd /etc/pcmcia/cis/
$ pack_cis -o aircard555.dat aircard555.cis

Once these files are added and cardmgr is restarted inserting the AirCard 555 should cause something like this:

cardmgr[260]: socket 0: Sierra Wireless AirCard 555
kernel: ttyS02 at port 0x03e8 (irq = 9) is a 16550A
cardmgr[260]: executing: './serial start ttyS2'
Once configured you can test the serial port with a terminal program such as minicom. If you can type 'AT' and get a responce you're good to go.

Step 3: Configure PPP and Authentication

If you are using Debian/GNU Linux configuring PPP and Authentication on the AirCard 555 couldn't be simpler:
$ pppconfig

Main Menu:
       Create  Create a connection    

Provider Name:
       aircard

Configure Nameservers (DNS):
       (*) Dynamic  Use dynamic DNS

Authentication Method for aircard:
       CHAP      Crypto Handshake Auth Protocol

User Name:
       xxxxxxxxxx  (Your 10-Digit AirCard 555 Phone Number)

Password:
       vzw

Speed:
       115200

Pulse or Tone:
       (*) Tone

Phone Number:
       #777

Choose Modem Config Method
       <No>

Manually Select Modem Port
       /dev/ttyS2

+--------------------------- Properties of aircard ----------------------------+
|                                                                              | 
|            Number    #777                 Telephone number                   | 
|            User      xxxxxxxxxx           ISP user name                      | 
|            Password  vzw                  ISP password                       | 
|            Speed     115200               Port speed                         | 
|            Com       /dev/ttyS2           Modem com port                     | 
|            Method    CHAP                 Authentication method              | 
|                                                                              | 
+------------------------------------------------------------------------------+

Step 4: Connect

To connect/disconnect simply use pon and poff as you would with a POTS modem.
$ pon aircard

pppd[9821]: pppd 2.4.1 started by root, uid 0
pppd[9821]: Removed stale lock on ttyS2 (pid 9318)
chat[9822]: abort on (BUSY)
chat[9822]: abort on (NO CARRIER)
chat[9822]: abort on (VOICE)
chat[9822]: abort on (NO DIALTONE)
chat[9822]: abort on (NO DIAL TONE)
chat[9822]: abort on (NO ANSWER)
chat[9822]: abort on (DELAYED)
chat[9822]: send (ATZ^M)
chat[9822]: expect (OK)
chat[9822]: ATZ^M^M
chat[9822]: OK
chat[9822]:  -- got it 
chat[9822]: send (ATDT#777^M)
chat[9822]: expect (CONNECT)
chat[9822]: ^M
chat[9822]: ATDT#777^M^M
chat[9822]: CONNECT
chat[9822]:  -- got it 
chat[9822]: send (\d)
pppd[9821]: Serial connection established.
pppd[9821]: using channel 2
pppd[9821]: Using interface ppp0
pppd[9821]: Connect: ppp0 <--> /dev/ttyS2
pppd[9821]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xnnnnnnnn> <pcomp> <accomp>]
pppd[9821]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xnnnnnnnn> <pcomp> <accomp>]
pppd[9821]: rcvd [LCP ConfReq id=0x1 <mru 1514> <asyncmap 0x0> <auth chap MD5>
                 <magic 0xmmmmmmmm> <pcomp> <accomp> <mrru 1514> <endpoint [null]>]
pppd[9821]: sent [LCP ConfRej id=0x1 <mrru 1514>]
pppd[9821]: rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xnnnnnnnn> <pcomp> <accomp>]
pppd[9821]: rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xnnnnnnnn> <pcomp> <accomp>]
pppd[9821]: rcvd [LCP ConfReq id=0x2 <mru 1514> <asyncmap 0x0> <auth chap MD5>
                 <magic 0xmmmmmmmm> <pcomp> <accomp>]
pppd[9821]: sent [LCP ConfAck id=0x2 <mru 1514> <asyncmap 0x0> <auth chap MD5>
                 <magic 0xmmmmmmmm> <pcomp> <accomp>]
pppd[9821]: sent [LCP EchoReq id=0x0 magic=0xnnnnnnnn]
pppd[9821]: rcvd [CHAP Challenge id=0x3 <oooooooooooooooooooooooooooooooo>, name = "HiPer"]
pppd[9821]: sent [CHAP Response id=0x3 <pppppppppppppppppppppppppppppppp>, name = "xxxxxxxxxx"]
pppd[9821]: rcvd [LCP EchoRep id=0x0 magic=0xmmmmmmmm]
pppd[9821]: rcvd [CHAP Success id=0x3 "\000"]
pppd[9821]: Remote message: ^@
pppd[9821]: kernel does not support PPP filtering
pppd[9821]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <compress VJ 0f 01> <ms-dns1 0.0.0.0>
                 <ms-dns3 0.0.0.0>]
pppd[9821]: sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
pppd[9821]: rcvd [IPCP ConfReq id=0x4 <compress VJ 0f 00> <addr 66.174.qq.q>]
pppd[9821]: sent [IPCP ConfAck id=0x4 <compress VJ 0f 00> <addr 66.174.qq.q>]
pppd[9821]: rcvd [IPCP ConfNak id=0x1 <addr 166.180.r.rrr> <compress VJ 0f 00>
                 <ms-dns1 66.174.t.t> <ms-dns3 66.174.s.s>]
pppd[9821]: sent [IPCP ConfReq id=0x2 <addr 166.180.r.rrr> <compress VJ 0f 00>
                 <ms-dns1 66.174.t.t> <ms-dns3 66.174.s.s>]
pppd[9821]: rcvd [LCP ProtRej id=0x5 tt tt tt tt tt tt tt tt tt tt tt tt tt tt tt tt tt]
pppd[9821]: rcvd [IPCP ConfAck id=0x2 <addr 166.180.r.rrr> <compress VJ 0f 00>
                 <ms-dns1 66.174.t.t> <ms-dns3 66.174.s.s>]
pppd[9821]: Cannot determine ethernet address for proxy ARP
pppd[9821]: local  IP address 166.180.r.rrr
pppd[9821]: remote IP address 66.174.qq.q
pppd[9821]: primary   DNS address 66.174.t.t
pppd[9821]: secondary DNS address 66.174.s.s
pppd[9821]: Script /etc/ppp/ip-up started (pid 9833)
pppd[9821]: Script /etc/ppp/ip-up finished (pid 9833), status = 0x0
And that's it!
root-intrepid:2079:~/ ifconfig ppp0
ppp0      Link encap:Point-to-Point Protocol  
          inet addr:166.180.r.rrr  P-t-P:66.174.qq.q  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1514  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:201 (201.0 b)  TX bytes:141 (141.0 b)

root-intrepid:2080:~/ ping 66.174.qq.q
PING 66.174.qq.q (66.174.qq.q): 56 data bytes
64 bytes from 66.174.qq.q: icmp_seq=0 ttl=255 time=328.8 ms
64 bytes from 66.174.qq.q: icmp_seq=1 ttl=255 time=489.8 ms
64 bytes from 66.174.qq.q: icmp_seq=2 ttl=255 time=329.9 ms
64 bytes from 66.174.qq.q: icmp_seq=3 ttl=255 time=509.9 ms
64 bytes from 66.174.qq.q: icmp_seq=4 ttl=255 time=329.9 ms

--- 66.174.qq.q ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 328.8/397.6/509.9 ms
root-intrepid:2081:~/ 


Related Posts by Brands

{ 0 comments... Views All / Send Comment! }

Post a Comment