Date   

Is DFU working in Zephyr?

Li, Jun R
 

Hi Zephyr developers:

 

I’m trying to enable the DFU function inside the mcuboot bootloader so that I can use the bootloader to load a custom firmware file. I followed the sample “samples/subsys/usb/dfu/” and enabled the following options in MCUBOOT’s prj.conf:

 

CONFIG_USB_DEVICE_STACK=y

CONFIG_USB_DEVICE_PRODUCT="MCUboot DFU"

CONFIG_USB_DFU_CLASS=y

CONFIG_IMG_MANAGER=y

CONFIG_FLASH_PAGE_LAYOUT=y

 

And I also modified “main.c” to make it always wait for DFU instead of jumping to the slot 0. The bootloader can work normally, and I can see the following “dmesg” on the host computer:

[138144.555652] usb 2-2.1: new full-speed USB device number 29 using uhci_hcd

[138144.662455] usb 2-2.1: New USB device found, idVendor=2fe3, idProduct=0100

[138144.662458] usb 2-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[138144.662459] usb 2-2.1: Product: MCUBOOT

[138144.662460] usb 2-2.1: Manufacturer: ZEPHYR

[138144.662462] usb 2-2.1: SerialNumber: 0.01

 

It seems everything is ready. So, I ran the following command to try backing up the data in the slot 0:

sudo dfu-util -alt 0 --upload slot0_backup.bin

 

However, the command always fails with the following messages:

dfu-util 0.8

 

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.

Copyright 2010-2014 Tormod Volden and Stefan Schmidt

This program is Free Software and has ABSOLUTELY NO WARRANTY

Please report bugs to dfu-util@...

 

Opening DFU capable USB device...

ID 2fe3:0100

Run-time device DFU version 0110

Claiming USB DFU Runtime Interface...

Determining device status: state = appIDLE, status = 0

Device really in Runtime Mode, send DFU detach request...

Resetting USB...

dfu-util: Lost device after RESET?

 

Any idea how to resolve this issue?  The board I’m using is Nucleo-F429ZI, a ST-Micro eval board.

 

Regards,

Jun

 


Re: Web Server

lairdjm
 

Hi Nick,
HTTP support is set to be dropped soon last I heard yes, this is because it hasn’t been converted to use the new sockets API and has no active maintainer, that may change in the future.

You can do it multiple ways, the easiest would be to have static pages but have the dynamic data on specific URIs like /sensor returning a list of the data in JSON format and then having some AJAX on the webpage which gets this data and puts it where it is needed, it would require a web browser with JavaScript to function, but doesn’t require reloading the whole page to update the values on it.
Thanks,
Jamie


From: devel@... <devel@...> on behalf of via Lists.Zephyrproject.Org <Nicholas.Yameen=se.com@...>
Sent: Monday, April 15, 2019 7:02:46 PM
To: devel@...
Cc: devel@...
Subject: [Zephyr-devel] Web Server
 

EXTERNAL EMAIL: Be careful with attachments and links.

Hello,

 

I see there is an example for a dumb HTTP server for Zephyr in the samples folder. This example serves a single static web page when going to that IP address in a web browser. Is it possible to make a dynamic web page using Zephyr?

 

My use case is to have my FRDM-K64F board host the server and change values on the web page every couple seconds. The board will receive data and put it on the web page essentially. Is this possible?

 

I also read online that Zephyr removed its HTTP API. Would this affect me trying to build this application?

 

Regards,

Nick

Nicholas Yameen
R&D Engineer

D  978-975-9675 x59675
E  Nicholas.Yameen@...

800 Federal Street
Andover, MA 01810
United States

Blog Blog Blog Blog Blog Blog Blog 

*Please consider the environment before printing this e-mail

 

 


Web Server

Nicholas Yameen <Nicholas.Yameen@...>
 

Hello,

 

I see there is an example for a dumb HTTP server for Zephyr in the samples folder. This example serves a single static web page when going to that IP address in a web browser. Is it possible to make a dynamic web page using Zephyr?

 

My use case is to have my FRDM-K64F board host the server and change values on the web page every couple seconds. The board will receive data and put it on the web page essentially. Is this possible?

 

I also read online that Zephyr removed its HTTP API. Would this affect me trying to build this application?

 

Regards,

Nick

Nicholas Yameen
R&D Engineer

D  978-975-9675 x59675
E  Nicholas.Yameen@...

