FreeBSD's ppp(8) and u3g UMTS modem
Drivers
Many USB UMTS data sticks provide a serial port over which you can speak asynchronous PPP to the stick to establish a data connection. The hardware drivers contain more info on all functions provided, see u3g(4) et al.
Usually, these devices present a umass(4) interface that provides a virtual CD-ROM with driver software, and one or more serial ports. On many sticks, the first serial port is the one you can use for data connections, but this isn't always the case, so you might need to google your particular model, or try them out one by one.
ppp.conf
I've switched off the PIN code query on the SIM (using a regular mobile phone), or see below.
The APN data has been hard-coded in the chat script (see the line starting with 'AT+CGDCONT'; depending on your provider, you might need to change it. Google umts apn settings or similar to find the APN, and username and password, if required, for your network operator.
Sample ppp.conf:
u3g: set device /dev/cuaU0.0 set speed 115200 # if the stick/the network fail to provide an IP unless you suggest one, the # following line might help #set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 # name of the APN set phone "internet" # username and password are often unnecessary, but almost always generic set authname internet set authkey internet set log local phase ipcp set dial "ABORT BUSY TIMEOUT 2 \ \"\" \ AT OK-AT-OK \ AT+CFUN=1 OK-AT-OK \ AT+CMEE=2 OK-AT-OK \ AT+CSQ OK \ AT+CGDCONT=1,\\\"IP\\\",\\\"\T\\\" OK \ AT+CGACT? OK-AT-OK \ AT+CGATT? OK \ AT+CGCLASS? OK \ AT+COPS? OK \ ATD*99***1# CONNECT" set crtscts on # enable or disable updating /etc/resolv.conf with nameservers from the peer disable dns # add default route through this connection add default HISADDR
PIN Code Query
AT command to switch off the PIN code query:
AT+CLCK="SC",0,"XXXX"
and back on again:
AT+CLCK="SC",1,"XXXX"