Multiplexed UART wile PPP connection


#1

Dear all,

I’m working on an embedded computer running Linux 2.6. This computer has a wavecom (Q24 I guess) GPRS modem and (unfortunately) they communicate through one UART.

I need to set a PPP connection to access internet through Wavecom GPRS modem but when this connection is set I can’t use AT command to do other stuff like AT+CSQ or sending SMS …

Do you guys see somehow I can handle it? Or do I have to stop PPP connection in order to successfully send AT command?


#2

I think the modem can do it - you’d have to escape to Command mode - but will UNIX let you do that?


#3

Get a fastrack Supreme with the IO card - then you can use the UART for PPP, and USB for AT commands (or vice-versa)…


#4

I can’t change the modem since it’s embedded with the computer in the same box.
When PPP daemon is running I can’t send AT command, do you have any idea?


#5

First, you need to find out exactly what modem it is.
Does it have a second physical interface that you could use?

Why not? You need to clearly understand what is the limitation here:
If it’s a limitation of the daemon, then you will obviously need to make or obtain a daemon that can do this!


#6

Even if there is an other UART available on the GPRS modem I can’t change the board design so I can’t use it.
Anyway the limitation is that the pppd daemon locks the serial port and I post this message to let me know if someone found a solution (if there is a solution) to mix ppp stuff with AT commands by using Linux pppd daemon.

Is there a Linux daemon that can do this stuff?

The only solution I found is to close PPP connection, send AT command and reconnect pppd.


#7

You can use the GSM multiplexed mode (see AT+CMUX command) and a driver to give you two virtual serial ports (then can use one for data connection and one for AT commands). There doesn’t seem to be much choice with Linux drivers. I’ve been using gsmmux (see developer.berlios.de/projects/gsmmux/ ). There is also a mux driver in openmoko, but I haven’t looked at that).