Can't connect to Puck on Windows 7

Posted on
of 2
/ 2
  • I just received my Puck today. I have 2 PCs, both with Windows 7. One of the PCs has a Bluetooth 4.0 dongle. Every time I try to connect to the Puck, I either get a "no devices found" or it'll find the Puck but when I click Pair on the desktop IDe it'll fail every time. I installed Zidag and verified that the dongle is using WinUSB, and I can add the Puck using the Windows UI, and I see under services it has GATT Server. Just can't connect with the desktop Espruino IDE. Anyone else on Windows 7 having this issue? Any way to resolve it?

  • Are you using the Web IDE that installed with the installer? The one you install from the Chrome Web Store won't work (yet).

    Please can you try totally disconnecting from it via the Windows Bluetooth dialog, and trying again?

    There's an annoying situation where:

    • Windows 8.1 and above: You need to have 'paired' via the Windows Bluetooth dialog
    • Other versions of Windows: You definitely don't want to be paired/connected via the Windows dialog

    I think I need to update the getting started guide a bit!

  • Yup, I've downloaded the installer and used that IDE. I tried both paired and not paired in Windows, on both PCs, to no avail. I wouldn't be opposed to running a or a TeamViewer session at this point!

  • Do you have and Android/iOS phone you could use to test that the Pucks are available on Bluetooth?

    And just to check - the PCs are both running 64 bit Windows 7, not 32 bit?

  • Yup, I connected to the Puck using my Android. And I can pair with the PCs too. Both PCs are running Windows 7 64-bit.

  • If you look in settings->console on the Web IDE. Is there anything that looks like an error to do with noble? Or actually any errors shown at all?

    You could also try installing the command-line tools and seeing if you have any luck with those?

    I'm afraid I can't start remote-desktopping into other people's PCs though - I just don't have the free time.

  • I attached a picture of the console. The console states:

    BT> ERROR: NotFoundError: Bluetooth adapter not available.
    ERROR: [notify_error] Connection failed.

    I know you're busy but I took a shot with the remote help :)

    I have command-line tools installed; I'll try those soon.

    1 Attachment

    • espruino-ide-console.png
  • If you scroll up, are there any errors earlier on?

    Just a stab in the dark: but when you ran Zadig, did you actually click the Replace Driver button?

    If you just run it, I think it says WinUSB but it won't take effect until you click the button.

  • I do see another error that I missed previously:

    We have chrome.serial - not using 'serialport' module
    'noble' module couldn't be loaded, no node.js Bluetooth Low Energy  Error: LIBUSB_ERROR_NOT_SUPPORTED
    'winnus' module not found, no Windows Bluetooth Low Energy Error: The specified module could not be found. \\?\C:\Users\Admin\AppData\Local\Temp\nw­1740_8590\node_modules\winnus\build\Rele­ase\winnus.node

    I've also attached another screenshot that shows Puck is listed in the Windows Add Device UI, but the Espruino Web IDE cannot find it.

    1 Attachment

    • side-by-side.png
  • Just a stab in the dark: but when you ran Zadig, did you actually click the Replace Driver button?

    If you just run it, I think it says WinUSB but it won't take effect until you click the button.

    Yes, I did click the Replace Driver button. I tried again several times afterwards too. Sometimes it would take so long it would time out, so I would need to restart the PC and try again before it worked.

  • You can ignore the winnus stuff - that's for Windows 8.1/10 support.

    If you google LIBUSB_ERROR_NOT_SUPPORTED the general consensus seems to be that it's to do with the WinUSB driver not being installed correctly. Sorry to bang on about Zadig, but it's what all the posts about that error mention - are you sure you installed it for your BLE adaptor, and not for something else by mistake? Maybe you could screenshot the Zadig window and post it up?

    Are you're a node.js developer? If so it'd be worth trying to get any node.js application using the noble library working - as the system setup needed for that is likely to make the Web IDE work.

    edit: Also the timing out sounds like it's not working. When I did it on Windows 7 it was pretty much instant. Someone mentioned:

    Zadig worked great. One gotcha for me was that I had disabled the "Windows Update" service. Zadig needs this service running to install WinUSB on your device

    Any chance you've disabled Windows Update?

  • After many, many, many re-scans, the Puck showed up in the dialog. Pairing failed of course, but at least I could check the console after:

    >>> Connecting...
    BT> ERROR: NotFoundError: User selected a device that doesn't exist anymore.
    ERROR: [notify_error] Connection Failed.
    >>> Connection Failed.

    I also noticed that running btdiscovery in the command-line tools, I don't see Puck. In the Windows Add Device UI, it appears but takes a few. I should also note that my Bluetooth adapter version is 6.1280, meaning it is Bluetooth 4.0. The dongle I use in the other PC is here:­5EF4

    I'm at a loss about why the Puck seems to appear and drop intermittently.

  • I can retry Zadig, sure. When it worked, it worked instantly. But if I tried to reinstall again, it sometimes timed out and I'd have to restart.

    I've written a couple Node apps yeah, I'll try that suggestion next.

    Windows Update is enabled.

    Thanks for all the help so far Gordon. If/when this is finally resolved I think we'll both take a big sigh of relief :)

  • Could one of your PCs attempting to connect to the Puck automatically? It could even be the Android phone if you left some Bluetooth running in the background.

    Also, have you updated the firmware on Puck.js from your Android phone? That could possibly help with connection issues.

  • Also, I'd be pretty sure that btdiscovery just scanned for standard non-bluetooth-le devices.

    BTLE stuff is completely different, so a lot of your basic Bluetooth stuff just won't show it at all.

  • I have a similar setup (Win 7 x64) and I am seeing very similar results where windows can see the puck via BLE but the native application does not. The console log shows these errors at the beginning:

    We have chrome.serial - not using 'serialport' module
    'noble' module couldn't be loaded, no node.js Bluetooth Low Energy Error: LIBUSB_ERROR_NOT_SUPPORTED
    'winnus' module not found, no Windows Bluetooth Low Energy Error: The specified module could not be found. \?\C:\Users\t44a8l2\AppData\Local\Temp\n­w10628_25245\node_modules\winnus\build\R­elease\winnus.nod

    And then later:

    Set Slow Write = true
    BT> ERROR: NotFoundError: User cancelled the requestDevice() chooser.
    ERROR: [notify_error] Connection Failed.
    Connection Failed.

  • Did you run zadig? As in the last post, it looks like that hasn't worked for some reason.

    If the Web IDE is giving you the 'Web Bluetooth' option - which it looks like you clicked - it's because it hasn't been able to access the Bluetooth dongle properly.

  • I'm unfamiliar with zadig or what it does for us here exactly. I downloaded it and I see where I can apply or reinstall a generic driver WinUSB for the BLE dongle USB device. Is that what's needed?

  • Well it worked, which is good, but I'm still confused, which is normal. After I ran zadig and replaced the driver on the BLE USB device, the bluetooth radio devices in device manager disappeared to be replaced by a generic USB serial bus device. Ran the native web IDE and was able to list all my pucks and connect to a few of them and run commands. As far as Windows bluetooth it still appears to be working, though all Windows can see on bluetooth is a Samsung TV in the other room. It does not list the pucks. On android the pucks do show up on a bluetooth scan.

  • The problem is that Windows will install the manufacturer-supplied drivers for BLE - however there's no 'standard' for accessing BLE in versions of Windows below 8.1, so even though the manufacturer's driver has claimed BLE, there's not really much any application can do with it.

    Zadig installs a general purpose driver which lets an application access the BLE device directly - in this case the Web IDE. However that means that the original driver no longer works (unless you run Zadig again and put it back).

    Having said that, it's fiddling with the Bluetooth LE driver, not the Bluetooth driver (they're effectively different bits of hardware) - so you can still see and use normal Bluetooth devices as before, just not Bluetooth LE ones.

  • Just to add - if you're uncomfortable with that, you can always put it back and then use a $5 external Bluetooth 4 dongle which you use Zadig with, while leaving internal Bluetooth hardware alone.

  • Well I finally got it solved by moving the Bluetooth dongle over to my 2nd PC, which previously I was just using the built-in Bluetooth adapter. I dunno why the dongle didn't work in the first PC and the built-in 4.0 adapter doesn't work in the 2nd PC, but at least I know the Puck isn't somehow defective. If I get it working in the first PC (which is ideal since the 2nd is my work laptop), I'll post back with how and why.

  • Great, thanks! And thanks for letting us know.

    Sorry it's been a bit of a faff. For some reason known only to themselves, Microsoft never back-ported the Bluetooth APIs to earlier versions of Windows, so it makes life way more painful than it should really be on Pre-Windows 8.1 machines :(

  • UPDATE 12/23/2016:

    I tried reinstalling via Windows Update but it still didn't work after using Zadig to change to WinUSB. Finally, I found the Intel Driver Update Utility Installer here:­08/Intel%20Driver%20Update%20Utility%20I­nstaller.exe

    Doing a scan, nothing was found, but when I clicked Older Drivers, I found 2 downloads for Bluetooth. I grabbed both of them since I didn't know which one to use. The first one installed but Windows reported that 2 things failed. The 2nd installation started and then reported that a newer version was already installed. Just out of curiousity, without opening Zadig yet, I opened the Web IDE and lo and behold.. puck.js was in the list! It connected and I have been messing around with it for over an hour, so I'd say I'm in the clear!

  • Whoops.. updated in two places by mistake :)

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

Can't connect to Puck on Windows 7

Posted by Avatar for user71255 @user71255