[asterisk-dev] Openvox G410E + SIMCOM 5215E Modem Crashes/Unreliable (PS data problem)
Simon Hughes (gmail)
simon.derek.hughes at gmail.com
Thu Oct 17 07:03:20 CDT 2013
Openvox G410E + SIMCOM 5215E Modem Crashes/Unreliable (PS data problem)
Hi
Summary
I'm experiencing problems commissioning an Openvox G410e card (WCDMA
voice and data card with asterisk dahdi/chan_extra integration) for
operation in the UK. I see huge potential for this card as it makes
asterisk mobile. However, I'm stuck. Can anyone help with the following
problems/issues:
1. Modem Crash/Unreliable PS Data Connection?
2. Are there any G410E + SIMCOM 5215E Users With A Working System (Voice
and Data)?
3. Can anyone provide pointers on how I might fix this myself?
There a very few posts relating to this product and details are very
sparce. The asterisk voice integration works OK but I'm frustrated to
find I cant get PPP data to work. I've contacted Openvox & distributor
who say they dont have the software resources to fix this problem at
this time, and are offering a refund. I would very much like to get data
to work, feel that its probably a small bug in chan_extra and that
someone somewhere holds the key. I would very much appreciate any help
on this. I'm prepared to buy you a card if you have the mojo to fix ppp
data.
Details
Setup details:
Openvox card: card g410e with SIMCOM_SIM5215E module.
Host OS: Centos 5.6 with kernel and kernel-devel applied (as per manual
instructions) to use kernel: 2.6.18-348.18.1.el5
kernel: 2.6.18-348.18.1.el5
chan_extra tarball used: chan-extra_2.0.7.tar.gz
dahdi-linux-complete version: dahdi-linux-complete-2.7.0.1+2.7.0.1.tar.gz
asterisk version: asterisk-1.8.23.1
Geographical: UK
SIM: T-Mobile/Virgin unlimited package (this sim has been tested and
found working without problems with other modems)
=======================================================
Problem 1: Modem Crash/Unreliable PS Data Connection
I've been in contact with Openvox and they have reported that this is a
known problem, have tested it on Elastix 2.4, found that it doesnt work
and suspect its a chan_extra bug. However they say they dont have
resources to fix it at this time, and wont give me a timescale for a
fix. The following describes the details of the problem.
The ppp0 netdevice can be instantiated following the instructions in
chan_extra-2.0.5 User Manual.pdf. Ping -I ppp0 http://www.google.com
(after adding the allocated DNS server to resolv.conf by hand) initially
receives ~20-30 responses. The ping runs for some time and then stops.
minicom is then unable to establish communication with /dev/ttyGSM0
(whereas it could when prior to establishing the PS connection). It
appears that the modem has crashed and needs to be power cycled to
recover. This can be done by either a) restarting the machine or b)
using the asterisk CLI gsm commands to power reset the modem, as
described in the following:
After the problem arises, running asterisk and then performing a gsm
show spans reports the following:
*CLI> gsm show spans
[0;37mGSM span 1: Power off, Provisioned, Down, Active, Multiplexer
The modem can be recovered using the following procedure:
*CLI> gsm power reset 1
*CLI> gsm power on 1
*CLI> gsm show spans
[0;37mGSM span 1: Power on, Provisioned, Up, Active, Multiplexer
Details of driver build:
This is the procedure I used to build and install the card:
- The G410E_User_Manual.pdf v2.2 says that Centos 5.6 is supported, so I
started with Centos 5.6.
- I followed the instructions in the manual which says to
# yum install kernel kernel-devel
- this results in the kernel version being moved to 2.6.18-348.18.1.el5.
- I used chan-extra_2.0.7.tar.gz because I want /dev/ttyGSM0 access so
that I can establish a pppX interface for packet data.
- I tried using dahdi-linux-complete-2.3.0.1+2.3.0 but this didnt work.
asterisk reported the interface to be:
*CLI> gsm show spans
GSM span 1: Provisioned, Down, Active
*CLI>
- I gave up using dahdi-linux-complete-2.3.0.1+2.3.0 and moved to a
later version.
- I tried using dahdi-linux-complete-2.7.0.1+2.7.0.0 and I managed to
get this to work but I had to apply this patch:
http://bbs.openvox.cn/redirect.php?tid=2024&goto=lastpost
4663
#elif (ASTERISK_VERSION_NUM >= 10820)
ast_devstate_changed_literal(ast_state_chan2dev(state),
AST_DEVSTATE_NOT_CACHABLE, tmp->name);
6274
#elif (ASTERISK_VERSION_NUM >= 10820)
ast_devstate_changed_literal(ast_state_chan2dev(state),
AST_DEVSTATE_NOT_CACHABLE, chn->name);
- and I also had to install several gtk patches to get it to build.
- using asterisk-1.8.23.1 I could get the card detected correctly:
*CLI> gsm show spans
GSM span 1: Power on, Provisioned, Up, Active, Multiplexer
*CLI>
- and minicom can be used to establish a voice call (I couldnt test the
media using this method):
OK
+CSQ: 4,99
+CSQ: 8,99
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK
at+cops?
+COPS: 0,0,"T-Mobile UK",2
OK
atd <a UK phone number>;
OK
+STIN: 21
VOICE CALL: BEGIN
ath
VOICE CALL: END: 000020
OK
- The attached file (see at the end of this post) contains the terminal
log from invoking the ./ppp-on script (which has been edited to use
/dev/ttyGSM0, the device instantiated by the installation/detection
process). The ppp session was terminated after ~(Connect time 9.4
minutes.) by using CTRL-C because (as mentioned above) the ping was
failing to receive responses. However, when the script ppp-on was
re-invoked, the connection could not be re-established again. minicom
could not establish a terminal session with /dev/ttyGSM0, and the gsm
power reset procedure described above had to be used to recover the modem.
======================================================
2. Are there any G410E + SIMCOM 5215E Users With A Working System (Voice
and Data)?
It would be helpful to know:
- What country/countries and mobile operator networks the
G410e/SIMCOM_SIM5215E has demonstrated successful interoperability? If
the product is known to work with Vodafone Italy then this would suggest
it should work with Vodafone UK, for example.
- what versions of the host OS/packages were used to build a working
installation?
3. Can anyone provide pointers on how I might fix this myself?
======================================================
I would very much like to use my G410e with SIMCOM 5125e module for
packet data with PPP. However, as described in Problem 1 in the email
below I find that it doesnt work on Centos 5.6. Openvox have said they
tested it on Elastix 2.4 and found that it also doesnt work. Can you
help me fix it? I have linux kernel device drivers experience but little
asterisk development.
Here are my questions:
- which open source reference points did openvox use to implement
chan_extra-2.0.7/src/opvxg4xx/base.c? base.c use the tty interface to
mux/demux PPP hdlc tx/rx frames onto their modem. Does anyone know a
similar kernel driver which muxes PPP frames using the same methodology
but that works?
- Has anyone ever seen Openvox G400/G410 PPP packet data working? If
yes, what are the versions of
OS/kernel/dahdi-linux-complete/chan-extra/asterisk that you used? I can
then build this version and see if I can get it to work.
- where should I look to find the problem? Any ideas what the problem
might be? Perhaps issuing a bad command to the modem? Or a problem with
locking?
- do you have any pointers to documentation that explains how the
dahdi/opvxg4xx interface works?
- do you have any pointers to documentation that explains how the
opnvxg4xx/tty interface works?
I would very much appreciate anyone contributing information to help
resolve the problems.
Thanks for your help in advance.
Best Regards,
BR
===============================================
file mentioned above is pasted below for reference:
[root at tn1_pc2 ppp]# ./ppp-on
timeout set to 5 seconds
abort on (\nBUSY\r)
abort on (\nERROR\r)
abort on (\nNO ANSWER\r)
abort on (\nNO CARRIER\r)
abort on (\nNO DIALTONE\r)
timeout set to 2 seconds
send (AT^M)
timeout set to 2 seconds
expect (OK)
^M
OKOK
-- got it
send (ATE0V1^M)
timeout set to 2 seconds
expect (OK)
^M
^M
OKOK
-- got it
send (AT^M)
timeout set to 2 seconds
expect (OK)
^M
^M
OKOK
-- got it
send (AT+CGDCONT=1,"IP","CMNET"^M)
timeout set to 2 seconds
expect (OK)
^M
^M
OKOK
-- got it
send (ATS0=0^M)
timeout set to 2 seconds
expect (OK)
^M
^M
OKOK
-- got it
send (AT^M)
timeout set to 2 seconds
expect (OK)
^M
^M
OKOK
-- got it
send (ATE0V1^M)
timeout set to 5 seconds
expect (OK)
^M
^M
OKOK
-- got it
send (AT^M)
timeout set to 5 seconds
expect (OK)
^M
^M
OKOK
-- got it
send (AT+CGDCONT=1,"IP","CMNET"^M)
timeout set to 5 seconds
expect (OK)
^M
^M
OKOK
-- got it
send (ATDT*99*#^M)
timeout set to 10 seconds
Waiting for connect...
expect (CONNECT)
^M
^M
CONNECTCONNECT
-- got it
send (^M)
Connect Success!
Serial connection established.
Using interface ppp0
Connect: ppp0 <--> /dev/ttyGSM0
Could not determine remote IP address: defaulting to 10.64.64.64
local IP address 10.168.121.192
remote IP address 10.64.64.64
primary DNS address 149.254.230.7
secondary DNS address 149.254.199.126
Terminating on signal 2
Connect time 9.4 minutes.
Sent 40484 bytes, received 8117 bytes.
Connection terminated.
Modem hangup
[root at tn1_pc2 ppp]#
[root at tn1_pc2 ppp]# ./ppp-on
timeout set to 5 seconds
abort on (\nBUSY\r)
abort on (\nERROR\r)
abort on (\nNO ANSWER\r)
abort on (\nNO CARRIER\r)
abort on (\nNO DIALTONE\r)
timeout set to 2 seconds
send (AT^M)
timeout set to 2 seconds
expect (OK)
alarm
Failed
Connect script failed
[root at tn1_pc2 ppp]# ./ppp-on
timeout set to 5 seconds
abort on (\nBUSY\r)
abort on (\nERROR\r)
abort on (\nNO ANSWER\r)
abort on (\nNO CARRIER\r)
abort on (\nNO DIALTONE\r)
timeout set to 2 seconds
send (AT^M)
timeout set to 2 seconds
expect (OK)
alarm
Failed
Connect script failed
[root at tn1_pc2 ppp]#
More information about the asterisk-dev
mailing list