CN102609285B - 一种驱动智能匹配加载的方法 - Google Patents

一种驱动智能匹配加载的方法 Download PDF

Info

Publication number
CN102609285B
CN102609285B CN201210025390.9A CN201210025390A CN102609285B CN 102609285 B CN102609285 B CN 102609285B CN 201210025390 A CN201210025390 A CN 201210025390A CN 102609285 B CN102609285 B CN 102609285B
Authority
CN
China
Prior art keywords
facility information
file
information file
driving
matching load
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.)
Active
Application number
CN201210025390.9A
Other languages
English (en)
Other versions
CN102609285A (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.)
ZTE Corp
Original Assignee
Nanjing ZTE New Software Co Ltd
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 Nanjing ZTE New Software Co Ltd filed Critical Nanjing ZTE New Software Co Ltd
Priority to CN201210025390.9A priority Critical patent/CN102609285B/zh
Publication of CN102609285A publication Critical patent/CN102609285A/zh
Application granted granted Critical
Publication of CN102609285B publication Critical patent/CN102609285B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及移动通讯和计算机技术领域,提供一种驱动智能匹配加载的方法,根据设备信息文件的状态区分进行设备驱动匹配加载。进一步地,所述的驱动智能匹配加载的方法,还包括所述根据设备信息文件的状态区分进行设备驱动匹配加载,具体是指:没有设备信息文件,则进行设备驱动的初次安装操作,安装成功后,进行设备信息文件初始化;设备信息文件中内容与接入设备信息不一致,则执行用户更新安装,更新设备信息文件;设备信息文件中内容与接入设备信息一致,加载设备功能驱动。本发明所述的方法,充分利用了MacOS内核BSD文件读写技术进行文件读写,解决了MacOS中IOKIT没有提供文件读写接口的缺陷,填补了现有技术的空白。

Description

