TCP Socket Connection Bug

Hi

Re: BX310x WiFi module.

If I connect to a “good” socket it tells me OK. And when I then attempt to connect to a “bad/non-existing” socket, it returns with error code 906 - which is also correct.

But if I then delete the session allocated for the “bad” socket and repeat the “bad” connection attempt for exactly 10 times, it suddenly returns error 902 (Out of sockets). After this point I cannot connect to another “good” socket anymore. The unit must be reset. (This happens with v2.7.2 and v2.7.3 firmware).

This must be a firmware bug - and we need a work-around urgently. Please can anybody help.?

Herewith the log (executed by hand via TeraTerm in order to replicate the problem):

[2020-11-09 19:17:45.903] AT
[2020-11-09 19:18:02.179] OK
[2020-11-09 19:18:06.274]
[2020-11-09 19:18:06.274] OK
[2020-11-09 19:18:20.851] AT+CGMR
[2020-11-09 19:18:22.014]
[2020-11-09 19:18:25.501] BX310x.2.7.3
[2020-11-09 19:18:25.501] OK
[2020-11-09 19:19:07.355] AT+SRWCFG=1
[2020-11-09 19:19:09.396]
[2020-11-09 19:19:09.396] OK
[2020-11-09 19:19:27.027] AT+SRWSTACFG=“MySSID”,“1234567890”,0
[2020-11-09 19:19:28.304]
[2020-11-09 19:19:28.304] OK
[2020-11-09 19:19:37.979] AT+SRWSTACON=1
[2020-11-09 19:19:40.206]
[2020-11-09 19:19:40.206] OK
[2020-11-09 19:19:40.382]
[2020-11-09 19:19:40.382] +SRWSTASTATUS: 1,“MySSID”,“d8:50:e6:93:b2:78”,6,3,-39
[2020-11-09 19:19:42.527]
[2020-11-09 19:19:42.527] +SRWSTAIP: “192.168.1.247”,“255.255.255.0”,“192.168.1.1”
[2020-11-09 19:20:08.349] AT+KTCPCFG?
[2020-11-09 19:20:10.551]
[2020-11-09 19:20:10.551] OK
[2020-11-09 19:20:28.803] AT+KTCPCFG=,0,test.server.com,65___>> GOOD socket
[2020-11-09 19:20:30.819]
[2020-11-09 19:20:30.819] +KTCPCFG: 1
[2020-11-09 19:20:30.819] OK
[2020-11-09 19:20:43.066] AT+KTCPCNX=1
[2020-11-09 19:20:44.336]
[2020-11-09 19:20:44.336] OK_________________________________>> OK
[2020-11-09 19:21:16.323] AT+KTCPCFG=,0,192.168.1.1,3000_____>> BAD socket
[2020-11-09 19:21:19.577]
[2020-11-09 19:21:19.577] +KTCPCFG: 2
[2020-11-09 19:21:19.577] OK
[2020-11-09 19:21:28.668] AT+KTCPCNX=2
[2020-11-09 19:21:30.024]
[2020-11-09 19:21:30.024] +CME ERROR: 906________________>> OK because socket does not exist
[2020-11-09 19:21:44.143] AT+KTCPDEL=2
[2020-11-09 19:21:45.508]
[2020-11-09 19:21:45.508] OK
[2020-11-09 19:22:45.848] AT+KTCPCFG=,0,192.168.1.1,3000
[2020-11-09 19:22:47.029]
[2020-11-09 19:22:47.029] +KTCPCFG: 2
[2020-11-09 19:22:47.046] OK
[2020-11-09 19:22:52.549] AT+KTCPCNX=2
[2020-11-09 19:22:53.573]
[2020-11-09 19:22:53.573] +CME ERROR: 906___________________>> attempt no.2
[2020-11-09 19:22:58.560] AT+KTCPDEL=2
[2020-11-09 19:22:59.363]
[2020-11-09 19:22:59.363] OK
[2020-11-09 19:23:05.486] AT+KTCPCFG=,0,192.168.1.1,3000
[2020-11-09 19:23:06.290]
[2020-11-09 19:23:06.290] +KTCPCFG: 2
[2020-11-09 19:23:06.290] OK
[2020-11-09 19:23:11.616] AT+KTCPCNX=2
[2020-11-09 19:23:12.529]
[2020-11-09 19:23:12.529] +CME ERROR: 906___________________>> attempt no.3
[2020-11-09 19:23:17.660] AT+KTCPDEL=2
[2020-11-09 19:23:18.480]
[2020-11-09 19:23:18.480] OK
[2020-11-09 19:23:24.437] AT+KTCPCFG=,0,192.168.1.1,3000
[2020-11-09 19:23:25.326]
[2020-11-09 19:23:25.326] +KTCPCFG: 2
[2020-11-09 19:23:25.326] OK
[2020-11-09 19:23:30.217] AT+KTCPCNX=2
[2020-11-09 19:23:31.101]
[2020-11-09 19:23:31.101] +CME ERROR: 906___________________>> attempt no.4
[2020-11-09 19:23:36.512] AT+KTCPDEL=2
[2020-11-09 19:23:37.371]
[2020-11-09 19:23:37.371] OK
[2020-11-09 19:23:44.124] AT+KTCPCFG=,0,192.168.1.1,3000
[2020-11-09 19:23:44.922]
[2020-11-09 19:23:44.922] +KTCPCFG: 2
[2020-11-09 19:23:44.922] OK
[2020-11-09 19:23:49.966] AT+KTCPCNX=2
[2020-11-09 19:23:50.779]
[2020-11-09 19:23:50.779] +CME ERROR: 906___________________>> attempt no.5
[2020-11-09 19:23:55.561] AT+KTCPDEL=2
[2020-11-09 19:23:56.296]
[2020-11-09 19:23:56.296] OK
[2020-11-09 19:24:03.151] AT+KTCPCFG=,0,192.168.1.1,3000
[2020-11-09 19:24:04.118]
[2020-11-09 19:24:04.118] +KTCPCFG: 2
[2020-11-09 19:24:04.118] OK
[2020-11-09 19:24:09.573] AT+KTCPCNX=2
[2020-11-09 19:24:10.964]
[2020-11-09 19:24:10.964] +CME ERROR: 906___________________>> attempt no.6
[2020-11-09 19:24:15.917] AT+KTCPDEL=2
[2020-11-09 19:24:16.803]
[2020-11-09 19:24:16.803] OK
[2020-11-09 19:24:22.185] AT+KTCPCFG=,0,192.168.1.1,3000
[2020-11-09 19:24:23.073]
[2020-11-09 19:24:23.073] +KTCPCFG: 2
[2020-11-09 19:24:23.073] OK
[2020-11-09 19:24:37.171] AT+KTCPCNX=2
[2020-11-09 19:24:38.174]
[2020-11-09 19:24:38.174] +CME ERROR: 906___________________>> attempt no.7
[2020-11-09 19:24:45.667] AT+KTCPDEL=2
[2020-11-09 19:24:46.541]
[2020-11-09 19:24:46.541] OK
[2020-11-09 19:24:52.198] AT+KTCPCFG=,0,192.168.1.1,3000
[2020-11-09 19:24:53.339]
[2020-11-09 19:24:53.339] +KTCPCFG: 2
[2020-11-09 19:24:53.339] OK
[2020-11-09 19:25:00.006] AT+KTCPCNX=2
[2020-11-09 19:25:00.858]
[2020-11-09 19:25:00.858] +CME ERROR: 906___________________>> attempt no.8
[2020-11-09 19:25:06.059] AT+KTCPDEL=2
[2020-11-09 19:25:06.888]
[2020-11-09 19:25:06.888] OK
[2020-11-09 19:25:12.592] AT+KTCPCFG=,0,192.168.1.1,3000
[2020-11-09 19:25:13.431]
[2020-11-09 19:25:13.431] +KTCPCFG: 2
[2020-11-09 19:25:13.447] OK
[2020-11-09 19:25:20.721] AT+KTCPCNX=2
[2020-11-09 19:25:21.750]
[2020-11-09 19:25:21.750] +CME ERROR: 906___________________>> attempt no.9
[2020-11-09 19:25:26.504] AT+KTCPDEL=2
[2020-11-09 19:25:27.349]
[2020-11-09 19:25:27.349] OK
[2020-11-09 19:25:32.725] AT+KTCPCFG=,0,192.168.1.1,3000
[2020-11-09 19:25:33.491]
[2020-11-09 19:25:33.491] +KTCPCFG: 2
[2020-11-09 19:25:33.491] OK
[2020-11-09 19:25:38.511] AT+KTCPCNX=2
[2020-11-09 19:25:39.314]
[2020-11-09 19:25:39.314] +CME ERROR: 902_______________>> Exactly after 10 failures
[2020-11-09 19:25:44.835] AT+KTCPDEL=2
[2020-11-09 19:25:45.648]
[2020-11-09 19:25:45.648] OK
[2020-11-09 19:25:59.051] AT+KTCPCFG?
[2020-11-09 19:26:00.157]
[2020-11-09 19:26:00.157] +KTCPCFG: 1,1,0,“test.server.com”,65,1,0
[2020-11-09 19:26:00.157] OK
[2020-11-09 19:29:17.530] AT+KTCPCFG=,0,test.server.com,65
[2020-11-09 19:29:19.746]
[2020-11-09 19:29:19.746] +KTCPCFG: 2
[2020-11-09 19:29:19.746] OK
[2020-11-09 19:29:31.232] AT+KTCPCNX=2
[2020-11-09 19:29:32.255]
[2020-11-09 19:29:32.255] +CME ERROR: 902________>> Can no longer connect to GOOD socket !!

