Hace tiempo que Linux dejó de ser un ciudadano de segunda clase cuando a hardware de redes se refiere, aunque NetworkManager no es mi aplicación preferida y muchas veces tengo que volver al clásico e infalible ifconfig.
3G (primer intento): Hace algunos meses, conecté un módem 3G de Movistar sin ningún problema (no recuerdo el modelo). NetworkManager lo reconoció, ingresé los datos de autenticación y ya.
Cable Módem: Conecté luego un módem de VTR (que ofrece triple play a través de TV Cable) y todo funcionó plug&play
3G (segundo intento): Para navidad (o saturnalia), me regalé un teléfono Samsung BlackJack II y compré una bolsa de datos para probar el servicio 3G (también anunciado como 3.5G). El dispositivo implementa RNDIS y una vez más NetworkManager lo reconoció y configuró automáticamente.
Hoy, sin embargo, intenté conectar un módem ADSL de Telefónica (ZTE ZXDSL 831 Series) a un router Linksys WRT54GL que corre DD-WRT y comenzaron los problemas. Aunque en Windows XP funciona correctamente, tanto en DD-WRT como en Ubuntu hay problemas con la navegación; los sitios comienzan a cargar y luego se detienen.
Finalmente, encontré el problema, solucionable tanto en Ubuntu como en DD-WRT. Lo que se debe hacer es cambiar el MTU. El valor por defecto es 1500 y se debe dejar en 1430.
Para Ubuntu:
a) Haz clic con el botón derecho sobre el NetworkManager y selecciona Edit Connections:

b) Selecciona el tab DSL y edita la conexión que corresponde al módem ADSL:

c) En el tab Wired, escribe el nuevo MTU (en este caso, 1430):

Para DD-WRT:
Simplemente cambia el valor en el tab Basic Setup (campo MTU):

Luego de esto, el servicio funciona sin problemas