一种驱动智能匹配加载的方法
技术领域:
本发明涉及移动通讯和计算机技术领域,具体说涉及一种驱动智能匹配加载的方法。
技术背景:
3G技术在全世界范围内的普及,在计算机领域对设备驱动提出了更高的要求。目前几大厂家的主流3G产品都具有内置安装光盘的功能,供用户安装设备驱动。设备驱动充分利用与操作系统之间的信息交互,大大缩短设备驱动加载时间,简化加载流程,进而改善用户体验。在MacOS(苹果机Mac操作系统)下使用3G终端产品,作为最基本的自启动功能,用户希望达到自动安装,自动切换,自动匹配设备,自动加载驱动等智能化操作。
为了实现上述用户需求,需要在操作系统中记录用户的设备使用信息,条件加载驱动。对比Windows系统,MacOS操作系统不具有注册表的概念,同时其驱动架构IOKIT(MacOS中驱动架构)不提供文件读写接口,如果想要达到与Windows类似的功能,必须自己设计一套适合MacOS的特定的文件读写方法及规范。
发明内容:
本发明所要解决的技术问题是提供一种MacOS驱动智能匹配加载的实现方法,能够实现设备驱动在MacOS上的自动匹配加载功能。
本发明采用以下技术方案:
本发明的一个实施例提供一种驱动智能匹配加载的方法,根据设备信息文件的状态区分进行设备驱动匹配加载。
进一步地,所述的驱动智能匹配加载的方法,还包括所述根据设备信息文件的状态区分进行设备驱动匹配加载,具体是指:
没有设备信息文件,则进行设备驱动的初次安装操作,安装成功后,进行设备信息文件初始化;
设备信息文件中内容与接入设备信息不一致,则执行用户更新安装,更新设备信息文件;
设备信息文件中内容与接入设备信息一致,加载设备功能驱动。
进一步地,所述的驱动智能匹配加载的方法,还包括,所述驱动智能匹配加载的方法适用于苹果机的操作系统Mac OS之下。
进一步地,所述的驱动智能匹配加载的方法,还包括,所述没有设备信息文件情况的判定方法为:插入终端设备,在Mac OS中下载设备光盘内容;执行安装包中Shell脚本,检测系统中是否存在设备信息文件。
进一步地,所述的驱动智能匹配加载的方法,还包括,所述设备信息文件初始化是指:从安装包中提取设备信息写入设备信息文件,所述设备信息包括:Product ID、VendorID、iSerial Number、驱动版本信息等。
进一步地,所述的驱动智能匹配加载的方法,还包括,设备信息文件情况判定方法为:采用基于BSD(伯克利软件套件)内核操作的文件读写方案,实现对设备信息文件的读操作;设备驱动提取设备信息;匹配所述设备信息文件中的信息与所述提取到的设备信息判定是否一致。
进一步地,所述的驱动智能匹配加载的方法,还包括,所述设备信息文件中内容与接入设备信息不一致的情况包括:接入设备安装包驱动版本号高于设备信息文件中已有驱动版本号。
进一步地,所述的驱动智能匹配加载的方法,还包括,所述接入设备驱动版本号高于设备信息文件中已有驱动版本号时,对设备信息文件的更新方法为:按照设备信息文件规定的格式,重组接入设备信息与设备信息文件中原有设备信息,写入设备信息文件。
进一步地,所述的驱动智能匹配加载的方法,还包括,所述设备信息文件中内容与接入设备信息不一致的情况包括:接入设备安装包驱动版本号不高于设备信息文件中已有驱动版本号。
进一步地,所述的驱动智能匹配加载的方法,还包括,所述接入设备驱动版本号不高于设备信息文件中已有驱动版本号时,对设备信息文件的更新方法为:删除设备信息文件中的原有设备信息,将接入设备的设备信息写入设备信息文件。
进一步地,所述的驱动智能匹配加载的方法,还包括,其特征在于,所述版本号的判断,由安装包中Shell脚本读取系统中已有设备信息文件中驱动版本号,对比接入设备本次安装包驱动版本号得到。
采用本发明所述的方法,充分利用了MacOS内核BSD文件读写技术进行文件读写,解决了MacOS中IOKIT没有提供文件读写接口的缺陷,填补了现有技术的空白。同时使用Shell脚本方案,实现了安装过程中的信息判断和更新,简化了操作流程,提高了稳定性。
附图说明:
图1为本发明设备驱动文件驱动初次安装实施例流程图;
图2为本发明设备驱动文件驱动更新安装实施例流程图;
图3为本发明设备驱动根据设备信息文件判断工作的流程图。
具体实施方法:
本方案的核心在于发明了在MacOS中,设备驱动利用BSD文件操作,根据设备信息文件判断区分历史设备和陌生设备,分别进行相应操作的方法。该方法在通用性,扩展性及稳定性方面有诸多优势。
下面结合附图对技术方案的实施作进一步的详细描述:
按照设备驱动安装与否可以将对应软件环境操作分为初次安装和更新安装,两种情况主要区别在于系统是否已安装设备驱动。下面结合附图分别对两种情况加以详细描述。
图1为在计算机中进行初次安装,特别说明,只要在MacOS中不存在设备信息文件的情况下均视为初次安装。
步骤S101:插入设备,设备在MacOS中加载设备光盘内容。
步骤S102:执行安装包中Shell脚本,检测系统中是否存在设备信息文件,如不存在,视为初次安装,执行后续步骤;反之,视为更新安装,执行图2所示的更新安装分支。
步骤S103:在MacOS执行安装操作,如操作成功,执行S104;如操作失败,直接退出安装程序。
步骤S104:完成安装,执行安装包中Shell脚本,提取设备信息文件中需要的设备信息,例如设备Product ID,Vendor ID,iSerialNumber,驱动版本信息等,将该信息写人设备信息文件,完成设备信息文件初始化工作。
完成S104步骤后,视为初次安装成功。
图2为在计算机中进行更新安装,特别说明,此时在MacOS中已经存在设备信息文件,且设备驱动识别设备为陌生设备,需要更新驱动。
由图1中所示,在设备驱动识别设备为陌生设备前提下,安装包中Shell脚本判断,进行更新安装。具体为Shell脚本检测MacOS中存在设备信息文件,判断系统中有驱动安装痕迹,需执行更新安装。
步骤S201:安装包中Shell脚本读取系统中已有设备信息文件中驱动版本号,对比本次安装包驱动版本号信息。由于新驱动较老驱动包含更多的功能和设备支持,为了达到逻辑上的正确性,当本次安装包驱动版本号高于系统中已有驱动版本号时,执行S202,;反之,执行S203。
步骤S202:保存设备信息文件到特定文件地址为临时文件,同时删除设备信息文件。
其中特定文件地址由Shell和设备驱动协商确定,达到二者共享的目的。
步骤S203:直接删除设备信息文件。
步骤S204:更新设备驱动,如成功执行S205,反之,退出安装程序。
步骤S205:安装包中Shell脚本,判断系统中特定文件地址是否存在临时设备信息文件,如存在,执行S206;反之,执行S207。
步骤S206:提取临时设备文件中的特定设备信息,例如设备Product ID,VendorID,iSerial Number等,同时读取本次更新驱动的版本信息,将二者信息按照设备信息文件规定格式进行重组,写入新的设备信息文件。
步骤S207:安装包中Shell脚本文件,读取本次安装特定设备信息,将该信息写入新的设备信息文件。
该操作所指的新的设备信息文件与S206中的设备信息文件为同一文件。步骤S206操作成功,视为更新安装成功,进行后续驱动加载;反之,视为失败,退出安装程序。
图3为设备驱动根据设备信息文件判断工作的细节。
当MacOS中已经存在设备驱动的前提下,插入设备,设备驱动按照IOKIT流程,首先进Probe阶段。
步骤S301:操作系统将对匹配上的设备驱动进行Probe操作。
设备驱动在Probe操作中完成设备匹配等智能操作。
步骤S302:由于MacOS中没有提供驱动读写用户空间文件系统的接口,在此采用基于BSD内核操作的文件读写方案,实现对设备信息文件的读操作,进而获得设备信息,例如设备Product ID,Vendor ID,iSerial Number等。
操作成功,执行S303;反之执行S305。
步骤S303:设备驱动首先提取该设备信息,例如设备Product ID,Vendor ID,iSerial Number等。在S302读取的设备信息文件内容中搜寻匹配与本次设备完全相同的信息。
如匹配成功,代表该设备已经有使用历史,视为历史设备,无需在此安装驱动,直接执行S304;反之,该设备为陌生设备,执行S305。
步骤S304:进行设备切换。
设备驱动需要将设备模式由供用户安装的光盘模式切换成为特定功能模式,特定功能模式指设备完成其特定功能的状态,之后执行S306。
步骤S305:加载USBMassStorage驱动,映射光盘内容供用户更新安装。
执行该步骤的前提是,设备驱动通过逻辑判断,认为该设备为陌生设备,需要重新安装驱动。
步骤S306:加载设备功能驱动
本发明应用BSD中内核文件读写操作克服了MacOS IOKIT的不足,同时结合自定义设备信息文件,完成对终端设备的匹配加载功能。方案中大量使用Shell脚本操作,简化了处理流程,提高了通用性。同时在该方案中充分考虑到对已有驱动的兼容性及未来驱动的扩展性,确保在实现功能的同时,提高效率和健壮性。
以上所述仅为本发明的最佳实施例,并不用以限制本发明,应当指出,对于本领域的通信技术人员来说,凡事本发明的精神和原则之内所作的任何修改等同替换或改进等,均应包含在本发明的保护范围。

