Puck.js whitelisting failure

Posted on
  • Hello,

    I've been unsuccessfully trying to whitelist connections to my Puck.js (firmware 2.01) the last few weeks, so I figured it was time to throw a lifeline in hopes someone can help identify what I am doing wrong. I've tried with my Samsung S9, Samsung S8+, and Windows Surface Pro using the following code snippet as a guide:

    NRF.on('connect',function(addr) {
      if (addr!="69:2d:94:d0:9d:97 public")

    I've double checked the MAC addresses several times, and have tried string combinations of just the mac address, and both "public" and "random" extensions as described here:(https://www.espruino.com/Puck.js+Securit­y).

    The only result I get is refusal of all connections to Puck.js.

    Any help would be much appreciated.

    Thank you.

  • There was a post here last week where someone hit something that might be similar.

    You could try:

    devices = [];
    NRF.on('connect',function(addr) {
    // now connect a few times and see what's in 'devices' using the left-hand side

    On some Android phones there's a 'security feature' which basically randomises the Mac address every time the device connects, which means that the whitelisting is basically useless. It's possible it's the problem - but the above code might help.

    Your other option is to install a 'cutting edge' Espruino firmware and enable 'passkey' pairing: http://forum.espruino.com/conversations/­330007/#14600298

    Because it's not in the 2v01 firmware it's not documented in that Security page yet, but it might do what you need?

  • Gordon,

    Your post was extremely helpful in debugging my random MAC address issue. I will flash the latest Beta firmware and enable passkey pairing.

    Thanks again!

  • No problem - glad it helped!

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

Puck.js whitelisting failure

Posted by Avatar for user97688 @user97688