LTE协议栈软件功能众多,按照分层化思路进行调试分析是一个不错的开始。先分别进行单层测试,确保各层功能的正确与稳定性,然后再逐层递加进行测试。
L2 层数据链路通过后,再开始信令面和用户面的测试。在定位棘手的问题时,一层一层追踪数据流向,可以达到事半功倍的效果。举例来说,在测试下行用户面时,首先确认基站PDCP 层是否收到数据包,确认后查看数据有没有通过PDCP 层转发下去;如果PDCP 层没有问题,数据是否到达RLC 层;如果到达RLC 层,MAC层是否进行调度发送。
2.3 网络封包捕获解析
网络封包捕获解析程序可从以太网卡中捕获数据流并进行解析显示。这里推荐使用wireshark,它是一款常用的优秀开源网络封包分析软件,提供了自定义协议解析插件的编程接口,可以让使用者开发适用于自定义协议的插件。目前wireshark 中已经提供了RRC 层、PDCP 层、RLC层、MAC层的解析插件,只需要在协议数据包前加上特殊的解析包头即可调用解析,看到各个消息的名称和字段的值。在抓包以后,可以将抓包另存为 pcap文件,方便下次查看。尤其在L1/L2 层集成测试时,MAC/PHY API 接口是处理MAC 层消息,控制并调度PHY物理层链路处理的重要接口,MAC/PHY API的高效性和完备性直接影响到物理层处理的效率和正确性。
因此需要编写能够解析MAC/PHY API的wireshark网络封包软件的插件程序,使得wireshark 能够显示两层接口之间交互的信息,如图3所示。