I'm currently waiting for my ADSL to be setup and so I've borrowed my mum's "three" 3G mobile broadband USB dongle.

The device is a "ZTE MF622" and getting this working in Linux apparently used to be a bit of a nightmare. However, with Debian Lenny and 2.6.26-1-amd64 it is trivial: you plug it in, it appears as a USB mass storage device; wait a little bit and it disappears and comes back as some USB serial devices. You can then chat to /dev/ttyUSB0 (or whatever the first ttyUSB device belonging to the dongle is).

There's a working wvdial configuration at http://ubuntuforums.org/archive/index.php/t-665332.html, reproduced here for convenience:

[Dialer Defaults]
Init2 = ATZ
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Stupid Mode = 1
Modem Type = Analog Modem
ISDN = 0
Phone = *99#
Modem = /dev/ttyUSB0
Username = user
Dial Command = ATDT
Password = pass
Baud = 460800

IF you don't want to use wvdial there are bare ppp scripts at http://hillj.co.uk/2008/01/31/how-to-get-online-with-three-mobile-uk-and-linux-ubuntu/, although I haven't tested these.

Whilst researching this I stumbled across several examples of more extreme ways of getting the initial switchover to work, including http://blog.ufsoft.org/zte-mf622-usb-modem-under-linux#extended which includes a udev snippet that forcefully calls rmmod and modprobe. This will totally fail if you are using usb-storage or usb-serial for anything else, which is probably not the case for the majority of people trying to get this to work at the time they are trying, but there are several examples out there of people complaining that their USB has failed since trying these instructions.

We are often accused of having a problem of missing documentation in the free software world. I'm wondering if this is one example of where we have bad, damaging documentation. How can we deal with that?

Incidentally, for those whose devices won't automatically switch over to the serial device, there's a program usb-modeswitch (currently in sid) that can do the job for you. There are apparently hacks in the usb-storage Linux kernel module that special-case the switchover for some Huawei devices. I couldn't find anything in there for the ZTE device.