美文网首页
蓝牙连通性l2ping和L2ACP层传输速率稳定性测试l2tes

蓝牙连通性l2ping和L2ACP层传输速率稳定性测试l2tes

作者: 狼少丷 | 来源:发表于2024-07-24 16:30 被阅读0次

l2ping:

l2ping 是一个用于测试蓝牙设备连接状态的命令行工具类似ping工具。它通过发送一个L2CAP(逻辑链路控制和适配协议)请求到指定的蓝牙设备,并等待设备的响应来判断设备是否在线和可连接。这个工具在Linux系统中比较常见,特别是在需要调试或验证蓝牙设备连接时非常有用。

以下是l2ping的一些基本用法和参数:

l2ping - L2CAP ping
Usage:
        l2ping [-i device] [-s size] [-c count] [-t timeout] [-d delay] [-f] [-r] [-v] <bdaddr>
        -f  Flood ping (delay = 0)
        -r  Reverse ping
        -v  Verify request and response payload
  • -i:指定hci接口,例如-i 0是指定hci0,默认就是hci0
  • -s:指定ping包大小,默认是44字节
  • -c:指定ping包个数
  • -t:指定最大超时时间,单位是秒
  • -d:指定两个ping包之间的间隔,单位是秒
  • -f:相当于-d 0,ping包之间没有间隔,只要收到应答就发送下一个ping包
  • -r:接收ping包
  • -v:校验发送与接收到的ping包内容
  • :指定目标设备的蓝牙地址,格式为xx:xx:xx:xx:xx:xx

执行这个命令后,l2ping会显示每次ping请求的结果,包括发送时间、接收时间和往返时间(RTT),以及丢包率等信息。

# 实例
root@TinaLinux:/# l2ping -f -s 512 -c 10 -t 1 5C:8A:AE:19:07:69
Ping: 5C:8A:AE:19:07:69 from 5C:8A:AE:19:07:EF (data size 512) ...
512 bytes from 5C:8A:AE:19:07:69 id 0 time 41.07ms
512 bytes from 5C:8A:AE:19:07:69 id 1 time 28.53ms
512 bytes from 5C:8A:AE:19:07:69 id 2 time 28.71ms
512 bytes from 5C:8A:AE:19:07:69 id 3 time 28.80ms
512 bytes from 5C:8A:AE:19:07:69 id 4 time 28.62ms
512 bytes from 5C:8A:AE:19:07:69 id 5 time 28.74ms
512 bytes from 5C:8A:AE:19:07:69 id 6 time 28.64ms
512 bytes from 5C:8A:AE:19:07:69 id 7 time 28.75ms
512 bytes from 5C:8A:AE:19:07:69 id 8 time 28.76ms
512 bytes from 5C:8A:AE:19:07:69 id 9 time 28.58ms
10 sent, 10 received, 0% loss

通过l2ping,你可以快速检查蓝牙设备是否在线、响应是否正常,以及连接的稳定性,是蓝牙设备调试和维护中非常有用的工具。

l2test:

