[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

GSM 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