UMTS: Can't create a PPP connection.

Hello,
I tried to build a PPP connection with umtsmon, but failed. I’m using a ZTE MF110 Stick. The reaction from my provider’s support was succinct: “Linux unterstützen wir nicht.” (We don’t support Linux.)

The hardware seems to work fine, the stick shows a green light, and I sent a test SMS via umtsmon. The umtsmon interface successfully identifies my Provider, but does not connect.

Here is part of umtsmon debug output:


UIState::setState(6 -> 6)
##P4 t=133: ConnectionInfo:InhibitionCount ++, now is 1
##P3 t=133: TempSerialPort::TempSerialPort()
##P5 t=133: 0x75a6c0 = Query::setSerial(0x7fffece12a00)
##P3 t=134: Serial::openDev('/dev/ttyUSB2') as FD 8 - Serial instance 0x7fffece12a00
##P3 t=134: ConnectionBaseClass::chat() start
##P5 t=134: Query instance 0x7fffece128b0 acquired MUTEX
##P4 t=134: Query sends the following mesage: 'AT&F'
##P5 t=134: receiveStringRetry: 'AT&F\xd\xd\xaOK\xd\xa'
##P4 t=134: answer 1:'AT&F'
##P4 t=134: answer 2:'OK'
##P5 t=134: checkQuery: removing echo up front
##P5 t=134: because known statement #0 was detected, removing obvious answer 'OK'
##P5 t=134: Query instance 0x7fffece128b0 abandoned MUTEX
##P5 t=134: Query instance 0x7fffece128b0 acquired MUTEX
##P4 t=134: Query sends the following mesage: 'ATE1'
##P5 t=134: receiveStringRetry: 'ATE1\xd\xd\xaOK\xd\xa'
##P4 t=134: answer 1:'ATE1'
##P4 t=134: answer 2:'OK'
##P5 t=134: checkQuery: removing echo up front
##P5 t=134: because known statement #0 was detected, removing obvious answer 'OK'
##P5 t=134: Query instance 0x7fffece128b0 abandoned MUTEX
##P5 t=134: Query instance 0x7fffece128b0 acquired MUTEX
##P4 t=134: Query sends the following mesage: 'AT+CGDCONT=1,"IP","mel.partner.de"'
##P5 t=134: receiveStringRetry: 'AT+CGDCONT=1,"IP","mel.partner.de"\xd\xd\xaOK\xd\xa'
##P4 t=134: answer 1:'AT+CGDCONT=1,"IP","mel.partner.de"'
##P4 t=134: answer 2:'OK'
##P5 t=134: checkQuery: removing echo up front
##P5 t=134: because known statement #0 was detected, removing obvious answer 'OK'
##P5 t=134: Query instance 0x7fffece128b0 abandoned MUTEX
##P3 t=134: Dial String is: ATD*99***1# 
##P5 t=134: Query instance 0x7fffece127c0 acquired MUTEX
##P4 t=134: Query sends the following mesage: 'ATD*99***1#'
##P5 t=134: receiveStringRetry: 'ATD*99***1#\xd\xd\xaCONNECT 7200000\xd\xa'
##P4 t=134: answer 1:'ATD*99***1#'
##P4 t=134: answer 2:'CONNECT 7200000'

From this line, I take it that up to OSI 2 everything should be fine.


