Dial up modem and GPS

I have a HL6548-G and a HL8548-G module with me. I wanted to implement a dialup modem for these modules. I was thinking of using wvdial in linux for this purpose. Anyone else has any suggestions ? Also, I also need the GPS data from the module for which I have to use AT commands in my code. With the modem working as a dial up modem, will sending AT commands to the modem to get GPS data be an issue ?

Also, when I connect the modem to my linux based controller, I see 6 ports (ttyS0,S1 etc). Of these which is the data port, GPS port and which is SMS port ?

Can I use all three (GPS,dialup,SMS) simultaneously ?


I would suggest using the standard pppd in Linux for a dial up.

The USB composition is controlled with the at+kusbcomp command, check the AT command manual at this link http://source.sierrawireless.com/~/media/support_downloads/airprime/software/airprime_hl6_and_hl8_series_at_commands_interface_guide_rev10_2.ashx out for definitions of these but they are below. You can do pppd, SMS voice calls, etc on any of the AT/NMEA/modem ports.

0 7 CDC-ACM mode, (PID: 0x0020)
USB0 – AT / NMEA / modem port
USB1 – Mobile Analyzer traces port
USB2 – 3G traces port
USB3 – AT / NMEA / modem port
USB4 – AT / NMEA / modem port
USB5 – AT / NMEA / modem port
USB6 – On-chip traces port
1 3 CDC-ACM and 3 CDC-ECM mode, (PID: 0x0302)
ECM1 – Network adapter port
ECM2 – Network adapter port
ECM3 – Network adapter port
USB1 – AT / NMEA / modem port
USB2 – Mobile Analyzer traces port
USB3 – 3G traces port
2 5 CDC-ACM and 1 CDC-ECM mode, (PID: 0x0303)
ECM1 – Network adapter port
USB1 – AT / NMEA / modem port
USB2 – Mobile Analyzer traces port
USB3 – 3G traces port
USB4 – AT / NMEA / modem port
USB5 – AT / NMEA / modem port

You might want to think about the ethernet interface which I talk about in this post [url]https://forum.sierrawireless.com/t/reg-3g-support-in-hl8548/7892/1]



So, I can have a dial up connection using one port, and after that I can keep reading from gps on another port without getting data disconnected ?


Just to clarify, if using USB, which effectively have multiplexing built in, the answer is a flat yes, if you are using a serial poer you need to invoke CMUX multiplexing protocol on the serial port and your micro then you will have multiple channels over which to send both the GPS and PPP data separately.



Any documentation or reference on how to use cmux multiplexing onnlinux ? I’m running Ubuntu 12.0.4 LTS.

There are quite few option, if you search the Linux forums they are better suited to answer that than me.



Here is an example how to implement CMUX:

Good point I have used this in the past, I have attached a couple of files showing some of the command lines I have used to get it working.


CMUX files.zip (2.18 KB)

Thank you for your reply.

So, as per this instructions manual, I download the files and perform the following steps
1/ Compile gsmMuxd
cd gsmMuxd

2/ Install necessery packages
sudo apt-get update
sudo apt-get install qt4-make
sudo apt-get install g++
sudo apt-get install minicom

3/ Compile SerialSignals
cd SerialSignals
qmake SerialSignals.pro

4/ Run SerialSignals
open a terminal, keyin:

5/ Run gsmMuxd
open a terminal, keyin:
cd gsmMuxd

sudo ./gsmMuxd -p /dev/ttyS0 -b 115200 -f 276 -d -P 0000 -s/dev/HiloMux /dev/ptmx /dev/ptmx /dev/ptmx

But I dont want use these ports in minicom. I want use the serial library to write code in python for GPS.

import serial
serialport1 = serial.Serial("/dev/tty"HLmux2 , baudrate=2400)

And for GSM
Configure port HLmux1 for dial up modem using pppd or wvdial

Do I have to configure these minirc.HiloMux1 and Hilomux2 (from above quotes) meant for minicom in the python code written above and pppd/wvdial configuration , or can I just directly use the new ports created and use AT commands directly with them using the commands in sierra manual ?

HLmux1 & HLmux2 are the ports created as per your example.
So, HLmux1 is for data and HLmux2 is for GPS ?

You can use them as AT commands ports directly. They can either be used for PPP(data) or GPS, it is up to you.

I was following the instructions in the link you posted above and used those files on my Ubuntu 12.0.4.LTS

Im getting the following error

root@localhost:~/Desktop/sierra/gsmMUX/AppliMux/SerialSignals# ls
SerialSignals.pro SerialSignals.ui SerialSignals.ui.h main.cpp
ls.pro calhost:~/Desktop/sierra/gsmMUX/AppliMux/SerialSignals# qmake SerialSigna
uic: File generated with too old version of Qt Designer (3.3)
root@localhost:~/Desktop/sierra/gsmMUX/AppliMux/SerialSignals# make
/usr/bin/uic-qt4 SerialSignals.ui -o .ui/ui_SerialSignals.h
uic: File generated with too old version of Qt Designer (3.3)
File ‘SerialSignals.ui’ is not valid
make: *** [.ui/ui_SerialSignals.h] Error 1

Also, I was not able to install, udo apt-get install qt4-make
Its says cannot locate package

Also, after ignoring the error above, and I run ./SerialSignals , it gives me an error.
-bash: ./SerialSignals: No such file or directory

And then,
after i do
cd gsmMuxd
sudo ./gsmMuxd -p /dev/ttyS0 -b 115200 -f 276 -d -P 0000 -s/dev/HiloMux /dev/ptmx /dev/ptmx /dev/ptmx

This is the output I have,
./gsmMuxd[1825]: Port 0 : /dev/ptmx
./gsmMuxd[1825]: Port 1 : /dev/ptmx
./gsmMuxd[1825]: Port 2 : /dev/ptmx
./gsmMuxd[1825]: Malloc buffers…
./gsmMuxd[1825]: Open devices…
./gsmMuxd[1825]: Open MSC pipe…
./gsmMuxd[1825]: Can’t open /tmp/msc_out. No such device or address (6).

I dont see the /devHilomux or /dev/ptmx files in /dev

Can you help ?

I managed to generate the makefile (using /usr/share/qt3/bin/qmake) and also compile the SerialSignals.pro files. Although there were a lot of warnings during compilation.

Next, when I typed in ./SerialSignals in the same folder, I got a message, saying I cannot connect to xserver. Then i tried, bash SerialSignals . I got an error saying,

These are the processor architecture an the bash file types below,

If I ignore this and run

The output is,

Can you guys please help me solving this ?