Why don’t you use AT+KTCPCNX=1in this timeslot?

[2020-11-09 19:29:17.530] AT+KTCPCFG=,0,test.server.com,65
[2020-11-09 19:29:19.746]
[2020-11-09 19:29:19.746] +KTCPCFG: 2
[2020-11-09 19:29:19.746] OK
[2020-11-09 19:29:31.232] AT+KTCPCNX=2
[2020-11-09 19:29:32.255]

Because the 1st session is still alive and connected to test.server.com and I’m making a 2nd connection to the test.server.com.

From this point on all the sessions fail. At least I expect to be able to connect to test.server.com.

image001.png

I think the problem is that you have used some invalid IP address 192.168.1.1.
I have tried some real IP address, at least i don’t see this problem for 12 sockets:

AT+KTCPCFG=1,0,116.66.221.43,80
+KTCPCFG: 1
OK
AT+KTCPCNX=1
OK
AT+KTCPCFG=1,0,116.66.221.43,81
+KTCPCFG: 2
OK
AT+KTCPCNX=2
+CME ERROR: 906

+KTCP_NOTIF: 2,0
AT+KTCPCFG=1,0,116.66.221.43,81
+KTCPCFG: 3
OK
AT+KTCPCNX=3
+CME ERROR: 906

+KTCP_NOTIF: 3,6

