Connect a Laptop with Windows to Peripheral UART example

Sure, my question is very stupid, but after one day I found nothing to explain the principle of the situation, I decided to ask.

I have a laptop with built-in Bluetooth 5.2 and Windows 11. It runs a terminal testing program.

I have nRF5340 DK with the example Peripheral UART installed (nRF Connect SDK1.8.0). The board works normally, I tested it with a phone with Android and nRF Connect for Mobile. Everything is working fine. The board is connected to a desktop computer on which a terminal program is running and connected to COM port ( not USB).

Windows (laptop), sees the board. After pressing adding device (on Win), the LED on the board (connected) lights up for 1 second, Windows thinks about 5 seconds, and says try again. I imagine that it will connect to the board, and a window will appear to install a serial port to which I can connect through the terminal program. No PIN display window appears. I tried to quickly press button 1, possibly to confirm, nothing. I can transmit data over the phone without the board being BONDED. Let me just say that I've been doing Nordic for 6 months, and I've learned some things. But here I can't even imagine what should happen. Google didn't help either. Does anything else need to be installed on the board?

In the final version, it should be a remote device to which with any laptop with Bluetooth 5.2, to be able to connect and through a terminal program to exchange data via serial port.

  • Hi

    The hr_coded example makes sense that you're not able to detect, as it advertises over the Coded PHY, which is an optional BLE 5.0 feature most phones and (all) laptops I've encountered doesn't support.

    The Zephyr version should indeed work both on phone and laptop as far as I can tell. I have also reported this to the devs internally now and we're discussing what this could be. I'll update you with any details on the matter.

    Best regards,

    Simon

  • Well thank you.

    If there is any solution please write.

  • Hi Stefan

    Can you also add logging in SMP as well? You can do this by enabling BT_DEBUG_SMP, as this should give us more info on this "UNSPECIFIED" error code you're seeing. I would look in zephyr/subsys/bluetooth/host/smp.c for the UNSPECIFIED error and see in which cases the host might return that. You could also enable debugging for SMP (CONFIG_BT_DEBUG_SMP).

    If possible, can we also get a sniffer log of a Bluetooth device that is able to connect to the laptop for comparison?

    Best regards,

    Simon

  • How do I enable this option? (Do I need to reprogram and Net core?)

     

    On the example \SDK\ncs\v1.8.0\nrf\samples\bluetooth\peripheral_uart , I put it in prj.conf, last row CONFIG_BT_DEBUG_SMP=y.

    There is no effect in the SEGGER, no more rows appear at the time of connection.

    This thing appears in the VSC and it is still useless.

    Bluetooth Security Manager Protocol (SMP) debug

    Type: bool

    Value: n

     This option enables debug support for the Bluetooth Security Manager Protocol (SMP). WARNING: This option prints out private security keys such as the Long Term Key. Use of this feature in production is strongly discouraged.

     This option enables debug support for the Bluetooth Security Manager Protocol (SMP). WARNING: This option prints out private security keys such as the Long Term Key. Use of this feature in production is strongly discouraged.

     Value has changed in the build

     CONFIG_BT_DEBUG_SMP was assigned the value y, but got the value n. Missing dependencies:

    (BT_HCI_HOST && BT_SMP && BT_DEBUG && BT_RPC_STACK) || (BT_HCI_HOST && BT_SMP && BT_DEBUG && BT_HCI && BT)

    --

    In the file smp.c, the word UNSPECIFIED occurs 81 times, how exactly will I find out what to do?

    --

    The sniffer is unusable for devices other than Nordic. In order to be able to trace the connection of two devices, I need to determine which device is the peripheral and broadcast. Unfortunately, in the field: Device(Wireshark), there are only addresses without names and I do not know what to connect to. I tried to search by ADDRESS, which is in the phone for Bluetooth, such does not exist. I tried all the addresses in sequence, nothing. I can upload a video of how the connection works, but nothing special. The PIN window appears, confirm it, and connect.

    At the beginning of the topic I wrote that I cannot scan the connection of two devices so I can look for differences.

  • Hi

    It should be sufficient to set CONFIG_BT_DEBUG_LOG=y in the prj.conf file of your project. 

    Best regards,

    Simon

Related