CN101620538A - 在usb网卡设备上自动运行cdrom功能的方法 - Google Patents

在usb网卡设备上自动运行cdrom功能的方法 Download PDF

Info

Publication number
CN101620538A
CN101620538A CN200810039968A CN200810039968A CN101620538A CN 101620538 A CN101620538 A CN 101620538A CN 200810039968 A CN200810039968 A CN 200810039968A CN 200810039968 A CN200810039968 A CN 200810039968A CN 101620538 A CN101620538 A CN 101620538A
Authority
CN
China
Prior art keywords
usb
network card
card equipment
cdrom
equipment
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.)
Pending
Application number
CN200810039968A
Other languages
English (en)
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.)
Shanghai Simcom Ltd
Original Assignee
Shanghai Simcom 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 Shanghai Simcom Ltd filed Critical Shanghai Simcom Ltd
Priority to CN200810039968A priority Critical patent/CN101620538A/zh
Publication of CN101620538A publication Critical patent/CN101620538A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种在USB网卡设备上自动运行CDROM功能的方法,其包括以下步骤:S1、生成ISO格式的驱动镜像,该驱动镜像包括一自动运行文件、以及由该自动运行文件所制定的安装程序;S2、将该驱动镜像放到USB网卡设备的文件系统中;S3、该USB网卡设备与电脑连接,电脑枚举出USB CDROM设备,自动运行该安装程序,判断是否安装过配置程序,若安装过,则将该USB网卡设备切换至网卡模式;若未安装过,则在安装配置程序后切换至网卡模式;S4、电脑枚举网卡设备,该安装程序检测到新硬件后安装网卡驱动。本方法将单纯的无线网卡设备变为了一个带CDROM功能的无线网卡设备,节省了成本,且更加灵活方便。

Description