+KTCP_NOTIF: 1,4
AT+KTCPCFG=1,0,116.66.221.43,83
+KTCPCFG: 4
OK
AT+KTCPCNX=4
+CME ERROR: 906
AT+KTCPCFG=1,0,116.66.221.43,84
+KTCPCFG: 5
OK
AT+KTCPCNX=5
+CME ERROR: 906
AT+KTCPCFG=1,0,116.66.221.43,85
+KTCPCFG: 6
OK
AT+KTCPCNX=6
+CME ERROR: 906
AT+KTCPCFG=1,0,116.66.221.43,86
+KTCPCFG: 7
OK
AT+KTCPCNX=7
+CME ERROR: 906
AT+KTCPCFG=1,0,116.66.221.43,87
+KTCPCFG: 8
OK
AT+KTCPCNX=8
+CME ERROR: 906
AT+KTCPCFG=1,0,116.66.221.43,88
+KTCPCFG: 9
OK
AT+KTCPCNX=9
+CME ERROR: 906
AT+KTCPCFG=1,0,116.66.221.43,89
+KTCPCFG: 10
OK
AT+KTCPCNX=10
+CME ERROR: 906

+KTCP_NOTIF: 10,6
AT+KTCPCFG=1,0,116.66.221.43,90
+KTCPCFG: 11
OK
AT+KTCPCNX=11
+CME ERROR: 906

+KTCP_NOTIF: 11,0
AT+KTCPCFG=1,0,116.66.221.43,91
+KTCPCFG: 12
OK
AT+KTCPCNX=12
+CME ERROR: 906
AT+KTCPCNX=1
OK
at+ktcpcfg?
+KTCPCFG: 1,1,0,“116.66.221.43”,80,1,0
+KTCPCFG: 2,0,0,“116.66.221.43”,81,1,0
+KTCPCFG: 3,0,0,“116.66.221.43”,81,1,0
+KTCPCFG: 4,0,0,“116.66.221.43”,83,1,0
+KTCPCFG: 5,0,0,“116.66.221.43”,84,1,0
+KTCPCFG: 6,0,0,“116.66.221.43”,85,1,0
+KTCPCFG: 7,0,0,“116.66.221.43”,86,1,0
+KTCPCFG: 8,0,0,“116.66.221.43”,87,1,0
+KTCPCFG: 9,0,0,“116.66.221.43”,88,1,0
+KTCPCFG: 10,0,0,“116.66.221.43”,89,1,0
+KTCPCFG: 11,0,0,“116.66.221.43”,90,1,0
+KTCPCFG: 12,0,0,“116.66.221.43”,91,1,0
OK
ati3
BX310x.2.7.2
OK

Hi – again thanks for your reply

I found a simpler way to reproduce the error….

  1. Try and connect at least 10 times to an invalid port. You should get Code 906.

  2. At attempt 11 or more, you will get Code 902.

  3. From then on you cannot make any good connections.

Simple as that…

Kind regards

image001.png

my test above can go for the 12th trial:

AT+KTCPCNX=12
+CME ERROR: 906

Hi Thanks again for trying to assist. This issue has been escalated.