Date   

Re: How to evaluate the "zephyr\samples\bluetooth\mesh"?

Aaron Xu
 

Hi Vibrant,

Glad to know that zephyr have this road-map. Do you mean the  Friend & Low Power Node feature will be implemented in zephyr June 2018 with LTS tag ? 

Yes, I think this feature should be very useful for sensor, like environmental or motion sensors. I think remember two cases.
Forgot where to see this use case, It is a photo, a nice house with swimming pool, there are few outdoor temperature/humidity/motion sensors which are solar powered.

Another more reasonable use case is the industry use case. For example some factory need a lot of sensors, they prefer wired not wireless solution, even if they spend a lot of money on the very first set up.
Because the maintenance cost and reliability, but the most important is wired network can works for more then teen years and no need changing battery.
As SIG said, they want the Bluetooth Mesh enter the industry, I suppose it should be commercial, anyway for the industry sensor network on Bluetooth Mesh must works above 10 years with 2 AA batteries.
So I think the  Friend & LPNode feature should be the only solution for such kind of use case.


Regares,
Aaron





Vikrant More <vikrant8051@...> 于 2018年4月21日周六 22:34写道:

Hi Aaron,
I wanna too do that.

But to create complex mesh network, it is required that node should save provisioning & configuration data on
SoC flash. And I hope from next version onwards we could do that which is going to release in June 2018 with LTS tag.

https://github.com/zephyrproject-rtos/zephyr/pull/6391

....As per my understanding, once this PR get merged into Zephyr main project tree,
that will be the first step towards saving Mesh generated data on SoC flash. 

I'm not able to visualize where we could use Friend & Low Power Node feature in day to day life
experience, so ignore it. Do you have any such example, where we can use Friend & LPNode ?

regards,
vikrant


On Sat, Apr 21, 2018 at 3:43 PM, Aaron Xu <overheat1984@...> wrote:
Hi Vikrant,

Perfect! I have use Silicon Labs Bluetooth Mesh Android App to provision my network and control those "Lights".
Thank you for your great help!

I noticed that zephyr has implemented friend and low power nodes for Bluetooth mesh.
I want to step forward to evaluation a more complex Bluetooth mesh network. Any hits on this?

Regards,
Aaron


2018-04-18 0:29 GMT+08:00 Vikrant More <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






Re: How to evaluate the "zephyr\samples\bluetooth\mesh"?

vikrant8051 <vikrant8051@...>
 

Hi Aaron,
I wanna too do that.

But to create complex mesh network, it is required that node should save provisioning & configuration data on
SoC flash. And I hope from next version onwards we could do that which is going to release in June 2018 with LTS tag.

https://github.com/zephyrproject-rtos/zephyr/pull/6391

....As per my understanding, once this PR get merged into Zephyr main project tree,
that will be the first step towards saving Mesh generated data on SoC flash. 

I'm not able to visualize where we could use Friend & Low Power Node feature in day to day life
experience, so ignore it. Do you have any such example, where we can use Friend & LPNode ?

regards,
vikrant


On Sat, Apr 21, 2018 at 3:43 PM, Aaron Xu <overheat1984@...> wrote:
Hi Vikrant,

Perfect! I have use Silicon Labs Bluetooth Mesh Android App to provision my network and control those "Lights".
Thank you for your great help!

I noticed that zephyr has implemented friend and low power nodes for Bluetooth mesh.
I want to step forward to evaluation a more complex Bluetooth mesh network. Any hits on this?

Regards,
Aaron


2018-04-18 0:29 GMT+08:00 Vikrant More <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






Re: How to evaluate the "zephyr\samples\bluetooth\mesh"?

Aaron Xu
 

Hi Vikrant,

Perfect! I have use Silicon Labs Bluetooth Mesh Android App to provision my network and control those "Lights".
Thank you for your great help!

I noticed that zephyr has implemented friend and low power nodes for Bluetooth mesh.
I want to step forward to evaluation a more complex Bluetooth mesh network. Any hits on this?

Regards,
Aaron


2018-04-18 0:29 GMT+08:00 Vikrant More <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





Re: [Zephyr-users] #BluetoothMesh guest key implementation #bluetoothmesh

Johan Hedberg
 

Hi Vikrant,

On Fri, Apr 20, 2018, vikrant8051 wrote:
https://www.bluetooth.com/bluetooth-technology/topology-options/le-mesh/mesh-faq

As per this link, under the heading of #VisitorAttacks we could see :

"*Visitor attacks* are prevented by giving guests and visitors temporary
and limited access to the network using a separate set of keys. These guest
keys have a limited lifetime."

How to implement guest key concept with #ZephyrBluetoothMesh ?
It's more of a provisioner issue than a Zephyr issue. On the Zephyr side
all you need to do is make sure your configuration allows at least two
network keys. Then you need to make your provisioner add the key to all
nodes, including the guest node, for the duration that you want the
guest to have access, and then go and remove the key from all nodes once
you want to revoke access (it doesn't matter if the guest is not around
anymore since no other node has that key). You'd probably also want to
do the same thing with the application key, i.e. use a separate one for
the guest (I think that's what's meant by "set of keys" instead of
talking about a single key).