在USB网卡设备上自动运行CDROM功能的方法
技术领域
本发明涉及一种自动运行CDROM功能的方法,特别是涉及一种在USB网卡设备上自动运行CDROM功能的方法。
背景技术
当前很多的无线网卡都是PCI(外设组件互连标准,PeripheralComponent Interconnection)或者是PCMCIA(个人电脑内存卡国际协会,PCMemory International Association)接口的,这主要是为了适应很多台式机和笔记本的应用。但是很多手持设备,如智能手机和PDA等,由于设备体积空间限制,没有办法采用PCMCIA或PCI这样的复杂接口。
网卡需要安装驱动,普通的做法是给客户提供光盘。尽管现在计算机已经很普及,但是对于普通用户来说,网卡驱动的安装和配置并不是件容易的事情。基于这样的考虑,人性化的自动安装对于普通用户来说将是一个很大的吸引点。
发明内容
本发明要解决的技术问题是为了克服现有技术中网卡驱动的安装简易性不足的缺陷,提供一种在USB网卡设备上自动运行CDROM功能的方法。
本发明是通过下述技术方案来解决上述技术问题的:
一种在USB网卡设备上自动运行CDROM功能的方法,其特点在于,其包括以下步骤:
S1、生成ISO格式的驱动镜像,该驱动镜像包括一自动运行文件、以及由该自动运行文件所制定的安装程序;
S2、将该驱动镜像放到USB网卡设备的文件系统中;
S3、该USB网卡设备与电脑连接,电脑枚举出USB CDROM设备,自动运行该安装程序,判断是否安装过配置程序,若安装过,则将该USB网卡设备切换至网卡模式;若未安装过,则在安装配置程序后切换至网卡模式;
S4、电脑枚举网卡设备,该安装程序检测到新硬件后安装网卡驱动。
其中,步骤S3中的切换至网卡模式是安装程序通过一程序接口向该USBCDROM设备发送一自定义SCSI命令,控制该USB网卡设备实现的。
其中,该USB网卡设备包括文件系统、操作系统、驱动层和USB协议栈。
其中,与USB网卡设备相连接的电脑,如果关闭了自动运行功能,则支持手动运行,即进入USB CDROM后直接运行安装程序。
其中,该USB协议栈包括USB总线驱动、USB大容量存储器驱动和SCSI命令处理层。
其中,该USB网卡设备为USB无线网卡、智能手机或PDA。
本发明的积极进步效果在于:本方法将USB存储设备和USB网卡设备结合起来,将网卡的驱动程序和配置程序存储在USB存储设备中(如U盘或USBCDROM),当用户将该USB网卡设备插入电脑时,自动运行安装程序,在安装过程中将设备切换为网卡,这样就不需要额外制作一张光盘而增加成本。该方法为客户无形中增加了使用价值,把单纯的无线网卡设备变为了一个带CDROM功能的无线网卡设备,与采用其他接口的方法比较,本发明的方法更加灵活方便。
附图说明
图1为本发明的CDROM自动运行方法的流程图。
图2为本发明的USB网卡设备端的结构层次图。
具体实施方式
下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
微软Windows系统支持U盘设备,并且对于固定磁盘(fixed disk)和CDROM支持基于autorun.inf机制的自动运行功能。同时USB组织也发布了针对存储设备的规范。
在此基础上,只要在USB网卡设备中添加一点存储空间,将这部分空间模拟出一个USB CDROM盘,然后将安装和配置程序放到这个USB CDROM盘中,当用户将网卡设备插入电脑时,首先运行USB CDROM盘中的安装程序,然后再切换到网卡设备,安装完毕后用户就可以使用网卡了。
如果不运行安装或配置程序,该USB网卡设备只是一个普通USBCDROM盘。仅当安装或配置程序运行中自动切换到网卡模式,并且驻留在网卡模式下时,该USB网卡设备将提供上网功能。此时如果用户需要使用USB CDROM盘,那么必须通过命令,即,通过配置程序界面提供相应的按钮来实现。
其中,该USB网卡设备可以为USB无线网卡或手持设备,如智能手机或PDA(个人数码助理,Personal Digital Assistant)等。
如图1所示,本发明的在USB网卡设备上自动运行CDROM功能的方法流程如下:
步骤101,根据用户的需求,生成ISO格式的驱动镜像FILE_IMAGE,该驱动镜像包括一自动运行文件autorun.inf、由autorun.inf所指定的安装程序,以及安装文档等,可以使用Magic ISO等CDROM镜像制作工具制作。
步骤102,将驱动镜像FILE_IMAGE放到USB网卡设备的文件系统中。
步骤103,该USB网卡设备与电脑(PC)连接,Windows操作系统枚举USB设备,首先获得一个USB CDROM设备,当发现该CDROM中包含autorun.inf文件时,自动运行该文件所制定的安装程序。
步骤104,该安装程序首先判断是否安装过配置程序,若安装过,则挑过步骤105直接执行步骤106;若未安装过,则执行步骤105之后继续执行步骤106。
步骤105,安装配置程序。
步骤106,通过程序接口IOCTL_SCSI_PASS_THROUGH向该USB CDROM设备发送一SCSI命令,控制该USB网卡设备切换至网卡模式。
步骤107,该USB网卡设备接收到该SCSI命令后,即得知PC端安装程序结束,准备工作将开始安装驱动程序,此时该USB网卡设备将自己复位,电脑重新枚举网卡设备,安装程序检测到新硬件后开始安装网卡驱动。
完成了网卡驱动的安装之后,在该网卡模式下,用户即可以使用该USB网卡设备的网卡功能。
其中,以一种编程语言为例给出步骤106中的程序接口IOCTL_SCSI_PASS_THROUGH的实现方式,该参考代码如下:
void SwitchCDROM2ModemCmdSend()
{
    bool flag=true;
    BOOL status=FALSE;
    char szPath[MAX_PATH],szDev[MAX_PATH];
    DWORD accessMode=0;
    DWORD shareMode=0;
    ULONG length=0;
    ULONG returned=0;
    HANDLE hDev=NULL;
    SCSI_PASS_THROUGH_WITH_BUFFERS  sptwb;
    //SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER sptdwb;
    //Get current driver.
    memset(szPath,0,sizeof(szPath));
    GetModuleFileName(NULL,szPath,MAX PATH);//
    sprintf(szDev,″\\\\.\\%c:″,szPath[0]);
    shareMode=FILE_SHARE_READ|FILE_SHARE_WRITE;//default
    accessMode=GENERIC_WRITE|GENERIC_READ;//default
    hDev=CreateFile((const char*)szDev,
     accessMode,
     shareMode,
     NULL,
     OPEN_EXISTING,
     0,
     NULL);
  if(INVALID_HANDLE_VALUE==hDev)
  {
     CString str;
     str.Format(″%s″,szDev);
     str+=″Can’t open USB driver″;
     MyPrintfString(″Can’t open USB driver″);
     WriteDebugFile(″C:″,str);
}
 ZeroMemory(&sptwb,sizeof(SCSI_PASS_THROUGH_WITH_BUFFERS));
    sptwb.spt.Length=sizeof(SCSI_PASS_THROUGH);
    sptwb.spt.PathId=0;
    sptwb.spt.TargetId=1;
    sptwb.spt.Lun=0;
    sptwb.spt.CdbLength=CDB6GENERIC_LENGTH;
    sptwb.spt.SenseInfoLength=24;
    sptwb.spt.DataIn=SCSI_IOCTL_DATA_IN;
    sptwb.spt.DataTransferLength=0;
    sptwb.spt.TimeOutValue=2;
    sptwb.spt.DataBufferOffset=(unsigned long*)
      offsetof(SCSI_PASS_THROUGH_WITH_BUFFERS,ucDataBuf);
    sptwb.spt.SenseInfoOffset=
      offsetof(SCSI_PASS_THROUGH_WITH_BUFFERS,ucSenseBuf);
    sptwb.spt.Cdb[0]=0xBD;/*USBMS_SWITCH_CODE*/
    sptwb.spt.Cdb[1]=0;
    sptwb.spt.Cdb[2]=0;
    sptwb.spt.Cdb[3]=0;
    sptwb.spt.Cdb[4]=2;
    sptwb.spt.Cdb[5]=0;
    length=
offsetof(SCSI_PASS_THROUGH_WITH_BUFFERS,ucDataBuf);
      status=DeviceIoControl(hDev,
       IOCTL_SCSI_PASS_THROUGH,
       &sptwb,
       sizeof(SCSI_PASS_THROUGH),
    &sptwb,
    length,
    &returned,
    FALSE);
}
由于采用了以上的方案,便省去了开发驱动和修改文件系统的代码,而普通信息仍按正常方式处理,达到了两全其美的效果。
为了实现本发明的方法,USB网卡设备端的软件结构层次如图2所示。该网卡设备端必须包括文件系统1,操作系统2、驱动层3,以及USB协议栈4,其中该USB协议栈4又包括USB总线驱动、USB大容量存储器(USBmass storage)驱动和SCSI命令处理层。
该USB网卡设备端可以对从PC端发送过来的SCSI命令USBMS_SWITCH_CODE进行处理,以一种编程语言为例给出代码如下:
Case USBMS_SWITCH_CODE:/*0xBD*/
     /*switch command handle OK return,and switch mass storageto modem*/
     Switch_cdrom2modem_start();
     Break;
