用于更新设备驱动程序的系统和方法.pdf

上传人:e1 文档编号:973921 上传时间:2018-03-22 格式:PDF 页数:11 大小:604.19KB
返回 下载 相关 举报
摘要
申请专利号:

CN200880020136.1

申请日:

2008.03.19

公开号:

CN101689116A

公开日:

2010.03.31

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 9/445申请公布日:20100331|||实质审查的生效IPC(主分类):G06F 9/445申请日:20080319|||公开

IPC分类号:

G06F9/445

主分类号:

G06F9/445

申请人:

索尼爱立信移动通讯股份有限公司

发明人:

S·穆利斯二世; P·艾肯

地址:

瑞典隆德

优先权:

2007.8.15 US 11/838,930

专利代理机构:

中国专利代理(香港)有限公司

代理人:

龚海军;谭祐祥

PDF下载: PDF下载
内容摘要

一种主机(40)连接到具有升级的固件(34)的外围设备(20)。该主机(40)还包括设备驱动程序(46)以与外围设备(20)通信。如果当前安装在主机(40)上的设备驱动程序(46)与升级的固件(34)不兼容,则升级的设备驱动程序(32)被自动地从外围设备(20)下载到主机(40)。一旦外围设备(20)安装在主机(40)上,外围设备(20)就被复位并且升级的设备驱动程序(32)被用于与外围设备(20)通信。

权利要求书

1.  一种更新主机设备(40)上的设备驱动程序的方法,包括:
确定所述主机设备(40)上当前安装的设备驱动程序(46)是否与外围设备(20)的升级的固件(34)兼容;以及
如果当前安装的设备驱动程序(46)与升级的固件(34)不兼容,则将升级的设备驱动程序(32)从所述外围设备(20)下载到所述主机(40)。

2.
  权利要求1的方法,其中确定主机设备(40)上当前安装的设备驱动程序(46)是否与外围设备(20)的升级的固件(34)兼容包括确定升级的固件(34)的最低驱动程序版本。

3.
  权利要求2的方法,其中确定主机设备(40)上当前安装的设备驱动程序(46)是否与外围设备(20)的升级的固件(34)兼容还包括将当前安装的驱动程序(46)的当前驱动程序版本与升级的固件(34)的最低驱动程序版本相比较。

4.
  权利要求3的方法,其中如果当前驱动程序版本低于固件(34)的最低驱动程序版本,则下载升级的设备驱动程序(32)。

5.
  权利要求2的方法,其中确定升级的固件(34)的最低驱动程序版本包括从存储在所述外围设备(20)的存储器(28)中的文件中读取最低驱动程序版本。

6.
  权利要求2的方法,其中确定升级的固件(34)的最低驱动程序版本包括向所述固件(34)询问最低驱动程序版本。

7.
  权利要求1的方法,进一步包括在所述主机(40)处安装升级的设备驱动程序(32)。

8.
  权利要求7的方法,进一步包括在已将升级的设备驱动程序(32)安装在主机(40)处之后生成信号以复位外围设备(20)。

9.
  一种主机设备,包括:
接口(48),其将主机设备(40)连接到外围设备(20);以及
主机处理器(42),其被配置为:
确定所述主机设备(40)上当前安装的设备驱动程序(46)与
所述外围设备(20)的升级的固件(34)的兼容性;以及
如果当前安装的设备驱动程序(46)与升级的固件(34)不兼容,则将升级的设备驱动程序(32)从所述外围设备(20)下载到所述主机设备(40)。

10.
  权利要求9的主机设备,其中所述主机处理器(42)被配置为通过比较当前驱动程序版本与升级的固件(34)的最低驱动程序版本来确定当前安装的设备驱动程序(46)的兼容性。

11.
  权利要求10的主机设备,其中所述主机处理器(42)还被配置为如果所述当前驱动程序版本低于升级的固件(34)的最低驱动程序版本,则从所述外围设备(20)下载升级的设备驱动程序(32)。

12.
  权利要求10的主机设备,其中所述主机处理器(42)被配置为通过从存储在所述外围设备(20)的存储器(28)中的预定文件中读取升级的固件(34)的最低驱动程序版本来确定升级的固件(34)的最低驱动程序版本。

13.
  权利要求10的主机设备,其中所述主机处理器(42)被配置为通过询问升级的固件(34)来确定升级的固件(34)的最低驱动程序版本。

14.
  权利要求9的主机设备,其中所述主机处理器(42)被进一步配置为将升级的设备驱动程序(32)安装在所述主机设备(40)上。

15.
  权利要求14的主机设备,其中所述主机处理器(42)被进一步配置为在安装了升级的设备驱动程序(32)之后生成信号以复位所述外围设备(20)。

