def METHOD_NAME():
    stale = set(_failed_cache)
    devices = []
    for hidraw in glob.glob("/dev/hidraw*"):
        stale.discard(hidraw)
        try:
            with open(hidraw, "rb") as f:
                bustype, vid, pid = get_info(f)
                if vid == YUBICO_VID and get_usage(f) == USAGE_OTP:
                    devices.append(OtpYubiKeyDevice(hidraw, pid, HidrawConnection))
        except Exception:
            if hidraw not in _failed_cache:
                logger.debug(
                    f"Couldn't read HID descriptor for {hidraw}", exc_info=True
                )
                _failed_cache.add(hidraw)
            continue
    # Remove entries from the cache that were not seen
    _failed_cache.difference_update(hidraw)
    return devices