Mobile Internet under OpenSolaris
By James Legg on Oct 19, 2008
I've just spent a couple of hours discovering a bit about how ppp is set up under Solaris. I now know enough to get a data connection to Vodafone UK using a USB cable, my Nokia E71 and my laptop (running OpenSolaris 2008.05 build 99).
Solaris supports a lot of usb based modems using the usbsacm driver. For my Nokia E71 I plugged it in (selecting PC Suite on the phone from the pop menu) and a serial device appear in /dev/term/0 (and /dev/term/1) for simplicity I create a link using:
james@ickle ~ $ ln -s /dev/term/0 /dev/e71
Pppd appears to be the best choice for a modem connection under Solaris - I assume that once this was used for modems and ISDN links when they where more common.
To configure pppd to work with Vodafone I have create the following files the extra init string in /etc/ppp/vodafone-chat are from when I set wvdial up under Linux - I'm not sure how important they are (and I havn't tested yet)
james@ickle ~ $ touch /etc/ppp/options
james@ickle ~ $ cat /etc/ppp/vodafone-chat
'OK' 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0'
james@ickle ~ $ cat /etc/ppp/peers/vodafone
e71 # use this device (ln -s /dev/term/0 /dev/e71)
460800 # baud rate
noauth # do not authenticate the ISP's identity (client)
noipdefault # assume no IP address; get it from ISP
defaultroute # install default route; ISP is Internet gateway
noccp # ISP doesn't support free compression
user "web" # username for vodafone gprs
connect "/usr/bin/chat -V -t15 -f /etc/ppp/vodafone-chat" # dial into ISP
james@ickle ~ $
To bring up the connection exectute the pppd call command
james@ickle ~ $ pppd call vodafone
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
CONNECTSerial connection established.
Using interface sppp0
Connect: sppp0 <--> /dev/e71
possibly broken peer detected; restarting LCP
LCP: Rcvd Code-Reject for Identification id 46
local IP address 10.49.31.29
remote IP address 10.6.6.6
primary DNS address 10.203.65.68
secondary DNS address 10.203.65.68
As I used the nodetatch in my /etc/ppp/vodafone config file the pppd stays in the foreground so you can just use Ctrl-C to disconnect. If you want you could just do a pkill pppd instead.
\^CTerminating on signal 2.
Connect time 0.8 minutes.
Sent 513 bytes (13 packets), received 364 bytes (10 packets).
james@ickle ~ $
A couple of last things to note is that the pppd daemon does not seem to sort out the DNS for you so you either have to manually edit /etc/resolv.conf with the nameserver information or copy /etc/ppp/resolve.conf over your existing /etc/resolv.conf (back it up first!)As I normally use NWAM to bring up my network connections and when i was testing this i was at home I disabled it while I was using the 3G modem connection - I don't know of the top of my head what would happen if was active at the same time. Hopefully at some point NWAM will be expanded to cope with mobile phone data connection and data cards - I'm looking forward to the new GUI improvements in the next version.
Most of this information was cribbed from this guide on opensolaris.org.