Blutooth connection fails on Window 7 - bluetooth

I am trying to connect bluetooth handset device from windows 7 and above using below link
https://code.msdn.microsoft.com/windowsdesktop/Bluetooth-Connection-e3263296
Windows 10 is succesfuuly able to pair and connect the device but on window 7, device is only paired, socket connect is always failed with error code 10060.
we are using Blietooth API "BluetoothFindFirstDevice" and "BluetoothFindNextDevice" to scan devices and "BluetoothAuthenticateDeviceEx" for sending authentication request to a remote Bluetooth device. On window 7 bluetooth devices shows the handset under paired devices. but socket connect fails.
Does connecting to Blutooth device on window 7 using below API is possible?
I am trying to connect bluetooth handset device from windows 7 and above using below link
https://code.msdn.microsoft.com/windowsdesktop/Bluetooth-Connection-e3263296
Windows 10 is succesfuuly able to pair and connect the device but on window 7, device is only paired, socket connect is always failed with error code 10060.
we are using Blietooth API "BluetoothFindFirstDevice" and "BluetoothFindNextDevice" to scan devices and "BluetoothAuthenticateDeviceEx" for sending authentication request to a remote Bluetooth device. on window 7 bluetooth devices shows the handset under paired devices. but socket connect fails.
Does connecting to Blutooth device on window 7 is possible using above API,s.
https://msdn.microsoft.com/en-us/library/windows/desktop/cc766819(v=vs.85).aspx

Related

Bluez L2CAP CoC to Android / iOS Credit based flow failing

I've been trying to get a connection from Android using createL2capChannel or createInsecureL2capChannel (and iOS) to a Raspberry Pi which has created a BTPROTO_L2CAP SOCK_SEQPACKET Bluetooth socket which it is accepting, running Bluez 5.50 but they are failing at the LE Credit Based Flow step.
Running WireShark with a nRF BLE sniffer I see it is failing at the LE Credit Based Connection Response with LE_PSM not supported:
Command: LE Credit Based Connection Response
Command Code: LE Credit Based Connection Response (0x15)
Command Identifier: 0x02
Command Length: 10
Destination CID: Null identifier (0x0000)
MTU: 0
MPS: 0
Initial Credits: 0
LE Result: Connection Refused - LE_PSM Not Supported (0x0002)
I've tried various PSMs: 0x1001, 0xf3, 0x25 without any difference.
I have also seen that BlueKitche BTStack works, so I know the iOS / Android code is OK.
Does anyone know how to actually configure Bluez to correctly support LE L2Cap CoC credit based flow on the Pi?
Solved thanks to the Bluez Slack channel.
I followed https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools/l2test.c#n573 to get the correct settings from do_listen().

Unable to connect Arduin Uno with inbuilt wifi to internet