USB接口以其简单易用性及其较小的空间使用,使得其与PCMCIA或PCI这样的总线比较起来,显示了巨大的优越性,在手持设备如手机或PDA这样的产品中会具有更大的优势。本发明的USB网卡设备增加了CDROM的自动安装功能,使得用户安装配置简易化,对于普通用户将是一个很大的吸引点。同时,本发明的方法还可以被应用到其他同类产品设计中,以达到操作简易的目的。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改。因此,本发明的保护范围由所附权利要求书限定。

Claims (6)

1、一种在USB网卡设备上自动运行CDROM功能的方法,其特征在于,其包括以下步骤:
S1、生成ISO格式的驱动镜像,该驱动镜像包括一自动运行文件、以及由该自动运行文件所制定的安装程序;
S2、将该驱动镜像放到USB网卡设备的文件系统中;
S3、该USB网卡设备与电脑连接,电脑枚举出USB CDROM设备,自动运行该安装程序,判断是否安装过配置程序,若安装过,则将该USB网卡设备切换至网卡模式;若未安装过,则在安装配置程序后切换至网卡模式;
S4、电脑枚举网卡设备,该安装程序检测到新硬件后安装网卡驱动。
2、如权利要求1所述的在USB网卡设备上自动运行CDROM功能的方法,其特征在于,步骤S3中的切换至网卡模式是安装程序通过一程序接口向该USB CDROM设备发送一自定义SCSI命令,控制该USB网卡设备实现的。
3、如权利要求1所述的在USB网卡设备上自动运行CDROM功能的方法,其特征在于,步骤S3中所述的与USB网卡设备相连接的电脑,如果关闭了自动运行功能,则支持手动运行,即进入USB CDROM后直接运行安装程序。
4、如权利要求1所述的在USB网卡设备上自动运行CDROM功能的方法,其特征在于,该USB网卡设备包括文件系统、操作系统、驱动层和USB协议栈。
5、如权利要求4所述的在USB网卡设备上自动运行CDROM功能的方法,其特征在于,该USB协议栈包括USB总线驱动、USB大容量存储器驱动和SCSI命令处理层。
6、如以上任一权利要求所述的在USB网卡设备上自动运行CDROM功能的方法,其特征在于,该USB网卡设备为USB无线网卡、智能手机或PDA。
CN200810039968A 2008-07-01 2008-07-01 在usb网卡设备上自动运行cdrom功能的方法 Pending CN101620538A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810039968A CN101620538A (zh) 2008-07-01 2008-07-01 在usb网卡设备上自动运行cdrom功能的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810039968A CN101620538A (zh) 2008-07-01 2008-07-01 在usb网卡设备上自动运行cdrom功能的方法