Johan


#BluetoothMesh guest key implementation #bluetoothmesh

vikrant8051 <vikrant8051@...>
 

Hi,


As per this link, under the heading of #VisitorAttacks we could see :

"Visitor attacks are prevented by giving guests and visitors temporary and limited access to the network using a separate set of keys. These guest keys have a limited lifetime."

How to implement guest key concept with #ZephyrBluetoothMesh ?

Thank You !!



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


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: Core407V STM32F407VET6 Board Definition Help Needed

Yannis Damigos
 

Now my board does not support GPIO ports starting with F. I see refs to
them in Kconfig.defconfig.stm32f407xx as:

if SOC_STM32F407XG
config SOC
string
default stm32f407xx
config NUM_IRQS
int
default 82
if GPIO_STM32
config GPIO_STM32_PORTF
default y
config GPIO_STM32_PORTG
default y
config GPIO_STM32_PORTI
default y
endif # GPIO_STM32
...
So in my core407v_stm32f407_defconfig, should I leave CONFIG_GPIO_STM32
undefined, or is the following acceptable also:

CONFIG_GPIO_STM32=n
You could disable unsupported ports in your boards Kconfig.defconfig file.
E.g.:

if GPIO

config GPIO_STM32_PORTD
default n

config GPIO_STM32_PORTF
default n

endif # GPIO

The correct way is to add support for SoC STM32F407XE (they have 512 kB
Flash instead of 1024) and use this in your boards _defconfig file.


Yannis


Re: Core407V STM32F407VET6 Board Definition Help Needed

Warren Gay <ve3wwg@...>
 

/home/wwg/zephyr/boards/arm/core407v_stm32f407/core407v_stm32f407_defconfig:4:
warning: attempt to assign the value "y" to the undefined symbol
SOC_STM32F407XX

Could you try with SOC_STM32F407XG?

Thank-you, yes that did the trick. 

Now my board does not support GPIO ports starting with F. I see refs to them in Kconfig.defconfig.stm32f407xx as:

if SOC_STM32F407XG

config SOC
        string
        default stm32f407xx

config NUM_IRQS
        int
        default 82

if GPIO_STM32

config GPIO_STM32_PORTF
        default y

config GPIO_STM32_PORTG
        default y

config GPIO_STM32_PORTI
        default y

endif # GPIO_STM32
...

So in my core407v_stm32f407_defconfig, should I leave CONFIG_GPIO_STM32 undefined, or is the following acceptable also:

CONFIG_GPIO_STM32=n

Thanks, Warren


Yannis

On Sat, Apr 14, 2018 at 5:18 AM Warren Gay <ve3wwg@...> wrote:

> I am in need of help for developing a board description for the Core407V,
with a stm32f407vet6 chip.

>    https://www.waveshare.com/wiki/Core407V

> This board seems similar to the existing olimex_stm32_e407, with the
following immediate differences:

> The Core407V has

> two LEDs on PA6 and PA7,
> two user push buttons on PE4 (k0) and PE3 (k1)
> There is also a wakeup button k_up on PA0, which I didn't compare.

> I have edited my own board.h file, but having difficulty with the cmake
stuff:

> I tried to clone a core407v_stm32f407 board from the olimex_stm32_e407,
but running into problems. The first of which is this:

> $ mkdir build && cd build
> $ cmake ..
> -- Found PythonInterp: /usr/bin/python3 (found suitable version "3.5.3",
minimum required is "3.4")
> -- Selected BOARD core407v_stm32f407
> Zephyr version: 1.11.99
> Parsing Kconfig tree in /home/wwg/zephyr/Kconfig
> Using
/home/wwg/zephyr/boards/arm/core407v_stm32f407/core407v_stm32f407_defconfig
as base
> Merging /home/wwg/zsrc/blinky/prj.conf
> warning: BOARD_CORE407V_STM32F407 (defined at
/home/wwg/zephyr/boards/arm/core407v_stm32f407/Kconfig.board:7) was
assigned the value "y" but got the value "n" -- check dependencies
> warning: CLOCK_STM32_PLL_N_MULTIPLIER (defined at
/home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:217,
/home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:282) was assigned the
value "168" but got the value "336" -- check dependencies
> warning: CLOCK_STM32_PLL_N_MULTIPLIER (defined at
/home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:217,
/home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:282) was assigned the
value "168" but got the value "336" -- check dependencies

