It took me a while, but I got my XS4ALL UMTS subscription through their “mobile connect card”, working under Linux.
I started out, of course, with the procedure described here. That worked to the point that I was succesfully authenticated and connected to the network, but then PPPD immediately complained that the modem hung up.
So, what turned out to be the problem? Just one little thing. The script on that page contains the
following connect string:
Here, internet is the name of the UMTS/GPRS APN. However, that’s incorrect. It should be umts.xs4all.nl, or even just an empty string, but not internet. Once I fixed that, the procedure as described there worked fine.
However, I actually prefer to use wvdial, which is slightly easier to configure. Here’s the contents of my /etc/wvdial.conf:
[Dialer Defaults] Modem = /dev/ttyUSB0 Baud = 460800 SetVolume = 0 Dial Command = ATD FlowControl = NOFLOW Init1 = ATZ Init2 = ATM0 [Dialer umts] Username = wolfm Password = [CENSORED] Phone = *99***1# Stupid Mode = 1 Init3 = AT+CGDCONT=1,"IP","umts.xs4all.nl",,0,0 Dial Attempts = 3
Now I can simply start the UMTS connection with wvdial umts. That’s all! Well, except that you may need to manually set the UMTS gateway as your default gateway: route add default gw 10.64.64.64.
Oh, and a little trick from here: you can disable the PIN code by sending the
AT+CLCK="SC",0,"0000" to the modem (e.g. using Minicom), assuming that
0000 is your current PIN.