Publications (1)

Publication Number Publication Date
CN101620538A true CN101620538A (zh) 2010-01-06

Family

ID=41513788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810039968A Pending CN101620538A (zh) 2008-07-01 2008-07-01 在usb网卡设备上自动运行cdrom功能的方法

Country Status (1)

Country Link
CN (1) CN101620538A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853142A (zh) * 2010-05-05 2010-10-06 四川九洲电器集团有限责任公司 一种带虚拟光驱的usb设备的识别方法
CN102088797A (zh) * 2011-01-30 2011-06-08 中兴通讯股份有限公司 一种无线通讯方法、系统及无线通讯终端
CN102130957A (zh) * 2011-03-21 2011-07-20 中兴通讯股份有限公司 一种移动宽带设备及其使用方法
CN102148631A (zh) * 2010-02-08 2011-08-10 宏达国际电子股份有限公司 可拆卸的无线通讯模块以及其启动的方法
WO2011153770A1 (zh) * 2010-06-12 2011-12-15 中兴通讯股份有限公司 终端设备安装的方法及系统
WO2012009898A1 (zh) * 2010-07-21 2012-01-26 中兴通讯股份有限公司 无线接入设备和方法
CN102955755A (zh) * 2011-08-23 2013-03-06 华为终端有限公司 数据卡与主机间通信异常的修复方法及数据卡
US8499104B2 (en) 2011-01-06 2013-07-30 Huawei Device Co., Ltd. Method for switching working mode, USB device, and host device
CN103324445A (zh) * 2013-05-27 2013-09-25 深圳市江波龙电子有限公司 Usb存储设备运行的方法和系统、usb存储设备
CN103713916A (zh) * 2012-10-09 2014-04-09 华平信息技术股份有限公司 Windows嵌入式系统中自动运行应用程序的方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1614535A (zh) * 2003-11-06 2005-05-11 技嘉科技股份有限公司 结合储存媒体与无线网卡的usb接口装置
CN1617096A (zh) * 2003-11-14 2005-05-18 享承科技股份有限公司 加速安装上网装置的方法
CN101042718A (zh) * 2006-03-21 2007-09-26 北京汉辰科技有限公司 带安全认证的网络手持多媒体终端及实现方法
CN101075178A (zh) * 2007-06-25 2007-11-21 中兴通讯股份有限公司 Td_scdma无线数据卡的自启动方法
CN101110039A (zh) * 2007-08-23 2008-01-23 中兴通讯股份有限公司 终端设备自安装及自启动系统及方法
US20080025227A1 (en) * 2006-07-31 2008-01-31 Cisco Technology, Inc. Method and system for handling fault messages in a network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1614535A (zh) * 2003-11-06 2005-05-11 技嘉科技股份有限公司 结合储存媒体与无线网卡的usb接口装置
CN1617096A (zh) * 2003-11-14 2005-05-18 享承科技股份有限公司 加速安装上网装置的方法
CN101042718A (zh) * 2006-03-21 2007-09-26 北京汉辰科技有限公司 带安全认证的网络手持多媒体终端及实现方法
US20080025227A1 (en) * 2006-07-31 2008-01-31 Cisco Technology, Inc. Method and system for handling fault messages in a network
CN101075178A (zh) * 2007-06-25 2007-11-21 中兴通讯股份有限公司 Td_scdma无线数据卡的自启动方法
CN101110039A (zh) * 2007-08-23 2008-01-23 中兴通讯股份有限公司 终端设备自安装及自启动系统及方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148631A (zh) * 2010-02-08 2011-08-10 宏达国际电子股份有限公司 可拆卸的无线通讯模块以及其启动的方法
CN101853142B (zh) * 2010-05-05 2014-06-04 四川九洲电器集团有限责任公司 一种带虚拟光驱的usb设备的识别方法
CN101853142A (zh) * 2010-05-05 2010-10-06 四川九洲电器集团有限责任公司 一种带虚拟光驱的usb设备的识别方法
WO2011153770A1 (zh) * 2010-06-12 2011-12-15 中兴通讯股份有限公司 终端设备安装的方法及系统
US8689291B2 (en) 2010-07-21 2014-04-01 Zte Corporation Wireless access device and method
WO2012009898A1 (zh) * 2010-07-21 2012-01-26 中兴通讯股份有限公司 无线接入设备和方法
US8499104B2 (en) 2011-01-06 2013-07-30 Huawei Device Co., Ltd. Method for switching working mode, USB device, and host device
US8650332B2 (en) 2011-01-06 2014-02-11 Huawei Device Co., Ltd. Method for switching working mode, USB device, and host device
CN102088797A (zh) * 2011-01-30 2011-06-08 中兴通讯股份有限公司 一种无线通讯方法、系统及无线通讯终端
WO2012100504A1 (zh) * 2011-01-30 2012-08-02 中兴通讯股份有限公司 一种无线通讯方法、系统及无线通讯终端
WO2012126214A1 (zh) * 2011-03-21 2012-09-27 中兴通讯股份有限公司 一种移动宽带设备及其使用方法
CN102130957A (zh) * 2011-03-21 2011-07-20 中兴通讯股份有限公司 一种移动宽带设备及其使用方法
CN102955755A (zh) * 2011-08-23 2013-03-06 华为终端有限公司 数据卡与主机间通信异常的修复方法及数据卡
US9058264B2 (en) 2011-08-23 2015-06-16 Huawei Device Co., Ltd. Method for repairing communication abnormality between data card and host and data card
CN102955755B (zh) * 2011-08-23 2016-03-02 华为终端有限公司 数据卡与主机间通信异常的修复方法及数据卡
CN103713916A (zh) * 2012-10-09 2014-04-09 华平信息技术股份有限公司 Windows嵌入式系统中自动运行应用程序的方法及系统
CN103324445A (zh) * 2013-05-27 2013-09-25 深圳市江波龙电子有限公司 Usb存储设备运行的方法和系统、usb存储设备
CN103324445B (zh) * 2013-05-27 2016-02-03 深圳市江波龙电子有限公司 Usb存储设备运行的方法和系统、usb存储设备