Claims (6)

1.一种驱动智能匹配加载的方法,其特征在于,根据设备信息文件的状态区分进行设备驱动匹配加载,其中,所述驱动智能匹配加载的方法适用于苹果机的操作系统Mac OS之下;
所述设备信息文件情况判定方法为:采用基于BSD(伯克利软件套件)内核操作的文件读写方案,实现对设备信息文件的读操作;设备驱动提取设备信息;匹配所述设备信息文件中的信息与所述提取到的设备信息判定是否一致;
其中,所述设备信息文件中内容与接入设备信息不一致的情况包括:接入设备安装包驱动版本号不高于设备信息文件中已有驱动版本号;
所述接入设备驱动版本号不高于设备信息文件中已有驱动版本号时,对设备信息文件的更新方法为:删除设备信息文件中的原有设备信息,将接入设备的设备信息写入设备信息文件;
所述版本号的判断,由安装包中Shell脚本读取系统中已有设备信息文件中驱动版本号,对比接入设备本次安装包驱动版本号得到。
2.根据权利要求1所述的驱动智能匹配加载的方法,其特征在于,所述根据设备信息文件的状态区分进行设备驱动匹配加载,具体是指:
没有设备信息文件,则进行设备驱动的初次安装操作,安装成功后,进行设备信息文件初始化;
设备信息文件中内容与接入设备信息不一致,则执行用户更新安装,更新设备信息文件;
设备信息文件中内容与接入设备信息一致,加载设备功能驱动。
3.根据权利要求1所述的驱动智能匹配加载的方法,其特征在于,所述没有设备信息文件情况的判定方法为:插入终端设备,在Mac OS中下载设备光盘内容;执行安装包中Shell脚本,检测系统中是否存在设备信息文件。
4.根据权利要求1的任一项所述的驱动智能匹配加载的方法,其特征在于,所述设备信息文件初始化是指:从安装包中提取设备信息写入设备信息文件,所述设备信息包括:Product ID、Vendor ID、iSerial Number、驱动版本信息等。
5.根据权利要求1所述的驱动智能匹配加载的方法,其特征在于,所述设备信息文件中内容与接入设备信息不一致的情况包括:接入设备安装包驱动版本号高于设备信息文件中已有驱动版本号。
6.根据权利要求5所述的驱动智能匹配加载的方法,其特征在于,所述接入设备驱动版本号高于设备信息文件中已有驱动版本号时,对设备信息文件的更新方法为:按照设备信息文件规定的格式,重组接入设备信息与设备信息文件中原有设备信息,写入设备信息文件。
CN201210025390.9A 2012-02-06 2012-02-06 一种驱动智能匹配加载的方法 Active CN102609285B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210025390.9A CN102609285B (zh) 2012-02-06 2012-02-06 一种驱动智能匹配加载的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210025390.9A CN102609285B (zh) 2012-02-06 2012-02-06 一种驱动智能匹配加载的方法

