Bluetooth low energy and wifi 2.4 Ghz interference on osx - macos

I'm currently working on 2 applications (one on iOS and the other on Mac) that are communicating using Bluetooth Low Energy (Bluetooth 4.0).
I develop these applications using CoreBluetooth on iOS 8 and OS X Yosemite.
I'm facing the following issue :
On my Mac, if the Wifi is turned OFF or if it is connected to a 5 Ghz wifi network, I have a stable Bluetooth connection between the iPhone and the Mac. No problem.
If my Mac is connected to a 2.4 Ghz Wifi network and if I have at least one Bluetooth device connected like a keyboard, trackpad, mouse... (using Classic Bluetooth), I have a stable Bluetooth connection between the iPhone and the Mac. No problem.
If my Mac is connected to a 2.4 Ghz Wifi network, the Bluetooth connection becomes unstable : the connection is stopped almost every 10 seconds and in Xcode I get an error message telling that the connection had an unexpected timeout.
I spent days on the Internet to try to figure out what I can do.
The best answer I found was this answer : CoreBluetooth and Wifi interference
But it means that I have to tell to my app's users to run this script and reboot their computer which is not for me a viable solution for production.
I also heard something about dealing with classical bluetooth peripherals (maybe to simulate one) or Wifi interfaces, but I found no solutions involving these kinds of manipulations.
Does anyone have an idea about something that I can do ? A workaround about the OSX Bluetooth management, the Wifi interfaces ?
I really need help about this issue.
Thank you very much in advance for your help.

Related

"No ST-LINK connected!" issue with Nucleo-F413ZH

I'm trying to flash a basic LED blinking program to my Nucleo F413ZH board using the STM32CubeIDE, but whenever I try to debug it says:-
"No ST-LINK connected! Please connect ST-LINK and restart the debug
session."
The board has the PWR and COM LEDs blinking, meaning the USB I've connected to the board is providing power, I just can't upload any code.
I've tried using the ST-LINK upgrade firmware (https://www.st.com/en/development-tools/stsw-link007.html) to install new drivers as that's what some people online have suggested but the program won't respond once I've downloaded it, which seems to be a side issue of not registering connectivity.
I'm not sure whether this is an issue with drivers or if my hardware is busted. I'm using macOS Big Sur.
In Windows 10 this problem occurs as a result of an incorrect driver priority as pointed out in this post. Error in initializing ST-Link Device - Failed to connect to device perhaps this solution might point you in the right direction. I have set up several new M1 Mac Minis in the past few months for clients, Big Sur and the new M1 have several compatibility issues like slow network drive access and flashing screens, the Android M1 chip has dramatically less external connectivity which is why they went from 4 thunderbolt ports on the last intel Mac Mini to just 2. I would not be surprised if Big Sur is the core of the problem. Try a different computer if you have the opportunity.
I was also getting the same error on ubuntu system while using stm cube ide, with st-link v2 programmer.
blue led was continuously blinking.
but solved the error just by reconnecting the usb-extention-hub, now when connected blue led is on (no blink), and now i can program and debug the target.

USB Serial reset every 15 minutes [Win 10]

I am developing on an ARM Mbed board which connects to my Windows laptop over USB. I've just moved to a new Dell laptop running Win 10 [from a Dell laptop running Win 7] and I find that the laptop resets my development board every 15 minutes.
There are two things that will cause the ARM Mbed board to reset:
powering down/up the USB connection
sending "break" via the USB serial driver.
When the reset occurs there is nothing of note in the Windows event logs. I have all of the "allow Windows to power me down" boxes unticked on the USB hubs in System devices and in the Control Panel power management options.
Does anyone have any suggestions on how I (a) debug what's going on or (b) fix/workaround the problem? I've not yet tried connecting via a powered USB hub, will do that next...
I had the same issue using a FRDM-K64F running mBed and communicating over a USB COM port to a Windows 7 Dell machine. The communication would sometimes drop out. As #Rob suggested, uninstalling the Dell Support Assist Agent completely fixed the issue.
Just adding this answer as it was very difficult to find any information using google.
Another note in support of this solution for google...
I have a Dell 5480 running Windows 10, and started using from ST Nucleo boards on it. I've used the exact same boards at work, with no problems. Every 15minutes or so the board was reset.
I tried disabling the Dell Support Assist services but this did not seem to fix the problem.
Removing the programs did make the Nucleo work.