16.
  一种外围设备(20),包括:
接口(24),其将所述外围设备(20)连接到主机设备(40);
外围设备固件(34),用于控制所述外围设备(20)的操作;以及
存储器(28),其可被主机设备(40)访问,并且包括预定文件,该预定文件包含所述固件(34)的最低驱动程序版本。

17.
  一种外围设备(20),包括:
接口(24),其将所述外围设备(20)连接到主机设备(40);
外围设备固件(34),用于控制所述外围设备(20)的操作;
所述外围设备固件(34)包括含有所述固件(34)的最低驱动程序版本的代码和用于将所述最低驱动程序版本报告给主机设备(40)的代码。

说明书

用于更新设备驱动程序的系统和方法
相关申请
本申请要求2007年6月15日提交的美国临时专利申请60/944,227的权利,本申请是共同待审的于2006年11月29日提交的美国申请No.11/564553和2007年8月15日提交的美国专利申请11/838930的部分继续申请。′227申请、′553申请和′930申请在本文中引作参考。
背景技术
本发明总体涉及外围设备,特别地涉及用于更新与这些外围设备相关联的设备驱动程序的系统和方法。
一些主机(host)设备(比如膝上型计算机)可以使用通常被称为“PC卡”的插入式外围设备来与无线网络通信。PC卡可以经通用串行总线(USB)连接而连接到计算机,PC卡包括射频(RF)收发器和集成天线。虽然性能一般不同,但是PC卡可以以大致相似于固定连接的速度来从无线网络接收数据且从无线网络发送数据。因此,对于膝上型计算机的用户来说,可以与一个或多个远程方通信、浏览因特网或从地球上的任何地方发送和接收电子邮件。
PC卡和其他外围设备包括各种硬件组件,其中一些包括被称为“固件”的嵌入式软件程序。一般地,固件负责执行各种低级任务,并且可以时常升级以处理瑕疵(bug)、添加或改变功能或者改进外围设备的性能和可靠性。然而,升级固件可能产生各种问题。
例如,膝上型计算机典型地需要它们自己的被称为“设备驱动程序”的软件程序以允许用户应用程序与PC卡通信。同样,设备驱动程序应当与在PC卡上运行的任何版本的固件兼容;然而,用新版本更新固件可能引入这两种版本之间的不兼容性。即,在固件升级之前曾经适合使用的设备驱动程序可能与新的固件版本不兼容。这可能会产生问题,因为不兼容性可以使得PC卡变得不能操作。
发明内容
当外围设备上的固件被升级时,本发明自动地更新驻留在主机设备上的一个或多个设备驱动程序。在一个示范性实施例中,主机处理器确定用于外围设备的当前设备驱动程序是否与升级的固件兼容。如果二者兼容,则主机继续加载并使用用于外围设备的当前驱动程序。如果二者不兼容,则控制器利用存储在外围设备的存储器中的升级的设备驱动程序来自动更新当前安装的设备驱动程序。一旦安装了升级的设备驱动程序,外围设备就被复位。这使主机将升级的设备驱动程序加载到存储器中,从而主机能够使用这些升级的设备驱动程序与外围设备通信。
附图说明
图1是根据本发明的一个实施例的连接到主机设备的外围设备的框图。
图2是示出根据本发明的一个实施例的更新设备驱动程序的方法的流程图。
具体实施方式
本发明涉及用于作为固件升级过程的一部分而更新驻留在主机设备上的设备驱动程序的系统和方法。特别地,外围设备包括被升级到新的或不同版本的固件。在升级过程中,主机自动检查其当前安装的设备驱动程序以确定它们是否与升级的固件兼容。如果在主机上的当前设备驱动程序是兼容的,则主机使用这些安装的设备驱动程序简单地与外围设备通信。如果不兼容,主机用存储在外围设备的存储器中的升级的设备驱动程序来自动替换过时的设备驱动程序。
图1示出适合用于本发明的一个实施例的系统10。系统10包括外围设备20和主机设备40。一般地,外围设备20连接到主机设备40并且在其控制下操作。在该实施例中,外围设备20包括调制解调卡,并且主机设备40包括计算设备。主机设备40和外围设备20一起为用户提供了经无线网络(未示出)与远程方通信的能力。然而,这些特别的标记和它们的相关功能仅仅是为了说明的目的。外围设备20可以包括本领域已知的任何外围设备,比如大容量存储设备、MP3播放器等等。类似地,主机设备40可以是任何类型的电子设备或计算设备,包括但不限于膝上型计算机和笔记本计算机、蜂窝电话、卫星电话和个人数字助理(PDA)。
主机设备40包括主机处理器42、操作系统(OS)44、一个或多个设备驱动程序46以及通信地将主机设备40连接到外围设备20的外围设备接口48。主机处理器42根据与OS44相关联的指令和数据控制主机设备40的操作。主机处理器可以包括一个或多个微处理器、微控制器、硬件电路、固件或其组合。OS44包括存储在主机设备40的存储器中的一组计算机程序,其管理主机设备40的硬件和软件资源。如本领域所已知的,OS44典型地处理系统输入和用户输入,并且执行基本的计算任务。这样的任务包括控制并分配内存、设置系统请求的优先次序、促进联网以及管理文件系统。OS44可以是本领域中已知的任何操作系统;然而,最流行的操作系统中的一些包括WINDOWS、NT、LINUX、UNIX以及MAC OS X。
设备驱动程序46是存储在存储器中的允许主机设备40与外围设备20通信并且控制外围设备20的软件程序。在示范性实施例中,外围设备20可以起调制解调器30的作用。同样,设备驱动程序46可以包括一个或多个调制解调设备驱动程序以与调制解调器30通信。在其他实施例中,外围设备20可以仿真USB兼容的大容量存储设备。因此,设备驱动程序46还可以包括大容量存储设备的驱动程序以与作为大容量设备的外围设备20通信。
外围设备接口48实现了主机设备40与外围设备20之间的通信。外围设备接口48可以包括任何已知类型的接口,例如USB接口、FIREIWIRE或其他串行或并行接口。
外围设备20包括连接到接口24的USB控制器22、文件系统管理器26、存储器28和调制解调器30。存储器28可以存储一个或多个“升级的”设备驱动程序32。如下面更详细地描述的,“升级的”设备驱动程序32对应于调制解调器30上的固件34的版本。如下面所描述的,只要当固件34被升级,设备驱动程序32便可以被发送到主机设备40。这有助于确保主机设备40总是具有最新的设备驱动程序。
USB控制器22控制外围设备20的操作。USB控制器22可以包括微处理器、微控制器、硬件电路或其组合。USB控制器22的一个功能是改变外围设备20的配置。例如,当外围设备20首次连接到主机设备40时,外围设备20可以初始地将其本身表现为大容量存储设备,以避免未知设备错误,直到安装了合适的驱动程序。存储在存储器28中的“自动运行”程序可以被发送到主机设备40,并且自动地执行以将设备驱动程序安装在主机设备40上。一旦安装了正确的驱动程序,USB控制器22可以从缺省配置(例如,大容量存储设备)改变为标准配置(例如,调制解调器配置)。
文件系统管理器26是控制对存储器28的访问的软件模块。特别地,文件系统管理器26接收并处理来自主机设备40的文件存取命令。文件系统管理器26可以以常规方式操作,以打开和关闭文件、读取文件、写入文件、删除文件等等。
调制解调器30允许用户经通信网络(未示出)与一个或多个远程方和/或服务器通信。如果主机设备40安装了合适的调制解调设备驱动程序46,则主机设备40可以经USB控制器22利用调制解调器30发送并接收数据。调制解调器30包括固件34,其可以时常被升级以处理瑕疵、添加功能或改进调制解调器30的性能和可靠性。这些改变可以从负面影响主机设备40的与外围设备20通信的能力。特别地,升级的固件34可以引入当前安装在主机设备40上的设备驱动程序46与固件34之间的不兼容性。这样的不兼容性是成问题的,因为它们可以使得调制解调器30不能操作。
根据本发明,用于调制解调器30的设备驱动程序46包括代码以自动检查当前安装的固件34的最低驱动程序版本并且在必要时启动安装过程来安装存储在外围设备20的存储器中的合适的设备驱动程序46。在一个示范性实施例中,主机处理器42在每次加载设备驱动程序时检查其当前安装的设备驱动程序46的兼容性。在开始加载过程之后,主机处理器42确定与当前安装的固件34一起操作时需要的最低驱动程序版本,并且将安装的设备驱动程序46的当前驱动程序版本与当前安装的固件34的最低驱动程序版本相比较。用于执行该兼容性检查的代码可以包括在设备驱动程序46中。
如果当前安装的设备驱动程序46的驱动程序版本高于或等于固件34的最低驱动程序版本,则设备驱动程序46可以被加载或继续操作。如果当前安装的设备驱动程序46的驱动程序版本低于固件34的最低驱动程序版本,则主机处理器42自动地启动安装程序以安装存储在外围设备20的存储器中的合适的设备驱动程序46。用于启动新驱动程序安装的代码也可以包括在设备驱动程序46中。一旦主机处理器42用新设备驱动程序取代了当前安装的设备驱动程序46,自动重启外围设备20以使得主机处理器42可以加载升级的设备驱动程序32。
可以使用各种技术来确定调制解调器30的当前安装的固件34的最低驱动程序版本。一种方法是:硬编码(hard code)最低驱动程序版本到固件34中,然后由主机处理器42对其进行询问。主机处理器42可以例如向调制解调器30发布预定的AT命令以得到当前安装的固件34的最低驱动程序版本。固件34可以将最低驱动程序版本报告为定制(custom)USB描述符。可替代地,最低驱动程序版本可以存储在可由主机处理器42通过文件系统管理器26访问的外围设备存储器28中的地址或预定文件中。该方法的一个优点是:固件代码本身不必改变以更新最低驱动程序版本;仅仅需要更新预定文件或存储器地址。
图2示出作为针对固件34的升级过程的一部分来更新主机设备40上的设备驱动程序46的方法50。方法50在调制解调器30上的固件34被升级时开始(方框52)。在固件升级期间,与升级的固件34兼容的新设备驱动程序可以被拷贝到外围设备20的存储器28中。在升级之后,用户重启外围设备20(方框54)。例如,这可以响应于由主机处理器42发送的信号自动地来完成,或者通过循环到主机设备40或外围设备20的功率或将外围设备20与主机设备40断开连接/重新连接来完成。在每一种情况下,OS44将自动检测外围设备20的存在并且开始加载用于外围设备20的设备驱动程序46(方框56)。在该实施例中,外围设备20包括调制解调器30。因此,设备驱动程序46包括由主机设备40所使用的那些以与调制解调器30通信。
因为固件升级可以从负面影响主机设备40与调制解调器30通信的能力,所以主机处理器42接下来确定用于调制解调器30的当前安装的设备驱动程序46是否也需要升级。更特别地,主机处理器42确定调制解调器30上的当前安装的固件34所需的最低驱动程序版本(方框58)。主机处理器42可以询问固件34以获得最低驱动程序版本。可替代地,主机处理器42可以从外围设备20的存储器28中的地址或预定文件中读取最低驱动程序版本。
在确定最低驱动程序版本之后,主机处理器42检查当前安装的设备驱动程序46是否与升级的固件34兼容(方框60)。如果当前安装的设备驱动程序46的驱动程序版本等于或超过最低驱动程序版本,则不需要更新设备驱动程序46。在这个情况下,主机处理器42将继续加载当前设备驱动程序46,过程结束(方框62)。相反地,如果当前安装的设备驱动程序46的驱动程序版本低于最低驱动程序版本,则主机处理器42将上载并安装存储在外围设备20的存储器中的新设备驱动程序46(方框64和66)。在共同待审的于2006年11月29日提交的名称为“Methods,Devices and Computer Program Products for AutomaticallyInstalling Device Drivers from a Peripheral Device Onto A Host Computer”的申请11/564,553中描述了用于安装设备驱动程序的示范性过程,该文献通过引用而全部合并于此。
在新设备驱动程序安装在主机设备40中之后,如前所述,外围设备20然后被复位(方框54)。然而,在该过程(pass)中,主机处理器42将确定主机设备40上的设备驱动程序46是升级的设备驱动程序,并且因此与升级的固件34兼容(方框56-60)。同样,主机处理器42将配置主机设备40以与调制解调器30一起操作(方框62)。
本发明当然可以通过与本文所特别提出的方式不同的其他方式来实施,而不脱离本发明的本质特征。本发明的实施例在各个方面被认为是说明性而非限制性的,并且在所附权利要求的意义和等价范围内的所有变化都旨在包含在权利要求中。

用于更新设备驱动程序的系统和方法.pdf_第1页
第1页 / 共11页
用于更新设备驱动程序的系统和方法.pdf_第2页
第2页 / 共11页
用于更新设备驱动程序的系统和方法.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《用于更新设备驱动程序的系统和方法.pdf》由会员分享,可在线阅读,更多相关《用于更新设备驱动程序的系统和方法.pdf(11页珍藏版)》请在专利查询网上搜索。

一种主机(40)连接到具有升级的固件(34)的外围设备(20)。该主机(40)还包括设备驱动程序(46)以与外围设备(20)通信。如果当前安装在主机(40)上的设备驱动程序(46)与升级的固件(34)不兼容,则升级的设备驱动程序(32)被自动地从外围设备(20)下载到主机(40)。一旦外围设备(20)安装在主机(40)上,外围设备(20)就被复位并且升级的设备驱动程序(32)被用于与外围设备(20。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1