800 Federal Street
Andover, MA 01810
United States

Blog Blog Blog Blog Blog Blog Blog 

*Please consider the environment before printing this e-mail

 

 


Re: To bring back RPL to Zephyr project

Thiago Silveira
 

Hello Jian,

We do use the RPL module in our project, and we will keep using it in the future.

Unfortunately, as we are a very small team, we didn't have the resources to step up and maintain it then, and we don't have the resources now. If you do happen to bring it back and take the responsibility, I'd be glad to help in any way I can.

Best regards,
Thiago


On Fri, Apr 5, 2019 at 11:36 PM Jian Zhang <kernel@...> wrote:
Hi All,

I am kind of new to Zephyr dev community. Previously our team was using Zephyr without actively involved in kernel development.

Recently we just noticed that RPL module will be removed in the coming release. Because we are using Zephyr and RPL in the current project and probably will keep using it. I am thinking of bringing it back and take the responsibility to maintain it. 

Just want to check if the RPL module with Zephyr is used anywhere? In case it's not required by anyone else, it probably would be easier for us to maintain our own branch.

Please let me know if you guys have any thoughts.

Thanks and Best Regards,
Jian





Re: Support for Open Supervised Device Protocol (OSDP) in Zephyr

Thea Aldrich
 

Hi Sid,
Thanks so much for reaching out.  Let me do some asking around as to which working group within Zephyr Project can best look into and,  if things align, help with coordination. I'll be back with more specific information on Monday. Thanks so much for your patience!

Best, 
Thea


On Sat, Apr 13, 2019, 1:54 PM Siddharth Chandrasekaran <siddharth@...> wrote:
Hi,

Can anyone comment on this? It'd be helpful to know such information earlier on.

Sid.

 ---- On Sun, 07 Apr 2019 00:39:04 +0530 Siddharth Chandrasekaran <siddharth@...> wrote ----
 > Hello,
 >
 > I'm working on an project that involves Open Supervised Device Protocol (OSDP) [1], an access control communication protocol used in the security industry. I'm working on this as an application at this point but I think this protocol may be useful for others too. So I'm looking at options for upstreaming it.
 >
 > I would like to know if this is something that the upstream is interested at this point. If so, some pointers on where to add such protocol implementations and other references would be of help.
 >
 > Thanks,
 > Sid.
 >
 > [1]: https://www.securityindustry.org/industry-standards/open-supervised-device-protocol/
 >
 >





Re: Support for Open Supervised Device Protocol (OSDP) in Zephyr

Siddharth Chandrasekaran
 

Hi,

Can anyone comment on this? It'd be helpful to know such information earlier on.

Sid.

---- On Sun, 07 Apr 2019 00:39:04 +0530 Siddharth Chandrasekaran <siddharth@embedjournal.com> wrote ----

Hello,
>
> I'm working on an project that involves Open Supervised Device Protocol (OSDP) [1], an access control communication protocol used in the security industry. I'm working on this as an application at this point but I think this protocol may be useful for others too. So I'm looking at options for upstreaming it.
>
> I would like to know if this is something that the upstream is interested at this point. If so, some pointers on where to add such protocol implementations and other references would be of help.
>
> Thanks,
> Sid.
>
> [1]: https://www.securityindustry.org/industry-standards/open-supervised-device-protocol/
>
>


Board: Adafruit ItsyBitsy M0 Express

ulrich.althoefer@...
 

Hello everyone,
the board 'Adafruit Trinket M0' is supported by the Zephyr project.
Is it planned to support the board 'Adafruit ItsyBitsy M0 Express' in the future?
Thanks for your answer.


Re: New bee

Thea Aldrich
 

Hi Siva,
In that case, I would start by checking the GitHub Issues and search the opens with the label "Platform: nRF." IIRC it will be purple. 

I recommend starting out with low priority bugs for a first commit. They will be tagged with the green label "low." Some issues may already have a pull request associated with it so make sure to check in the history and comments section prior to getting started on your solution. You can find the code style and commit guidelines in the Contributor Guide

Hope that helps.

Best,
Thea



Best,
Thea

On Thu, Apr 11, 2019 at 11:19 PM Siva Subrahmanyam <nallamalli.siva@...> wrote:
Hi Aldrich,

I want to work on device side first & later move on to bluetooth, I got a bunch of nrf52 boards.

Regards,
Siva.

