Re: Zephyr BLE Controller Nordic - BLE qualification process
Carles Cufi
Hi Frank,
Regarding licensing, I have no real information there, I would recommend you check with an expert. Regarding qualification, yes, the link you sent is correct. Zephyr has a qualified controller and host, and BlueZ has several qualification as someone else pointed out.
Regards,
Carles
From: devel@... <devel@...>
On Behalf Of frv
Sent: 21 November 2018 08:49 To: devel@... Subject: Re: [Zephyr-devel] Zephyr BLE Controller Nordic - BLE qualification process
[Edited Message Follows] Hi Carles, |
||
|
||
Ble mesh stack not compatilbe with c++
#ble
#bluetoothmesh
robert.konc@...
Hi,
When could we expect that blemesh code will be usable in c++. Most header files in zephyr are compatible with c++ but not ble mesh headers. No #ifdef __cplusplus in headers. Regards, Robert |
||
|
||
Leds_demo on nrf52840
#nrf52832
#zephyrbluetoothmesh
Akash Naidu <akashnaiduece@...>
HI All,
Recently i have started working on Zephyr RTOS to explore IPV6 over BLE.And i am totally new this. I would like to form a mesh network with PCA10059(5 boards) and PCA10040(1 boards) boards, and control the leds on boards. Now, i have been successfully established connection with nordic board and PC and was getting proper response from device(If i ping from PC). But i don't know how to control the LEDS. I have seen a demo example in "net/leds_demo", with this can we make a mesh network and control the LEDS? could you please help me to form a mesh network on IPV6 over BLE? if possible please suggest reference examples for nrf52 DK. And i am total new to IPV6 over BLE to form mesh network, so please provide suitable explanation about IPV6 over BLE to form mesh network in Zephyr RTOS. Advance in thanks. BR Akash. |
||
|
||
Re: Looking for help with SAMD2x
Bryan O'Donoghue
On 16/11/2018 17:28, Kumar Gala wrote:
Guys,Hi, Got buried in my inbox. Happy to help. I'm currently winding down a project on the SAM21 - I was planning on looking at the USB. I don't mind running some updates/tests/reviews as needed. Here to help, let me know what's required I can make time. |
||
|
||
Insufficient space for ccc even after unpair
dhguja@gmail.com
Hello, In the current upstream, i face the below problem with BLE and settings. I am running HID peripheral sample on nRF52832 board. I made a modification to call bt_unpair() before starting the advertisement. This ensures that unpair is called everytime i reset the device and i am able to connect to next device(since CONFIG_BT_MAX_PAIRED = 1). This is just to minimize my real application scenario to be able to connect to new host and also to reproduce this issue. 1) connect board to first android phone. device is connected and bonded. 2) Now i restart the device and also switch off BLE in the first phone. 3) connect board to second android phone. device is connected and bonded. 4) Now i restart the device and also switch off BLE in the second phone. 5) connect board to third phone. device is connected and bonded. 6) Now a warning is printed in the logs as below "<wrn> bt_gatt: bt_gatt_attr_write_ccc: No space to store CCC cfg" 7) This happens when host subscribes for HID service. CCC is not updated. This affects the ability to send data to this third host. I also saw that bt_gatt_clear_ccc() is called inside bt_unpair(). Hence i made sure to call so that i will have clear space for the new host i want to connect to. But still i get this warning everytime on the third host i want to connect. Is this a bug or should i call a different API than bt_unpair() to clear the space for the new host i want to connect to? Dhananjay GJ |
||
|
||
Re: HCI Host Not enough space in buffer
#hci
Hi,
On 23 Nov 2018, at 20.37, abaska@... wrote:Basically the code is assuming that the packet is valid, but the buffer sizes have simply been defined too small to fit the packet. In such a case discarding the rx.remaining bytes would be the correct thing since then the driver skips a valid but too long packet. In the case that you’re getting corrupt data (starting in the middle of a packet) it’s all a guessing game. You could discard everything indicated, like it does now, or try again with the next byte (in which case you’ll be repeating this until you get something that makes sense). Since the code needs to read (i.e. jump forward) at least the H4 + ACL/event headers, you don’t have any guarantee that you’ll ever hit a clean packet boundary. I’m not sure there’s any correct answer in how the host should behave, since either way this is an unreliable setup: you should ideally design your device so that you can force a reset of the controller (e.g. by power-cycling it) so that you know you start off in a known state. Johan |
||
|
||
HCI Host Not enough space in buffer
#hci
@abaska
Hi,
I have a HCI host and controller setup. When the host starts, and the controller had already been running, it sometimes begins reading in the middle of a HCI message from the controller. It reads the wrong HCI message type and length. This causes the buffer to completely fill where it errors out in h4.c, read_payload(), BT_ERR("Not enough space in buffer"). After this the host application does not recover and a power cycle is needed. I found a quick fix for this is to remove a line in h4.c read_payload(). I think it was meant to discard the rest of a message data if the buffer is full, but it looks like its assuming rx.remaining is valid. In this case, rx.remaining is invalid because it read the wrong byte as the length when it jumped into the middle of a HCI message. if (rx.remaining > net_buf_tailroom(rx.buf)) {
BT_ERR("Not enough space in buffer");
//rx.discard = rx.remaining; // fixes issue. it was discarding thousands of bytes
reset_rx();
return;
} I don't know what other consequences this quick fix will have. Is there a better way to fix this issue? Maybe check the message validity before it fills up the buffer? Thanks |
||
|
||
Re: Extracting iBeacon Advertisement Packets
Luiz Augusto von Dentz
Hi Martin,
toggle quoted message
Show quoted text
There is an API to help parsing advertisements: https://github.com/zephyrproject-rtos/zephyr/blob/master/include/bluetooth/bluetooth.h#L480 It will call the callback given for each data type found, for instance the sample on the site has flags + manufacturer data, you probably are only interested in the second. You can also parse the UUID using: https://github.com/zephyrproject-rtos/zephyr/blob/master/include/bluetooth/uuid.h#L48 On Thu, Nov 22, 2018 at 12:50 AM Martin <ma@...> wrote:
--
Luiz Augusto von Dentz |
||
|
||
Re: How to flash static mac address into zephyr ?
#nrf52832
frv
Sorry Joe, I will no longer this.
Thanks for reporting it. Frank |
||
|
||
Re: How to flash static mac address into zephyr ?
#nrf52832
Johannes Hutter
btw, Frank: Are you editing your messages over the web interface? It really scrambles up the threads on the mailing list and it's hard to tell what was edited. On Thu, Nov 22, 2018 at 10:03 AM icephyr <sxzxchen@...> wrote: Thanks you guys, it helps a lot. I think this will solve my problem, I will have a try then. --
|
||
|
||
Re: How to flash static mac address into zephyr ?
#nrf52832
icephyr
Thanks you guys, it helps a lot. I think this will solve my problem, I will have a try then.
|
||
|
||
Re: How to flash static mac address into zephyr ?
#nrf52832
Johannes Hutter
Just for your information: There is a PR that adds UICR support to the nrfx flash driver: https://github.com/zephyrproject-rtos/zephyr/pull/11410 Best Regards Joe On Thu, Nov 22, 2018 at 9:55 AM frv <F.Vieren@...> wrote:
--
|
||
|
||
Re: How to flash static mac address into zephyr ?
#nrf52832
Hi icephyr,
I'm far from a Zephyr BLE expert, but I had this process in mind what could be a solution. As Nordic doesn't store a public BLE device address in flash I would try to implement the following steps:
Best regards, Frank |
||
|
||
How to flash static mac address into zephyr ?
#nrf52832
icephyr
Hi guys,
I met a problem and hope someone can help me here. I want to use nrf52832 as a tag device and can locate it by its mac address, so I have to flash pre-assigned static address into nrf52832 running zephyr project, since nrf chip don't have a pre-assigned mac address. I wonder if there is any method to implement this function ? Thanks a lot if anyone can help. |
||
|
||
Re: Extracting iBeacon Advertisement Packets
Martin <ma@...>
Sorry, I was copying the wrong code..
toggle quoted message
Show quoted text
int i; //print adv. packet for(i=0;i<buf->len;i++) { printk("%d %02X\n",i, buf->data[i]); } //print major printk("maj: %d\n",((buf->data[25] & 0xff) * 0x100 + (buf->data[26] & 0xff) )); Am Mi., 21. Nov. 2018 um 18:12 Uhr schrieb Martin <ma@...>:
|
||
|
||
Re: Extracting iBeacon Advertisement Packets
Martin <ma@...>
Well, simple enough.
toggle quoted message
Show quoted text
int i; for(i=0; i<5; i++) { printf("i%d\n", i+1); } prints the advertisement packet's bytes in decimals and includes the UUID acc. to the kontakt.io article. Hope this helps anyone... Martin Am Mi., 21. Nov. 2018 um 17:56 Uhr schrieb Martin <ma@...>:
|
||
|
||
Extracting iBeacon Advertisement Packets
Martin <ma@...>
Hi,
I am quite new to Zephyr and want to extract iBeacon Advertisement Packets. I already have access to them as a net_buf_simple structure, but I want to read the major and minor for example. I realize that I have to probably read some certain bytes out of net_buf_simple (according to https://support.kontakt.io/hc/en-gb/articles/201492492-Advertising-packet-structure). Can someone point me to a direction (function) to do this? Thanks, Martin |
||
|
||
Re: Zephyr BLE Controller Nordic - BLE qualification process
frv
Hi Luiz Augusto von Dentz,
Thank you very much for your reply. This should give me sufficient direction to go further. The idea for our BLE central oriented platform (two boards solution) is to run on the BLE Host board Linux and thus depending on BlueZ. The BLE controller runs on a Nordic board Zephyr (HCI_UART). Both boards will be bridged via a HCI uart(h4) transport layer. Our BLE peripheral oriented platform might be a pure single board Nordic BLE Host Controller approach depending on Nordic's SoftDevice for the BLE stack. Best regards, Frank |
||
|
||
Re: Zephyr BLE Controller Nordic - BLE qualification process
Luiz Augusto von Dentz
Hi,
On Wed, Nov 21, 2018 at 10:39 AM frv <F.Vieren@...> wrote: There is a listing for the Host Stack as well: https://launchstudio.bluetooth.com/ListingDetails/70189 Just wondering do we have extra concerns should we rely on the BlueZ stack at Host side except for the GPL licensing.Is your system going to run Zephyr or Linux/BlueZ as host stack? BlueZ daemon is GPL but that exposes APIs over D-Bus so you are not really linking to it, that said the qualification for BlueZ also depends on the Kernel. There is quite a few listings of BlueZ: https://launchstudio.bluetooth.com/ListingDetails/65535 https://launchstudio.bluetooth.com/ListingDetails/48333 https://launchstudio.bluetooth.com/ListingDetails/507 https://launchstudio.bluetooth.com/ListingDetails/12555 https://launchstudio.bluetooth.com/ListingDetails/7341 https://launchstudio.bluetooth.com/ListingDetails/17086 https://launchstudio.bluetooth.com/ListingDetails/7319 From looks of them the latest BlueZ listing is for version 5.48, though depending on the product they may have only some layers qualified not the entire stack. Update 9h38 21/11/2018 : -- Luiz Augusto von Dentz |
||
|
||
Re: Zephyr BLE Controller Nordic - BLE qualification process
Hi Carles,
Probably all is here for the qualification process, correct? : https://www.bluetooth.com/develop-with-bluetooth/qualification-listing Just wondering do we have extra concerns should we rely on the BlueZ stack at Host side except for the GPL licensing. Probably when relying on QT which is LGPL and wraps the BlueZ stack we don't have issues around strict GPL licensing? Update 9h38 21/11/2018 : Our company has a SIG account, so I have registered for a user account, to be able to fetch documentation and ask questions. Best regards, Frank |
||
|