I was back in Vietnam for the last 3 weeks for my Tet holiday. Back there, my house does not have internet connection, luckily I've got a 3G USB device from my friend, which is  MF 190(ZTE). This device comes from Vinaphone - one of the Mobile phone service providers in Vietnam. As usual, this device does not come with linux driver, but after fighting with it for more than half a day, I was able to get it to work on my Archlinux x86_64 laptop. The reason why it took so long was that the signal at the place (my friend's cafe) was too low, I did not know that until I brought it outside.

All that is needed for the 3G USB  to works under Archlinux is usb_modeswitch (from community repo) and wvdial (from extra repo). After installing them, when you plug it in, you should see a GSM modem in dmesg. The rests are just wvdial configurarion.

This is my /etc/wvdial.conf

[code]

[Dialer Defaults]
Modem Type = Analog Modem
;ISDN = 1
Modem = /dev/gsmmodem
Phone = *99#
Username = mms
Password = mms
Stupid Mode = 1
Baud = 460800

[Dialer pin]
Init1 = AT+CPIN=1234

[Dialer thenet]
Init3 = ATQ0 V1 E1 +FCLASS=0
Init4 = AT+CGDCONT=1,"IP","m3-card"

[Dialer 3gonly]
Init5 = AT+COPS=0,0,"VinaPhone",2

[Dialer 384k]
Init6 = AT+CGEQMIN=1,4,64,384,64,384
Init7 = AT+CGEQREQ=1,4,64,384,64,384

[/code]

These settings are for Vinaphone 3G network only. Create the file and type:

Remember to replace "1234" in Init1 = AT+CPIN=1234 with your SIM card's PIN.

Then type:

$wvdial pin

$wvdial thenet 3gonly 384k

And that's it, you're already online.