On Wed, Apr 10, 2019 at 6:49 PM Thea Aldrich <aldrich.thea@...> wrote:
Hello Siva,
Welcome to the Zephyr Project! Thank you so much for your interest in participating. I can also help connect you with the teams working on specific subsystems or initiatives you're interested in. Would you like to continue working on BLE or would you like to explore other areas? 

I have included a few links below to help you get acquainted with our process, etc. 


Please let me know if you have any questions. I am here to help you get started as a contributor and connect you with the rest of our incredible community. And again, welcome!

Best,
Thea Aldrich
Zephyr Project Developer Advocate

On Wed, Apr 10, 2019 at 7:05 AM Siva Subrahmanyam <nallamalli.siva@...> wrote:
Hi,

I want to contribute my weekend time on development/maintenance activity on any opensource project. Right now i am working for IOT Start up working o BLE 4.0 using Nordic chips.

So i thought going with zephyr project. please let me know how to
start/contribute further.

Regards,
Siva.


nRF52840 and LSM303AGR accelerometer (SPI) #nrf52840

Arkadiusz Cichocki
 

Hi,

I'm trying to read data from the LSM303AGR accelerometer using SPI. The microcontroller which I use is nRF52840. I want to use the LIS2DH driver which is implemented in Zephyr.

I added the following device description to the board's device tree:

&spi1 {
    status = "ok";
    sck-pin = <5>;
    mosi-pin = <4>;
    miso-pin = <6>;
    cs-gpios = <&gpio0 22 0>, <&gpio0 25 0>;

    lsm303agr_acc0: lis2dh@0 {
        compatible = "st,lis2dh";
        reg = <0>;
        spi-max-frequency = <1000000>;
        irq-gpios = <&gpio0 2 GPIO_INT_ACTIVE_LOW>, <&gpio0 3 GPIO_INT_ACTIVE_LOW>;
        label = "LSM303AGR_ACC_0";
    };
};

It corresponds to the connections of the real device.

I check the correctness of the operation using the example code from 
here:

https://github.com/zephyrproject-rtos/zephyr/tree/master/samples/sensor/lsm303dlhc

I have removed magnetometer related part of the code and changed config from SPI to I2C in prj.conf file too.

Unfortunately, measurements fail.

 

Does anyone have any experience with the presented configuration? Thanks in advance for any suggestions.

 

Best regards,

Arek

 


Re: New bee

Siva Subrahmanyam
 

Hi Aldrich,

I want to work on device side first & later move on to bluetooth, I got a bunch of nrf52 boards.

Regards,
Siva.


On Wed, Apr 10, 2019 at 6:49 PM Thea Aldrich <aldrich.thea@...> wrote:
Hello Siva,
Welcome to the Zephyr Project! Thank you so much for your interest in participating. I can also help connect you with the teams working on specific subsystems or initiatives you're interested in. Would you like to continue working on BLE or would you like to explore other areas? 

I have included a few links below to help you get acquainted with our process, etc. 


Please let me know if you have any questions. I am here to help you get started as a contributor and connect you with the rest of our incredible community. And again, welcome!

Best,
Thea Aldrich
Zephyr Project Developer Advocate

On Wed, Apr 10, 2019 at 7:05 AM Siva Subrahmanyam <nallamalli.siva@...> wrote:
Hi,

I want to contribute my weekend time on development/maintenance activity on any opensource project. Right now i am working for IOT Start up working o BLE 4.0 using Nordic chips.

So i thought going with zephyr project. please let me know how to
start/contribute further.

Regards,
Siva.


Re: Enable ethernet on STM32F4 boards?

Erwan Gouriou
 

Hi Jun,

I had it working on basic samples like dns_resolve (on latest master).
Are you facing some issues ?

Erwan


On Wed, 10 Apr 2019 at 23:49, Li, Jun R <jun.r.li@...> wrote:

Hey Zephyr developers,  

 

Wondering if anyone has tried bringing up the internal Ethernet phy on any STM32F429 boards, like NUCLEO-F429ZI and testing it with any samples? Can you share some experience on this if so?

 

Thank you!

 

Jun Li


Re: Mocking with ztest

Jan Van Winkel
 

Hi Kim,

I bumped into the similar issue and the solution was to use ztest together with the native_posix target to implement my unit tests.

Also see following issue on github:

Best Regards,
Jan

On Thu, Apr 11, 2019 at 1:23 PM Kim Bøndergaard <kim.bondergaard@...> wrote:
Hi Zephyr developers