(https://i.stack.imgur.com/9Vx5t.jpg)
This is the board that I'm using Arduino Uno with inbuilt wifi. I'm unable to connect it to my wifi network
I tried doing what is mentioned in the link
https://www.trojanc.co.za/2017/11/05/arduino-uno-wifi-network-setup/
But the webpage won't open
Then I also tried uploading the code mentioned in below link to ESP8266 by pushing on 5th ,6th,and 7th dip switch
https://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/readme.html
But it still does not connect to the internet
On the terminal it shows
Hard resetting via rts pin
Nothing is visible on serial monitor or arduino IDE
Thanks in advance
There are some switch to control connection between USB, Atmega and ESP8266/Wifi
pin 1 and 2 on : Atmega connect to ESP8266 there is not connection to USB/Computer
pin 3 and 4 on : USB/Computer connect to Atmega, so you can upload a skecth
pin 5 and 6 on : USB/Computer connect to ESP8266/Wifi
make sure you have been setup this switch correctly depend on your need.

Android Things on RaspberryPi3 and HC-05 Bluetooth Classic

I am using Android Things preview 6 image on Raspberry Pi3. Now I have application that can connect to HC-05 when running on Android Phone but same application not able to connect to HC-05 when it is running on Raspberry Pi3 with Android Things.
I can see HC-05 is classic bluetooth device and Wondering as Android things not give popup to enter passkey is making the problem to connect the HC-05 or is there something I am missing
I am getting below error
ConnectThread run: IO Exceptionjava.io.IOException: read failed, socket might closed or timeout, read ret: -1
D/BluetoothSocket: close() this: android.bluetooth.BluetoothSocket#ea69040, channel: -1, mSocketIS: android.net.LocalSocketImpl$SocketInputStream#e5f1b79, mSocketOS: android.net.LocalSocketImpl$SocketOutputStream#173c0bemSocket: android.net.LocalSocket#3f7251f impl:android.net.LocalSocketImpl#284706c fd:java.io.FileDescriptor#c2cf635, mSocketState: INIT
D/BluetoothSocket: close() this: android.bluetooth.BluetoothSocket#4272aca, channel: -1, mSocketIS: android.net.LocalSocketImpl$SocketInputStream#5f2f43b, mSocketOS: android.net.LocalSocketImpl$SocketOutputStream#f7e2758mSocket: android.net.LocalSocket#ec3c0b1 impl:android.net.LocalSocketImpl#7f52996 fd:java.io.FileDescriptor#6129917, mSocketState: INIT
The problem with my HC-05 that it needs pin to pair with Android Things App and as Android Things dont have luxury of user interface we have to set the pin programmatically through app
After few mints of searching I found answer of how to set pairing pin through program from this post programmatically-pairing-with-a-ble-device-on-android-4-4 and it is working perfectly for me. no need to change anything in my app accept added broadcast receiver
Thanks

How to switch wifi channel without dropping connection?

We are developing small internet connected device that connects via wifi and does some work. It is controlled via mobile app.
For configuration purposes we use wi-fi module that can work in both STA + AP modes simultaneously via two interfaces wlan0 and wlan1. One of the interfaces works in Master mode. Phone connects to the device via wlan1 and sends command for the device to connect to another network and waits for result. Device in turn connects to another wi-fi network using wlan0 and notifies the phone if connection was successful or not.
But there is one issue. Both interfaces (wlan0 and wlan1) must work on the same channel as we have single hardware module. This causes channel of wlan1 to change in order to match of channel for wlan0.
Here comes the problem. When channel changes phone looses connection with the device. Is there a way to change wi-fi channel but keep connection between the device and mobile phone?
Our wi-fi module is rtl8723bu.
Linux 3.4.103.
Wifi daemons: hostapd v0.8.x_rtw_r7475.20130812_beta, wpa_supplicant v2.3.
UPDATE
Here is more clearly description what is going on on device.
Let's assume that the phone already connected to Device wlan1 interface with essid DeviceAp which is on channel 1. We have a Router with essid RouterAp which is on channel 6. Device interface wlan0 is not configured and not running.
(Step1 on image below).
Then the phone sends a request to the device to connect to RouterAp.
(Step2 on image below).
When wlan0 starts connecting to RouterAp it changes working channel. Because WiFi module can work only on one channel. The channel of wlan1 also changes (maybe in hard way). Therefore Phone lost DeviceAp and starts roaming.
(Step3 on image below).
SO the update question is:
Is there a way to tell the Phone (or other device) about network change? Or perhaps increase the likelihood that the phone is connected back to DeviceAP.
This behavior is very similar to the process of setting up Google Chromecast.
Chromecast also has two wireless interfaces and change the channel, but the Phone does not lose connection with it.
Image:
http://postimg.org/image/soh78vd17/

HID Connection to a remote device without SDP record

To connect a HID profile to a mouse/keyboard, HID_CONTROL and HID_INTERUPT channel with psm 17 and 19 needs to be connected. We find information using SDP record for the HID and then we establish a L2CAP connection to connect on the channels.
Is there any utility in bluez which can help me in connecting a input device. My keybaord/mouse does not support SDP record so when i use dbus signals(connect to a input device), it fails.
Are there any libraries provided within bluez with which i can connect to a device using BD_ADDR and PSM numbers without quering for device via SDP
Its possible using HIDD utility available, though hidd utility also does SDP and then connects, i tweeked the code with removing of code for SDP search, after that it did connect on control and interrupt channels. As my peer device was capable of PSM 17 and 19, it did accepted HID connection

Resources