I am using a Huawei E169 USB 3G modem on my linux box. I configured it with just pppd and chat. To activate the connection it is a simple matter of starting pppd.
The E169 uses the "option" driver in the kernel. Earlier kernels (maybe about 2.6.26 and earlier) need the usb_modeswitch utility to switch the USB stick from a "CDROM" with drivers to the actual modem. In the later kernels, the "option" driver does this automatically.