Date   

Re: not able to complete #BluetoothMesh provisioning & configuration process using #meshctl (5.49) #bluetoothmesh #meshctl

Steve Brown
 

Hi Johan,

On Wed, 2018-04-18 at 11:32 -0700, Johan Hedberg wrote:
Hi Steve,

On Wed, Apr 18, 2018, Steve Brown wrote:
I tracked this down to Zephyr and bisected the problem to commit
d6a549ceba735c294d0dfae56edd9f7e1c9d7fe6

Bluetooth: Mesh: Fix Node Identity advertising with PB-ADV
Do you have more details on this? Is there a bug with the patch, or
just
something else that needs to be tuned somewhere?

Johan
I think the patch exposes a problem with meshctl. Vikrant offers that
the SILABS App works fine and also uses GATT for provisioning and
configuration. Meshctl provisions fine, but hangs on discovery for the
configuration service.

I think the problem is with meshctl's discovery filter. I'm not
familiar enough with the filter stuff to understand what's going on.

While meshctl is hanging on discovery, if I scan with bluetoothctl and
connect to the node, the callback in meshctl fires and it does a get-
composition and proceeds normally.

That's all the detail I've got.

Steve


Zephyr news, 18 April 2018

Marti Bolivar
 

Hello,

This is the 18 April 2018 newsletter tracking the latest Zephyr
development merged into the mainline tree on GitHub.

An HTML version with additional links is available here:

https://opensourcefoundries.com/blog/2018/04/18/zephyr-news-20180418/

Contents are broken down like this:

- **Highlights**
- Important changes: ABI/API breaks and some features
- New features: non-exhaustive descriptions of new features
- Bug fixes: non-exhaustive list of fixed bugs
- **Individual changes**: a complete list of patches, sorted
chronologically and categorized into areas, like:
- Architectures
- Kernel
- Drivers
- etc.

Highlights
==========

This newsletter covers changes in Zephyr between these two
commits:

- 9bde3c06e ("tests: build_all: Add LPS22HB and LSM6DSL sensors build
test"), Apr 10 2018
- 4c400e876 ("net: ipv6: Fix crash from malformed fragment payload"),
Apr 17 2018

Important Changes
-----------------

Userspace calling convention change:

System calls from userspace on ARM targets now expect all
arguments to be passed via registers, instead of mixing stack and
registers as done previously.

DTS alias renames:

Various DTS aliases with underscores ('_') in their names were
renamed to use dash ('-') instead. Apparently, underscores were
technically always illegal to use in alias names. This change
avoids a dtc warning in newer versions. In-tree users were
updated; any out of tree applications using the old names will
need changes as well.

WiFi:

The initial outline for Zephyr's WiFi suport was
merged. Initial definitions were added in the following
areas:

- device driver skeleton in drivers/wifi
- a mostly stubbed out main header file, include/net/wifi.h
- WiFi network management in include/net/wifi_mgmt.h,
including definitions for events from so-called "offloaded"
devices (which are separate cores that implement WiFi
funcionality and communicate with the IC running Zephyr
via a higher-level protocol)
- shell support for controlling the network management API in
subsys/net/ip/l2/wifi_shell.c, which can be selected with
CONFIG_NET_L2_WIFI_SHELL. The initial commands are "wifi
connect", "wifi disconnect", and "wifi scan".

This is the groundwork for future changes completing the
generic framework and adding individual device drivers.

Device tree bindings for GPIO keys and LEDs:

Generic device tree bindings for GPIO-based buttons ("keys") and
LEDs were added in dts/bindings/gpio/gpio-keys.yaml and
dts/bindings/gpio/gpio-leds.yaml respectively.

The initial users are STM32-based boards, which now have device
tree nodes for their buttons and onboard LEDs defined.

Features
--------

Architectures:

ARM cores now flush the instruction pipeline after switching
privilege levels, to prevent execution of pre-fetched
instructions with the previous privilege.

Boards:

SoC support was added for the Cortex M4 core which is present in
the imx7d SoC. The Zephyr image must be loaded and run by an A7
core also present on the SoC. Initial board support was added for
the Colibri iMX7D as "colibri_imx7d_m4".

Sanitycheck now runs on hifive1.

96b_carbon_nrf51 now uses the new nRF SPIS driver.

Userspace mode was enabled by default for sam_e70_xplained.

Device tree:

Device tree bindings for STM32 GPIOs were defined, and all
STM32-based boards now have GPIO device nodes.

Drivers:

The native POSIX Ethernet driver now supports network statistics
collection, extending support for the Ethernet interface network
statistics framework that was recently merged.

The driver for the KW41Z BLE and 802.15.4 chip now supports the
OpenThread L2 layer, and received changes to its RNG source which
now feed its (slow and blocking) entropy source's output into the
Xoroshiro PRNG.

The nRF SPI drivers now appear to be completely supported. There
are three available drivers: spi_nrfx_spi.c is a master-only
driver for older devices (or devices with anomalies) without
direct memory access (DMA) support, spi_nrfx_spim.c is a master
driver for devices with DMA support, and spi_nrfx_spis.c is a
driver for the experimental SPI slave API which uses DMA.

Bug Fixes
---------

The k_malloc() and k_calloc() calls in the mempool implementation
now properly check for overflow in all configurations.

A pair of patches fixing IPv6 crashes were merged.

Following reports of confusion, the Windows installation guide
has been restructured to make it easier for new users to
understand what their choices are.

A few sample applications (BT's hci_usb, as well as USB's dfu and
wpanusb) now use the Kconfig knobs CONFIG_USB_DEVICE_VID and
CONFIG_USB_DEVICE_PID to configure the USB vendor and product
IDs. These knobs say they "MUST be configured by vendor"
(e.g. http://docs.zephyrproject.org/reference/kconfig/CONFIG_USB_DEVICE_VID.html);
they default to 0x2FE3 and 0x100 respectively. The VID 0x2FE3
doesn't appear to be allocated by the USB-IF.

The wpanusb sample and ENC28J60 Ethernet driver received fix-ups,
and, in the ENC28J60 case, optimizations.

The number of interrupts on the nRF52840 SoC was fixed.

PWM was disabled on nucleo_f103rb, fixing some test build breaks
and continuing Zephyr's move towards a consistent set of default
board configurations.

CONFIG_CUSTOM_LINKER_SCRIPT, which allows the user to override
the linker scripts provided by Zephyr itself, was fixed. This had
been broken since the transition to CMake, so it seems to have
few, if any, active users.

The Atmel SAM0 flash driver's build is fixed when
CONFIG_FLASH_PAGE_LAYOUT is disabled.

A concurrency fix to the SPI driver core was merged.

Individual Changes
==================

Patches by area (105 patches total):

- Arches: 5
- Bluetooth: 1
- Boards: 8
- Build: 1
- Continuous Integration: 1
- Device Tree: 11
- Documentation: 10
- Drivers: 22
- External: 2
- Kernel: 3
- Libraries: 1
- Maintainers: 2
- Miscellaneous: 2
- Networking: 22
- Samples: 6
- Scripts: 1
- Storage: 1
- Testing: 6

Arches (5):

- 81633023 arch: Add imx7d m4 soc support
- 397e52f0 arch: nrf52: Correct the number of IRQs in nRF52840
- 1aa123d0 arm: nucleo_f103rb: Do not enable PWM by default
- 4d5fbbc5 arch: arm: Flush pipeline after switching privilege levels
- 09a8810b arm: userspace: Rework system call arguments

Bluetooth (1):

- b6d912ab Bluetooth: hci_usb: Use USB Device defined VID / PID

Boards (8):

- 85e8eaa9 boards/arm: add support for colibri_imx7d_m4 board
- a9d7b1ff boards: hifive1: Add missing board yaml file
- 5319e009 boards: arduino_due, nrf52_pca20020: Add "ram" and "flash" properties
- c542c0e3 boards: dts: Cleanup aliases
- 9c032eb1 boards/arduino101: Enable UART 0 controller
- 1d27d27a boards: 96_carbon_nrf51: Update SPI driver default configuration
- 7c6cf201 boards: stm32: add button and leds gpio definitions
- 95126d1a boards: sam_e70_xplained: Enable userspace

Build (1):

- c1aa9d16 cmake: Fix CONFIG_CUSTOM_LINKER_SCRIPT

Continuous Integration (1):

- c84235ee sanitycheck: Exit on load errors

Device Tree (11):

- 708b59b9 dts: stm32: stm32f469 is a stm32f429 derivative
- e7ab1d30 dts: stm32: Populate gpio nodes for stm32f4 series
- 8e5cf5fe dts: stm32: Populate gpio nodes for stm32f0 series
- dbc3c024 dts: stm32: Populate gpio nodes for stm32f1 series
- a4c426ab dts: stm32: Populate gpio nodes for stm32f3 series
- a78adcdd dts: stm32: Populate gpio nodes for stm32l4 series
- 50bf306f dts: stm32: Populate gpio nodes for stm32l0 series
- 93318f9f yaml: rename cell_string clocks
- 6c92e556 dts: bindings: add bindings for stm32 gpio
- 2b4cb5a7 dts: provide yaml bindings for led and gpio keys
- 4fe3a977 dts: gpio: create gpio dt-bingings and inlude in stm32 dtsi files

Documentation (10):

- a02e78d3 doc: fix note for forcing a CI recheck
- f6a25cfd docs: network-management-api: update a changed function name
- 70a5bded doc: network-management-api: clarify intended event listening usage
- 5e9563ab doc: usb: Move USB sections to USB Stack
- 556e5329 doc: Make code consistent lowering case
- a660fcb3 doc: Add USB documentation identifiers and links
- 88b66b58 doc: getting_started: Make it more obvious how to follow the guide
- 05f02bd0 docs: group the GPIO_* flags into logical groups.
- 5e9f7cb2 doc: fix misspellings in Kconfig files
- 50468605 doc: Fix path in documentation about uncrustify.cfg

Drivers (22):

- 346165b2 serial: Add imx uart driver shim
- 05893ec5 wpanusb: Assign USB Product ID to 802.15.4 over USB
- c925bf51 wpanusb: Remove unneeded configuration option
- 32e089d2 wpanusb: Remove old hardcoded VID / PID
- a68a177c wpanusb: Use DEBUG syslog level
- e295836b usb: dfu: Use USB Device defined VID / PID
- 42902e58 drivers/ethernet: Fix and clean a bit ENC28J60 driver
- 669d4a8c drivers/ethernet: Optimize memory read/write operations in ENC28J60
- e8bc0632 drivers/ethernet: Reduce runtime context size in ENC28J60 driver
- 3e048f6d drivers: eth: native_posix: Add ethernet statistics support
- 7738a501 drivers: ieee802154: Add auto-ack support to KW41Z driver
- 9f7470e2 drivers: ieee802154: Add OpenThread modifications to KW41Z driver
- c563e331 drivers: entropy: Change KW41Z to use XOROSHIRO for RNG source
- 8b839b4e drivers/wifi: Add files skeleton for adding WiFi drivers
- 998c79d0 drivers: spi: Add shim for nrfx SPIM driver
- 7a9c4cbd drivers: spi: Align nrfx_spi shim with the nrfx_spim one
- 8c5b16cc drivers: flash: atmel sam0: Fix compilation without page
layout support
- 5976afe9 drivers: spi: Correct a typo in spi_nrfx_spi.c
- 1143606c drivers/spi: Fix context lock behavior
- ffb2bcbb drivers/spi: Slave async calls require recv frames as
successful status
- ecd08111 drivers: spi: Add shim for nrfx SPIS driver
- 5991cea1 drivers: spi: Add missing periods in Kconfig.nrfx

External (2):

- 3afc2b6c ext/hal/nxp/imx: Import the nxp imx7 freertos bsp
- ea1d14e5 hal: nordic: Move nrfx IRQ related stuff from SPI shim to nrfx_glue

Kernel (3):

- 79d151f8 kernel: Fix building of k_thread_create
- b902da35 kernel: mempool: Check for overflow in k_malloc()
- 85dcc97d kernel: mempool: Always check for overflow in k_calloc()

Libraries (1):

- 51a20907 newlib: Fix compiler warning when using Newlib

Maintainers (2):

- f8248d4f CODEOWNERS: Add @pfalcon as a maintainer of BSD Sockets subsystem
- a534aa6a CODEOWNERS: update owners

Miscellaneous (2):

- c7f5cc9b license: fix spdx identifier in a few files
- be6bf293 syslog: net: Fix multiple network interface selection for IPv4

Networking (22):

- 61cd96ee net: l2: ethernet: fix kconfig
- 1146ba1f net: app: server: Create IPv4 listener also if IPv6 is enabled
- c1e7fd76 net: stats: Add infrastructure for collecting ethernet stats
- c90b9f53 net: shell: Print ethernet statistics
- 03b24082 subsys: net: ip: l2: openthread: Fixed compiler errors and warnings
- 00885bbf OpenThread: Normalize IEEE802.15.4 driver name for use by L2 layers
- 292033c1 openthread: kw41z: Adding echo/server project config files
for KW41Z OT
- 6f57c03a net: app: Always set relevant sa_family when starting a TCP server
- ac661a07 net: tcp: Cancel fin_timer in FIN_WAIT_2 instead FIN_WAIT_1
- 6d387ec9 net: Remove the need for an l2 on offloaded drivers
- c7d5e872 net: Don't call l2->enable for offload devices
- 93ac7ce6 net/mgmt: Move NET_EVENT_INFO_MAX_SIZE into net core's private header
- 7bde51d8 net/mgmt: Add initial WiFi management API definitions
- dc81659b net/wifi: Select dependencies to get wifi mgmt working
- 17b923ae net: wifi: Add a wifi.h to hold WiFi definitions
- eab3f168 net/mgmt/wifi: Add dedicated net mgmt hooks for WiFi offload devices
- c995bfe7 net/wifi: Add a shell module for controlling WiFi devices
- da8af393 net: if: Add helper to select src interface for a IPv4 dst addr
- 2bb179b7 net: shell: Use correct network interface for IPv4 ping
- a91c46ff net: app: Select local IP address properly if multiple interfaces
- 2563c373 net: ipv6: Fix crash from NULL fragment pointer access
- 4c400e87 net: ipv6: Fix crash from malformed fragment payload

Samples (6):

- f9159ab6 samples/telnet: Fix accessing iface ipv4 config
- 435d1738 samples: net: stats: Print ethernet statistics
- cd6a3f04 samples: coap_client: fix net mgmt event handler
- 023ae27d samples: telnet: fix net mgmt event handler
- 79c4a5b4 samples: net: coap_client: Fix compile error
- 3aa3e976 samples: net: coap: Solved the payload issue in coap GET Method

Scripts (1):

- 3b529ca3 scripts: extract_dts_inlcudes: generate cells for gpio

Storage (1):

- 50893349 subsys: nffs: Unlock mutex before returning

Testing (6):

- 0d83900d tests: net: mld: fix net mgmt event handler
- 3718684e tests: net: dhcpv4: fix net mgmt event handler
- 3c8b3875 tests: kernel: threads: Additional tests for set_priority
- 1f45f79d tests: mempool: Add overflow checks
- f2177bfb tests: net: Make "app" tests dependent on netif
- 25e5c60c tests/net: utils: increase min RAM requirement to 24K


zephyr thread.

novello
 

I waold like to know if there is an application note that explain haw to make an application with  some thread that are static.Every thread will have an fixed address space.

 Every task will have  a Statically Allocated RAM?

Best Regards

Novello G



Re: not able to complete #BluetoothMesh provisioning & configuration process using #meshctl (5.49) #bluetoothmesh #meshctl

Johan Hedberg
 

Hi Steve,

On Wed, Apr 18, 2018, Steve Brown wrote:
I tracked this down to Zephyr and bisected the problem to commit
d6a549ceba735c294d0dfae56edd9f7e1c9d7fe6

Bluetooth: Mesh: Fix Node Identity advertising with PB-ADV
Do you have more details on this? Is there a bug with the patch, or just
something else that needs to be tuned somewhere?

Johan


Re: not able to complete #BluetoothMesh provisioning & configuration process using #meshctl (5.49) #bluetoothmesh #meshctl

Steve Brown
 

Hi Vikrant,

On Wed, 2018-04-18 at 07:06 -0600, Steve Brown wrote:
Hi Vikrant,

On Wed, 2018-04-18 at 15:02 +0530, vikrant8051 wrote:
Hi,

I am not able to provision my Devices which is executing sample
example at
$/zephyr/samples/boards/nrf52/mesh/onoff-app/

http://docs.zephyrproject.org/samples/boards/nrf52/mesh/onoff-app/R
EA
DME.html

But able to provision it using Silicon Labs Bluetooth Mesh App.

Is it bug from meshctl (BlueZ) side ?

Thank You !!

I looked at this too. Provisioning seems to complete, but the proxy
service isn't discovered. Meshctl just seems to hang waiting for the
discovery to succeed.

While this is happening, if I use bluetoothctl to scan and then
connect
to the node, the callback in meshctl fires and it starts up and
functions as expected. It appears that something is amiss with the
discovery filter.

I believe that the SILABS App uses advertising bearer for
provisioning,
so it's not conclusive that it working and meshctl failing is
definitely a Bluez issue. I checkout an early March version of Bluez
and Zephyr. The problem is still there.

samples/bluetooth/mesh fails in the same way.

I'm not sure where to go from here.

Steve
I tracked this down to Zephyr and bisected the problem to commit
d6a549ceba735c294d0dfae56edd9f7e1c9d7fe6

Bluetooth: Mesh: Fix Node Identity advertising with PB-ADV

Steve


Re: not able to complete #BluetoothMesh provisioning & configuration process using #meshctl (5.49) #bluetoothmesh #meshctl

vikrant8051 <vikrant8051@...>
 

Hi Steve,

Yes, you are right that #meshctl completes provisioning & fails after that.

Silicon Labs still uses PB-GATT like #meshctl for provisioning & configuration of DEVICE.

BlueZ 5.48 #meshctl was perfectly working with Zephyr Mesh DEVICEs.
But suddenly this old version as well as BlueZ 5.49  are not working as expected with latest Zephyr version examples.

So I don't know where is bug exactly present. 

Thank You !!



On Wed, Apr 18, 2018 at 6:36 PM, Steve Brown <sbrown@...> wrote:
Hi Vikrant,

On Wed, 2018-04-18 at 15:02 +0530, vikrant8051 wrote:
> Hi,
>
> I am not able to provision my Devices which is executing sample
> example at
> $/zephyr/samples/boards/nrf52/mesh/onoff-app/
>
> http://docs.zephyrproject.org/samples/boards/nrf52/mesh/onoff-app/REA
> DME.html
>
> But able to provision it using Silicon Labs Bluetooth Mesh App.
>
> Is it bug from meshctl (BlueZ) side ?
>
> Thank You !!
>
>
I looked at this too. Provisioning seems to complete, but the proxy
service isn't discovered. Meshctl just seems to hang waiting for the
discovery to succeed.

While this is happening, if I use bluetoothctl to scan and then connect
to the node, the callback in meshctl fires and it starts up and
functions as expected. It appears that something is amiss with the
discovery filter.

I believe that the SILABS App uses advertising bearer for provisioning,
so it's not conclusive that it working and meshctl failing is
definitely a Bluez issue. I checkout an early March version of Bluez
and Zephyr. The problem is still there.

samples/bluetooth/mesh fails in the same way.

I'm not sure where to go from here.

Steve





Re: not able to complete #BluetoothMesh provisioning & configuration process using #meshctl (5.49) #bluetoothmesh #meshctl

Steve Brown
 

Hi Vikrant,

On Wed, 2018-04-18 at 15:02 +0530, vikrant8051 wrote:
Hi,

I am not able to provision my Devices which is executing sample
example at
$/zephyr/samples/boards/nrf52/mesh/onoff-app/

http://docs.zephyrproject.org/samples/boards/nrf52/mesh/onoff-app/REA
DME.html

But able to provision it using Silicon Labs Bluetooth Mesh App.

Is it bug from meshctl (BlueZ) side ?

Thank You !!

I looked at this too. Provisioning seems to complete, but the proxy
service isn't discovered. Meshctl just seems to hang waiting for the
discovery to succeed.

While this is happening, if I use bluetoothctl to scan and then connect
to the node, the callback in meshctl fires and it starts up and
functions as expected. It appears that something is amiss with the
discovery filter.

I believe that the SILABS App uses advertising bearer for provisioning,
so it's not conclusive that it working and meshctl failing is
definitely a Bluez issue. I checkout an early March version of Bluez
and Zephyr. The problem is still there.

samples/bluetooth/mesh fails in the same way.

I'm not sure where to go from here.

Steve


not able to complete #BluetoothMesh provisioning & configuration process using #meshctl (5.49) #bluetoothmesh #meshctl

vikrant8051 <vikrant8051@...>
 

Hi,

I am not able to provision my Devices which is executing sample example at
$/zephyr/samples/boards/nrf52/mesh/onoff-app/

http://docs.zephyrproject.org/samples/boards/nrf52/mesh/onoff-app/README.html

But able to provision it using Silicon Labs Bluetooth Mesh App.

Is it bug from meshctl (BlueZ) side ?

Thank You !!


Re: [Zephyr-devel] How to evaluate the "zephyr\samples\bluetooth\mesh"?

Marti Bolivar
 

Hi Vikrant,

Thanks for this pointer! I was wondering the same thing, the docs for
the other mesh apps
(http://docs.zephyrproject.org/samples/bluetooth/mesh/README.html and
http://docs.zephyrproject.org/samples/bluetooth/mesh_demo/README.html)
are a bit thin on the step-by-steps. I had no idea there was a
board-specific app with more detailed docs.

Thanks,
Marti

On Tue, Apr 17, 2018 at 12:29 PM, vikrant8051 <@vikrant8051> wrote:
Hi Aaron,

This may help you,

http://docs.zephyrproject.org/samples/boards/nrf52/mesh/onoff-app/README.html


You could provision your node based on above example using either #meshctl
utility from BlueZ 5.49 or Silicon Labs #BluetoothMesh Android App.

Regards,
vikrant

On Tue, Apr 17, 2018, 1:46 PM Aaron Xu <overheat1984@...> wrote:

Hi,

I follow the "Eclipse debugging" instructions, which can be found here:

http://docs.zephyrproject.org/application/application.html#eclipse-debugging

And I tried some bluetooth samples in zephyr on NORDIC pca10040 board,
like Beacon, mesh demo, they are works.

But those message keep printing on my terminal(serial), when I try the
"zephyr\samples\bluetooth\mesh"

***** Booting Zephyr OS v1.11.0-710-g09a8810b3 *****

Initializing...

[bt] [INF] hci_vs_init: HW Platform: Nordic Semiconductor (0x0002)

[bt] [INF] hci_vs_init: HW Variant: nRF52x (0x0002)

[bt] [INF] hci_vs_init: Firmware: Standard Bluetooth controller (0x00)
Version 1.11 Build 99

[bt] [INF] show_dev_info: Identity: ee:ef:34:8d:7f:97 (random)

[bt] [INF] show_dev_info: HCI: version 5.0 (0x09) revision 0x0000,
manufacturer 0x05f1

[bt] [INF] show_dev_info: LMP: version 5.0 (0x09) subver 0xffff

Bluetooth initialized

[bt] [INF] bt_mesh_prov_init: Device UUID:
00000000-0000-0000-0000-00000000dddd

Mesh initialized

adv stack (real size 812): unused 516 usage 296 / 812 (36 %)

Kernel stacks:

main (real size 512): unused 276 usage 236 / 512 (46 %)

idle (real size 320): unused 272 usage 48 / 320 (15 %)

interrupt (real size 2048): unused 1648 usage 400 / 2048 (19 %)

workqueue (real size 2048): unused 1736 usage 312 / 2048 (15 %)

ecc stack (real size 1324): unused 448 usage 876 / 1324 (66 %)

prio recv thread stack (real size 748): unused 632 usage 116 / 748
(15 %)

recv thread stack (real size 2348): unused 2136 usage 212 / 2348
(9 %)

adv stack (real size 812): unused 472 usage 340 / 812 (41 %)

Kernel stacks:

...

Kernel stacks:

...

I can see those printf information in the red, look it works. but what's
the next coming information?
What should I do next? flash more then one board?
Please give me some advise or a documentation, I will appreciate it!

Regards,
Aaron



Re: [Zephyr-devel] How to evaluate the "zephyr\samples\bluetooth\mesh"?

vikrant8051 <vikrant8051@...>
 

Hi Aaron,

This may help you,



You could provision your node based on above example using either #meshctl utility from BlueZ 5.49 or Silicon Labs #BluetoothMesh Android App.

Regards,
vikrant

On Tue, Apr 17, 2018, 1:46 PM Aaron Xu <overheat1984@...> wrote:
Hi,

I follow the "Eclipse debugging" instructions, which can be found here:

And I tried some bluetooth samples in zephyr on NORDIC pca10040 board, like Beacon, mesh demo, they are works.

But those message keep printing on my terminal(serial), when I try the "zephyr\samples\bluetooth\mesh"

***** Booting Zephyr OS v1.11.0-710-g09a8810b3 *****
Initializing...
[bt] [INF] hci_vs_init: HW Platform: Nordic Semiconductor (0x0002)
[bt] [INF] hci_vs_init: HW Variant: nRF52x (0x0002)
[bt] [INF] hci_vs_init: Firmware: Standard Bluetooth controller (0x00) Version 1.11 Build 99
[bt] [INF] show_dev_info: Identity: ee:ef:34:8d:7f:97 (random)
[bt] [INF] show_dev_info: HCI: version 5.0 (0x09) revision 0x0000, manufacturer 0x05f1
[bt] [INF] show_dev_info: LMP: version 5.0 (0x09) subver 0xffff
Bluetooth initialized
[bt] [INF] bt_mesh_prov_init: Device UUID: 00000000-0000-0000-0000-00000000dddd
Mesh initialized
adv stack (real size 812):      unused 516      usage 296 / 812 (36 %)
Kernel stacks:
main      (real size 512):      unused 276      usage 236 / 512 (46 %)
idle      (real size 320):      unused 272      usage 48 / 320 (15 %)
interrupt (real size 2048):     unused 1648     usage 400 / 2048 (19 %)
workqueue (real size 2048):     unused 1736     usage 312 / 2048 (15 %)
ecc stack (real size 1324):     unused 448      usage 876 / 1324 (66 %)
prio recv thread stack (real size 748): unused 632      usage 116 / 748 (15 %)
recv thread stack (real size 2348):     unused 2136     usage 212 / 2348 (9 %)
adv stack (real size 812):      unused 472      usage 340 / 812 (41 %)
Kernel stacks:
...
Kernel stacks:
...
 
I can see those printf information in the red, look it works. but what's the next coming information?
What should I do next? flash more then one board?
Please give me some advise or a documentation, I will appreciate it! 

Regards,
Aaron




Network offload sample

Vakul Garg <vakul.garg@...>
 

Hi

I am looking for a network offload (CONFIG_NET_OFFLOAD) sample application.
I want to integrate a connectivity module (e.g. running zephyr's openthread stack as NCP - network control processor) with an apps mcu running zephyr with CONFIG_NET_OFFLOAD.

My questions:

1. Is the network offload feature designed to ultimately target integration of NCP?

2. The openthread supports spinnel protocol between host MCU and NCP. Why we don't have spinnel implementation in zephyr?
I see that spinnel IETF draft has expired. Is it not the plan to standardize the interface between apps mcu and connectivity module?

Regards

Vakul


Re: Device Firmware Update + Zephyr + #bluetoothmesh

Rodrigo Peixoto <rodrigopex@...>
 

That is great Vikrant.

I was thinking they couldn't work together. I will do as you said.

Thank you. 

Best regards,
Rodrigo Peixoto 

Ayna - [Embedded systems design house]


On Sat, 14 Apr 2018 at 02:49 Vikrant More <vikrant8051@...> wrote:


On Sat, Apr 14, 2018, 11:18 AM Vikrant More <vikrant8051@...> wrote:
Hi Rodrigo,

You can start with this,


You have to integrate SMP_Server demo example in your current #BluetoothMesh project.

It will be tedious process, so my advice is to start with simple example.

For example, edit $zephyr/samples/subsys/mgmt/mcumgr/smp_svr so that it will blink LED1 on your board & flash it along with mcuboot as per link I have provided.

Then re-edit same smp_svr, so that it will blink LED2 on your board & now try to upgrade this using #DFU_OTA feature. This will help you lot to understand over all process. 

Regards, 
vikrant

On Sat, Apr 14, 2018, 3:07 AM Rodrigo Peixoto <rodrigopex@...> wrote:

Hi guys,

is it possible to use the Nordic DFU feature in conjunction to Zephyr. I need to upgrade the nodes of a BT mesh network and it would be amazing if I could.

If it isn't, is there any alternative to that?

Thank you. Best regards,

Rodrigo Peixoto. Ayna - [Embedded systems design house]


Re: Device Firmware Update + Zephyr + #bluetoothmesh

vikrant8051 <vikrant8051@...>
 



On Sat, Apr 14, 2018, 11:18 AM Vikrant More <vikrant8051@...> wrote:
Hi Rodrigo,

You can start with this,


You have to integrate SMP_Server demo example in your current #BluetoothMesh project.

It will be tedious process, so my advice is to start with simple example.

For example, edit $zephyr/samples/subsys/mgmt/mcumgr/smp_svr so that it will blink LED1 on your board & flash it along with mcuboot as per link I have provided.

Then re-edit same smp_svr, so that it will blink LED2 on your board & now try to upgrade this using #DFU_OTA feature. This will help you lot to understand over all process. 

Regards, 
vikrant

On Sat, Apr 14, 2018, 3:07 AM Rodrigo Peixoto <rodrigopex@...> wrote:

Hi guys,

is it possible to use the Nordic DFU feature in conjunction to Zephyr. I need to upgrade the nodes of a BT mesh network and it would be amazing if I could.

If it isn't, is there any alternative to that?

Thank you. Best regards,

Rodrigo Peixoto. Ayna - [Embedded systems design house]


Device Firmware Update + Zephyr + #bluetoothmesh

Rodrigo Peixoto <rodrigopex@...>
 

Hi guys,

is it possible to use the Nordic DFU feature in conjunction to Zephyr. I need to upgrade the nodes of a BT mesh network and it would be amazing if I could.

If it isn't, is there any alternative to that?

Thank you. Best regards,

Rodrigo Peixoto. Ayna - [Embedded systems design house]


Re: Zephyr development news, 4 Apr - 10 Apr 2018

Marti Bolivar
 

Fixing the mailing lists; sorry!

On Wed, Apr 11, 2018 at 12:02 PM, Marti Bolivar
<marti@...> wrote:
Hello Zephyr community!

This is the first of a periodic (weekly-ish) newsletter tracking the latest
Zephyr development.

The goals are to give a human-readable summary of what's been merged
into master, breaking it down as follows:

- Highlights: important changes, new features, and bug fixes
- Individual changes: a complete list of patches, sorted chronologically
and sorted into separate areas (like "Architectures", "Kernel", "Drivers",
etc.)

The "important changes" will include things like API breaks and some
significant features. The focus is on changes in Zephyr that are
likely to require
changes in your Zephyr applications.

The new features and bug fixes sections aren't meant to be exhaustive; the
idea is to cover what happened from a high level. You can check the individual
changes section for a complete list of commits in areas you're interested in.

Any and all feedback on mistakes, significant omissions, etc., is welcome. We
will do our best to get things right, but we'll mess up sometimes :).

To start, I'm going to send these as plain text. Any comments on that or other
formatting and style feedback is also welcome.

Cheers,
Marti and Open Source Foundries

Highlights
==========

This newsletter covers changes in Zephyr between these two
commits:

- 4291fb67a ("usb: Remove duplicated CDC_ECM_SUBCLASS
definition"), Apr 4 2018

- 9bde3c06e ("tests: build_all: Add LPS22HB and LSM6DSL sensors
build test"), Apr 10 2018

The most significant of these changes are due to a large re-work
of the SPI APIs, which affected both the peripheral drivers
themselves as well as their users.

Important Changes
-----------------

SPI API
~~~~~~~

The SPI API (in include/spi.h) has been re-worked and
finalized. All in-tree users were upgraded to the new API. The
old SPI API, and all of its implementations, have been
removed. Out of tree uses of the old SPI API will need updates. A
summary of the API changes follows.

The I/O APIs now use a new struct spi_buf_set, which contains a
pointer to a struct spi_buf array, and its length:

struct spi_buf_set {
const struct spi_buf *buffers;
size_t count;
};

This structure is used in the I/O APIs so that the TX and RX
arguments can be specified in two formal parameters, which allows
using registers instead of the stack in some API calls.

All SPI API calls also now take a pointer to the SPI device
itself as their first parameter, instead of storing that device
in struct spi_config. This makes the SPI API consistent with
other Zephyr device APIs.

The "EEPROM mode" support was removed from the master controller
operations bit mask. It was replaced with a new flag,
SPI_CS_ACTIVE_HIGH, which inverts the usual polarity of the chip
select pin.

The spi_config parameter passed to the SPI API is now constant,
allowing it to be stored in flash memory.

The asynchronous SPI API no longer uses CONFIG_POLL
directly. Instead, a layer of indirection through
CONFIG_SPI_ASYNC was introduced, which selects CONFIG_POLL.

In addition to these changes in the SPI master mode API,
experimental support for SPI slave implementations was added to
the new API.

Board Porting Guidelines
~~~~~~~~~~~~~~~~~~~~~~~~

Official board porting guidelines were merged, which have
consistent rules for how to structure a board's Kconfig. For
details, refer here:

http://docs.zephyrproject.org/porting/board_porting.html#default-board-configuration

Features
--------

VLAN support:

VLAN support was added for Ethernet network
interfaces. Initial support is provided for for mcux, native
POSIX, and Atmel E70. The SLIP driver also has VLAN support.

New net shell commands "net vlan", "net vlan add", and "net
vlan del" were added to query and manipulate the VLAN
configuration.

A new sample application, samples/net/vlan, was added, which
can be used to set VLAN tags for ethernet interfaces.

As part of these and other network changes, the ethernet
files now live in their own directory, net/ip/l2/ethernet.

Red/black trees:

A new red/black balanced binary tree implementation was
added; the API is available in include/misc/rb.h. Like the
linked list types, the structure is *intrusive*: red-black
tree nodes are meant to be embedded in another structure,
which contains the user data associated with that node. Code
size compared to a doubly linked list on most architectures
is approximately an additional 2-2.5 KB.

Completion of DTS support for I2C and SPI on STM32:

All STM32-based boards now use device tree for I2C and SPI
peripherals.

Bluetooth generalizations:

Continuing the effort to generalize the core Bluetooth
subsystem across SoCs, the Bluetooth "ticker" timing API now
includes a generic hal/ticker.h file, which abstracts out SoC
specific definitions.

Drivers:

Ethernet is now enabled by default on the sam_e70_xplained
board.

New driver support includes SPI on nRF52, an interrupt in
transfer callback on USB HID, USB CDC EEM support for
encapsulating Ethernet packets over a USB transport, and GPIO
triggering for the ST LSM6DSL accelerometer and IMU.

Boards:

New boards include the SiFive HiFive1 and Nordic nRF52
Thingy:52 (PCA20020).

Speeding up CI:

An effort is underway to reduce the amount of time spent in
CI. To that end, an additional CI build slave was added, some
duplicative test coverage on qemu_x86 and qemu_cortex_m32 was
eliminated, and other optimizations were performed.

Boot banner changes:

The boot banner now prints the git version (based on git
describe) and hash, but timestamps were removed from it by
default to increase the reproducibility of Zephyr builds.

User mode memory pools:

A new memory pool implementation which is compatible with use
from user mode threads was merged; the API is available in
include/misc/mempool.h. This implementation shares code with
the in-kernel k_mem_pool API, but avoids constraints that are
incompatible with user mode. Memory pools are defined at
compile time with SYS_MEM_POOL_DEFINE(), and initialized by
sys_mem_pool_init(). Memory may be allocated and freed from
an initialized memory pool with sys_mem_pool_alloc() and
sys_mem_pool_free(), respectively.

Network interface management:

Interface statistics collection is now per-interface.

The network shell command "net iface" can now enable or
disable network interfaces by index.

Initial support for ethernet interface configuration has been
merged. This includes a link speed capabilities query. An API
was also merged for changing hardware configuration; this
includes link speed, but is not limited to it.

Bug Fixes
---------

Support for enabling GPIO port H on STM32L0 was fixed.

Support accessing sub-region attributes on ARM MPUs was fixed.

A pair of Bluetooth mesh fixes were merged, including a null
dereference and an issue related to enabling node identity
advertising.

The behavior of the CONFIG_FP_SOFTABI option was fixed. It now
generates floating point instructions, rather than turning them
off, which it was doing previously.

The temperature sensor channel for the nRF TEMP IP block was
fixed; it is now SENSOR_CHAN_DIE_TEMP.

A fix was merged for k_thread_create(), which now properly checks
the provided stack size on systems which enforce power of two
sizes.

POSIX fixes for pthread_cancel and timer_gettime were merged.

Dozens of commits cleaning up and fixing the test cases were
merged.

Individual Changes
==================

Area summary (197 patches total):

Area Patches
---------------------- -------
Arches 10
Bluetooth 3
Boards 10
Build 3
Continuous Integration 6
Documentation 12
Drivers 60
External 2
Kernel 5
Libraries 5
Miscellaneous 3
Networking 18
Samples 10
Scripts 6
Testing 44

Arches (10):

- 6d870ae2 arch/quark_se: Switch to native SPI DW driver
- 4652f59d arch/quark_se_c1000_ss: Switch to SPI DW driver
- 1ac6f4bd arch/quark_d2000: Switch to SPI DW driver
- a8685613 arch/quark_se: Enable SPI port 2 as a slave only
- 2d926f35 native: doc eth TAP: can only be compiled in Unix
- 700e4bd2 ARM: -march compile option is not set
- 6dae38cb arch: riscv32: fe310: Always-On domain adress definition
- 77bbc42e arch: arm: soc: stm32l0: fix port H EXTI
- 54842182 arm_mpu: fix _get_region_attr()
- 6c2047fc arch/arm: stm32: All SoCs have dts for I2C and SPI

Bluetooth (3):

- b8042ea9 Bluetooth: Mesh: Fix possible NULL dereferences in client models
- d6a549ce Bluetooth: Mesh: Fix Node Identity advertising with PB-ADV
- 6c6d98bc Bluetooth: controller: Use hal/ticker.h to abstract SoC specifics

Boards (10):

- 1f0bfb85 boards/x86: Pinmux SPI port 2 relevantly on quark_se_c1000_devboard
- 3e54d391 boards: sam_e70_xplained: Enable L2 ethernet layer
- 938a9699 boards: SiFive HiFive1 board
- 9287a9bf boards/arm/olimexino_stm32: Don't enable I2C and SPI
- 439a63da boards: Add support for nRF52 Thingy:52 (PCA20020)
- a068f29d boards: arm: nrf52_pca20020: Add board documentation
- ea9a3451 boards: native_posix: mark netif as supported
- 2ee6dff7 boards: fix yaml syntax and reduce indentation
- 973ec4ea boards: reduce testing on the same platform with variations
- de8d755c boards: test networking only in one qemu type

Build (3):

- 7d301cbb cmake: qemu_x86: remove useless options
- 9be27f73 kconfig: Make CONIG_FP_SOFTABI generate floating point instructions
- daf7716d build: use git version and hash for boot banner

Continuous Integration (6):

- 0df7e1c1 ci: Increase number of build slaves to 5
- 424a3db7 sanitycheck: do not always dump footprint statistics
- 20f553fe sanitycheck: do not call cmake twice on run
- ab351f40 sanitycheck: do not create overlays for filtered platforms
- 5df8cff0 sanitycheck: simplify logic of build_only/enable_slow checking
- 75547e2b sanitycheck: add option to list all available tags

Documentation (12):

- 9782755a native doc: minor improvement in ethernet driver
- 51658761 doc: Add a comment describing the algorithm used by entropy_nrf5.c
- 6fd8a0b3 doc: dts: Add reference to mcuboot flash partitions
- 8a8d9818 doc: subsys: Add dfu and mgmt subsytem doc
- cd05a630 doc: getting_started: Modernize macOS instructions
- 4b782253 doc: usb: Update API doc
- 3314c367 doc: misspellings in public API doxygen comments
- e48b64d1 doc: fix doc misspellings in doc, boards, samples
- 9abc31e3 doc: clean up QEMU networking doc
- f1275a78 doc: subsystem: settings subsystem doc
- 361ef340 doc: subsys: Remove unnecessary subsystem from titles
- 97083720 doc: provide board porting guidelines

Drivers (60):

- 4291fb67 usb: Remove duplicated CDC_ECM_SUBCLASS definition
- efa3a137 usb: Remove duplicated ACM_SUBCLASS definition
- d89e8e6a drivers/spi: Cleanup the Kconfig files
- 32426542 api/spi: Disable legacy API by default
- f3f9fab2 api/spi: Make spi_config parameter constant
- ea2431f3 api/spi: Reduce parameter number on transceive function
- da42c007 api/spi: Add a dedicated Kconfig option for asynchronous
mode enablement
- 7b185831 api/spi: Removing eeprom mode in configuration
- 9b27f29c api/spi: Add octal MISO lines mode
- f44ba8e7 api/spi: Make cs attribute in struct spi_config constant
- d4065ae7 drivers/ieee802154: Switch CC2520 to new SPI API
- 16cb7ab8 drivers/flash: Switch W25QXXDV driver to new SPI API
- 244c2af1 drivers/sensors: Switch bme280 driver to new SPI API
- eb7af552 drivers/sensors: Switch bmi160 driver to new SPI API
- 94d7c9f2 drivers/sensors: Switch adxl362 driver to new SPI API
- 2f7e6b6d drivers/sensors: Switch lis2dh driver to new SPI API
- d620c16a drivers/adc: Switch ti_adc108s102 driver to new SPI API
- 595340ab drivers/bluetooth: Switch SPI based HCI driver to new SPI API
- 3219817d drivers/bluetooth: Get rid completely of legacy SPI API in SPI HCI
- 29a68cd7 drivers/spi: Adapt Kconfig and generic context to enable
slave support
- 659f0f2d api/spi: Add the possibility to request CS active high logic
- 2a14d289 drivers/ethernet: Switch enc28j60 to new SPI API
- 7f4378e2 api/spi: Precise a bit the documentation
- 57a1f7b4 drivers/spi: Add support for TX or RX only modes on DW driver
- 44d4de51 drivers/spi: Remove legacy DesignWare SPI driver
- 423f0095 drivers/spi: Specify options per-port on DW driver
- 29f8b23b drivers/clock_control: Enable ARC core support on quark_se driver
- a8634944 drivers/spi: Enable port 3 and 4 on DW driver
- dc49d0f3 drivers/spi: Fix typo on parameters type in DW arc regs definitions
- 0a43cac3 drivers/spi: Removing QMSI driver as it does not support new API
- 65f6c967 drivers/spi: Switch Intel driver to new SPI API
- ef5152ab spi: Implement new spi api in the mcux dspi driver
- b62b12ee drivers/ieee802154: Switch MCR20A driver to new SPI API
- 09dd5e9b drivers/spi: Remove legacy API support from mcux dspi driver
- 00397c65 drivers: spi: Add shim for nrfx SPI driver
- 841a4207 drivers/spi: Add slave mode support to the DesignWare driver
- 79308dd1 drivers/spi: Simplify how error is forwarded from ISR handler in DW
- 1086fdf1 drivers/spi: spi_context lock makes transceive function
reentrant in DW
- b702236d drivers/ethernet: No need of semaphore for spi in enc28j60
- d5e6874d drivers/ieee802154: No need of semaphore for spi in mcr20a
- 13dba12b drivers/spi: Remove legacy NRF5 master and slave drivers
- 3f4cffc3 spi: Remove SPI legacy API
- f1ae9402 api/spi: Slave transactions will return received frames on success
- bdd03f38 drivers: sensor: temp_nrf5: fix sensor type
- 42a96c56 drivers: clock_control: quark_se: Fix "make menuconfig"
- 011ad6f7 drivers/spi: Fix tmod update on DW driver
- aaa9cf2e drivers: entropy: nrf5: Clarify Kconfig options
- 7385e388 drivers: eth: mcux: Enabling VLAN
- 02ee3651 drivers: eth: gmac: Adding VLAN support to Atmel E70 board
- 73b43e00 drivers: eth: native_posix: Add VLAN support
- 2c343d2b drivers: net: slip: Add VLAN support
- ed923da4 drivers: net: mcux: Use VLAN priority to set RX packet priority
- 992e3284 usb: netusb: Rework netusb media connect/disconnect
- d80ae8ae usb: netusb: Add CDC EEM network usb function
- 0d04aef6 usb: hid: add a INT IN transfer complete callback.
- dbb22644 usb: hid: implement set_report()
- 8d2b22cd drivers: timer: expose RTC1 ISR handler function
- fbd3c2f4 sensors: ccs811: Deassert the reset pin with GPIO
- 8e1cf7b6 gpio: nrf5: Make the init priority configurable
- 6fb326ce drivers: sensor: lsm6dsl: add trigger support

External (2):

- ca1cb054 ext: lib: tinycbor: fix Zephyr specific settings
- 00f6fc96 ext: lib: tinycbor: fix half-FP feature compilation

Kernel (5):

- f762fdf4 kernel: posix: move sleep and usleep functions into c file.
- 95f14322 sys_mem_pool: add test case
- bf44bacd kernel: mutex: Copy assertions to assertions to syscall handler
- 18cb8326 kernel: Disable build timestamps by default for reproducibility
- ec7ecf79 kernel: restore stack size check

Libraries (5):

- aa6de29c lib: user mode compatible mempools
- f603e603 lib: posix: Move posix layer from 'kernel' to 'lib'
- 4226c6d8 lib: posix: Fix mutex locking in pthread_cancel
- fe46c75d lib: posix: Fix integer overflow in timer_gettime
- 193f4feb lib: Red/Black balanced tree data structure

Miscellaneous (3):

- 5f67a611 include: improve compatibility with C++ apps.
- 7383814d cpp: mark __dso_handle as weak.
- 2ef57f0a lib/rbtree: Add a rb_contains() predicate

Networking (18):

- de13e979 net: if: vlan: Add virtual lan support
- 487e8104 net: shell: Add VLAN support
- 6643bb08 net: l2: ethernet: Add priority to sent ethernet VLAN header
- ad5bbefd net: Add function to convert VLAN priority to packet priority
- 687c3339 net: if: Use DEVICE_NAME_GET() instead of fixed string
- b70b4bca net: shell: Add network interface up/down command
- ffd0a1f5 net: core: Check interface when receiving a packet
- 444dfa74 net: l2: Remove l2_data section start and end pointers
- e56a9f0e net: ethernet: Return correct non VLAN interface
- 85d65b20 net: stats: Fix the net_mgmt statistics collection
- 1443ff0f net: stats: Make statistics collection per network interface
- e996b37c net/ethernet: Add capabilities exposed by device drivers
- e9d77b60 net/ethernet: No need to expose vlan_setup if vlan is not enabled
- 4bf1a9bd net/ethernet: All types are prefixed with ethernet_
- af0c5869 net/ethernet: Moving ethernet code to dedicated directory
- f3d80126 net/ethernet: Add function driver API to change some hw configuration
- 8d558fb5 net/ethernet: Add a management interface
- 757c5d18 net/ethernet: Fix uninitialized attributes in ethernet mgmt
parameters

Samples (10):

- 308f4df9 samples/drivers: Switch Fujistu FRAM sample to new SPI API
- e7de85b5 samples/bluetooth: Move hci_spi to new SPI API
- a0df4f66 samples: net: Fix sanitycheck for sam_e70_xplained board
- 5fbd4807 samples: net: vlan: Simple app for setting virtual lan settings
- 81d211f3 samples: hci_uart: Add references to sections
- bd583ed9 samples: mgmt: Expand smp_svr sample documentation
- 7c5c222c samples: net: Add test cases for USB EEM
- 156091fb samples: sample.yaml cleanup
- 65600d47 samples: power_mgr: add harnesss configuration
- 15ccd9cc sample: net: stats: Example how to use net_mgmt for statistics

Scripts (6):

- 46a172ae kconfiglib: Update to 2259d353426f1
- db28a5d8 kconfiglib: Update to 981d24aff7654
- 8fc44f29 kconfiglib: Update to e8408a06c68d8
- e32ed180 jlink: fix flashing behavior on Windows
- ba2ce2e9 script/extract_dts_includes: factorize call to upper()
- 074c90c5 scripts: dts_extract_include: generate aliases defs

Testing (44):

- a5efadf2 tests/drivers: Removing old SPI test
- b4247fde tests/spi: Remove excluded boards
- 9116cc7a tests: spi_loopback: Add frdm_k64f configuration
- 18d354c4 tests: spi_loopback: Add configurations for a few nRF5 boards
- 92be4112 tests: drivers: build_all: add TEMP_NRF5 to sensor test
- d155e886 tests: stack_random: Add Ztest support
- fab8c278 tests: lifo: Add lifo test with scenario
- 14e356c7 tests: net: vlan: Add VLAN tests
- e3076a47 tests: add tag for memory pool tests
- 46931c9a tests: posix: Resolve header file dependencies
- 9e4bbcc9 tests: kernel: add Cortex-M33/M7 in list of MCUs
- 316ffff6 tests: kernel: fix irq_vector_table test for nRF52X platforms
- 4fc2ccbd test: mbox_usage: add legacy test case for mailbox
- bdda3695 tests: net: vlan: Fix VLAN disable test
- f8502690 tests: context: rename main test
- 88c16923 tests: context: use ztest macros
- 86bb19ac tests: mutex: rename main test function
- 5d569eac tests: rename test -> main.c
- e73a95bd tests: kernel: use a consistent test suite name
- 5c72f40c tests: tags should not be required
- f3e8cb7e tests: add missing harness support
- 016b21a4 tests: mbedtls_sslclient: fix filtering and default conf
- 1934d3bd tests: enhance test filtering for net tests
- 4f4f135b tests: mqtt: fix dependencies
- fca15b49 tests: xip: cleanup test
- 390a2c4c tests: classify tests
- 8e8d6de6 tests: posix: fix tags and sections
- 49bb8313 tests: classify periphera tests
- 9e9784fc qemu_xtensa: ignore net and bluetooth tests
- 848c1054 tests: classify net tests and cleanup
- 5c89a4ce tests: ipv6: cleanup tests
- 3e086c68 tests: base64: do not exclude newlib
- 31e201b5 tests: net: context: simplify filtering
- d7e7b08c tests: cleanup meta-data of various tests
- 55ce5510 tests: cleanup subsystem tests meta-data
- 835ee3ff tests: net: checksum_offload: exclude native [REVERTME]
- d2807576 ztest: define test_main in the header file.
- fe067eb3 tests: add a C++ compile test.
- b71d6bab tests/net: Add a test for Ethernet net mgmt interface
- 3c856028 tests: net: checksum_offload: Adjust number of interfaces
- e2924ab4 tests: add min_flash option for some tests
- c625ab85 tests: rbtree test
- d7b7f511 tests: rbtree: Fix test so its actually runs
- 9bde3c06 tests: build_all: Add LPS22HB and LSM6DSL sensors build test


Re: nrf51822 mesh example RAM constraints.

Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...>
 

But after adding support for LOW POWER feature got RAM overflow again…
Could you review the use of RADIO_LL_LENGTH_OCTETS_RX_MAX, just a suspicion that its incorrectly used on nRF51, if so, you could be saving few hundred bytes.

Do feel free to send a PR if you fix something.


-Vinayak



From: users@... [mailto:users@...] On Behalf Of Antonio
Sent: Tuesday, April 10, 2018 9:00 AM
To: users@...
Subject: Re: [Zephyr-users] nrf51822 mesh example RAM constraints.


On Apr 9, 2018, at 23:08, Chettimada, Vinayak Kariappa <mailto:vinayak.kariappa.chettimada@...> wrote:

Hi Antonio,

Please take a look at this mail chain: https://lists.zephyrproject.org/g/devel/topic/16760883#1960

a BBC micro:bit with nRF51822 256KB flash and 16 KB RAM can support BLE mesh. Yes, it is stretch on a 16 KB RAM variant, but you can take a look at the output of “make rom_report” to fine tune/reduce RAM usages in your application.

Regards,
Vinayak


Thank you Vinayak,
Got it working after deleting health and level server.

Memory region         Used Size  Region Size  %age Used
           FLASH:      100376 B       256 KB     38.29%
            SRAM:       16264 B        16 KB     99.27%
        IDT_LIST:         132 B         2 KB      6.45%


But after adding support for LOW POWER feature got RAM overflow again…

Memory region         Used Size  Region Size  %age Used
           FLASH:      104320 B       256 KB     39.79%
            SRAM:       16424 B        16 KB    100.24%
        IDT_LIST:         132 B         2 KB      6.45


Since GATT (GATT_PROXY,PB_GATT,Peripherial) support is so memory hungry, can we use PB_ADV instead and do something like
remote provisioning ?

https://infocenter.nordicsemi.com/index.jsp?topic=/com.nordic.infocenter.meshsdk.v0.9.1/group__PB__REMOTE.html
https://infocenter.nordicsemi.com/index.jsp?topic=/com.nordic.infocenter.meshsdk.v0.9.1/md_examples_pb_remote_client_README.html
https://infocenter.nordicsemi.com/index.jsp?topic=/com.nordic.infocenter.meshsdk.v0.9.1/md_examples_pb_remote_server_README.html

Is this feature supported ?
Trying to make something useful out of the NRF51, like a simple low power node mesh device.
But seems they are good only as a beacons for now ;(
Or perhaps someone can recommend the way to provision NRF51 node over the PB_ADV barrier ?


Re: nrf51822 mesh example RAM constraints.

Antonio <anvivaldi27@...>
 


On Apr 9, 2018, at 23:08, Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...> wrote:

Hi Antonio,

Please take a look at this mail chain: https://lists.zephyrproject.org/g/devel/topic/16760883#1960

a BBC micro:bit with nRF51822 256KB flash and 16 KB RAM can support BLE mesh. Yes, it is stretch on a 16 KB RAM variant, but you can take a look at the output of “make rom_report” to fine tune/reduce RAM usages in your application.

Regards,
Vinayak


Thank you Vinayak,
Got it working after deleting health and level server.

Memory region         Used Size  Region Size  %age Used
           FLASH:      100376 B       256 KB     38.29%
            SRAM:       16264 B        16 KB     99.27%
        IDT_LIST:         132 B         2 KB      6.45%


But after adding support for LOW POWER feature got RAM overflow again…

Memory region         Used Size  Region Size  %age Used
           FLASH:      104320 B       256 KB     39.79%
            SRAM:       16424 B        16 KB    100.24%
        IDT_LIST:         132 B         2 KB      6.45

Since GATT (GATT_PROXY,PB_GATT,Peripherial) support is so memory hungry, can we use PB_ADV instead and do something like
remote provisioning ?


Is this feature supported ?
Trying to make something useful out of the NRF51, like a simple low power node mesh device.
But seems they are good only as a beacons for now ;(
Or perhaps someone can recommend the way to provision NRF51 node over the PB_ADV barrier ?


Re: nrf51822 mesh example RAM constraints.

Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...>
 

Hi Antonio,

Please take a look at this mail chain: https://lists.zephyrproject.org/g/devel/topic/16760883#1960

a BBC micro:bit with nRF51822 256KB flash and 16 KB RAM can support BLE mesh. Yes, it is stretch on a 16 KB RAM variant, but you can take a look at the output of “make rom_report” to fine tune/reduce RAM usages in your application.

Regards,
Vinayak

On 9 Apr 2018, at 21:27, Antonio <anvivaldi27@...> wrote:

Hi All,

I was able finally to run basic mesh example on NRF51 device.
But I have an issue with RAM limits.
To be able to work with meshctl (Bluez) provisioning 
GATT_PROXY and PB_GATT should be enabled.
(It was not clear at first)
This leads to 128 bytes RAM overflow.
(NRF51822 has 256k Flash and 16k RAM)
I was able to temporary fix the issue reducing ISR stack from 640 to 512 bytes.
Bu as soon as my node receiving message (OnOff in my case) I have a HARD FAULT.

***** BOOTING ZEPHYR OS v1.11.99 - BUILD: Apr  9 2018 18:58:45 *****
Ver 1.06 ... Initializing...
 PB_GATT enabled
Bluetooth initialized
Mesh initialized
 * Prov complete.
***** HARD FAULT *****
  Executing thread ID (thread): 0x20001660
  Faulting instruction address:  0x20002880
Fatal fault in ISR! Spinning…



So the main question is:
Is it possible to tune some other parameters on CONFIG or remove some features to fit basic MESH example to NRF51 device?
Or should I forget about BLE Mesh on NRF51822 ?
Another idea is to hardcode provisioning information and forget about provisioning procedure at all,
But it is not the best way for real production setup.

Thank you.




nrf51822 mesh example RAM constraints.

Antonio <anvivaldi27@...>
 

Hi All,

I was able finally to run basic mesh example on NRF51 device.
But I have an issue with RAM limits.
To be able to work with meshctl (Bluez) provisioning 
GATT_PROXY and PB_GATT should be enabled.
(It was not clear at first)
This leads to 128 bytes RAM overflow.
(NRF51822 has 256k Flash and 16k RAM)
I was able to temporary fix the issue reducing ISR stack from 640 to 512 bytes.
Bu as soon as my node receiving message (OnOff in my case) I have a HARD FAULT.

***** BOOTING ZEPHYR OS v1.11.99 - BUILD: Apr  9 2018 18:58:45 *****
Ver 1.06 ... Initializing...
 PB_GATT enabled
Bluetooth initialized
Mesh initialized
 * Prov complete.
***** HARD FAULT *****
  Executing thread ID (thread): 0x20001660
  Faulting instruction address:  0x20002880
Fatal fault in ISR! Spinning…



So the main question is:
Is it possible to tune some other parameters on CONFIG or remove some features to fit basic MESH example to NRF51 device?
Or should I forget about BLE Mesh on NRF51822 ?
Another idea is to hardcode provisioning information and forget about provisioning procedure at all,
But it is not the best way for real production setup.

Thank you.



Re: [Zephyr-devel] Firmware over the air (FOTA) and FCB support in 1.11.0

ashish shukla <ashish.shukla@...>
 

Hi Marti,

Thanks for pointing out the source of the problem, it's working for now.

Also, with help of detailed documentation, I was able to implement FOTA feature.
 

--
Warm regards,
Ashish Shukla
Jr. Embedded Engineer
Research & Development


Please consider the environment before printing this e-mail or its attachments.

Disclaimer: The information contained herein (including any accompanying documents) is confidential and is intended solely for the addressee(s). If you have erroneously received this message, please immediately delete it and notify the sender. Also, if you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this message or any accompanying document is strictly prohibited and is unlawful. The organization is not responsible for any damage caused by a virus or alteration of the e-mail by a third party or otherwise. The contents of this message may not necessarily represent the views or policies of Corvi