Windows 8.1 Bluetooth Low Energy Behavior

I'm looking into programming Bluetooh Low Energy on Windows 8.1 and have a few questions about its behavior on auto-reconnecting to BLE devices after the connection is termiated:
How long will this auto-reconnect feature timed out? Or is it as long as you subscribe to BLE notifications and attempt to read/write data to it?
Will it reconnect if I restart Windows and my application?
How many devices can Windows remember to reconnect? Is it as many as the number of devices my app can connect to?
Where did you read about auto-connecting algorithm for Bluetooth devices in Windows 8.1. As far as I know, it is not possible to perform any kind of auto-connection, so all connection establishment has to be done manually in Windows 8.1 Bluetooth settings.
If your device is in connected state and you restart your PC for some reason, it will still show your device in the list but as "Not Connected" state. So you manually have to remove the device, and then pair it again.
I made a test, where I connected to two devices and read notifications from them both at the same time. What do you mean by app ?. A Smartphone application or ?.
All in all there is a lack of efficiency using Windows 8.1 for BLE applications, since all scanning and connection establishment functionalities have to be done in Windows 8.1 settings rather than in your Windows application, which restricts some important algorithms like auto-connection based on RSSI values and so on.

Maintaining a Windows Bluetooth Connection

I'm manufacturing a device that connects to my computer using Bluetooth and then a desktop Java app uses the Bluetooth connection to send serial data to the device which is then displayed.
When I try to connect my device to windows 7 it successfully finds and pairs with it creating a Bluetooth link on a COM port. This link can then be used by a serial prompt (used for testing) or my Java application. It works initially however soon after windows drops the connection and the only way to reconnect is to delete the device within devices and printers and then reconnect.
This seems to be a known problem with windows bluetooth so I decieded to use a third party Bluetooth application. I downloaded and tried Toshiba's Bluetooth Stack and it was able to add a Bluetooth device and keep a stable connection which works great however this only works for Toshiba computers without getting a cracked version.
This device is commercial and can't be sold with cracked versions of software. Has anybody experienced the same problems or not in other operating systems and has any solutions of advice as that would be a tremendous help.
This is not a good idea/method to use the COM ports generated by Windows, it's not working fine and not reliable in any scenario ; you should use Bluetooth Sockets instead.
Using Toshiba or Widcomm or BleuSoleil won't help: under Win7, all dongles are now trying to use the Microsoft Stack, not their own implementation.

Keyboard and Bluetooth killed when establishing FTDI USB Serial connection

Okay, when I establish a connection using LabVIEW or Python to my Arduino Duemilanove (ATMega328) either my Bluetooth or keyboard is killed.
I am simply trying to establish a connection to /dev/cu.usbserial-A9007UZh (or tty.usbserial-A9007UZh, but that seems to kill the keyboard or bluetooth even after Terminal is shut down when using python).
I am on a MacbookPro, and I have found that the keyboard is on the same USB hub that one of the two USB slots is on, and the bluetooth is on the same USB hub that the other of the two USB slots is on, which explains the association between those two devices - but what is causing the loss of the other devices?
when I use Arduino (programming IDE) or Cornflake to open a serial connection there are no errors -- and everything works as expected. This just seems to happen with LabVIEW and Python.
I am on Snow Leopard 10.6.2 and have the latest FTDI USB drivers and am running in 32-bit mode.
Based on correspondence with FTDI, there seems to be a known problem with OS X drivers that can result in "complete system crash" from which "there is no way to recover". They recommend architecting software to use a dedicated thread for serial communications to ensure input data (aka, data transmitted by the device and received by OS X) is read promptly.
They mention that new "certified" (signed?) drivers should be available for OS X in Spring 2015, but don't mention if this particular problem will be solved in this new release.
Anecdotally, I have not experienced Bluetooth/keyboard crashes using OS X 10.10.2 with the built-in AppleUSBFTDI.kext drivers.

Resources