/home/wwg/zephyr/boards/arm/core407v_stm32f407/core407v_stm32f407_defconfig:4:
warning: attempt to assign the value "y" to the undefined symbol
SOC_STM32F407XX
> /home/wwg/zsrc/blinky/prj.conf:2: warning: CONSOLE (defined at
/home/wwg/zephyr/drivers/console/Kconfig:10) set more than once. Old value:
"y", new value: "y".
> /home/wwg/zsrc/blinky/prj.conf:6: warning: UART_CONSOLE (defined at
/home/wwg/zephyr/drivers/console/Kconfig:40) set more than once. Old value:
"y", new value: "y".
> /home/wwg/zsrc/blinky/prj.conf:7: warning: SERIAL (defined at
/home/wwg/zephyr/drivers/serial/Kconfig:9) set more than once. Old value:
"y", new value: "y".
> warning: user value 168 on the int symbol CLOCK_STM32_PLL_N_MULTIPLIER
(defined at /home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:217,
/home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:282) ignored due to
being outside the active range ([192, 432]) -- falling back on defaults
> -- Generating zephyr/include/generated/generated_dts_board.h
> Error: core407v_stm32f407.dts.pre.tmp:257.21-22 syntax error
> FATAL ERROR: Unable to parse input tree
> CMake Error at /home/wwg/zephyr/cmake/dts.cmake:83 (message):
>    command failed with return code: 1
> Call Stack (most recent call first):
>    /home/wwg/zephyr/cmake/app/boilerplate.cmake:260 (include)
>    CMakeLists.txt:3 (include)

> -- Configuring incomplete, errors occurred!

> The intended clock is 168 MHz, with 8 MHz HSE crystal. The top of the
_defconfig file is:

> CONFIG_ARM=y
> CONFIG_BOARD_CORE407V_STM32F407=y
> CONFIG_SOC_SERIES_STM32F4X=y
> CONFIG_SOC_STM32F407XX=y
> # 168MHz system clock
> CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=168000000
> CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000

> # Enable MPU
> CONFIG_STM32_ARM_MPU_ENABLE=y

> CONFIG_SERIAL=y

> # console
> CONFIG_CONSOLE=y
> CONFIG_UART_CONSOLE=y

> # enable pinmux
> CONFIG_PINMUX=y

> # enable GPIO
> CONFIG_GPIO=y

> # clock configuration
> CONFIG_CLOCK_CONTROL=y

> # Clock configuration for Cube Clock control driver
> CONFIG_CLOCK_STM32_HSE_CLOCK=8000000
> CONFIG_CLOCK_STM32_SYSCLK_SRC_PLL=y
> # use HSE as PLL input
> CONFIG_CLOCK_STM32_PLL_SRC_HSE=y
> # produce 168MHz clock at PLL output
> CONFIG_CLOCK_STM32_PLL_M_DIVISOR=6
> CONFIG_CLOCK_STM32_PLL_N_MULTIPLIER=168
> CONFIG_CLOCK_STM32_PLL_P_DIVISOR=2
> CONFIG_CLOCK_STM32_PLL_Q_DIVISOR=7
> CONFIG_CLOCK_STM32_AHB_PRESCALER=1
> CONFIG_CLOCK_STM32_APB1_PRESCALER=4
> CONFIG_CLOCK_STM32_APB2_PRESCALER=2

> I used the existing value for the MULTIPLIER. Hints for correcting these
errors would be appreciated.

> Warren



Re: [Zephyr-users] [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@gmail.com> 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@gmail.com> 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



Zephyr API discussion weekly call

Carles Cufi
 

Hi all,

During the API call today we followed-up on the ADC and WDT APIs which are now getting more mature and will hopefully be soon ready for merging.

We still need someone to take ownership of the I2C API at this point. The list of issues to address can be found summarized here:

https://github.com/zephyrproject-rtos/zephyr/issues/4040

If you think you can help out improving the I2C API please let us know.

As always, more information in the umbrella GitHub issue:

https://github.com/zephyrproject-rtos/zephyr/issues/5697

and in the meeting minutes:

https://docs.google.com/document/d/1lv-8B5QE2m4FjBcvfqAXFIgQfW5oz6306zJ7GIZIWCk

Thanks,

Carles


Re: 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




Re: Core407V STM32F407VET6 Board Definition Help Needed

Yannis Damigos
 

Hi Warren,

in your _defconfig file you set "CONFIG_SOC_STM32F407XX=y".

But, the SOC_STM32F407XX is undefined as it mentioned in your cmake output:

/home/wwg/zephyr/boards/arm/core407v_stm32f407/core407v_stm32f407_defconfig:4:
warning: attempt to assign the value "y" to the undefined symbol
SOC_STM32F407XX

Could you try with SOC_STM32F407XG?

Yannis

On Sat, Apr 14, 2018 at 5:18 AM Warren Gay <ve3wwg@gmail.com> wrote:

I am in need of help for developing a board description for the Core407V,
with a stm32f407vet6 chip.

https://www.waveshare.com/wiki/Core407V
This board seems similar to the existing olimex_stm32_e407, with the
following immediate differences:

The Core407V has
two LEDs on PA6 and PA7,
two user push buttons on PE4 (k0) and PE3 (k1)
There is also a wakeup button k_up on PA0, which I didn't compare.
I have edited my own board.h file, but having difficulty with the cmake
stuff:

I tried to clone a core407v_stm32f407 board from the olimex_stm32_e407,
but running into problems. The first of which is this:

$ mkdir build && cd build
$ cmake ..
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.5.3",
minimum required is "3.4")
-- Selected BOARD core407v_stm32f407
Zephyr version: 1.11.99
Parsing Kconfig tree in /home/wwg/zephyr/Kconfig
Using
/home/wwg/zephyr/boards/arm/core407v_stm32f407/core407v_stm32f407_defconfig
as base
Merging /home/wwg/zsrc/blinky/prj.conf
warning: BOARD_CORE407V_STM32F407 (defined at
/home/wwg/zephyr/boards/arm/core407v_stm32f407/Kconfig.board:7) was
assigned the value "y" but got the value "n" -- check dependencies
warning: CLOCK_STM32_PLL_N_MULTIPLIER (defined at
/home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:217,
/home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:282) was assigned the
value "168" but got the value "336" -- check dependencies
warning: CLOCK_STM32_PLL_N_MULTIPLIER (defined at
/home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:217,
/home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:282) was assigned the
value "168" but got the value "336" -- check dependencies

