CN107135462A - Uefi 固件的蓝牙配对方法及其计算系统 - Google Patents

Uefi 固件的蓝牙配对方法及其计算系统 Download PDF

Info

Publication number
CN107135462A
CN107135462A CN201610983478.XA CN201610983478A CN107135462A CN 107135462 A CN107135462 A CN 107135462A CN 201610983478 A CN201610983478 A CN 201610983478A CN 107135462 A CN107135462 A CN 107135462A
Authority
CN
China
Prior art keywords
computing system
facility information
uefi
wireless device
uefi firmwares
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610983478.XA
Other languages
English (en)
Other versions
CN107135462B (zh
Inventor
罗金松
张瑞修
陈保旻
侯胜尧
李汉川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
American Anmai Polytron Technologies Inc
American Megatrends International LLC
Original Assignee
American Anmai Polytron Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by American Anmai Polytron Technologies Inc filed Critical American Anmai Polytron Technologies Inc
Publication of CN107135462A publication Critical patent/CN107135462A/zh
Application granted granted Critical
Publication of CN107135462B publication Critical patent/CN107135462B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

一种UEFI固件的蓝牙配对方法及其计算系统,其中,该计算系统包含一存储器,存储一UEFI固件,该UEFI固件是用以支援在预引导初始化的环境下该无线设备与该计算系统的自动配对;一处理器操作性耦接至该存储器,并执行该UEFI固件,其中执行该UEFI固件包含:发起一预连接程序以致使能发现该计算系统中的一预设设备信息列表;从该无线设备中收集一目标设备信息;以一过滤条件过滤该预设设备信息列表及该目标设备信息;若该目标设备信息与该预设设备信息列表中的一组设备信息配对,判断一结果设备信息;以及记录该结果设备信息至该存储器中。

Description

UEFI固件的蓝牙配对方法及其计算系统
技术领域
本发明是关于一种UEFI固件的方法及其计算系统;具体而言,本发明是关于一种方法及计算系统,用于执行一种UEFI固件来支援在预引导/加载发动时的环境下蓝牙设备可与计算系统进行配对。
背景技术
传统的计算系统可加载并启动一个操作系统。通常,操作系统地加载启动是由一低阶层的指令码负责处理,其中此低阶层的指令码是用于当作电脑系统的硬体构件与操作软件(及其他于电脑系统上执行的高阶层软件)之间桥梁或中介。此低阶层指令码常被称为基本输入输出系统固件(Basic Input/Output System Firmware、亦即BIOS firmware),并且可提供一组软件程序用于使得高阶层软件可与电脑系统的硬体构件产生互动。每当电脑系统开机或被启动时,此固件可执行用于进行开机自检(Power-On Self Test、亦即POST)的程序,由此在将控制权交给操作系统前可检测并发动或初始化电脑系统中的所有硬体构件。这些硬体构件可包含系统主存储器、硬碟及键盘等等的硬体构件。
然而,随着技术的进展以及许多目前的设备(例如周边的设备)是朝向无线的技术领域发展,原本最初是设计给国际商用机器公司(IBM)的个人电脑的传统BIOS标准,此传统BIOS标准已成为基于此传统BIOS标准的引导固件(boot up firmware)可控制硬件的限制点,随后甚至会导致限制操作系统可控制硬件的范围。随着新的硬件和软件技术正在得到开发,此限制点会成为软硬件交互的一个主要障碍。因此,BIOS固件的新标准已被提出并通过许多主要行业领导广泛采用。这新的标准被称为统一可扩展固件接口(UnifiedExtensible Firmware Interface、简称为UEFI)。随着采用UEFI标准,BIOS企业能够生产UEFI固件计算系统,同时生产操作系统的公司能够通过生产符合UEFI标准的操作系统来取得到UEFI固件所提供的服务优势。然而,传统上,由于无线设备没有实体的与计算系统连接,无线设备(例如蓝牙设备)无法在预引导初始化期间在引导固件将控制权交给操作系统前与计算系统进行配对。对于计算系统的制造商,在运出及销售给用户之前,与计算系统包装销售的无线设备必须被手动的连接并配对至每个计算系统;否则,用户会需要技术知识来手动安装这些无线设备来连接至计算系统。此外,在用户购买第三方无线设备时,并且欲将这第三方无线设备配对至计算系统时,用户并非能够在未执行过操作系统一次前的情况下取得引导固件的存取权,因此在此情况下用户是无法将这第三方无线设备配对至计算系统。不管如何,在这两种情况下,用户需要背负手动的将无线装置安装至计算系统上的责任。因此,有必要减少在安装过程,手动将无线设备配对至符合UEFI标准的计算系统上的复杂度及其所带给用户的烦恼、时间上的浪费以及精力上耗费。
发明内容
本发明的一个目的在于提供一个计算系统及其方法,其系统包括一个可支援在预引导加载初始化期间中将一或多个无线设备自动初次配对至所述计算系统。
根据本发明的一个方面,计算系统包括:一存储器,存储一UEFI固件,该UEFI固件是用以支援在预引导初始化的环境下自动将一个无线设备配对至该计算系统自动;一处理器,操作性耦接至该存储器,并执行该UEFI固件,其中执行该UEFI固件包含:发起一预连接程序以致使能发现该计算系统中的一预设设备信息列表;从该无线设备中收集一目标设备信息;以一过滤条件过滤该预设设备信息列表及该目标设备信息;若该目标设备信息与该预设设备信息列表中的一组设备信息配对,判断一结果设备信息;以及记录该结果设备信息至该存储器中。
于一实施例中,发起该预连接程序以致使能发现该计算系统中的该预设设备信息列表的步骤进一步包含:以一变数(Variable)从该UEFI固件中的一个配置文件(configuration file)取得该预设设备信息列表。
于一实施例中,发起该预连接程序进一步包含:在该计算系统中搜寻与该无线设备有关连的一组设备信息。
于一实施例中,收集该目标设备信息的步骤进一步包含:从该无线设备取得一设备类别;以及依据该无线设备判断一信号强度。
于一实施例中,以过滤条件过滤该预设设备信息列表及该目标设备信息的步骤进一步包含:从该预设设备信息列表进行过滤以取得一或多组符合该过滤条件的该设备信息。
于一实施例中,从该无线设备收集该目标设备信息的步骤进一步包含:通过服务发现协议(Service Discovery Protocol)从该无线设备取得一或多个属性;通过主机接口(Host Computer Interface)从该无线设备取得一设备文件信息(device profileinformation);以及根据该一或多个属性及该设备文件信息产生该目标设备信息。
于一实施例中,以该过滤条件过滤该预设设备信息列表及该目标设备信息的步骤进一步包含:从该预设设备信息列表进行过滤以取得一或多组符合该过滤条件的该设备信息。
于一实施例中,以该过滤条件过滤该预设设备信息列表及该目标设备信息的步骤进一步包含:通过串列存在检查(Serial Presence Detect)取得该过滤条件。
于一实施例中,记录该设备类别及该设备信息至该存储器的步骤进一步包含:以一表格或UEFI变数存储于存储器中。
根据本发明的另一个方面,提供一种于一计算系统中计算机处理器执行UEFI固件的方法,此方法是用于自动配对无线设备至该计算系统,该UEFI固件是位于一存储器,该存储器操作性的耦接至该处理器,该方法包含:以该处理器执行该UEFI固件;当执行该UEFI固件时:发起一预连接程序以致使能发现该计算系统中的一预设设备信息列表;从该无线设备中收集一目标设备信息;以一过滤条件过滤该预设设备信息列表及该目标设备信息;若该目标设备信息与该预设设备信息列表中的一组设备信息配对,判断一结果设备信息;以及记录该结果设备信息至该存储器中。
于一实施例中,该处理器包含一中央处理单元(Central Processing Unit);该存储器包含闪存存储器及只读存储器。
于一实施例中,该无线设备为蓝牙标准的设备、周边设备或人机接口设备(HumanInterface Device)。
于一实施例中,该发起该预连接程序以致使能发现该计算系统中的该预设设备信息列表的步骤进一步包含:从该UEFI固件中的一配置文件取得一或多个变数。
于一实施例中,该发起该预连接程序进一步包含:在该计算系统中搜寻与该无线设备有关连的一组设备信息。
于一实施例中,该收集该设备的设备信息的步骤进一步包含:从该无线设备取得一设备类别;以及根据该无线设备判断一信号强度。
于一实施例中,以该过滤条件过滤该预设设备信息列表及该目标设备信息的步骤进一步包含:从该预设设备信息列表进行过滤以取得一或多组符合该过滤条件的该设备信息。
于一实施例中,从该无线设备收集该目标设备信息的步骤进一步包含:通过服务发现协议从该无线设备取得一或多个属性;通过主机接口从该无线设备取得一设备文件信息;以及根据该一或多个属性及该设备文件信息产生该目标设备信息。
于一实施例中,以该过滤条件过滤该预设设备信息列表及该目标设备信息的步骤进一步包含:从该预设设备信息列表进行过滤以取得一或多组符合该过滤条件的该设备信息。
于一实施例中,以该过滤条件过滤该预设设备信息列表及该目标设备信息的步骤进一步包含:通过存在串列检查取得该过滤条件。
于一实施例中,记录该设备类别及该设备信息至该存储器的步骤进一步包含:以一表格或UEFI变数存储于存储器中。
附图说明
图1为本发明计算系统的一个实施例的示意图;
图2为本发明一个符合UEFI标准的计算系统的示意图;
图3为在UEFI固件执行中的不同阶段的示意图;
图4为计算系统的另一个实施例的示意图;以及
图5为执行UEFI固件的一个流程图的示意图。
具体实施方式
本发明的实施例提供一种执行引导加载固件(bootup firmware)的方法及计算系统。此引导加载固件可支援在计算系统中一引导加载程序(bootloader program)的预引导初始化启动(pre-boot initialization)的功能,其中此引导加载固件可完成将无线设备初次配对至计算系统的功能。在下面的详细描述中,会参考到对应的附图,其中通过举例的方式,具体实施例或示例可被详细描述。然而,这些实施方案仅是用于形容或协助说明本发明的范围,因此不应当被解释为对本发明的限制。请参照附图,其中类似标号在不同附图中表示类似的元件,本发明的各方面以及较佳的操作环境的实施例将会如下进行说明。
本文公开一种计算系统和方法,用于执行UEFI固件,其可支援在预引导初始化期间(pre-boot initialization)进行完成无线设备与计算系统间的自动首次配对的功能。较佳的,计算系统包括(但不限于)便携式计算机(laptop computers)、个人计算机(personal computers)、计算机服务器(computer servers)、手持式计算设备(handheldcomputing devices),例如移动式电话和平板电脑,以及可佩戴的计算装置(wearablecomputing devices)。
图1和以下讨论旨在提供其中可实现本发明的合适的计算环境的简要、概括描述。然而,本领域的技术人员应可体会到本发明也可以以其他合适的计算环境中实现。此外,本领域的技术人员应可理解,本发明也可以与其他计算系统组态/配置,包括可在多处理器系统、基于微处理器的或可编程的消费电子产品、小型计算机、大型计算机等的情况下实施。本发明也可以在分布式计算环境中实施,其中任务(tasks)可经由通过一通信网络连接的远端处理设备执行。
请参照图1,图1为一示范的计算机结构,可用于实施本文的各种实施例。应当理解,尽管这里所描述的实施例在常规的桌上型计算机或服务器的假设情况下进行讨论,实际上这里所描述的实施例可以与任何类型的计算设备的利用。图1示出了一个计算系统100,其可操作以基于固件(firmware)发起或启动操作系统的加载引导程序。图1中的方块的目的是用于代表计算机结构的各个功能组件;并非一定会是代表计算机结构的实体元件。因此在不偏离计算机结构的整体感和宗旨的出发点的情况下,所述功能组件可以被组合、分离或除去。
为了提供本文所描述的功能性,计算系统100包括一基板(baseboard)或“主机板”,此基板是一种印刷电路板,其中各种不同的组件或设备可通过系统总线或其他方式的连接通信路径与其连接。在一实施例中,中央处理单元(Central Processing Unit,CPU)102会与芯片组(chipset)104共同操作。中央处理单元102可为一种标准的中央处理器,用于执行计算机运作上所必要的逻辑运算及算术。在此及其他实施例中,中央处理单元102可包括一或多个微处理器(microprocessors)、微控制器(microcontroller)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD)、专用集成电路(Application Specific IntegratedCircuit,ASIC)及/或任何其它电子计算设备。
芯片组104包括北桥106和南桥108。北桥106提供中央处理单元102与计算系统100的其余部分之间的介面/接口。北桥106亦提供了对一个或多个随机存取存储器(RandomAccess Memory,RAM)的接口,此些存储器可当作计算系统100的主存储器114,或亦可能对一板载显卡(On-board graphics adapter)112提供接口服务。此外,北桥106还可以通过千兆以太网适配器(gigabit Ethernet adapter)110提供网络通信功能。千兆以太网适配器110能够经由一网络将计算系统100连接到一个或多个其它计算机。千兆以太网适配器110所能进行连接的范围可以包括例如局域网(Local Area Network,LAN)或广域网(WideArea Network,WAN)连接。局域网和广域网联网环境在办公室、企业范围的计算机网络(enterprise-wide computer networks)、内联网以及网际网络上出现为常见的场景。北桥106是连接到南桥108。
南桥108是负责控制许多计算系统100的输入/输出功能。具体而言,南桥108可提供一个或多个通用串行总线(Universal Serial Bus,USB)端口116、声音适配器(音效卡)124、以太网控制器134,以及一个或多个通用输入/输出(GPIO)引脚118。南桥108还可以提供用于连接周边设备的总线,例如符合BIOS引导规范(BIOS boot specification,BBS)标准的SCSI主机总线适配器130。在一实施例中,总线包括周边组件互连(PeripheralComponent Interconnect,PCI)总线。南桥108还可以提供一个系统管理总线132,用于管理计算系统100中的各种组件。电源管理电路126和时钟产生电路128也可以在南桥108的操作期间被利用。
南桥108还可被操作以提供一个或多个接口,此些接口可用于将大容量存储设备连接到计算系统100。举例而言,根据一实施例,南桥108包括串行高级技术附件(SerialAdvanced Technology Attachment,SATA)适配器和一个ATA 100适配器,其中串行高级技术附件适配器是用于提供一个或多个串行ATA端口120,ATA100适配器是用于提供一个或多个ATA 100端口122。串行ATA端口120和ATA 100端口122可以接着是连接到有存储操作系统、应用程序及其他数据的一个或多个大量存储设备。本领域技术人员应已知道的是,一个操作系统是包括可控制一个计算机的运作及资源分配的一组程序。一个应用程序是一种在操作系统软件上(或在其他运行时环境中)运作/运行的软件,其并且会使用计算机的资源来执行用户欲计算系统100欲完成的特定任务。
连接到南桥108和SCSI主机总线适配器130以及他们的相关联的计算机可读介质的大容量存储设备为计算系统100提供非易失性存储的功能。尽管此处描述的计算机可读介质是指一个大容量存储设备,诸如硬盘或光碟机(CD-ROM drive),本领域技术人员应当能理解计算机可读介质可为任何计算系统100能读取的媒介。举例而言(非限制的),计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术(例如:计算机可读指令、数据结构、程序模块或其它数据等)完成的易失性、非易失性、可移动和不可移动的介质。计算机存储介质包括(但不限于)随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM)、电子可擦可编程只读存储器(EEPROM)、闪存或其他固态存储器技术、光碟(CD-ROM)、数码多功能影音光碟(DVD)、高画质数码多功能影音光碟(HD-DVD)、蓝光(BLU-RAY)或其他光学存储、磁带盒、磁带、磁盘存储或其它磁存储设备,或可以用来存储所需信息并且任何其它计算机可存取的介质。
南桥108也可以提供一个低引脚数(Low Pin Count,LPC)接口,其可用于连接至一个超输入输出(Input/Output,I/O)设备138。超输入输出装置138负责提供若干个输入/输出端口,包括一键盘端口、鼠标端口、串行接口、并行端口以及其他类型的输入/输出端口。所述的低引脚数接口或其他接口可被用于连接一个计算机存储介质,例如只读存储器ROM,或例如闪存存储器的非易失性随机存取存储器137(Non-Volatile Random AccessMemory,NVRAM)。所述计算机存储介质可以是用于存储固件136,其包括包含指令和数据的一或多个模块,所述指令和数据可帮助启动计算系统100和帮助计算系统100内的元件之间的信息传递。然而,在其它不同的实施例中,固件136亦可被存储在计算系统100中的任何其他区域中。
固件136可以包括符合UEFI规范的程序代码。应当理解的是,除了固件136可包含符合UEFI规范的固件以外,也可以增加其它类型及组合的固件。举例而言,固件136可额外或替代性包括一个BIOS固件和/或其它类型的本领域技术人员已知的固件。以下将会提供有关UEFI固件136的操作及运作方式的详细说明,敬请参考附加后续的图。但是应当理解的是,计算系统100可能不会包括图1中所示的所有组件或元件、可能包含图1未显示的其他组件或可利用与图1所示完全不同的架构。
参照图2,有关符合UEFI规范的系统并且可应用以提供本文各种不同实施例可执行的操作环境会如下更详细说明。如图2所示,该系统包括一个平台硬件316和操作系统(OS)202一个平台固件308可使用一个操作系统加载程序(OS loader)302从UEFI系统区域318中取得操作系统程序码;此操作系统加载程序时常被称为一个引导器、操作系统加载器或引导器。同理,操作系统加载程序302亦可从其他地方取得操作系统程序码,包含从连接的周边设备或从固件135本身。UEFI系统分区318可能为一种结构上可共享的系统分区。因此,UEFI系统分区318可定义一个分区及文件/文件系统,其可被设计以允许多个供应商之间进行大容量储存器的安全共享。此外,一个OS分区320亦可被使用。
一旦开始了,操作系统加载程序302会继续引导并启动整个操作系统202,例如与Linux操作系统相关联的GRUB标准可能以阶段性的加载/装载操作系统。操作系统加载程序302可使用UEFI引导服务304来接到其他支援的标准规范,以致使能调查、了解、及初始化各种平台组件及管理它们的操作系统202软件。因此,从其他规格/标准的接口314亦可能存在于系统中。举例而言,高级配置和电源管理接口(Advanced Configuration and PowerManagement Interface,ACPI)和系统管理BIOS(SMBIOS)的规格标准可被支援。
UEFI引导服务304提供给设备各种接口以及在引导的期间中使用的系统功能。UEFI运行服务306在启动阶段时可被操作系统加载程序302利用,并且当操作系统202在执行时也会提供服务给操作系统202。例如,运行服务可确保提供操作系统202在正常运作中所需的适当基础平台硬件资源的抽象。通过加载/装载EFI驱动程序及UEFI应用程序影像档及其在被装载后可提供任何UEFI所定义的运行时服务及引导加载服务,UEFI可扩展平台固件的功能。当UEFI固件被初始化后,控制权将会转移至引导加载程序312。
参照图3,图3为UEFI固件在引导加载一个操作系统时引导加载的各种不同阶段。如图3所示,当计算系统100通电或启动时,本发明的UEFI固件会被计算系统100的处理器执行。首先,UEFI固件会进入一个认证阶段(Security phase,SEC phase),其中在此阶段中计算系统100的存储器或存储器尚未被初始化。在本阶段中,由于没有任何存储器被初始化,处理器的高速缓冲存储器(cache)会被用作随机存取存储器(Random Access Memory,RAM)来预验证中央处理单元(Central Processing Unit,CPU)、芯片组(Chipset)和主板(mainboard)。接着,UEFI固件会进入预EFI初始化(Pre-EFIInitialization,PEI)阶段,其中所述中央处理单元、芯片组、主板和计算系统100的存储器会在此阶段中被初始化。在驱动程序执行(Driver Execution,DXE)阶段中,引导服务、运行时服务和驱动程序执行调度服务可被执行以使得计算系统100中的任何硬件可被初始化。继驱动程序执行阶段后,UEFI固件将会进入引导设备选择(Boot Device Selection,BDS)阶段。在引导设备选择阶段中,引导固件会尝试去初始化控制台设备(console devices)以及对应于操作系统的引导装载程序的各种驱动器。在暂态系统负载(Transient System Load,TSL)阶段中,控制权会被转让给操作系统以致使操作系统可继续计算系统100的启动。此后,完成计算系统100的启动后,计算系统100会进入正常操作运行的运行时阶段(Runtime,RT)。
图4示出本发明的一个实施例。如图4所示,计算系统100可以包括处理器410、存储器420、组件430、存储440以及显示器430A,其中处理器410是分别耦接到存储器420、组件430、存储440以及显示器430A。本领域的技术人员应该能够理解,图4中所显示的计算系统100可单独或与图1中的计算系统参考。在本实施例中,存储器420可以是闪速存储器(flashmemory)或互补式金属氧化物半导体(CMOS)来存储UEFI固件422,其中UEFI固件422具有指令集424和配置数据426。存储440可以是硬盘磁盘(hard drive disk)、外接存储器(external drive)、闪速存储器、网络存储器(network drive)或任何其他的存储器;其中存储440存储UEFI分区,其包括计算系统100的操作系统的引导加载器。组件430和显示器430A可以被认为是硬件设备,其是由UEFI固件在引导加载时期在执行UEFI固件时被UEFI固件初始化。
如图4所示,无线设备450在起初是未与计算系统100连接,但在预初始化引导时期时在执行UEFI固件时可无线地跟计算系统100连接,如本文发明所公开。在本实施例中,无线设备450较佳是一个蓝牙设备(Bluetooth device),例如具有蓝牙功能的周边设备等。
传统上,如果无线设备450从未于计算系统100上安装过或从未与计算系统100配对过,在此情况下会需要计算系统100先启动至操作系统后才能将无线设备450于操作系统的环境下配对至计算系统100。换言之,在传统的情况下,在无线设备450或组件未实体且手动的被连接至计算系统100的状态下,无线组件通常是无法在平台初始化阶段下(pre-EFI初始化环境以及驱动器执行环境)与计算系统100配对连接。
在本发明的一个实施例中,如图5所示,提供了一种计算机处理机执行UEFI固件的方法,此方法是用于将无线设备自动的初次配对至计算系统100。如图5所示的流程图,此方法包括步骤510至540,其中此些步骤会如下更详细描述:
步骤510包括UEFI固件发起预连接到无线设备450。在本实施例中,无线设备450可以是个蓝牙设备,例如键盘或鼠标的输入/输出设备。在计算系统100通电启动前,无线设备450不会实体上与计算系统100连接。在本实施例中,假设无线装置450从未与计算系统100配对过,当计算系统100通电启动时,安装在计算系统100上的本发明的UEFI固件将首先启动一个预连接程序。预连接程序的目的是在计算系统100内进行初步的内部搜索,看是否存在着有可能对应于无线设备450的任何设备信息(deviceinformation)。为了这个目的,所述预连接程序将在计算系统100中进行搜索,以查看是否有有关无线设备450可使用的任何设备信息。
在本实施例中,对应于各种不同的无线设备450的设备信息可以一个预设设备信息列表于所述UEFI固件中存储为一或多个变数。具体而言,这些变数可以一个配置文件(配置文件,configuration file)被存储于UEFI固件中。当计算系统100通电启动时并且UEFI固件被执行时,在预连接程序中,这些关于设备信息的变数会被所述预连接程序读取。应当指出,在这种情况下,在此时刻没有任何无线设备450与计算系统100连接或配对。通过预先将无线设备450的设备信息存储在UEFI固件中,UEFI固件将可以在预引导初始化期间中取得这些设备信息。举例而言,假设在售卖计算系统100时同时有包括无线装置450(例如一个输入/输出蓝牙鼠标设备),制造商可能会发现此时最理想的状况就是可以将对应于无线设备450的设备信息存储在UEFI固件中,以致使预连接程序可轻易找到完整的设备信息的列表,其中列表中的一组可对应于无线设备450。然而,在其它不同的实施例中,对应于无线设备450的设备信息可以预先存储于计算系统100中的其他区域。预连接程序可在计算系统100中执行一搜寻并产生有可能对应于无线设备450的相应信息的列表。举例而言,对应于无线设备450的设备信息可在计算系统100的存储设备中找到,例如一个硬碟磁碟中。
如该图5所示,步骤520包括从无线设备450中收集目标设备信息。在本实施例中,在步骤510的预连接程序被启动执行后,设备列表中可能会有太多对应于不同无线设备的信息而使得设备列表过长。为了确定预设列表中有哪一组可被应用来将无线设备450配对至计算系统100,需要更多有关需要被配对的无线设备450的信息。因此,本发明的UEFI固件接着会执行步骤520的目标设备信息的收集程序。此收集程序是用于收集要被配对的无线设备450的任何(尽可能多的)信息。具体而言,此步骤可从两种方法其中之一达成:以主机控制器接口(Host Controller Interface)的原则从无线设备450收集目标设备信息;或通过服务发现协议(service discovery protocol,SDP)的方式从无线设备450收集目标设备信息。然而,应该指出的是,从无线设备450收集目标设备信息的这两种方法并不互相排斥;在其他不同实施例中亦可应用这两种方法的组合来提高配对过程的准确性和成功率。
以主机控制接口(HCI)的方式而言,在大多数可以相对大的把握预测无线设备450为哪种特定的设备类别/类型的情况下,例如无线设备450为一个输入/输出设备的类型(例如,键盘或鼠标),可使用主机控制接口的方式。在本实施方式中,主机控制接口的方式可提供一个命令接口给一个控制器。在这种情况下,主机控制接口提供一个命令接口给无线装置450,以使得一或多个测试命令可被发送到无线设备450并且其回应可被接收到。通过利用主机控制接口的方式,关于设备类型/类别(例如,无线设备450是否为一个键盘、鼠标等)和/或信号强度(在计算系统100附近)的目标设备信息可从无线设备450中被收集到。这些目标设备信息可以被用来作为过滤条件来与预设或公认的设备信息作比对。
举例而言,假设通过主机控制接口方式从无线设备450收集到的设备类型/类别和信号强度是与已知的标准蓝牙键盘或鼠标进行比对,有可能会以较高的机率发现无线装置450应当是蓝牙键盘或鼠标设备。以这种方式,在步骤510中预连接列表程序产生的设备信息列表可与主机控制接口方式中收集到的设备信息进行比较,其中设备信息列表中没有比对成主机控制接口方式所找到的设备信息可被过滤掉。由此,可将设备信息列表缩小至可更容易管理的范围来进行设备配对。换言之,在步骤510中所收集到设备信息列表可以根据主机控制接口方式所找到的结果更进一步被缩小。举例而言,当UEFI固件以主机控制接口方式执行步骤520时,所述主机控制接口方式可能会发现无线设备450是属于一种输入/输出设备的类型。鉴于此,设备信息列表中(在步骤510产生)的任何不属输入/输出设备的数据可以被忽略。换句话说,设备信息列表中不对应于输入/输出设备的设备信息组合可被忽略,进而使得比较/比对决定(要如何使用设备信息来将无线设备450配对至计算系统100)也可以变得更加容易。
在另一个实施例中,步骤520还可以经由服务发现协议的方式执行从无线设备450收集设备信息。在本实施例中,UEFI固件可以通过服务发现协议的方式从无线设备450取得各种属性(attributes)。一般而言,服务发现协议可提供应用程序来发现有哪些服务可使用并且判断那些可使用的服务的属性的方法。以本发明的UEFI固件而言,在一个实施例中,当无线设备450是一个蓝牙设备时,UEFI固件会在蓝牙环境下提供服务发现(ServiceDiscovery)的服务。换句话说,在UEFI固件的执行以及在UEFI固件发现计算系统100中的所有存在的硬件后,UEFI固件有可能会在计算系统100中发现到一个符合蓝牙协议标准的无线通信模块。所述UEFI固件可经由服务发现协议在蓝牙环境下跟蓝牙无线设备450进行通信,并且从无线设备450接收各种属性。可经由服务发现协议从无线设备450接收的相关蓝牙属性可包括(但不限于)通用属性(Universal Attribute)、服务发现服务器服务类属性(Service Discovery Server Service Class Attribute)、浏览组描述符服务类属性(Browse Group Descriptor Service Class Attribute)和/或蓝牙人机接口设备(Bluetooth Human Interface Device)设备服务发现协议。根据无线设备450的生产商,这些属性可包含有关无线设备450的各种信息,例如厂商识别码ID和/或组识别码ID。
如该图5所示,步骤530包括以一个过滤条件过滤预设设备信息列表及目标设备信 息。所述过滤条件可包含任何有关无线设备450的假设中的任一项。例如,如前述所提到的, 如果无线设备450假设是一个蓝牙键盘或鼠标,过滤条件可以被设定以对应所有有关键盘 及/或鼠标,通过此方式可将与键盘及/或鼠标无关的设备信息从目标设备信息列表及预设 设备信息列表中过滤掉。以这种方式,预设设备信息列表可被缩小至只显示几组设备信息。 在其他不同实施例中,UEFI固件可经由串行存在检查(Serial Presence Detect)取得过滤 条件。一般而言,串行存在检查是存储硬件的一种内建功能,其可允许计算系统100发现目 前有哪些存储器是存在的。串行存在检查的一个例子可以是同步动态随机存取存储器 (Synchronous Dynamic Random-Access Memory,SDRAM)存储器模块上的电可擦除可编程 只读存储器(Electrically Erasable Programmable Read-only Memory,EEPROM)。其中, 所述EEPROM存储器存储校准表格(calibration tables)或设备配置资讯(device configurations)。通过此方式,当计算系统100被首次通电时,计算系统100可以通过串行 存在检查读取到对应于所述无线设备450的属性(如果有存储在那里)。换句话说,在本实施 例中,对应于无线设备450的数据或信息可由生产商被预设存储在串行存在检查的存储器 中,其数据可能是关于一个供应商识别码ID、蓝牙装置位址(Bluetooth Device Address BD_ADDR)、设备的类别(Class of Device)、供应商名称和/或UUID,这些数据可与目标设备 信息及预设设备信息列表作比对。举例而言,假设供应商识别码ID被作为过滤条件,预设设 备信息列表中没有对应到所述供应商识别码的任何一组设备信息将会被过滤掉,不会在考 虑范围中。以这种方式,预设设备信息列表中只有对应到所述的供应商识别码会被留下来 当作可能的候选来匹配到目标设备信息。
在步骤540中,在过滤程序后,假设目标设备信息匹配到预设设备信息列表中的任何组设备信息,一个结果设备信息会被产生;若没有匹配成功,本发明的方法可以从步骤510重复执行来查看是否有另一不同的无线装置450可自动被配对到计算系统100。
步骤550包括记录结果设备信息到存储器中,例如可将结果设备信息写入UEFI固件中。换言之,由于目标设备信息已成功匹配至预设设备信息列表中的一组设备信息,结果设备信息的记录代表无线设备450有成功被登记在计算系统100中,并且意味着无线设备450在计算系统100执行预初始化引导加载期间(pre-initialization)中可被自动配对至计算系统100。
应当理解的是,本文所描述的实施例和实施方案仅用于说明本案的目的,并且各种修改或变化对于本技术领域的人应可轻易理解,并且被包含在本申请的精神及范围内和所附的权利要求书的范围。

