Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 91a52c3c authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge changes Ic594b060,I033f30c1 am: 677af6cf am: 6cd54eaa am: b5367a48...

Merge changes Ic594b060,I033f30c1 am: 677af6cf am: 6cd54eaa am: b5367a48 am: 1de6adc5 am: 24bf79e7

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/2151417



Change-Id: I31f2c2d04e820ae9cf4678b6c6db4975de2912ec
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 301206db 24bf79e7
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ cc_defaults {
    ],
    generated_headers: [
        "RootCanalGeneratedPackets_h",
        "RootCanalBrEdrBBGeneratedPackets_h",
        "BluetoothGeneratedPackets_h",
        "libbt_init_flags_bridge_header",
    ],
@@ -57,6 +58,7 @@ cc_library_static {
        "model/controller/link_layer_controller.cc",
        "model/controller/sco_connection.cc",
        "model/controller/security_manager.cc",
        "model/devices/baseband_sniffer.cc",
        "model/devices/beacon.cc",
        "model/devices/beacon_swarm.cc",
        "model/devices/broken_adv.cc",
@@ -228,6 +230,20 @@ filegroup {
    ],
}

genrule {
    name: "RootCanalBrEdrBBGeneratedPackets_h",
    tools: [
        "bluetooth_packetgen",
    ],
    cmd: "$(location bluetooth_packetgen) --root_namespace=bredr_bb --include=packages/modules/Bluetooth/tools/rootcanal/packets --out=$(genDir) $(in)",
    srcs: [
        "packets/bredr_bb.pdl",
    ],
    out: [
        "bredr_bb.h",
    ],
}

// bt_vhci_forwarder in cuttlefish depends on this H4Packetizer implementation.
cc_library_static {
    name: "h4_packetizer_lib",
+2 −1
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ DEFINE_string(controller_properties_file, "",
DEFINE_string(default_commands_file, "",
              "commands file which root-canal runs it as default");
DEFINE_bool(enable_hci_sniffer, false, "enable hci sniffer");
DEFINE_bool(enable_baseband_sniffer, false, "enable baseband sniffer");

constexpr uint16_t kTestPort = 6401;
constexpr uint16_t kHciServerPort = 6402;
@@ -123,7 +124,7 @@ int main(int argc, char** argv) {
      std::make_shared<PosixAsyncSocketServer>(link_ble_server_port, &am),
      std::make_shared<PosixAsyncSocketConnector>(&am),
      FLAGS_controller_properties_file, FLAGS_default_commands_file,
      FLAGS_enable_hci_sniffer);
      FLAGS_enable_hci_sniffer, FLAGS_enable_baseband_sniffer);
  std::promise<void> barrier;
  std::future<void> barrier_future = barrier.get_future();
  root_canal.initialize(std::move(barrier));
+12 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
#include <utility>      // for move
#include <vector>       // for vector

#include "model/devices/baseband_sniffer.h"
#include "model/devices/link_layer_socket_device.h"  // for LinkLayerSocketDevice
#include "model/hci/hci_sniffer.h"                   // for HciSniffer
#include "model/hci/hci_socket_transport.h"          // for HciSocketTransport
@@ -33,6 +34,7 @@ namespace bluetooth {
namespace root_canal {

using rootcanal::AsyncTaskId;
using rootcanal::BaseBandSniffer;
using rootcanal::HciDevice;
using rootcanal::HciSniffer;
using rootcanal::HciSocketTransport;
@@ -81,6 +83,16 @@ void TestEnvironment::initialize(std::promise<void> barrier) {
  SetUpLinkLayerServer();
  SetUpLinkBleLayerServer();

  if (enable_baseband_sniffer_) {
    std::string filename = "baseband.pcap";
    for (auto i = 0; std::filesystem::exists(filename); i++) {
      filename = "baseband_" + std::to_string(i) + ".pcap";
    }

    test_model_.AddLinkLayerConnection(BaseBandSniffer::Create(filename),
                                       Phy::Type::BR_EDR);
  }

  LOG_INFO("%s: Finished", __func__);
}

+4 −1
Original line number Diff line number Diff line
@@ -55,7 +55,8 @@ class TestEnvironment {
                  std::shared_ptr<AsyncDataChannelConnector> connector,
                  const std::string& controller_properties_file = "",
                  const std::string& default_commands_file = "",
                  bool enable_hci_sniffer = false)
                  bool enable_hci_sniffer = false,
                  bool enable_baseband_sniffer = false)
      : test_socket_server_(test_port),
        hci_socket_server_(hci_server_port),
        link_socket_server_(link_server_port),
@@ -64,6 +65,7 @@ class TestEnvironment {
        controller_properties_file_(controller_properties_file),
        default_commands_file_(default_commands_file),
        enable_hci_sniffer_(enable_hci_sniffer),
        enable_baseband_sniffer_(enable_baseband_sniffer),
        controller_(std::make_shared<rootcanal::DualModeController>(
            controller_properties_file)) {}

@@ -81,6 +83,7 @@ class TestEnvironment {
  std::string controller_properties_file_;
  std::string default_commands_file_;
  bool enable_hci_sniffer_;
  bool enable_baseband_sniffer_;
  bool test_channel_open_{false};
  std::promise<void> barrier_;

+3 −3
Original line number Diff line number Diff line
@@ -107,19 +107,19 @@ packet ExtendedPacket : Packet(opcode = ESCAPED) {
}

packet Accepted : Packet(opcode = ACCEPTED) {
  _fixed_ = 0 : 1,
  accepted_opcode: Opcode,
  _fixed_ = 0 : 1,
}

packet NotAccepted : Packet(opcode = NOT_ACCEPTED) {
  _fixed_ = 0 : 1,
  not_accepted_opcode: Opcode,
  _fixed_ = 0 : 1,
  error_code: 8,
}

packet AcceptedExt : ExtendedPacket(extended_opcode = ACCEPTED) {
  _fixed_ = 0 : 1,
  accepted_opcode: Opcode,
  _fixed_ = 0 : 1,
  accepted_extended_opcode: ExtendedOpcode,
}

Loading