I'm looking at ztest as a means to test our application code.
I've managed to command sanytycheck to run at our 'out of tree' projects. That's all fine.

Next issue is mocking. Fx. to make some accelerated tests or to test some special corner case scenarios I need to force timers to expire.
I have successfully added a 'timer wrapper' which by default (for target app builds) calls the k_timer_xxx functions while in ztest builds I implement special mock functions so I can e.g. catch the struct k_timer object or the expiry callback. They are typically static within the MUT (Module Under Test).
I don't like though that application developers have to call none-zephyr functions.
I furthermore fear we will end up mocking also lots of other interfaces - even though it might be as simple as 'unconfig'ing them. But that seems not possible with the kernel.

I'm also looking a bit into the K_SYSCALL_DECLARE* macros? Can they somehow solve my problem? But e.g k_timer_init() is not defined by such macro?

Anyone having any input to this problem?


Mocking with ztest

Kim Bøndergaard
 

Hi Zephyr developers

I'm looking at ztest as a means to test our application code.
I've managed to command sanytycheck to run at our 'out of tree' projects. That's all fine.

Next issue is mocking. Fx. to make some accelerated tests or to test some special corner case scenarios I need to force timers to expire.
I have successfully added a 'timer wrapper' which by default (for target app builds) calls the k_timer_xxx functions while in ztest builds I implement special mock functions so I can e.g. catch the struct k_timer object or the expiry callback. They are typically static within the MUT (Module Under Test).
I don't like though that application developers have to call none-zephyr functions.
I furthermore fear we will end up mocking also lots of other interfaces - even though it might be as simple as 'unconfig'ing them. But that seems not possible with the kernel.

I'm also looking a bit into the K_SYSCALL_DECLARE* macros? Can they somehow solve my problem? But e.g k_timer_init() is not defined by such macro?

Anyone having any input to this problem?


Enable ethernet on STM32F4 boards?

Li, Jun R
 

Hey Zephyr developers,  

 

Wondering if anyone has tried bringing up the internal Ethernet phy on any STM32F429 boards, like NUCLEO-F429ZI and testing it with any samples? Can you share some experience on this if so?

 

Thank you!

 

Jun Li


Re: New bee

Thea Aldrich
 

Hello Siva,
Welcome to the Zephyr Project! Thank you so much for your interest in participating. I can also help connect you with the teams working on specific subsystems or initiatives you're interested in. Would you like to continue working on BLE or would you like to explore other areas? 

I have included a few links below to help you get acquainted with our process, etc. 


Please let me know if you have any questions. I am here to help you get started as a contributor and connect you with the rest of our incredible community. And again, welcome!

Best,
Thea Aldrich
Zephyr Project Developer Advocate

On Wed, Apr 10, 2019 at 7:05 AM Siva Subrahmanyam <nallamalli.siva@...> wrote:
Hi,

I want to contribute my weekend time on development/maintenance activity on any opensource project. Right now i am working for IOT Start up working o BLE 4.0 using Nordic chips.

So i thought going with zephyr project. please let me know how to
start/contribute further.

Regards,
Siva.


New bee

Siva Subrahmanyam
 

Hi,

I want to contribute my weekend time on development/maintenance activity on any opensource project. Right now i am working for IOT Start up working o BLE 4.0 using Nordic chips.

So i thought going with zephyr project. please let me know how to
start/contribute further.

Regards,
Siva.


More apps sharing the same building system #nrf52840

Gabriele Filosofi
 

Hello,
I'm new to Zephyr.
The online guide is focused on building one single app. The application directory is myprojects/app, the source code directory is myprojects/app/src, etc.
The question is how to make more apps to share the same cmake building system ?
I've failed by creating a second folder myprojects/app1 and adjusting the CMakeLists.txt accordingly.

Thank you for your help

Gabriele


Re: Process HCI_UART BLE Connectivity updating FW in the field

frv
 

Hi Carles,

Ok thanks for this feedback! A next challenge coming, the learning process continuous. 

br,
Frank


Re: Process HCI_UART BLE Connectivity updating FW in the field

Carles Cufi
 

Hi Frank,

 

If you don’t have a debug connection between the iMX and the nRF52832 then you need to use the UART to update the firmware. In order to achieve that you will need to use a bootloader to swap images between 2 banks, because without a debugger that is the usual approach.