l2test工具用于测试蓝牙L2CAP层的性能,有点类似于iperf工具。(不了解iperf的可以移步

l2test工具使用的是服务器-客户端模型,基于L2CAP层建立socket连接。测试时,一台设备需作为server,另一台作为client。
下面是测试命令示例,其中-r表示接收模式,-b表示接收多少数据,-s表示发送模式,xx:xx:xx:xx:xx:xx是接收端的地址。

# 服务端
./l2test -r -b 100000 
# 发送端
./l2test -s xx:xx:xx:xx:xx:xx

l2test工具较为灵活,这个例子是服务器接收、客户端连接并发送,也可以改成服务器发送、客户端连接并接收,只需要将-r改为-w,-s改为-u
执行实例:


image.png

帮助信息如下:

l2test: invalid option -- 'h'
l2test - L2CAP testing
Usage:
        l2test <mode> [options] [bdaddr]
Modes:
        -r listen and receive
        -w listen and send
        -d listen and dump incoming data
        -x listen, then send, then dump incoming data
        -t listen, then send and receive at the same time
        -q connect, then send and receive at the same time
        -s connect and send
        -u connect and receive
        -n connect and be silent
        -y connect, then send, then dump incoming data
        -c connect, disconnect, connect, ...
        -m multiple connects
        -p trigger dedicated bonding
        -z information request
Options:
        [-b bytes] [-i device] [-P psm] [-J cid]
        [-I imtu] [-O omtu]
        [-L seconds] enable SO_LINGER
        [-W seconds] enable deferred setup
        [-B filename] use data packets from file
        [-N num] send num frames (default = infinite)
        [-C num] send num frames before delay (default = 1)
        [-D milliseconds] delay after sending num frames (default = 0)
        [-K milliseconds] delay before receiving (default = 0)
        [-g milliseconds] delay before disconnecting (default = 0)
        [-X mode] l2cap mode (help for list, default = basic)
        [-a policy] chan policy (help for list, default = bredr)
        [-F fcs] use CRC16 check (default = 1)
        [-Q num] Max Transmit value (default = 3)
        [-Z size] Transmission Window size (default = 63)
        [-Y priority] socket priority
        [-H size] Maximum receive buffer size
        [-R] reliable mode
        [-G] use connectionless channel (datagram)
        [-U] use sock stream
        [-A] request authentication
        [-E] request encryption
        [-S] secure connection
        [-M] become master
        [-T] enable timestamps
        [-V type] address type (help for list, default = bredr)
        [-e seq] initial sequence value (default = 0)

常用命令以及描述:

1.接收数据(-r 模式)

l2test -r -i hci0 -P 1 -I 672 -O 672 5C:8A:AE:19:07:69
  • -i hci0:指定使用的蓝牙设备。

  • -P 1:指定PSM(Protocol/Service Multiplexer)。

  • -I 672-O 672:设置输入和输出MTU(Maximum Transmission Unit)。

  • 5C:8A:AE:19:07:69:远程设备的MAC地址。

2.发送数据(-s 模式)

l2test -s -i hci0 -P 1 -I 672 -O 672 5C:8A:AE:19:07:69 "Hello, Bluetooth!"
  • -s:发送数据模式。

  • "Hello, Bluetooth!":要发送的数据

3.同时发送和接收数据(-q 模式)

l2test -q -i hci0 -P 1 -I 672 -O 672 5C:8A:AE:19:07:69
  • -q:连接后同时发送和接收数据。

高级选项:

  1. 连接、断开、再连接(-c 模式)

    l2test -c -i hci0 -P 1 -I 672 -O 672 5C:8A:AE:19:07:69
    
    • -c:连接、断开、再连接模式。
  1. 多重连接(-m 模式)

    l2test -m -i hci0 -P 1 -I 672 -O 672 5C:8A:AE:19:07:69
    
    • -m:多重连接模式。
  1. 触发专用绑定(-p 模式)

    l2test -p -i hci0 -P 1 -I 672 -O 672 5C:8A:AE:19:07:69
    
    • -p:触发专用绑定模式。

通过这些示例和选项,你可以根据具体需求使用l2test进行各种L2CAP连接测试。

相关文章

  • 百元蓝牙耳机也能看?看看这里 雷柏i100 TWS

    前言 如今蓝牙耳机因为蓝牙5.0技术的普及,在续航、传输距离与稳定性等方面都得到了明显的提升。尤其随着传输速率的提...

  • 传输层协议

    传输层概述 传输层定义了主机应用程序之间端到端的连通性。传输层最常见的两个协议分别是传输控制协议TCP(Trans...

  • BLE5.0与BLE4.2的区别与新特性

    1.传输速率提高2倍 Bluetooth 5把目前的传输速度提高了2倍。蓝牙4.2最大通讯速度为1Mbps,而蓝牙...

  • 传输层协议(TCP, UDP)

    简介 传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输控制协议TCP(Transm...

  • Bluetooth BR/EDR和BLE的区别.md

    (资料来自网络搜集) Bluetooth BR / EDR(蓝牙基本速率/增强数据速率)和BLE是蓝牙核心规范中的...

  • 用小米路由器mini打造WIFI无线音箱

    0. 最终实现 不直接用蓝牙的原因: 传输速率限制,音质无法保证;传输距离短,信号不稳定; 1. 物品清单 * 小...

  • 物理层

    物理层 物理层定义了接口标准、线缆标准、传输速率、传输方式等。 网线传输不能超过 100 米 数字信号、模拟信号 ...

  • 蓝牙模块了解吗?看看笔者整理的蓝牙模块基础知识介绍

    随着近年来蓝牙技术的不断发展,在功耗不断降低的情形下,蓝牙的传输速率也不断地得到提高,使蓝牙的应用范围更加广泛。但...

  • 没活力?来个击音VC!

    【前言】 要说现在年轻人EDC常驻似乎少不了无线蓝牙耳机,随着越来越好的蓝牙传输稳定性和硬件支持,摆脱线材的束缚,...

  • 计算机网络知识点(八)

    Chapter5 运输层(二) 可靠传输的工作原理 可靠传输: 理想信道:传输信道不产生差错,不管发送速率多快都要...

网友评论

      本文标题:蓝牙连通性l2ping和L2ACP层传输速率稳定性测试l2tes

      本文链接:https://www.haomeiwen.com/subject/ctcphjtx.html