-
• #2
Do you have something like adBlock/etc running on your web browser?
Also, it might be worth going to http://espruino.com/ide and seeing if you can communicate with the watch in any way.
... also, try: https://www.espruino.com/Bangle.js#resetting-without-loading-any-code
-
• #3
Do you have something like adBlock/etc running on your web browser?
No. I've tried disabling all my Chrome plugins and restarting Chrome - no difference.
Also, it might be worth going to http://espruino.com/ide and seeing if you can communicate with the watch in any way.
That just sits there saying 'Connecting'
... also, try: https://www.espruino.com/Bangle.js#resetting-without-loading-any-code
I've tried that - the same happens.
Could it be the Bluetooth in my laptop (a brand new MSI Prestige 14)? It seems to work OK for other things.
-
• #4
Hmm, OK. It looks like it may be something to do with my laptop or Chrome on my laptop. I tried Chrome on my Android phone, and that worked straight away.
Obviously, I don't really want to have to develop on my phone... So, what could be wrong on my laptop? Apparently, the Bluetooth adapter is v5.1 - I assume that's backwards compatible with Bluetooth v4. It's an Intel Wireless Bluetooth Wi-Fi 6 AX201 adapter.
As I say, my laptop connects to my phone, mouse, keyboard, gamepad etc all without any problems.
-
• #5
Are running the latest chrome browser version on your laptop?
-
• #6
I've the same issue. Although the very first time it did connect, after that it doesn't anymore.
However, I can also not see the apps on my mobile. It is able to connect to Bluetooth itself though.Edit: okay, when resetting without loading code it does work.
-
• #7
Are running the latest chrome browser version on your laptop?
Yep
"Google Chrome is up to date
Version 80.0.3987.149 (Official Build) (64-bit)" -
• #8
Is it possible you paired with the OS first? The way Web Bluetooth works it actually works a lot better if you don't pair first.
I'd expect that a Bluetooth 5.1 adaptor would be fine, but it does sound like there's something odd going on there. Have you got the latest drivers installed for it?
-
• #9
Is it possible you paired with the OS first? The way Web Bluetooth works it actually works a lot better if you don't pair first.
I didn't originally, and Web Bluetooth didn't work. Then I tried pairing it with the OS to see if it could pair (it could), and if it made the Web Bluetooth work (it didn't - Web Bluetooth couldn't even see the Bangle then). Then I unpaired it from the OS, and the Web Bluetooth still didn't work (but could see the Bangle again)
I'd expect that a Bluetooth 5.1 adaptor would be fine, but it does sound like there's
something odd going on there. Have you got the latest drivers installed for it?I upgraded the drivers to see if that made any difference - it didn't.
I downloaded Opera (which apparently supports Web Bluetooth as well) to see if I could get it to work with that (in case it was a Chrome problem), but I must be doing something wrong with that as well, because that just comes up with an error when I press 'Connect' - it doesn't even get as far as Chrome does. I don't seem to be the only person who has problems with Opera and Web Bluetooth, but I couldn't find a solution which worked, so I gave up on that.
I'm totally baffled. I'm an IT person, and a programmer, but I don't have much experience with Bluetooth except as a user, so I don't know where to start debugging... If it was an Ethernet/IP connection problem, I'd be in there with Wireshark, but I don't know if there's an equivalent for Bluetooth.
Is there anything I can upload to the Bangle to tell me more information about the Bluetooth connection which may help diagnose this? I seem to be able to connect to it fine from my Android phone, so I should be able to upload an app from that even if I can't really do development on it.
Would downgrading the firmware to 2v04 (if I can figure out how) be worth trying?
-
• #10
Tue 2020.03.24
Mention of Chrome version, but not OS.
'something to do with my laptop or Chrome on my laptop'
Which OS is in use? Win10/Linux/MacOS
-
• #11
Mention of Chrome version, but not OS.
Actually he did in his first post:
(Chrome on Windows 10)
@Paul: I think Opera is not working with WebBluetooth, I have the same problem with Vivaldi (Opera spin-off).
There is even an open feature request by @AkosLukacs in the vivaldi forum: https://forum.vivaldi.net/topic/39459/web-bluetooth-support
I'm having similar issues with an older laptop. Although for me Chrome does not detect my BT dongle that works fine on other PCs.
You could check chrome://bluetooth-internals
However I'm not BT expert and I am not sure if this is helpful at all. The adapter tab in Chrome looks like the screenshot attached for me when scanning for devices via the devices tab.
1 Attachment
-
• #12
chrome://bluetooth-internals
That's cool - I didn't even realise that was there.
There's nothing specific I have for debugging BLE on Bangle.js, but you could do:
- Go to https://www.espruino.com/try.php?page=Web+Bluetooth&n=0 (the first example on http://www.espruino.com/Web+Bluetooth)
- Open the Chrome Debug Console
- Type
Puck.debug=3
in it - Click the
On
button, select the Bangle and click 'Pair'
On my computer I see something like:
<BLE> Device Name: Bangle.js fdaa puck.js:362 <BLE> Device ID: EAjaDdhfFHRyKIhQd+QknA== puck.js:362 <BLE> Connected puck.js:362 <BLE> Got service puck.js:362 <BLE> RX characteristic:{} puck.js:362 <BLE> TX characteristic:{} puck.js:362 <BLE> Sending "LED1.set();\n" puck.js:362 <BLE> Sent puck.js:362 <BLE> Received "LED1.set();\r\n=undefi" puck.js:362 <BLE> Received "ned\r\n>"
It sounds a little like your computer is never getting to the
puck.js:362 <BLE> Got service
line - which is where the connected device is scanned for the 'services' is offers. It's possibly something that you could report to the Chrome team.Right now if you want to develop then there's still the Web IDE relay.
- Go to https://www.espruino.com/ide/relay/ on your phone
- Click connect up the top left, and a 'Relay Key' should be shown
- Open https://www.espruino.com/ide on your PC, and enter the key in Settings -> Communications -> Relay key
- Click connect on the PC and choose the Relay
You can now use your PC for development, while using your phone as the Bluetooth radio.
I have plans to make it a bit easier using a proper login system, but right now I'm a bit busy!
- Go to https://www.espruino.com/try.php?page=Web+Bluetooth&n=0 (the first example on http://www.espruino.com/Web+Bluetooth)
-
• #13
It sounds a little like your computer is never getting to the puck.js:362 Got service line - which is where the connected device is scanned for the 'services' is offers
Yep. Tried that, got to the ' Connected' and nothing else.
If I go to chrome://bluetooth-internals, go to 'Devices' and click 'Start Scan' it finds 'Bangle.js 03ed'. Then if I click 'Inspect' it shows stuff, and then sits with a loading spinner in the 'Services' section. So, something does seem to be wrong with it scanning for services.
I wish there was some other software I could use on my PC to test the connection to the watch -just to determine whether the problem is with the Bluetooth on my laptop or with Chrome on my laptop.
Hmm - if I go to chrome://bluetooth-internals and "inspect" my Fitbit Charge, then Chrome lists some Services to me (I don't know what they mean, but at least it's doing it). So Chrome seems to be working in general with Web Bluetooth
If I go to chrome://bluetooth-internals on my phone, and inspect the Bangle, then that lists services.
It doesn't look as if it's the Bangle, because my phone seems to work OK with it, but it doesn't seem to be my laptop/Chrome either, because that works with other things. So, I'm baffled.
I'm going to see if I can pinch a child's laptop and try from that...
(PS - not a random child on the street, one of my children :-) )
-
• #14
<3 Vivaldi, maybe leave a comment in that thread if you would like to have that feature :)
BTW it does work in the Vivaldi android app! -
• #15
Thanks for the follow up in the vivaldi forum. I would definitely add a comment, but I'm too lazy to register first :)
-
• #16
I wish there was some other software I could use on my PC to test the connection to the watch -just to determine whether the problem is with the Bluetooth on my laptop or with Chrome on my laptop.
Maybe you can give this a try: https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Connect-for-desktop
Its the desktop version of the Android app. If that can list the services of the Bangle using your laptop than the laptop BT seems to be fine I guess.
(PS - not a random child on the street, one of my children :-) )
Thanks for the good laugh X-D
-
• #17
Maybe you can give this a try: https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Connect-for-desktop
Unfortunately, I couldn't get that to do anything at all. it came up with an error straight away. I couldn't even get it to scan for devices.
I'm going to see if I can pinch a child's laptop and try from that...
OK. So I nabbed my daughter's laptop (with an Intel Wireless-AC 7265 adapter- which supports Bluetooth v4.2). That had exactly the same problem as mine with the Bangle. (Windows 10, latest Chrome)
So, to me, that suggests that either there's a weird problem with my Bangle which lets it still work with an Android, or there's an incompatibility between Intel Bluetooth adapters and the Bangle. I'm guessing that if it was the latter, then there'd be a lot more reports of problems.
-
• #18
Just as a check, in windows's "Bluetooth & other devices" settings, if you try the "Add Bluetooth or other device", do you see your Bangle?
2 Attachments
-
• #19
Just as a check, in windows's "Bluetooth & other devices" settings, if you try the "Add Bluetooth or other device", do you see your Bangle?
Yes. That can see it and pair to it. Web Bluetooth can see it and 'connect', but not get a list of services from it.
My Android phone (Galaxy S8) can see it, connect, and get a list of services from it.
-
• #20
This might be a long shot, but have you tried a different OS?
I personally use PopOS on my T480 and I've had more success with Espruino bluetooth than on Windows laptops.
A number of Linux distros have a live usb mode where you can just boot from the usb without having to install on a disk.
At least with that we can further narrow down if it's your drivers or your Bangle.js (but if you're getting services list from an android phone, I think it's more likely the windows drivers are wonky).
-
• #21
Wed 2020.03.25
@Raik, thank you for the post #11 Chrome flags link. I tried post #18 @AkosLukacs suggestion along with that Chrome flag. The output does not update on my PC, even though I am paired and connected!
Both Discovering and Discoverable render a Red 'X' despite being actually connected
Which brings me to an observation I made six months ago, but no other individuals responded to date.
Here is a possible explanation as I see a pattern.
It may not have anything to do with Bangle at all. But the symptoms are the same for Windows10, Chrome and BLE, so I am restating it here to see if collective minds also agree, or observe the nuances for each user.
Users identified so far:
@Robin HP Notebook circa 2016 - Absolutely required 4V1 BLE Dongle - even with internal BLE
@Robin ASUS Laptop Dec 2019 - BLE intermittent see links
@Paul originator from post #1
@AkosLukacs but I believe no apparent issues at the moment with updated Win10
@SLGeertsema post #6 but need confirmation
@Raik post#11 unsure
@parasquid post#20 laptopI believe I can safely say that all is reliable with Android devices, just not Windows10
'Failed Connect' issues, with MDBT42Q on Windows10 since last Nov 2019 Win update?
post #15 Problem with setWatch on MDBT42Q
-
• #22
Ok, that's good news. What windows version do you have? Altho, unless you completely disabled updates years ago, it should have working BLE support. Could you try unpairing and disabling Bluetooth on OS level?
Long shot, but do you have any program, that might interfere? Anything that might use Bluetooth, or even serial (might force itself on Bluetooth devices to look for characteristics it want to use)
Or as parasquid said, you can try a different OS.
Edit: Re: @Robin 's list: Tried a Feasycom dongle with external antenna (the one Gordon sells) on my work computer (desktop without built-in bluetooth, win10), and that worked just fine as well.
-
• #23
After resetting my Bangle.js to load without code it started working.
Now it still works, on my Windows 10 laptop, with latest Chrome (80.0.3987.149). -
• #24
parasquid
This might be a long shot, but have you tried a different OS?Not yet, but I may give that a go if I get time (I'm meant to be working ;-) )
AkosLukacsPatreon
What windows version do you have?Windows 10, version 1909 64bit
Could you try unpairing and disabling
Bluetooth on OS level?I'm unpaired from the Bangle. I'm not sure about disabling Bluetooth in Windows - won't that stop Web Bluetooth from working as well?
Long shot, but do you have any program, that might interfere? Anything that might use Bluetooth, or even serial (might force itself on Bluetooth devices to look for characteristics it want to use)
I have lots of programs, but I don't know of any that would interfere. I haven't got any specifically-Bluetooth programs running. The thing is that it does seem to be limited to interactions between my PC and the Bangle. Other Bluetooth devices work fine (at least as far as enumerating services using chrome://bluetooth-internals goes)
-
• #25
I'm not sure about disabling Bluetooth in Windows - won't that stop Web Bluetooth from working as well?
Sorry, disable and then re-enable it :)
I got my Bangle yesterday, and I've totally failed to load anything onto it.
It starts up OK, shows the clock, lets me into the settings, etc, but if I go to banglejs.com/apps/ I can't do anything.
I click on Connect (Chrome on Windows 10). It says it's found the Bangle, so I 'pair' it and the button changes to 'Disconnect'. Then, nothing.
In 'My Apps' a loader image just spins continuously. If I try to upload an app, it just sits there.
The Chrome console shows :
puck.js:362 Device Name: Bangle.js 03ed
puck.js:362 Device ID: Pdexfc2Y7MKARuBL64IT+A==
puck.js:362 Connected
and that's it.
If I try to upload an app, it shows:
comms.js:14 uploadApp clock2x3.app.js, clock2x3.img, clock2x3.info
puck.js:362 Busy - adding Puck.write to queue
The watch firmware says it's 2v05. Commit 09aa0d84. Bootloader v0.09, Launcher v0.01, Settings v0.06
BLE is on. Programmable is on. Debug info is 'hide'.
I don't know if I'm stupidly missing an important step or if something is wrong?