docs: def scanJoiner(self, xEUI='*', strPSKd='threadjpaketest'):
          """scan Joiner
  
          Args:
              xEUI: Joiner's EUI-64
              strPSKd: Joiner's PSKd for commissioning
  
          Returns:
              True: successful to add Joiner's steering data
              False: fail to add Joiner's steering data
          """
          print '%s call scanJoiner' % self.port
          if not isinstance(xEUI, str):
              eui64 = self.__convertLongToString(xEUI)
  
              # prepend 0 at the beginning
              if len(eui64) < 16:
                  eui64 = eui64.zfill(16)
                  print eui64
          else:
              eui64 = xEUI
  
          # long timeout value to avoid automatic joiner removal (in seconds)
          timeout = 500
  
          cmd = WPANCTL_CMD + 'commissioner joiner-add %s %s %s' % (eui64, str(timeout), strPSKd)
          print cmd
          if not self.isActiveCommissioner:
              self.startCollapsedCommissioner()
          if self.__sendCommand(cmd)[0] != 'Fail':
              return True
          else:
              return False