BGS2 Invalid Index Error response to ^SIST command | Telit Cinterion IoT Developer Community
November 23, 2018 - 11:38am, 6062 views
I am testing the operation of the Transparent TCP Listener
Once this is in the Up state, I get the expected urc when an incoming connection is received:
^SIS: 0,3,0,"192.168.27.3:58148"
When I issue an AT&SIST=0 command to enter transparent access modem, I receive the following response:
AT^SIST=0
+CME ERROR: invalid index
However, the index is the srvProfileId in the urc, so this is not behaving as I would expect.
Hello,
Please paste the complete log with connection configuration.
Regards,
Bartłomiej
Log Transcribed from multiplexed connection
AT^SICS=0,conType,GPRS0
OK
AT^SICS=0,alphabet,1
OK
AT^SICS=0,user,c
OK
AT^SICS=0,passwd,c
OK
AT^SICS=0,apn,wlapn.com
OK
AT^SICS=0,dns1,0.0.0.0
OK
AT^SICS=0,dns2,0.0.0.0
OK
AT^SISS=0,srvType,transparent
OK
AT^SISS=0,alphabet,1
OK
AT^SISS=0,conId,0
OK
AT^SISS=1,srvType,transparent
OK
AT^SISS=1,alphabet,1
OK
AT^SISS=1,conId,0
OK
AT^SISC=0
OK
AT^SISS=0,address,socktcp://:1024
OK
AT^SISO=0
ERROR
AT^SISC=0
OK
AT^SISS=0,address,socktcp://:1024
OK
AT^SISO=0
OK
AT^SISC=1
OK
AT^SISS=1,address,socktcp://:23
OK
AT^SISO=1
OK
^SIS: 0,3,0,"192.168.27.3:58418"
AT^SIST=0
+CME ERROR: invalid index
Hello,
It seems that finally you have opened a listener on profile 1. Then there is URC indicating the incoming connection on profile 0. No auto-answering is enabled. So now you should first open the connection on profile 0, wait for URC and then you may switch to transparent mode.
Regards,
Bartłomiej
If you look at the commands you will see that I opened the listener on profile 0, prior to opening the listener on profile 1.
Had I not done so, I would not the receive the "SIS: 0.3.0."192.168.27.3:58418" urc
I check that the IP address trying to connect is acceptable and then issue the AT^SIST=0
I receive the invalid index response in trying to switch to the transparent mode as you suggest.
Hello,
I've seen that you have been opening and closing listener on profile 1 and 2. I didn't notice that you left both open.
The general scenario would be that you open one listener and wait for the ^SIS: URC indicating the incoming connection. Then you should accept the connection and after that switch to transparent mode or enable auto answering.
Regards,
Bartłomiej
I have two open listeners as I wish to accept connections on two separate ports.
This is the reason multiple listneners can be defined.
The urc indicates which listener to use.
Hello,
Please check the firmware version that you have with ATI1 command.
Have you tried to test with enabled auto-answering?
Please check AT^SISS? and AT^SISO? when URC comes. Please try to use AT^SISO with the proper index to open the incoming connection. Please paste the log.
Regards,
Bartłomiej
The firmware version is 4.030
I have queried the state of the listeners on receipt of the urc, the results are as follows:
^SIS: 0,3,0"192.168.27.3:54705"
AT^SISS?
^SISS: 0,"srvType","Transparent"
^SISS: 1,"srvType","Transparent"
^SISS: 2,"srvType",""
^SISS: 3,"srvType",""
^SISS: 4,"srvType",""
^SISS: 5,"srvType",""
^SISS: 6,"srvType",""
^SISS: 7,"srvType",""
^SISS: 8,"srvType",""
^SISS: 9,"srvType",""
AT^SISO?
^SISO: 0,"Transparent"
^SISO: 1,"Transparent"
^SISO: 2,""
^SISO: 3,""
^SISO: 4,""
^SISO: 5,""
^SISO: 6,""
^SISO: 7,""
^SISO: 8,""
^SISO: 9,""
AT^SISI?
^SISI: 0,7,0,0,0,0
^SISI: 1,4,0,0,0,0
AT^SIST=0
+CME ERROR: invalid index
I have assumed that the "invalid index" error indicates that the listener with the selected srvProfileId was not in a vallid state for a transprent connection to be opened.
If this is the meaning of the error, then plainly there is a problem with the firmware, because both the urc and the status commands indicate the listener with srvProfileId 0 is in the correct state for a transparent connection to be opened.
It this is not the meaning of the error, can you please explain what it indicates?
Hello,
The outputs for SISS and SISO are a little confusing because there are no all configured parameters printed. However according to SISI output one listener is in alerting state which is consistent with ^SIS URC which indicates an incoming connection. As I suggested you before you should first open the incoming connection with SISO command and after that switch to transparent mode with SIST.
Regards,
Bartłomiej
That is not how it works, the urc will not be generated if the listener is not opened.
I believe, I now understand the meaning of the error message.
I opened the listener on channel 2 and I was trying to open a transparent connection on channel 1 and this, I believe, is the cause of this delphic error message.
This operates differenty from the socket listener which can be opened on channel 2 and a client can be opened on channel 1 when the urc is received.
I can see no reason why the transparent connection cannot be opened on channel 1 other that this is a implementation detail in the BGS2.
However, since transparent connections can only be opened on channel 1, it is a nonsence to permit the transperent listener to be opened on channel 2 or channel 3 since is impossilbe to open any transparent connection.
Pages