我在 TI 的 CC2650上使用 Contiki 操作系统、但在连接方面遇到了一些问题。
我正在尝试解决此问题、我的设置如下-
Linux board, running TunSLIP6
CC2650 running rpl-border-router and interfaced with linux board by SLIP protocol
CC2650 running udp-server program
我正在 Linux 板中创建一个隧道、并 ping UDP 服务器节点。 我观察到 ping 会停止一段时间、然后再次开始获取响应、如下所示-
来自 AAAA 的64字节::212:4b00:79e:8f87:SEQ=16 TTL=63 Time=61.401ms
来自 AAAA 的64字节::212:4b00:79e:8f87:SEQ=46 TTL=63 time=158.386ms
请观察序列标识。 有时、我在 Linux 控制台上没有收到 ping 响应、但实际上似乎正在发生这种情况。 我尝试调试边界路由器代码、发现核心/net/IP/TCPIP.c 文件第578行中调用了一个函数静态 int 输出(void)。 此函数负责通过 SLIP 将接收到的数据包发送到串行。 我观察到这个函数的静态 int 输出(void)在某个时间内未从 TCPIP.c 中调用、并且在某个时间之后开始调用。 在 slid-bridge.c 文件中还有一个函数 static void slid_input_callback (void)、该函数负责通过边界路由器中的 slip 接收数据包。 这个函数被完美地调用、没有任何问题。 这就是为什么 Ping 似乎在无线电端工作、但无法发送接收到的数据包以进行滑动的原因。
有人能不能告诉我这种行为的可能原因或一些我可以检查以进一步调试的标志。