keywords: ip pbx voip gateway gsm gateway

×

Notice

The forum is in read only mode.
× Questions about G400/G410 Cards.

Openvox G410E + SIMCOM 5215E Modem Crashes/Unreliable (PS data problem)

10 years 6 months ago #9137 by bootrom
Hi

I'm experiencing problems commissioning a G410e card for operation in the UK. In summary, I have the following problems/issues:

1. Modem Crash/Unreliable PS Data Connection.
2. Modem doesn't report remote end hang up of phone.
3. AT commands for SIMCOM_SIM5215E module: Do you have documentation for troubleshooting?
4. Are there any G410E + SIMCOM 5215E European Users With A Working System?

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

The ppp0 netdevice can be instantiated following the instructions in chan_extra-2.0.5 User Manual.pdf. Ping -I ppp0 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.

======================================================
Probem 2: Modem doesn't report remote endpoint hang up of phone and clear state correctly.

- when I hung the voice call (previously documented above, see: atd <a UK phone number>;) at the terminating phone (endpoint remote from G410e) then the minicom console trace did not report the hang up. I had to invoke the AT command ATH to hang the call at the G410e side. This suggests an interoperability problem between the modem and the T-Mobile macro-network.

I progressed to further CS call testing with asterisk as follows:

1) Made a call xlite sip extension -> asterisk -> g410e wcdma span (<UMTS_number>) -> pstn <number1>, and the media worked. Hang up by pstn <number1> didnt clear the call at the g410e and hence also at the xlite sip extension. This is in agreement with the previous observation reported above when the voice call was initiated using the ATD command at the minicom console prompt.

2) Made a call UMTS <number2> -> g410e wcdma span (<UMTS_number>) -> asterisk -> xlite extension and the media worked. Hang up by UMTS <number2> did clear the call at xlite. I.E. when the originating phone clears the call, the G410e call state appears to get cleared correctly.

I automated asterisk to place 100 outbound calls according to a modified scenario 1) with asterisk/ g410e hanging up the call (rather than the remote endpoint) . This worked OK.

======================================================
Problem 3: AT commands for SIMCOM_SIM5215E module

It would be very helpful in troubleshooting to know the AT commands supported by the above module on our board. Often error information is stored in flash and reported after the modem has rebooted. Is a similar feature available on the SIMCOM module? Do you have an AT command manual that you could make available to users?

For example, with reference to AT commands:
- what command shows the cause of the last crash?
- what commands show the SIM information including IMEI, IMSI and phone number?
- what are the commands for establishing a PDP context i.e. a PS connection?
- what strings are output to the terminal console e.g. HANG UP, RINGING, etc. Knowing this information means you can use expect or similar to automate/script command exchanges, answering calls etc.
- what commands give signal strength, detected networks, PPP default values, IP Address default values, PPP authentication information, speech codec information?
- what commands give GPS positioning information?

======================================================
4. Are there any G410E + SIMCOM 5215E European Users With A Working System?

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?

I would very much appreciate anyone contributing information to help resolve the problems.

Thanks for your help in advance.


===============================================
file mentioned above is pasted below for reference:

[root@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@tn1_pc2 ppp]#
[root@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@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@tn1_pc2 ppp]#
10 years 6 months ago #9138 by bootrom
Hi

The modem module AT commands are documented here:

http://www.mt-system.ru/sites/default/files/simcom_sim5215_sim5216_atc_en_v1.20.pdf

BR
10 years 6 months ago #9141 by rick.zhu
Hi bootrom,

Sorry to reply you delay.

Please give me some time,i will make a test for you.
And tell you the result.

On the other hand,please tell me you e-mail,i will sent the document to you.
My contact info be shown as below:
e-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.
Skype: rick.zhu3

Best Regards.
10 years 6 months ago #9169 by bootrom
I've rerun the Problem 1 test described above but this time with the debug=0xffffffff set in base.c, recompiled and loaded the driver with a reboot.

The test is:
- boot the machine
- run asterisk. I have to do this to set opvxg4xx.ko kernel state so pppd can use /dev/ttyGSM0.
- start the asterisk CLI, check the span is up and active etc. Then core stop now so that asterisk terminates.
- take down all ethernet interfaces so there is no network connectivity
- ./ppp-on. the ppp0 interface becomes active and is assigned an IP address
- put the primary dns nameserver printed from the chat session in /etc/resolv.conf
- route add default gw <ipaddress remote end of ppp link>. This sets everything up so networking to the outside world works over the ppp interface.
- ping [url]www.google.com.[/url] This gets ping responses. I let this continue to run in a terminal window.
- take a sample of dmesg with: dmesg > 20131019_4_dmesg_output_9.txt (see sample below).
- start the browser. This data load on the ppp interface causes the problem and ping responses stop.
- take a sample of dmesg with dmesg > 20131019_4_dmesg_output_10.txt (see sample below).

Starting at line 4886 in 20131019_4_dmesg_output_10.txt:

opvxg4xx: card 0 span 0 SER_RX [ I?*��yԐ�t ]
opvxg4xx: card 0 span 0 SER_RX [ x�
�2\nCe�m‑P ]
opvxg4xx: card 0 span 0 SER_RX [ ě%��.��L�� ]
opvxg4xx: card 0 span 0 SER_RX [ |K 8�TB�ѫ ]
opvxg4xx: card 0 span 0 SER_RX [ Ĵ�
���
� ]
opvxg4xx: card 0 span 0 SER_RX [ �� ��:i�3��u ]
opvxg4xx: card 0 span 0 SER_RX [ u��cD$O�n� ]
opvxg4xx: RX buffer overflow on span 0, idx 4088, cnt 12, size 4096
opvxg4xx: RX buffer overflow on span 0, idx 4088, cnt 24, size 4096
opvxg4xx: RX buffer overflow on span 0, idx 4088, cnt 35, size 4096
opvxg4xx: RX buffer overflow on span 0, idx 4088, cnt 47, size 4096
opvxg4xx: RX buffer overflow on span 0, idx 4088, cnt 58, size 4096
opvxg4xx: RX buffer overflow on span 0, idx 4088, cnt 70, size 4096
opvxg4xx: RX buffer overflow on span 0, idx 4088, cnt 81, size 4096
opvxg4xx: RX buffer overflow on span 0, idx 4088, cnt 93, size 4096


The RX buffer overflow messages then gets repeated forever.

BR
Time to create page: 0.041 seconds
Powered by Kunena Forum