##P5 t=134: checkQuery: removing echo up front
##P5 t=134: Query instance 0x7fffece127c0 abandoned MUTEX
##P3 t=134: ConnectionBaseClass::chat() end with result: 1
##P4 t=134: Assembled PPP string is: 'idle 7200 asyncmap 0 updetach dump debug debug debug 460800 lock crtscts modem /dev/ttyUSB2 noipx defaultroute usepeerdns '
##P4 t=134: ConnectionInfo:InhibitionCount ++, now is 2
##P2 t=134: PPPConnection::PPPThread::PPPThread()
##P5 t=134: Waiting for ppp PID
##P2 t=134: PPPThread::run, before runCommand
##P5 t=134: Runner::runCommand(1, list[17 items], 0)
##P3 t=134: INSIDE PARENT, uid=1000, pid=13883
##P5 t=134: Parent with pipes to not detached child
##P5 t=135: Found PPP PID 13897
##P3 t=135: TempSerialPort::~TempSerialPort()
##P3 t=135: SerialPort::closeDev() for FD 8
##P5 t=135: 0x7fffece12a00 = Query::setSerial(0x75a6c0)
##P2 t=135: thePPPConnection.startConnection() returned without indicating problems
##P3 t=135: PPPDThread still running
##P5 t=135: The PPPDState is 1
##P2 t=135: ***UIState::update(void), state=6
##P5 t=135: mainwindow::updateNetworkData()
##P3 t=135: PPPDThread still running
##P5 t=135: The PPPDState is 1
##P3 t=135: ConnectionInfo probe inhibited
##P4 t=135: ConnectionInfo::refreshSignalQuality(void)
##P3 t=135: ConnectionInfo probe inhibited
##P3 t=135: ConnectionInfo probe inhibited
##P3 t=135: ConnectionInfo::refreshPPPStats
##P2 t=135: PPP State changed to present
##P3 t=135: MonthlyTraffic::start(anIsRoaming=0)
##P2 t=135: Profile::Profile('')
##P2 t=135:   finally created profile for 'UMTS1'
##P5 t=135: MonthlyTraffic::update(43, 0)
##P5 t=135: ProgressDialog::runOneSecond of   1,  30 has passed
##P3 t=136: PPPDThread still running
##P5 t=136: The PPPDState is 1
##P5 t=136: ProgressDialog::runOneSecond of   2,  30 has passed
##P5 t=137: child read pipe loop end, flags: 4
##P5 t=137: child read pipe loop end, flags: 7
##P2 t=137: PPPThread::run, after runCommand
##P2 t=137: isDone is true
##P4 t=137: *****output of PPP to stdout
##P4 t=137: * pppd options in effect:
##P4 t=137: * debug debug debug		# (from command line)
##P4 t=137: * updetach		# (from command line)
##P4 t=137: * idle 7200		# (from command line)
##P4 t=137: * dump		# (from command line)
##P4 t=137: * active-filter xxx # [don't know how to print value]		# (from /etc/ppp/filters)
##P4 t=137: * noauth		# (from /etc/ppp/options)
##P4 t=137: * /dev/ttyUSB2		# (from command line)
##P4 t=137: * 460800		# (from command line)
##P4 t=137: * lock		# (from command line)
##P4 t=137: * crtscts		# (from command line)
##P4 t=137: * modem		# (from command line)
##P4 t=137: * asyncmap 0		# (from command line)
##P4 t=137: * lcp-echo-failure 4		# (from /etc/ppp/options)
##P4 t=137: * lcp-echo-interval 30		# (from /etc/ppp/options)
##P4 t=137: * lcp-restart 2		# (from /etc/ppp/options)
##P4 t=137: * lcp-max-configure 60		# (from /etc/ppp/options)
##P4 t=137: * noipdefault		# (from /etc/ppp/options)
##P4 t=137: * defaultroute		# (from command line)
##P4 t=137: * usepeerdns		# (from command line)
##P4 t=137: * noipx		# (from command line)
##P4 t=137: * using channel 16
##P4 t=137: * Using interface ppp0
##P4 t=137: * Connect: ppp0 <--> /dev/ttyUSB2
##P4 t=137: * sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x5566223c> <pcomp> <accomp>]
##P4 t=137: * rcvd [LCP ConfReq id=0xd <asyncmap 0x0> <auth chap MD5> <magic 0x11f8d16> <pcomp> <accomp>]
##P4 t=137: * No auth is possible

This seems to be the problem. But why is it?


##P4 t=137: * sent [LCP ConfRej id=0xd <auth chap MD5>]
##P4 t=137: * rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x5566223c> <pcomp> <accomp>]
##P4 t=137: * rcvd [LCP ConfReq id=0xe <asyncmap 0x0> <magic 0x11f8d16> <pcomp> <accomp>]
##P4 t=137: * sent [LCP ConfAck id=0xe <asyncmap 0x0> <magic 0x11f8d16> <pcomp> <accomp>]
##P4 t=137: * sent [LCP EchoReq id=0x0 magic=0x5566223c]
##P4 t=137: * sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
##P4 t=137: * sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
##P4 t=137: * rcvd [LCP DiscReq id=0xf magic=0x11f8d16]
##P4 t=137: * rcvd [LCP EchoRep id=0x0 magic=0x11f8d16 55 66 22 3c]
##P4 t=137: * rcvd [LCP ProtRej id=0x10 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
##P4 t=137: * Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
##P4 t=137: * rcvd [IPCP ConfNak id=0x1 <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
##P4 t=137: * sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14>]
##P4 t=137: * Modem hangup
##P4 t=137: * Connection terminated.
##P4 t=137: *****end-of-output
##P4 t=137: *****output of PPP to stderr
##P4 t=137: *****end-of-output
##P3 t=137: ConnectionBaseClass::setNewPPPState state 1 to 4
##P2 t=137: UIState::newConnectionState(4) callback called
##P2 t=137: 

Any obvious things in there?
Thanks for your help.

With a bit of luck and time, someone is sure to know the definitive answer here. I’m not familiar with this device, but maybe you could try installing and using usb_modeswitch instead, then try configuring/connecting via Network Manager.

Thank you for your response.
To my knowledge umtsmon does use usb_modeswitch.

That makes sense. Can NM handle the device ok?

I don’t have the system here at the moment.
NM did not recognice the device, until I started umtsmon. After umtsmon found the stick, NetworkManager also displayed it.

Is there a way to get some useful information out of NetworkManager?

NM did not recognice the device, until I started umtsmon. After umtsmon found the stick, NetworkManager also displayed it.

Correct. Your modem device (like many others) is a storage device as well. Thats why usb_modeswitch is needed to change mode first. Then NM may be able to handle it ok.

You can check /var/log/NetworkManager for connection dialogues etc.

I understood the umtsmon that you have used was created several years ago and is not supported;

can I commend to you another script

sakis 3g

Sakis3G - All-in-one script

it has usb_modeswitch (latest version 1.1.3) as part of its package of tricks;

I used this recently on vodafone UK and vodafone NL and it was worked well;

there is a forum

Sakis3G Forum - Index

that sakis oversees and supports;

so an active product; supported and easily installable

Wow, that looks like a good utility. (Wasn’t aware of it). Thanks for sharing.

Thank you all for your replies.
Stupid me made a typo in the APN name. So 15 jears of linux esperience doesn’t protect from typing “mel” instead of “mail” and looking a hundred or so times over it without noticing.
Sorry for bothering you with something so small and simple.

Glad you got it sorted. We aoften overlook typos made in configuring devices. Its a good reminder to check this as well.