/home/wwg/zephyr/boards/arm/core407v_stm32f407/core407v_stm32f407_defconfig:4:
warning: attempt to assign the value "y" to the undefined symbol
SOC_STM32F407XX
/home/wwg/zsrc/blinky/prj.conf:2: warning: CONSOLE (defined at
/home/wwg/zephyr/drivers/console/Kconfig:10) set more than once. Old value:
"y", new value: "y".
/home/wwg/zsrc/blinky/prj.conf:6: warning: UART_CONSOLE (defined at
/home/wwg/zephyr/drivers/console/Kconfig:40) set more than once. Old value:
"y", new value: "y".
/home/wwg/zsrc/blinky/prj.conf:7: warning: SERIAL (defined at
/home/wwg/zephyr/drivers/serial/Kconfig:9) set more than once. Old value:
"y", new value: "y".
warning: user value 168 on the int symbol CLOCK_STM32_PLL_N_MULTIPLIER
(defined at /home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:217,
/home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:282) ignored due to
being outside the active range ([192, 432]) -- falling back on defaults
-- Generating zephyr/include/generated/generated_dts_board.h
Error: core407v_stm32f407.dts.pre.tmp:257.21-22 syntax error
FATAL ERROR: Unable to parse input tree
CMake Error at /home/wwg/zephyr/cmake/dts.cmake:83 (message):
command failed with return code: 1
Call Stack (most recent call first):
/home/wwg/zephyr/cmake/app/boilerplate.cmake:260 (include)
CMakeLists.txt:3 (include)
-- Configuring incomplete, errors occurred!
The intended clock is 168 MHz, with 8 MHz HSE crystal. The top of the
_defconfig file is:

CONFIG_ARM=y
CONFIG_BOARD_CORE407V_STM32F407=y
CONFIG_SOC_SERIES_STM32F4X=y
CONFIG_SOC_STM32F407XX=y
# 168MHz system clock
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=168000000
CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000
# Enable MPU
CONFIG_STM32_ARM_MPU_ENABLE=y
CONFIG_SERIAL=y
# console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
# enable pinmux
CONFIG_PINMUX=y
# enable GPIO
CONFIG_GPIO=y
# clock configuration
CONFIG_CLOCK_CONTROL=y
# Clock configuration for Cube Clock control driver
CONFIG_CLOCK_STM32_HSE_CLOCK=8000000
CONFIG_CLOCK_STM32_SYSCLK_SRC_PLL=y
# use HSE as PLL input
CONFIG_CLOCK_STM32_PLL_SRC_HSE=y
# produce 168MHz clock at PLL output
CONFIG_CLOCK_STM32_PLL_M_DIVISOR=6
CONFIG_CLOCK_STM32_PLL_N_MULTIPLIER=168
CONFIG_CLOCK_STM32_PLL_P_DIVISOR=2
CONFIG_CLOCK_STM32_PLL_Q_DIVISOR=7
CONFIG_CLOCK_STM32_AHB_PRESCALER=1
CONFIG_CLOCK_STM32_APB1_PRESCALER=4
CONFIG_CLOCK_STM32_APB2_PRESCALER=2
I used the existing value for the MULTIPLIER. Hints for correcting these
errors would be appreciated.

Warren


Re: Core407V STM32F407VET6 Board Definition Help Needed

Erwan Gouriou
 

Hi Warren,

Looking to the log, it seems that there is an issue in your board definition:
warning: BOARD_CORE407V_STM32F407 (defined at /home/wwg/zephyr/boards/arm/core407v_stm32f407/Kconfig.board:7) was assigned the value "y" but got the value "n" -- check dependencies

This means that somehow, this config flag is re-written, and hence, Kconfig.board, .defconfig and _defconfig won't apply (and then you get wrong values).
I suggest to investigate your board configuration procedure, clean existing previous configuration builds..

Also, you can share your code in github and we'll be able to have a look.

Erwan

On 14 April 2018 at 04:18, Warren Gay <ve3wwg@...> wrote:
I am in need of help for developing a board description for the Core407V, with a stm32f407vet6 chip.

  https://www.waveshare.com/wiki/Core407V

This board seems similar to the existing olimex_stm32_e407, with the following immediate differences:

The Core407V has 
  • two LEDs on PA6 and PA7,
  • two user push buttons on PE4 (k0) and PE3 (k1)
  • There is also a wakeup button k_up on PA0, which I didn't compare.
I have edited my own board.h file, but having difficulty with the cmake stuff:

I tried to clone a core407v_stm32f407 board from the olimex_stm32_e407, but running into problems. The first of which is this:

$ mkdir build && cd build
$ cmake ..
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.5.3", minimum required is "3.4") 
-- Selected BOARD core407v_stm32f407
Zephyr version: 1.11.99
Parsing Kconfig tree in /home/wwg/zephyr/Kconfig
Using /home/wwg/zephyr/boards/arm/core407v_stm32f407/core407v_stm32f407_defconfig as base
Merging /home/wwg/zsrc/blinky/prj.conf
warning: BOARD_CORE407V_STM32F407 (defined at /home/wwg/zephyr/boards/arm/core407v_stm32f407/Kconfig.board:7) was assigned the value "y" but got the value "n" -- check dependencies
warning: CLOCK_STM32_PLL_N_MULTIPLIER (defined at /home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:217, /home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:282) was assigned the value "168" but got the value "336" -- check dependencies
warning: CLOCK_STM32_PLL_N_MULTIPLIER (defined at /home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:217, /home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:282) was assigned the value "168" but got the value "336" -- check dependencies
/home/wwg/zephyr/boards/arm/core407v_stm32f407/core407v_stm32f407_defconfig:4: warning: attempt to assign the value "y" to the undefined symbol SOC_STM32F407XX
/home/wwg/zsrc/blinky/prj.conf:2: warning: CONSOLE (defined at /home/wwg/zephyr/drivers/console/Kconfig:10) set more than once. Old value: "y", new value: "y".
/home/wwg/zsrc/blinky/prj.conf:6: warning: UART_CONSOLE (defined at /home/wwg/zephyr/drivers/console/Kconfig:40) set more than once. Old value: "y", new value: "y".
/home/wwg/zsrc/blinky/prj.conf:7: warning: SERIAL (defined at /home/wwg/zephyr/drivers/serial/Kconfig:9) set more than once. Old value: "y", new value: "y".
warning: user value 168 on the int symbol CLOCK_STM32_PLL_N_MULTIPLIER (defined at /home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:217, /home/wwg/zephyr/drivers/clock_control/Kconfig.stm32:282) ignored due to being outside the active range ([192, 432]) -- falling back on defaults
-- Generating zephyr/include/generated/generated_dts_board.h
Error: core407v_stm32f407.dts.pre.tmp:257.21-22 syntax error
FATAL ERROR: Unable to parse input tree
CMake Error at /home/wwg/zephyr/cmake/dts.cmake:83 (message):
  command failed with return code: 1
Call Stack (most recent call first):
  /home/wwg/zephyr/cmake/app/boilerplate.cmake:260 (include)
  CMakeLists.txt:3 (include)

-- Configuring incomplete, errors occurred!

The intended clock is 168 MHz, with 8 MHz HSE crystal. The top of the _defconfig file is:

CONFIG_ARM=y
CONFIG_BOARD_CORE407V_STM32F407=y
CONFIG_SOC_SERIES_STM32F4X=y
CONFIG_SOC_STM32F407XX=y
# 168MHz system clock
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=168000000
CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000

# Enable MPU
CONFIG_STM32_ARM_MPU_ENABLE=y

CONFIG_SERIAL=y

# console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# enable pinmux
CONFIG_PINMUX=y

# enable GPIO
CONFIG_GPIO=y

# clock configuration
CONFIG_CLOCK_CONTROL=y

# Clock configuration for Cube Clock control driver
CONFIG_CLOCK_STM32_HSE_CLOCK=8000000
CONFIG_CLOCK_STM32_SYSCLK_SRC_PLL=y
# use HSE as PLL input
CONFIG_CLOCK_STM32_PLL_SRC_HSE=y
# produce 168MHz clock at PLL output
CONFIG_CLOCK_STM32_PLL_M_DIVISOR=6
CONFIG_CLOCK_STM32_PLL_N_MULTIPLIER=168
CONFIG_CLOCK_STM32_PLL_P_DIVISOR=2
CONFIG_CLOCK_STM32_PLL_Q_DIVISOR=7
CONFIG_CLOCK_STM32_AHB_PRESCALER=1
CONFIG_CLOCK_STM32_APB1_PRESCALER=4
CONFIG_CLOCK_STM32_APB2_PRESCALER=2

I used the existing value for the MULTIPLIER. Hints for correcting these errors would be appreciated.

Warren



How to evaluate the "zephyr\samples\bluetooth\mesh"?

Aaron Xu
 

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




no connection ethernet with a stm32f407 discovery board and a enc28j60 module

clemence
 

Hi,

I tried the samples/net/echo_server.c with quemu and it works.

I try to do the same example with a stm32f407 discovery board and a enc28j60 module but it does not work.

First, I plug my pc and my board on a "D-LINK: DGS-108" switch. I use a a direct cable to plug my pc and my board to the switch (not a crossover cable).

I put a route to my pc with:

sudo ip route add 192.0.2.0 dev enxa44cc8e28bfb
sudo ip addr add 192.0.2.2 dev enxa44cc8e28bfb

Then I execute the code with "cmake -GNinja -DBOARD=stm32f4_disco ..". There is no error.

