Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fresh Build and Flash of Bluetooth Peripheral Sample Produces Error on P-Nucleo-64 Board (STM32WBRG) #44728

Closed
smr-mohammadzadeh opened this issue Apr 11, 2022 · 1 comment
Assignees
Labels
bug The issue is a bug, or the PR is fixing a bug priority: low Low impact/importance bug

Comments

@smr-mohammadzadeh
Copy link

Hi there. I am new to Zephyr OS and for the first try, I tried to build and flash bluetooth peripheral sample to P-Nucleo-64 board which is powered by STM32WBRG micro controller. The sample flashed successfully but I have got this error in serial terminal:

*** Booting Zephyr OS build zephyr-v3.0.0-2567-g70c48417c7a0  ***
Bluetooth init failed (err -5)
[    0.152000] <0x1b>[0m<inf> fs_nvs: 2 Sectors of 4096 bytes<0x1b>[0m
[    0.152000] <0x1b>[0m<inf> fs_nvs: alloc wra: 0, fe8<0x1b>[0m
[    0.152000] <0x1b>[0m<inf> fs_nvs: data wra: 0, 0<0x1b>[0m
[    0.155000] <0x1b>[1;33m<wrn> bt_hci_core: opcode 0x1003 status 0x01<0x1b>[0m

I couldn't found any information about bluetooth initiation error codes, so I couldn't figure out what does error "-5" mean.

What I have done from scratch:
For Build:

> ~/zephyrproject/zephyr$ west build -d MyProjects/GattServer2 -b nucleo_wb55rg samples/bluetooth/peripheral/
-- west build: generating a build system
Loading Zephyr default modules (Zephyr base).
-- Application: /home/smr/zephyrproject/zephyr/samples/bluetooth/peripheral
-- Found Python3: /usr/bin/python3.8 (found suitable exact version "3.8.10") found components: Interpreter 
-- Cache files will be written to: /home/smr/.cache/zephyr
-- Zephyr version: 3.0.99 (/home/smr/zephyrproject/zephyr)
-- Found west (found suitable version "0.13.0", minimum required is "0.7.1")
-- Board: nucleo_wb55rg
-- ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK
-- Found host-tools: zephyr 0.14.0 (/home/smr/zephyr-sdk-0.14.0)
-- Found dtc: /home/smr/zephyr-sdk-0.14.0/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
-- Found toolchain: zephyr 0.14.0 (/home/smr/zephyr-sdk-0.14.0)
-- Found BOARD.dts: /home/smr/zephyrproject/zephyr/boards/arm/nucleo_wb55rg/nucleo_wb55rg.dts
-- Generated zephyr.dts: /home/smr/zephyrproject/zephyr/MyProjects/GattServer2/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: /home/smr/zephyrproject/zephyr/MyProjects/GattServer2/zephyr/include/generated/devicetree_unfixed.h
-- Generated device_extern.h: /home/smr/zephyrproject/zephyr/MyProjects/GattServer2/zephyr/include/generated/device_extern.h
-- Including generated dts.cmake file: /home/smr/zephyrproject/zephyr/MyProjects/GattServer2/zephyr/dts.cmake
Parsing /home/smr/zephyrproject/zephyr/Kconfig
Loaded configuration '/home/smr/zephyrproject/zephyr/boards/arm/nucleo_wb55rg/nucleo_wb55rg_defconfig'
Merged configuration '/home/smr/zephyrproject/zephyr/samples/bluetooth/peripheral/prj.conf'
Configuration saved to '/home/smr/zephyrproject/zephyr/MyProjects/GattServer2/zephyr/.config'
Kconfig header saved to '/home/smr/zephyrproject/zephyr/MyProjects/GattServer2/zephyr/include/generated/autoconf.h'
-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/smr/zephyr-sdk-0.14.0/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
-- Configuring done
-- Generating done
-- Build files have been written to: /home/smr/zephyrproject/zephyr/MyProjects/GattServer2
-- west build: building application
[1/222] Preparing syscall dependency handling

[3/222] Generating include/generated/version.h
-- Zephyr version: 3.0.99 (/home/smr/zephyrproject/zephyr), build: zephyr-v3.0.0-2567-g70c48417c7a0
[212/222] Linking C executable zephyr/zephyr_pre0.elf

[216/222] Linking C executable zephyr/zephyr_pre1.elf

[222/222] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:      101984 B       808 KB     12.33%
            SRAM:       19700 B        96 KB     20.04%
           SRAM1:         479 B        10 KB      4.68%
           SRAM2:        2424 B        20 KB     11.84%
        IDT_LIST:          0 GB         2 KB      0.00%

For Flash:

~/zephyrproject/zephyr$ west flash -d MyProjects/GattServer2
-- west flash: rebuilding
ninja: no work to do.
-- west flash: using runner openocd
-- runners.openocd: Flashing file: MyProjects/GattServer2/zephyr/zephyr.hex
Open On-Chip Debugger 0.11.0+dev-00244-g7e3dbbbe2 (2022-03-15-18:07)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : DEPRECATED target event trace-config
srst_only separate srst_nogate srst_open_drain connect_deassert_srst

Info : clock speed 500 kHz
Info : STLINK V2J38M27 (API v2) VID:PID 0483:374B
Info : Target voltage: 3.270277
Info : stm32wbx.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : starting gdb server for stm32wbx.cpu on 3333
Info : Listening on port 3333 for gdb connections
    TargetName         Type       Endian TapName            State       
--  ------------------ ---------- ------ ------------------ ------------
 0* stm32wbx.cpu       hla_target little stm32wbx.cpu       running

Info : Unable to match requested speed 500 kHz, using 480 kHz
Info : Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x08001478 msp: 0x20030000
Info : device idcode = 0x20016495 (STM32WB5x - Rev 2.1 : 0x2001 - Flash single-bank)
Info : RDP level 0 (0xAA)
Info : flash size = 1024kbytes
Info : flash mode : single-bank
Warn : Adding extra erase range, 0x08018e60 .. 0x08018fff
auto erase enabled
wrote 101984 bytes from file MyProjects/GattServer2/zephyr/zephyr.hex in 5.671013s (17.562 KiB/s)

Info : Unable to match requested speed 500 kHz, using 480 kHz
Info : Unable to match requested speed 500 kHz, using 480 kHz
target halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x08003cf8 msp: 0x20002f60
verified 101984 bytes in 3.249876s (30.645 KiB/s)

Info : Unable to match requested speed 500 kHz, using 480 kHz
Info : Unable to match requested speed 500 kHz, using 480 kHz
shutdown command invoked

More Info:
Sample directory: samples/bluetooth/peripheral
Host OS: Ubuntu 20.04.4 LTS 64-bit on Oracle VM VirtualBox 6.1
Board: P-Nucleo-64 (STM32WBRG)
Co-processor wireless stack binary: stm32wb5x_BLE_Stack_full_fw v1.13.2

Best Regards.

@smr-mohammadzadeh smr-mohammadzadeh added the bug The issue is a bug, or the PR is fixing a bug label Apr 11, 2022
@mbolivar-nordic mbolivar-nordic added the priority: low Low impact/importance bug label Apr 12, 2022
@carlescufi
Copy link
Member

@smr-mohammadzadeh

[ 0.155000] <0x1b>[1;33m<wrn> bt_hci_core: opcode 0x1003 status 0x01<0x1b>[0m

This looks like the Controller did not support the Read Local Supported Features command (OGF 0x04, OCF 0x03), since it returned a status of 0x01. The usual completion report would look like:

[00:00:00.386,779] <dbg> bt_hci_core: hci_cmd_done: opcode 0x1003 status 0x00 buf 0x20007c28

So this is a problem with the controller (i.e. the Link Layer), I suggest you contact @erwango.

Closing as not a Zephyr issue, please reopen if this is not the case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug The issue is a bug, or the PR is fixing a bug priority: low Low impact/importance bug
Projects
None yet
Development

No branches or pull requests

3 participants