Claims (20)

1.一种UEFI固件的蓝牙配对方法,于一计算系统中计算机处理器执行一个统一可扩展固件接口UEFI固件的方法,用于自动配对无线设备至该计算系统,其特征在于,该UEFI固件是位于一存储器,该存储器操作性的耦接至该处理器,该方法包含:
以该处理器执行该UEFI固件;
当执行该UEFI固件时:
发起一预连接程序以致使能发现该计算系统中的一预设设备信息列表;
从该无线设备中收集一目标设备信息;
以一过滤条件过滤该预设设备信息列表及该目标设备信息;
若该目标设备信息与该预设设备信息列表中的一组设备信息配对,判断一结果设备信息;以及
记录该结果设备信息至该存储器中。
2.如权利要求1所述的UEFI固件的蓝牙配对方法,其特征在于,发起该预连接程序以致使能发现该计算系统中的该预设设备信息列表的步骤进一步包含:
以一变数从该UEFI固件中的一个配置文件取得该预设设备信息列表。
3.如权利要求1所述的UEFI固件的蓝牙配对方法,其特征在于,发起该预连接程序进一步包含:
在该计算系统中搜寻与该无线设备有关连的一组设备信息。
4.如权利要求1所述的UEFI固件的蓝牙配对方法,其特征在于,收集该目标设备信息的步骤进一步包含:
从该无线设备取得一设备类别;以及
依据该无线设备判断一信号强度。
5.如权利要求4所述的UEFI固件的蓝牙配对方法,其特征在于,以过滤条件过滤该预设设备信息列表及该目标设备信息的步骤进一步包含:
从该预设设备信息列表进行过滤以取得一或多组符合该过滤条件的该设备信息。
6.如权利要求1所述的UEFI固件的蓝牙配对方法,其特征在于,从该无线设备收集该目标设备信息的步骤进一步包含:
通过服务发现协议从该无线设备取得一或多个属性;
通过主机接口从该无线设备取得一设备文件信息;以及
根据该一或多个属性及该设备文件信息产生该目标设备信息。
7.如权利要求6所述的UEFI固件的蓝牙配对方法,其特征在于,以该过滤条件过滤该预设设备信息列表及该目标设备信息的步骤进一步包含:
从该预设设备信息列表进行过滤以取得一或多组符合该过滤条件的该设备信息。
8.如权利要求7所述的UEFI固件的蓝牙配对方法,其特征在于,以该过滤条件过滤该预设设备信息列表及该目标设备信息的步骤进一步包含:
通过串列存在检查取得该过滤条件。
9.如权利要求1所述的UEFI固件的蓝牙配对方法,其特征在于,记录该设备类别及该设备信息至该存储器的步骤进一步包含:
以一表格或UEFI变数存储于存储器中。
10.一种UEFI固件的蓝牙配对计算系统,其特征在于,包含:
一存储器,存储一个统一可扩展固件接口UEFI固件,该UEFI固件是用以支援在预引导初始化的环境下自动将一个无线设备配对至该计算系统自动;
一处理器,操作性耦接至该存储器,并执行该UEFI固件,其中执行该UEFI固件包含:
发起一预连接程序以致使能发现该计算系统中的一预设设备信息列表;
从该无线设备中收集一目标设备信息;
以一过滤条件过滤该预设设备信息列表及该目标设备信息;
若该目标设备信息与该预设设备信息列表中的一组设备信息配对,判断一结果设备信息;以及
记录该结果设备信息至该存储器中。
11.如权利要求10所述的UEFI固件的蓝牙配对计算系统,其特征在于,该处理器包含一中央处理单元;该存储器包含闪存存储器及只读存储器。
12.如权利要求10所述的UEFI固件的蓝牙配对计算系统,其特征在于,该无线设备为蓝牙标准的设备、周边设备或人机接口设备。
13.如权利要求10所述的UEFI固件的蓝牙配对计算系统,其特征在于,该发起该预连接程序以致使能发现该计算系统中的该预设设备信息列表的步骤进一步包含:
从该UEFI固件中的一配置文件取得一或多个变数。
14.如权利要求10所述的UEFI固件的蓝牙配对计算系统,其特征在于,该发起该预连接程序进一步包含:
在该计算系统中搜寻与该无线设备有关连的一组设备信息。
15.如权利要求10所述的UEFI固件的蓝牙配对计算系统,其特征在于,该收集该设备的设备信息的步骤进一步包含:
从该无线设备取得一设备类别;以及
根据该无线设备判断一信号强度。
16.如权利要求15所述的UEFI固件的蓝牙配对计算系统,其特征在于,以该过滤条件过滤该预设设备信息列表及该目标设备信息的步骤进一步包含:
从该预设设备信息列表进行过滤以取得一或多组符合该过滤条件的该设备信息。
17.如权利要求10所述的UEFI固件的蓝牙配对计算系统,其特征在于,从该无线设备收集该目标设备信息的步骤进一步包含:
通过服务发现协议从该无线设备取得一或多个属性;
通过主机接口从该无线设备取得一设备文件信息;以及
根据该一或多个属性及该设备文件信息产生该目标设备信息。
18.如权利要求17所述的UEFI固件的蓝牙配对计算系统,其特征在于,以该过滤条件过滤该预设设备信息列表及该目标设备信息的步骤进一步包含:
从该预设设备信息列表进行过滤以取得一或多组符合该过滤条件的该设备信息。
19.如权利要求18所述的UEFI固件的蓝牙配对计算系统,其特征在于,以该过滤条件过滤该预设设备信息列表及该目标设备信息的步骤进一步包含:
通过存在串列检查取得该过滤条件。
20.如权利要求10所述的UEFI固件的蓝牙配对计算系统,其特征在于,记录该设备类别及该设备信息至该存储器的步骤进一步包含:
以一表格或UEFI变数存储于存储器中。
CN201610983478.XA 2016-02-26 2016-11-09 Uefi固件的蓝牙配对方法及其计算系统 Active CN107135462B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/054,171 2016-02-26
US15/054,171 US9965292B2 (en) 2016-02-26 2016-02-26 Method of bluetooth pairing with UEFI firmware and computer system thereof