I flash on the board with "ninja flash". There is no error message display on my console.

When I do a "telnet 192.0.2.1", the connection is not made. I also try to make "ping 192.0.2.1" and it does not work.

Thanks to the net-shell, I get this information (iface) :

Interface 0x20008b60 (Ethernet) [0]
===================================
Link addr : 00:04:A3:2D:30:36
MTU       : 1500
IPv6 unicast addresses (max 3):
        fe80::204:a3ff:fe2d:3036 autoconf preferred infinite
        2001:db8::1 manual preferred infinite
IPv6 multicast addresses (max 2):
        ff02::1
        ff02::1:ff2d:3036
IPv6 prefixes (max 2):
        <none>
IPv6 hop limit           : 64
IPv6 base reachable time : 30000
IPv6 reachable time      : 33652
IPv6 retransmit timer    : 0
IPv4 unicast addresses (max 3):
        192.0.2.1 manual preferred infinite
IPv4 multicast addresses (max 1):
        <none>
IPv4 gateway : 0.0.0.0
IPv4 netmask : 255.255.255.0


Information about the connection (conn)

     Context    Iface         Flags Local               Remote
[ 1] 0x2000057c 0x20008b60    4ST   0.0.0.0:23  0.0.0.0:0
[ 2] 0x200005dc 0x20008b60    6ST   [::]:23     [::]:0

TCP        Context   Src port Dst port   Send-Seq   Send-Ack  MSS
0x200011f4 0x2000057c      23        0 4176526892          0 1460
0x200012d4 0x200005dc      23        0 2871080412          0 1440


Information about the memory (mem)