Similar Documents

Publication Publication Date Title
CN101620538A (zh) 在usb网卡设备上自动运行cdrom功能的方法
US20050251593A1 (en) Method for determining transmitting mode of a memory card with multiple interface functions
US7921244B2 (en) Data sharing and transfer systems and methods
US6636918B1 (en) Mobile computing device and associated base stations
CN101609408B (zh) 一种实现终端设备自启动的方法及系统
KR100450080B1 (ko) 유에스비기반의 이동형 저장장치 및 그 제어방법
US7509444B2 (en) Data access device for working with a computer of power off status
KR20040086212A (ko) 휴대용 운영체제 및 이를 로드하는 방법
US7007127B2 (en) Method and related apparatus for controlling transmission interface between an external device and a computer system
US20030233501A1 (en) Device for transferring from a memory card interface to a universal serial bus interface
US5835772A (en) Method and apparatus for providing an interface between a system and a peripheral device
US20060250360A1 (en) Smart pointer
WO2011003257A1 (zh) 通用串行总线数据卡自启动方法和系统
CN103106109A (zh) 移动装置以及于其上运行两种平台系统或应用程序的方法
WO2006075397A1 (ja) インストール方法、プログラム、周辺機器及びシステム
US20090193152A1 (en) External device with a driver auto-run installation and method thereof
WO2008067432A1 (en) System and method for receiving control commands at a peripheral device
US20070162679A1 (en) Bus device
CN1251106C (zh) 启动计算设备中的端口的方法
US20050060490A1 (en) Apparatus for multiple host access to storage medium
US8527667B2 (en) Apparatuses and methods for transferring data
US20030023410A1 (en) Method and apparatus for flushing of a device cache and suspending/shutting-down the device
US7913263B2 (en) External device and operating method applied thereto
WO2015139431A1 (zh) 一种稳定热插拔驱动方法、装置及一种支持热插拔设备
KR100758219B1 (ko) 유에스비 장치의 동작을 통제하는 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20100106