Publications (2)

Publication Number Publication Date
CN107135462A true CN107135462A (zh) 2017-09-05
CN107135462B CN107135462B (zh) 2020-12-22

Family

ID=59678560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610983478.XA Active CN107135462B (zh) 2016-02-26 2016-11-09 Uefi固件的蓝牙配对方法及其计算系统

Country Status (2)

Country Link
US (1) US9965292B2 (zh)
CN (1) CN107135462B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107592631A (zh) * 2017-10-24 2018-01-16 济南浪潮高新科技投资发展有限公司 一种基于uefi层蓝牙驱动的实现方法
CN109426527A (zh) * 2017-08-28 2019-03-05 美商安迈科技股份有限公司 在uefi固件及作业系统间分享蓝牙数据的电脑系统及其方法
CN110688235A (zh) * 2018-07-06 2020-01-14 美商安迈科技股份有限公司 Uefi固件与os间共享无线连接信息的系统及方法
CN114924807A (zh) * 2022-04-28 2022-08-19 支付宝(杭州)信息技术有限公司 小程序运行速度的提升方法和装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI718128B (zh) * 2015-03-02 2021-02-11 系微股份有限公司 用於在計算平臺上之啟動序列期間顯示用於配對BluetoothTM裝置之狀態資訊的韌體實施方法、保持顯示所述狀態資訊的電腦可執行韌體指令的非暫時性媒體以及具有改良式啟動序列顯示能力之計算平臺

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2458907A2 (en) * 2010-11-25 2012-05-30 Psion Inc. System and method for controlling access between wireless communication devices
CN103748572A (zh) * 2011-08-30 2014-04-23 惠普发展公司,有限责任合伙企业 Bios网络接入
WO2014074704A1 (en) * 2012-11-09 2014-05-15 Insyde Software Corp. Bios user interface control using mobile device
CN104995629A (zh) * 2013-03-01 2015-10-21 英特尔公司 用于平台引导固件的信任继续
CN105302600A (zh) * 2015-10-20 2016-02-03 浪潮电子信息产业股份有限公司 一种用于操作系统安装的方法、服务器及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100299510A1 (en) * 2009-05-19 2010-11-25 Chip Ueltschey Bluetooth pre-boot authentication in bios
KR101593577B1 (ko) * 2009-11-16 2016-02-12 삼성전자주식회사 근거리 통신 기반 리스트 출력 방법 및 이를 지원하는 휴대 단말기
US20120135683A1 (en) * 2010-11-25 2012-05-31 Psion Teklogix Inc. System and method for configuring an access list for bluetooth devices
TWI718128B (zh) * 2015-03-02 2021-02-11 系微股份有限公司 用於在計算平臺上之啟動序列期間顯示用於配對BluetoothTM裝置之狀態資訊的韌體實施方法、保持顯示所述狀態資訊的電腦可執行韌體指令的非暫時性媒體以及具有改良式啟動序列顯示能力之計算平臺

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2458907A2 (en) * 2010-11-25 2012-05-30 Psion Inc. System and method for controlling access between wireless communication devices
CN103748572A (zh) * 2011-08-30 2014-04-23 惠普发展公司,有限责任合伙企业 Bios网络接入
WO2014074704A1 (en) * 2012-11-09 2014-05-15 Insyde Software Corp. Bios user interface control using mobile device
US20140136828A1 (en) * 2012-11-09 2014-05-15 Insyde Software Corp. Bios user interface control using mobile device
CN104995629A (zh) * 2013-03-01 2015-10-21 英特尔公司 用于平台引导固件的信任继续
CN105302600A (zh) * 2015-10-20 2016-02-03 浪潮电子信息产业股份有限公司 一种用于操作系统安装的方法、服务器及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109426527A (zh) * 2017-08-28 2019-03-05 美商安迈科技股份有限公司 在uefi固件及作业系统间分享蓝牙数据的电脑系统及其方法
CN109426527B (zh) * 2017-08-28 2022-06-07 美商安迈国际有限责任公司 在uefi固件及作业系统间分享蓝牙数据的电脑系统及其方法
CN107592631A (zh) * 2017-10-24 2018-01-16 济南浪潮高新科技投资发展有限公司 一种基于uefi层蓝牙驱动的实现方法
CN110688235A (zh) * 2018-07-06 2020-01-14 美商安迈科技股份有限公司 Uefi固件与os间共享无线连接信息的系统及方法
CN114924807A (zh) * 2022-04-28 2022-08-19 支付宝(杭州)信息技术有限公司 小程序运行速度的提升方法和装置
CN114924807B (zh) * 2022-04-28 2023-12-01 支付宝(杭州)信息技术有限公司 小程序运行速度的提升方法和装置