Fragment length 128 bytes
Network buffer pools:
(CONFIG_NET_BUF_POOL_USAGE to see free #s)
Address         Total   Name
0x20008a6c      14      RX
0x20008a88      14      TX
0x20008b1c      36      RX DATA
0x20008b3c      36      TX DATA


Information about the HTTP

Enable CONFIG_NET_DEBUG_HTTP_CONN and CONFIG_HTTP_SERVER to get HTTP server connection information


What can I do to make it work, please ?

Thanks

Clemence


Re: samples/net/echo_server.c does not work with a stm32f407 discovery board and a enc28j60 module

Jukka Rissanen
 

Hi Clemence,

I do not have that stm32 board to try. But what you are describing
should work. Note that there was some enc28j60 fixes submitted last
week and they are already merged to master, so make sure you are
working with latest upstream.

Have you tried to connect using IPv6? So try "ping 2001:db8::1" from
your host to ping to the device.

Have you tried to ping your host from net-shell in zephyr? So "net ping
192.0.2.2", does that packet go through to your linux host?

Make also sure that your firewall rules do not cause packets to be
dropped. The configuration in your D-Link could also cause some issues
especially if you are in different sub-net according to its
configuration.
For these reasons I have been testing ethernet connectivity with a non-
managed ethernet switch so that all traffic is passing through. For
monitoring the ethernet traffic, I have an old ethernet hub that has
been very useful.


Cheers,
Jukka

On Mon, 2018-04-16 at 10:24 +0200, clemence wrote:
Hi,

I tried the samples/net/echo_server.c with quemu and it works.

I try to do the same example with a stm32f407 discovery board and a
enc28j60 module but it does not work.

First, I plug my pc and my board on a "D-LINK: DGS-108" switch. I use
a
a direct cable to plug my pc and my board to the switch (not a
crossover
cable).

Then, I add some configuration in prj.conf :

CONFIG_PRINTK=y

CONFIG_NETWORKING=y
CONFIG_NET_IPV6=y
CONFIG_NET_IPV4=y
CONFIG_NET_ARP=y
CONFIG_NET_UDP=y
CONFIG_NET_TCP=y

CONFIG_NET_DHCPV4=n
CONFIG_NET_MGMT=y
CONFIG_NET_MGMT_EVENT=y

CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=3
CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=2
CONFIG_NET_MAX_CONTEXTS=10

CONFIG_TEST_RANDOM_GENERATOR=y

CONFIG_INIT_STACKS=y

CONFIG_SYS_LOG=y
CONFIG_NET_BUF_LOG=n
CONFIG_SYS_LOG_NET_BUF_LEVEL=2
CONFIG_NET_LOG=n
CONFIG_NET_LOG_GLOBAL=y
CONFIG_SYS_LOG_NET_LEVEL=2
CONFIG_SYS_LOG_SHOW_COLOR=y

CONFIG_NET_APP_SETTINGS=y
CONFIG_NET_APP_MY_IPV6_ADDR="2001:db8::1"
CONFIG_NET_APP_MY_IPV4_ADDR="192.0.2.1"

CONFIG_NET_SHELL=y
CONFIG_KERNEL_SHELL=y

CONFIG_TELNET_CONSOLE=y
CONFIG_SYS_LOG_TELNET_CONSOLE_LEVEL=1

#Add to work on teh board stm32f4

# IP Stack Configuration
CONFIG_NET_ARP=y
CONFIG_NET_L2_ETHERNET=y
CONFIG_NET_BUF=y
CONFIG_NET_IF_UNICAST_IPV4_ADDR_COUNT=3
#CONFIG_NET_SOCKETS=y
#CONFIG_NET_SOCKETS_POSIX_NAMES=y
CONFIG_NET_MGMT=y
CONFIG_NET_MGMT_EVENT=y

# ENC28J60 Ethernet Device
CONFIG_NET_DEFAULT_IF_ETHERNET=y
CONFIG_ETH_ENC28J60=y
CONFIG_ETH_ENC28J60_0=y
CONFIG_ETH_ENC28J60_0_SPI_PORT_NAME="SPI_1"
CONFIG_ETH_ENC28J60_0_MAC3=0x2D
CONFIG_ETH_ENC28J60_0_MAC4=0x30
CONFIG_ETH_ENC28J60_0_MAC5=0x36
CONFIG_ETH_ENC28J60_0_GPIO_PORT_NAME="GPIOA"
CONFIG_ETH_ENC28J60_0_GPIO_PIN=3
CONFIG_ETH_ENC28J60_0_SPI_BUS_FREQ=2000000
CONFIG_ETH_ENC28J60_0_SLAVE=1
CONFIG_ETH_EN28J60_0_FULL_DUPLEX=y
CONFIG_ETH_EN28J60_TIMEOUT=100
#CONFIG_ETH_ENC28J60_0_GPIO_SPI_CS=y
#CONFIG_ETH_ENC28J60_0_SPI_CS_PORT_NAME="GPIOA"
#CONFIG_ETH_ENC28J60_0_SPI_CS_PIN=4

# SPI
CONFIG_SPI=y
CONFIG_SPI_STM32=y
CONFIG_SOC_FAMILY_STM32=y
CONFIG_SPI_STM32_HAS_FIFO=y
CONFIG_SOC_SERIES_STM32F4X=y
CONFIG_SPI_STM32_INTERRUPT=y
CONFIG_SPI_INIT_PRIORITY=70
CONFIG_SYS_LOG_SPI_LEVEL=2
CONFIG_SPI_CS_GPIO=y
CONFIG_SPI_1=y
CONFIG_SPI_1_NAME="SPI_1"
CONFIG_HAS_DTS_SPI=y
CONFIG_SPI_1_IRQ_PRI=0
#CONFIG_SPI_1_DEFAULT_CFG=0x80
#CONFIG_SPI_1_DEFAULT_BAUD_RATE=500000
#CONFIG_SPI_1_CS_GPIO_PORT="GPIOA"
#CONFIG_SPI_1_CS_GPIO_PIN=4

# Stm32f4discovery
#CONFIG_TELNET_CONSOLE_DEBUG_DEEP=y
#CONFIG_NET_DEBUG_IF=y
#CONFIG_SYS_LOG=y
#CONFIG_NET_LOG=y
#CONFIG_SYS_LOG_NET_LEVEL=4
#CONFIG_SYS_LOG_SHOW_COLOR=y


I add a router and a address on my pc:

sudo ip route add 192.0.2.0 dev enxa44cc8e28bfb

sudo ip addr add 192.0.2.2 dev enxa44cc8e28bfb


Then I execute the code with "cmake -GNinja -DBOARD=stm32f4_disco
..".
There is no error.

I flash on the board with "ninja flash". There is no error message
display on my console.

When I do a "telnet 192.0.2.1", the connection is not made. I also
try
to make "ping 192.0.2.1" and it does not work.

I try to do the same without the switch (plug my pc direcly to the
board) and it does not work.

What can I do to make it work, please ?

Thanks

Clemence




Re: Zephyr API discussion weekly call

Carles Cufi
 

Friendly reminder of the weekly API discussion call which takes place tomorrow.

Details below.

------

The Zephyr API weekly calls take place on Tuesdays. Everybody is welcome to join, and you can find all the relevant details here:

https://github.com/zephyrproject-rtos/zephyr/wiki/Zephyr-Committee-and-Working-Group-Meetings#zephyr-api-discussion

Next week we will be discussing the current ADC and Watchdog API reworks, and we are also looking for an owner to the I2C API rework to join the call and take ownership of it. I have copied people involved in the current I2C PRs, but feel free to forward this to anyone who might be interested.

If you want to contribute on any of the items above please join next week. Additional details regarding the current issues being discussed in the calls can be found in the umbrella GitHub issue:

https://github.com/zephyrproject-rtos/zephyr/issues/5697

and in the meeting minutes:

https://docs.google.com/document/d/1lv-8B5QE2m4FjBcvfqAXFIgQfW5oz6306zJ7GIZIWCk


samples/net/echo_server.c does not work with a stm32f407 discovery board and a enc28j60 module

clemence
 

Hi,

I tried the samples/net/echo_server.c with quemu and it works.

I try to do the same example with a stm32f407 discovery board and a enc28j60 module but it does not work.

First, I plug my pc and my board on a "D-LINK: DGS-108" switch. I use a a direct cable to plug my pc and my board to the switch (not a crossover cable).

Then, I add some configuration in prj.conf :

CONFIG_PRINTK=y

CONFIG_NETWORKING=y
CONFIG_NET_IPV6=y
CONFIG_NET_IPV4=y
CONFIG_NET_ARP=y
CONFIG_NET_UDP=y
CONFIG_NET_TCP=y

CONFIG_NET_DHCPV4=n
CONFIG_NET_MGMT=y
CONFIG_NET_MGMT_EVENT=y

CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=3
CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=2
CONFIG_NET_MAX_CONTEXTS=10

CONFIG_TEST_RANDOM_GENERATOR=y

CONFIG_INIT_STACKS=y

CONFIG_SYS_LOG=y
CONFIG_NET_BUF_LOG=n
CONFIG_SYS_LOG_NET_BUF_LEVEL=2
CONFIG_NET_LOG=n
CONFIG_NET_LOG_GLOBAL=y
CONFIG_SYS_LOG_NET_LEVEL=2
CONFIG_SYS_LOG_SHOW_COLOR=y

CONFIG_NET_APP_SETTINGS=y
CONFIG_NET_APP_MY_IPV6_ADDR="2001:db8::1"
CONFIG_NET_APP_MY_IPV4_ADDR="192.0.2.1"

CONFIG_NET_SHELL=y
CONFIG_KERNEL_SHELL=y

CONFIG_TELNET_CONSOLE=y
CONFIG_SYS_LOG_TELNET_CONSOLE_LEVEL=1

#Add to work on teh board stm32f4

# IP Stack Configuration
CONFIG_NET_ARP=y
CONFIG_NET_L2_ETHERNET=y
CONFIG_NET_BUF=y
CONFIG_NET_IF_UNICAST_IPV4_ADDR_COUNT=3
#CONFIG_NET_SOCKETS=y
#CONFIG_NET_SOCKETS_POSIX_NAMES=y
CONFIG_NET_MGMT=y
CONFIG_NET_MGMT_EVENT=y

# ENC28J60 Ethernet Device
CONFIG_NET_DEFAULT_IF_ETHERNET=y
CONFIG_ETH_ENC28J60=y
CONFIG_ETH_ENC28J60_0=y
CONFIG_ETH_ENC28J60_0_SPI_PORT_NAME="SPI_1"
CONFIG_ETH_ENC28J60_0_MAC3=0x2D
CONFIG_ETH_ENC28J60_0_MAC4=0x30
CONFIG_ETH_ENC28J60_0_MAC5=0x36
CONFIG_ETH_ENC28J60_0_GPIO_PORT_NAME="GPIOA"
CONFIG_ETH_ENC28J60_0_GPIO_PIN=3
CONFIG_ETH_ENC28J60_0_SPI_BUS_FREQ=2000000
CONFIG_ETH_ENC28J60_0_SLAVE=1
CONFIG_ETH_EN28J60_0_FULL_DUPLEX=y
CONFIG_ETH_EN28J60_TIMEOUT=100
#CONFIG_ETH_ENC28J60_0_GPIO_SPI_CS=y
#CONFIG_ETH_ENC28J60_0_SPI_CS_PORT_NAME="GPIOA"
#CONFIG_ETH_ENC28J60_0_SPI_CS_PIN=4

# SPI
CONFIG_SPI=y
CONFIG_SPI_STM32=y
CONFIG_SOC_FAMILY_STM32=y
CONFIG_SPI_STM32_HAS_FIFO=y
CONFIG_SOC_SERIES_STM32F4X=y
CONFIG_SPI_STM32_INTERRUPT=y
CONFIG_SPI_INIT_PRIORITY=70
CONFIG_SYS_LOG_SPI_LEVEL=2
CONFIG_SPI_CS_GPIO=y
CONFIG_SPI_1=y
CONFIG_SPI_1_NAME="SPI_1"
CONFIG_HAS_DTS_SPI=y
CONFIG_SPI_1_IRQ_PRI=0
#CONFIG_SPI_1_DEFAULT_CFG=0x80
#CONFIG_SPI_1_DEFAULT_BAUD_RATE=500000
#CONFIG_SPI_1_CS_GPIO_PORT="GPIOA"
#CONFIG_SPI_1_CS_GPIO_PIN=4

# Stm32f4discovery
#CONFIG_TELNET_CONSOLE_DEBUG_DEEP=y
#CONFIG_NET_DEBUG_IF=y
#CONFIG_SYS_LOG=y
#CONFIG_NET_LOG=y
#CONFIG_SYS_LOG_NET_LEVEL=4
#CONFIG_SYS_LOG_SHOW_COLOR=y


I add a router and a address on my pc:

sudo ip route add 192.0.2.0 dev enxa44cc8e28bfb

sudo  ip addr add 192.0.2.2 dev enxa44cc8e28bfb


Then I execute the code with "cmake -GNinja -DBOARD=stm32f4_disco ..". There is no error.

I flash on the board with "ninja flash". There is no error message display on my console.

When I do a "telnet 192.0.2.1", the connection is not made. I also try to make "ping 192.0.2.1" and it does not work.

I try to do the same without the switch (plug my pc direcly to the board) and it does not work.

What can I do to make it work, please ?

Thanks

Clemence


Re: [Zephyr-users] 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]

3381 - 3400 of 7811