def METHOD_NAME(password):
    """enable firmware update for NK Pro device"""
    local_print("Enabling firmware update mode")
    nks = NitrokeyPro()
    try:
        libnk_version_current = nks.library_version()
    except Exception as e:
        local_print("Unhandled libnitrokey library version. Please upgrade it.")
        local_print(f"Error: {str(e)}")
        return 1
    libnk_version_required = (3, 5)
    if libnk_version_current < libnk_version_required:
        local_print(
            f"You need libnitrokey {libnk_version_required} to run this command. Currently installed: {libnk_version_current}."
        )
        local_print(
            "You can provide custom path for the libnitrokey with LIBNK_PATH environmental variable, e.g. by calling it like:"
        )
        local_print("$ env LIBNK_PATH=/my/path/libnitrokey.so nitropy <command>")
        return 1
    try:
        nks.connect()
        if nks.enable_firmware_update(password) == 0:
            local_print("Setting firmware update mode - success!")
        local_print("Done")
    except DeviceNotFound:
        local_print(f"No {nks.friendly_name} device found")
        local_print("If connected, perhaps already in update mode?")