We are using nordic's nrf52840_pca10056 chip on our custom board and on top of that zephyr's 'hci_uart' application is running. (Zephyr version v2.1.0).On our custom board, the host side(i.MX6ull) we are using Linux kernel (v4.19) and integrated Bluez's stack (v5.50) with it.
Zephyr's application gives access to the 'hci0' interface at the host side and We are able to scan nearby BLE device and beacon using BLUEZ test utility. Currently, we are performing the connection stability test with different range and for that we are trying to make a connection to BLE devices, Let's say connecting to the Nordic's nrf52840 dev kit which is flashed with Zephyr's Peripheral application(peripheral_csc). In this case, we just getting 18 meters line of sight (indoor environment), Connection starts dropping as soon as we put the wooden door obstacles in the path.
In this case, We have a concern regarding the 'Max Range' till which our custom board's nrf52840 chip would be able to maintain the connection with the dev kit.
Please note: We have flashed Beacon application on our custom board having "nrf52840_pca10056" chip and it was visible more than 100 meters of range. But with connectable devices, our custom board is not able to communicate the BLE device which is available more than 18 meters range.
Q1: How could we increase the connection range with a more stable connection?
In Zephyr's 'hci_uart' application,
1) We have changed 'Tx power' parameter to 8 dbm (Highest).
2) Enabled 'Coded PHY' along with the '2Mbps PHY' to increase the BLE range.3) We are using the RC oscillator crystal with "CLOCK_CONTROL_NRF_K32SRC_20PPM" option.
Q2: Are there any more parameters that we can enable from zephyr, which could help in increasing the long-range BLE communication?
Q3: As of now, We are using Bluez stack's & Linux kernel's default parameters, Is there any BLE connection parameters which could help in increasing the long-range BLE communication?