蓝牙共享网络上不了网
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
当一个手机A开启BT Tethering作为服务器时候,其他手机作为BT Tethering的客户端去连A从而使用A分享出来的网络
,发现一直不能上网成功,也并非所有同样软件版本手机做BT Tethering服务器都有问题。
[SOLUTION]
问题发生的原因是:作为BT热点服务器的BT MAC地址是一个组播类型地址,而Tethering这边对目的地址是组播类型的
MAC都是不会进行转发的,客户端发给BT热点的请求都未被转发,因此上网失败。
BT 的MAC规范是最高字节的最低有效位表示是否是单播(0表示单播,1表示是广播)。
因此对于这个问题,我们需要按照规范将BT的MAC改成一个单播的MAC即可。
从TCP的LOG中可以清楚的甄别这个问题,出现上述问题时候,TCP的链路层有如下Log:
linux cooked capture
Packet type: Multicast (2)
正常的则是:
Linux cooked capture
Packet type: Unicast to us (0)