Also Published As

Publication number Publication date
CN107135462B (zh) 2020-12-22
US20170249160A1 (en) 2017-08-31
US9965292B2 (en) 2018-05-08

Similar Documents

Publication Publication Date Title
US9886580B2 (en) Method for optimizing boot time of an information handling system
JP6272991B2 (ja) プリブートファームウェア更新のための選択的パワーマネジメント
CN102779050B (zh) 提供加速的引导性能的系统和方法
CN107135462A (zh) Uefi 固件的蓝牙配对方法及其计算系统
US10055218B2 (en) System and method for adding and storing groups of firmware default settings
US10866623B2 (en) Information handling system and method to detect and recover from no power/no post failures
US10540501B2 (en) Recovering an information handling system from a secure boot authentication failure
US8516236B2 (en) Portable desktop device and method of host computer system hardware recognition and configuration
USRE49226E1 (en) UEFI and operating system driver methods for updating MAC address in LAN-based NIC
US9632806B1 (en) Remote platform configuration
CN103412769A (zh) 外接卡参数配置方法、设备以及系统
KR20150048136A (ko) 보안 펌웨어 업데이트 기법
US10831897B2 (en) Selective enforcement of secure boot database entries in an information handling system
US9880858B2 (en) Systems and methods for reducing BIOS reboots
CN107766084A (zh) 启动装载及安装方法及其计算系统
US9811347B2 (en) Managing dependencies for human interface infrastructure (HII) devices
US10146551B2 (en) Initializing and reconfiguring replacement motherboards
CN109426527B (zh) 在uefi固件及作业系统间分享蓝牙数据的电脑系统及其方法
US9411602B2 (en) Techniques for booting an information processing system
US10289423B2 (en) Management controller
US11030047B2 (en) Information handling system and method to restore system firmware to a selected restore point
US11120166B1 (en) Generation of a firmware configured for use in restricting the use of a firmware tool
US11467849B2 (en) Systems and methods for collecting deep operating system (OS) telemetry
TW202131170A (zh) 韌體損壞恢復技術
US11340882B2 (en) Systems and methods for enforcing update policies while applying updates from bootable image file

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American Georgia

Applicant after: AMERICAN MEGATRENDS Inc.

Address before: Building No. 200, 5555 Oakbrook Park Avenue, 30093 Norcross, Georgia, USA

Applicant before: American Megatrends Inc.

GR01 Patent grant
GR01 Patent grant