Publications (2)

Publication Number Publication Date
CN102609285A CN102609285A (zh) 2012-07-25
CN102609285B true CN102609285B (zh) 2018-10-26

Family

ID=46526683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210025390.9A Active CN102609285B (zh) 2012-02-06 2012-02-06 一种驱动智能匹配加载的方法

Country Status (1)

Country Link
CN (1) CN102609285B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095687B (zh) * 2016-06-22 2018-06-15 西安电子科技大学 一种Linux PCI网卡驱动检错方法及装置
CN106126302A (zh) * 2016-06-30 2016-11-16 宇龙计算机通信科技(深圳)有限公司 一种器件更新方法及装置
CN106502863B (zh) * 2016-10-25 2019-12-06 新华三信息技术有限公司 一种软件版本提示方法和装置
CN107423075B (zh) * 2017-08-28 2021-06-08 深圳传音控股股份有限公司 驱动的注册方法以及用户终端
US10572246B2 (en) * 2018-04-27 2020-02-25 Ati Technologies Ulc Live update of a kernel device module
CN109375928B (zh) * 2018-10-31 2022-02-25 凌云光技术股份有限公司 基于nsis脚本的第三方驱动软件的集成与管理的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1648870A (zh) * 2005-03-09 2005-08-03 北京软通科技有限责任公司 计算机系统硬件设备自动检测的方法
CN101872311A (zh) * 2010-07-02 2010-10-27 上海市共进通信技术有限公司 Mac平台插入USB设备运行客户端程序并弹出光驱设备的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060070059A1 (en) * 2004-09-27 2006-03-30 Starr Matthew T Co-existing dedicated system software and read/writeable data storage space on removable media

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1648870A (zh) * 2005-03-09 2005-08-03 北京软通科技有限责任公司 计算机系统硬件设备自动检测的方法
CN101872311A (zh) * 2010-07-02 2010-10-27 上海市共进通信技术有限公司 Mac平台插入USB设备运行客户端程序并弹出光驱设备的方法

Also Published As

Publication number Publication date
CN102609285A (zh) 2012-07-25

Similar Documents

Publication Publication Date Title
CN102609285B (zh) 一种驱动智能匹配加载的方法
CN105912356B (zh) 一种支持版本回退的光模块固件程序在线升级方法
CN102722429B (zh) 一种硬盘维修设备的处理方法
CN101110039B (zh) 终端设备自安装及自启动系统及方法
CN101452435B (zh) 一种usb端口模式切换方法及终端
CN103729275B (zh) 硬盘固件修复系统及硬盘固件修复方法
CN103197939A (zh) 在混合计算系统中更新固件
CN103150188A (zh) 非x86指令集计算机的x86兼容显卡快速初始化方法
CN102662701A (zh) Cpld在线升级方法、装置及业务单板
CN102693144B (zh) 一种Android移动终端的电容屏固件升级的方法
CN108170494B (zh) 一种用于智能终端的应用程序启动方法及启动系统
CN109582331A (zh) 车载通信模块的升级方法、装置和系统
CN1964525A (zh) 一种智能加载手机硬件驱动程序的系统
CN103559098A (zh) 智能卡测试号码控制方法、装置及系统
CN103338306B (zh) 一种备份和恢复用户数据方法及装置
CN1983204A (zh) 使用lpc接口且能修复bios功能之除错装置及其除错方法
CN102262589B (zh) 实现硬盘驱动器拷贝的应用服务器及方法
CN104156328B (zh) 一种识别操作系统类型的方法及usb设备
CN109144586A (zh) 一种驱动适配方法、装置、计算机设备及存储介质
CN103309827B (zh) 终端的设备参数读写方法及装置
CN104459515A (zh) 一种主板生产测试方法
EP2562649B1 (en) Method for repairing communication abnormality between data card and host
CN103136010A (zh) 韧体更新方法及可供该方法使用的韧体更新装置
CN102135896A (zh) 一种基于嵌入式系统实现软件升级的方法和系统
CN102750167B (zh) 应用程序启动方法、装置和计算机系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20180820

Address after: 210012 No. 68 Bauhinia Road, Yuhuatai District, Jiangsu, Nanjing

Applicant after: Nanjing Zhongxing New Software Co., Ltd.

Address before: 518057 Nanshan District high tech Industrial Park, Shenzhen, Guangdong, Ministry of justice, Zhongxing Road, South China road.

Applicant before: ZTE Corporation

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191121

Address after: 518057 Nanshan District science and technology, Guangdong Province, South Road, No. 55, No.

Patentee after: ZTE Communications Co., Ltd.

Address before: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Patentee before: Nanjing Zhongxing New Software Co., Ltd.

TR01 Transfer of patent right