MCUboot is an open source bootloader that allows you to perform firmware upgrade indirectly (i.e. the application that is running receives and stores an image in the second slot and then reboots so that MCUboot swaps it) or directly  using a “recovery mode”: The chip running MCUboot boots into its recovery mode and then listens on the UART for commands which allow for a new image to be uploaded.

 

This is achieve through the BOOT_SERIAL option in MCUboot:

https://github.com/JuulLabs-OSS/mcuboot/blob/master/boot/zephyr/Kconfig#L190

 

Unfortunately it is not very documented at this point, but the idea is that you boot the nRF52832 with a pin set to a value (high or low):

https://github.com/JuulLabs-OSS/mcuboot/blob/master/boot/zephyr/Kconfig#L236

 

and that triggers serial recovery mode, where MCUboot waits for commands on the UART to upload a new image.

 

The tool that can be used to send that image is mcumgr, and the process is almost the same to using mcumgr with indirect firmware upgrade. To install mcumgr:

$ go get github.com/apache/mynewt-mcumgr-cli/mcumgr

 

And then you can create a serial connection profile with it and start uploading images.

 

Carles

 

 

From: Vieren Frank <F.Vieren@...>
Sent: 10 April 2019 09:26
To: devel@...; Cufi, Carles <Carles.Cufi@...>
Subject: Process HCI_UART BLE Connectivity updating FW in the field

 

Hi Carles, all,

 

What is the best way to do a firmware update in the field? What it is possible?

 

So far in the lab, I have a proto board with a nrf52832 chip onboard and also a JTAG connector. The JTAG connector of the proto board is connected to the DEBUG connector of nRF52 DK and is used for flashing the FW.

 

Of course this process is not applicable for field updates.

 

So far I found some documentation on how to proceed when wanting to do the upgrade FW process in the field.

 

Also I want to be sure all the pinning required is present not just for operating the nrf52 as BLE connectivity chip.

The idea is just to connect the nrf52832 with its UART pins to one of the main processor's (IMX6 UL-S) UARTs. And also to have the reset accessible. 

 

I'm wondering is this sufficient, and not having to have other pins to be controllable for the upgrade process?

 

How does the mcuboot fits in this story?

 

Not full understand this statement in the topic that is embedded in this topic.

"No, it's the same UART, but you'll need to reboot into MCUboot's serial recovery mode, update the image and then reboot back into the new image."

 

Thanks in advance, 

 

Best regards,

Frank

  


Re: #bluetoothmesh Help for sending and receiving messages through mesh #bluetoothmesh

paul.leguennec@...
 
Edited

Hi Johan,
Thanks for your quick response.

All application-level messaging with mesh is always in the context of models. I’d suggest familiarising yourself with the Mesh Model Specification to see if any of the standard models suits your needs.
I already have gone through the mesh model spec, but I don't think there is a model that I could use to do what i want. I would like to send a message looking like this : UUID_A, UUID_C, RSSI_C.
I have not found a model that allows me to send a specific message (I might be wrong of course), so I don't know what model or at least what kind a model I could use.
EDIT : I think I will have to create a new model (a vendor model if I am right). I don't know if there is some kind of guide to do so, but there is a vendor model in the onoff_level_lighting_vnd_app that I could rely on it's implementation.

The heartbeat is a mesh transport layer feature. You can find a description of it in section 3.6.7 of the Mesh Profile Specification. The sending and receiving of heartbeat messages is configured using the configuration model, however it sounds like this is not what you are looking for since the heartbeat message is not extensible with any additional payload.Since you say you need periodic sending it sounds like periodic publishing for a model is what you are after (see section 3.7.6.1 in the Mesh Profile specification). Model publishing is also configured using the configuration model.
I did not see this section, thanks for the info.

Zephyr doesn’t support acting as provisioner or a configuration client (except for local configuration), however many of the mesh apps available for phones can do this (e.g. nRF Mesh). Did you have something specific in mind to use as the provisioner and configuration client?
I am using nRF Mesh to act as a provisioner right now.

I’m not sure I understand your question, however it is possible for a Mesh node to listen for other advertising packets, such as those coming from a non-mesh beacon. At the moment we’re missing a clean API for it, so you’d need to modify the scan callback (bt_mesh_scan_cb function) in subsys/bluetooth/host/mesh/adv.c to handle any non-mesh advertisements.
You did understood what I meant. I will look further into it once I will be able send a message in my mesh network.

Regards,
Paul.

2121 - 2140 of 8041