首次安装CY7C68013A驱动失败记(结果竟然是这样

系统 1740 0

今天把68013A-56焊接在CCD2的CPLD PCB上,配套的EEPROM存储器还没有焊接上,所以想用它试验一下Cypress的基础开发实例。研究了一上午,结果驱动都没装上。

我用一种我没想到的方式解决的这个问题,详见文章尾部叙述。

如果有人能给我一点提醒,非常感谢!Please contact "sunmaoduo@163.com"

插入设备(后文简称 FX2LP),显示Unknown Device如下图:

Figure 1

首次安装CY7C68013A驱动失败记(结果竟然是这样)

双击显示,代码43:

Figure 2

首次安装CY7C68013A驱动失败记(结果竟然是这样)

Figure 3

首次安装CY7C68013A驱动失败记(结果竟然是这样)

Figure 4

首次安装CY7C68013A驱动失败记(结果竟然是这样) 首次安装CY7C68013A驱动失败记(结果竟然是这样)

Figure 5

首次安装CY7C68013A驱动失败记(结果竟然是这样)

Figure 6

首次安装CY7C68013A驱动失败记(结果竟然是这样)

以上是插入设备时的反应。

Cypress提供的Vista(compatible with Windows 7)驱动文件包括cyusb.inf、cyusb.sys,根据TRM中的相关内容:

Figure 7

首次安装CY7C68013A驱动失败记(结果竟然是这样)

我修改了cyusb.inf文件中的相关项,现将cyusb.inf内容列出(大部分和Cypress Suite USB 3.4.7 附带的通用驱动配套inf文件相同):

————————————————————————————————————————

        ; Installation INF 
        
          for
        
         the Cypress Generic USB Driver 
        
          for
        
        
           Windows Vista



; Processor support 
        
        
          for
        
        
           OS unknown platforms.



;



; (c) Copyright 
        
        
          2011
        
        
           Cypress Semiconductor Corporation



;



 



[Version]



Signature
        
        =
        
          "
        
        
          $WINDOWS NT$
        
        
          "
        
        
          



Class
        
        =
        
          USB



ClassGUID
        
        ={36FC9E60-C465-11CF-
        
          8056
        
        -
        
          444553540000
        
        
          }



provider
        
        =%CYUSB_Provider%
        
          



CatalogFile
        
        =
        
          CYUSB.cat



DriverVer
        
        =
        
          10
        
        /
        
          17
        
        /
        
          2011
        
        ,
        
          3.4
        
        .
        
          7.000
        
        
          



 



[SourceDisksNames]




        
        
          1
        
        =%CYUSB_Install%
        
          ,,,



 



[SourceDisksFiles]



CYUSB.sys 
        
        = 
        
          1
        
        
          



 



[DestinationDirs]



CYUSB.Files.Ext 
        
        = 
        
          10
        
        
          ,System32\Drivers



 



[ControlFlags]



ExcludeFromSelect 
        
        = *
        
          



 



[Manufacturer]




        
        %CYUSB_Provider%=
        
          Device,NT,NTx86,NTamd64



 



;
        
        
          for
        
        
           all platforms



[Device]




        
        %VID_04B4&PID_8613.DeviceDesc%=CyUsb, USB\VID_04B4&
        
          PID_8613 ; 修改了VID、PID,下同



 



 



;
        
        
          for
        
         windows 
        
          2000
        
        
           non intel platforms



[Device.NT]




        
        %VID_04B4&PID_8613.DeviceDesc%=CyUsb, USB\VID_04B4&
        
          PID_8613



 



 



;
        
        
          for
        
        
           x86 platforms



[Device.NTx86]




        
        %VID_04B4&PID_8613.DeviceDesc%=CyUsb, USB\VID_04B4&
        
          PID_8613



 



 



;
        
        
          for
        
        
           x64 platforms



[Device.NTamd64]




        
        %VID_04B4&PID_8613.DeviceDesc%=CyUsb, USB\VID_04B4&
        
          PID_8613



 



 



[CYUSB]



CopyFiles
        
        =
        
          CYUSB.Files.Ext



AddReg
        
        =
        
          CyUsb.AddReg



 



[CYUSB.HW]



AddReg
        
        =
        
          CYUSB.AddReg.Guid



 



[CYUSB.Services]



Addservice 
        
        = CYUSB,
        
          2
        
        
          ,CYUSB.AddService



 



[CYUSB.NT]



CopyFiles
        
        =
        
          CYUSB.Files.Ext



AddReg
        
        =
        
          CyUsb.AddReg



 



[CYUSB.NT.HW]



AddReg
        
        =
        
          CYUSB.AddReg.Guid



 



[CYUSB.NT.Services]



Addservice 
        
        = CYUSB,
        
          2
        
        
          ,CYUSB.AddService



 



 



[CYUSB.NTx86]



CopyFiles
        
        =
        
          CYUSB.Files.Ext



AddReg
        
        =
        
          CyUsb.AddReg



 



[CYUSB.NTx86.HW]



AddReg
        
        =
        
          CYUSB.AddReg.Guid



 



[CYUSB.NTx86.Services]



Addservice 
        
        = CYUSB,
        
          2
        
        
          ,CYUSB.AddService



 



[CYUSB.NTamd64]



CopyFiles
        
        =
        
          CYUSB.Files.Ext



AddReg
        
        =
        
          CyUsb.AddReg



 



[CYUSB.NTamd64.HW]



AddReg
        
        =
        
          CYUSB.AddReg.Guid



 



[CYUSB.NTamd64.Services]



Addservice 
        
        = CYUSB,
        
          2
        
        
          ,CYUSB.AddService



 



 



[CYUSB.AddReg]



; Deprecating 
        
        - 
        
          do
        
         not use 
        
          in
        
        
          new
        
        
           apps to identify a CYUSB driver



HKR,,DevLoader,,
        
        *
        
          ntkern



HKR,,NTMPDriver,,CYUSB.sys



; You may optionally include a check 
        
        
          for
        
         DriverBase 
        
          in
        
         your application to check 
        
          for
        
        
           a CYUSB driver



HKR,,DriverBase,,CYUSB.sys



HKR,
        
        
          "
        
        
          Parameters
        
        
          "
        
        ,
        
          "
        
        
          MaximumTransferSize
        
        
          "
        
        ,
        
          0x10001
        
        ,
        
          4096
        
        
          



HKR,
        
        
          "
        
        
          Parameters
        
        
          "
        
        ,
        
          "
        
        
          DebugLevel
        
        
          "
        
        ,
        
          0x10001
        
        ,
        
          2
        
        
          



HKR,,FriendlyName,,
        
        %CYUSB_Description%
        
          



 



[CYUSB.AddService]



DisplayName 
        
        = %CYUSB_Description%
        
          



ServiceType 
        
        = 
        
          1
        
        
           ; SERVICE_KERNEL_DRIVER



StartType 
        
        = 
        
          3
        
        
           ; SERVICE_DEMAND_START



ErrorControl 
        
        = 
        
          1
        
        
           ; SERVICE_ERROR_NORMAL



ServiceBinary 
        
        = %
        
          10
        
        %
        
          \System32\Drivers\CYUSB.sys



AddReg 
        
        =
        
           CYUSB.AddReg



LoadOrderGroup 
        
        =
        
           Base



 



[CYUSB.Files.Ext]



CYUSB.sys



 



[CYUSB.AddReg.Guid]



HKR,,DriverGUID,,
        
        %CYUSB.GUID%
        
          



 



[Strings]



CYUSB_Provider 
        
        = 
        
          "
        
        
          Cypress
        
        
          "
        
        
          



CYUSB_Company 
        
        = 
        
          "
        
        
          Cypress Semiconductor Corporation
        
        
          "
        
        
          



CYUSB_Description 
        
        = 
        
          "
        
        
          Cypress Generic USB Driver
        
        
          "
        
        
          



CYUSB_DisplayName 
        
        = 
        
          "
        
        
          Cypress USB Generic
        
        
          "
        
        
          



CYUSB_Install 
        
        = 
        
          "
        
        
          Cypress CYUSB Driver Installation Disk
        
        
          "
        
        
          



VID_04B4
        
        &PID_8613.DeviceDesc=
        
          "
        
        
          Cypress USB Generic Driver (3.4.7.000)FRANK64
        
        
          "
        
        
           ; 修改成自定义的名字



CYUSB.GUID
        
        =
        
          "
        
        
          {76C2F9FD-3238-48aa-A217-06A805FE4DC9}
        
        
          "
        
        
           ; 利用GUIDGEN.EXE生成了新的GUID



CYUSB_Unused 
        
        = 
        
          "
        
        
          .
        
        
          "
        
      
View Code

————————————————————————————————————————

 

然后点击更新驱动程序,将目标文件夹指向我创建的.inf文件和对应的.sys文件所在的文件夹,确定,显示:

Figure 8

首次安装CY7C68013A驱动失败记(结果竟然是这样)

其实就是没有更新驱动…一切都没有变化(原因是没有成功识别设备的VID&PID):

Figure 9

首次安装CY7C68013A驱动失败记(结果竟然是这样)

Figure 10

首次安装CY7C68013A驱动失败记(结果竟然是这样)

 

回想一下,首次插入USB设备的时候,即便没有安装驱动,系统也应该能够通过标准请求得到USB设备默认的VID、PID吧,可是我插入USB设备后,VID、PID俱不显示,而没有VID&PID系统当然不知道安装什么驱动程序,也无法把我改好的.inf文件和设备捆绑起来。这是否说明问题出在硬件上,比如USB电缆?

Answer:不是硬件问题,也不是电缆问题!下面是次日上午,我发现的奇怪现象:

上午我把68013A without EEPROM(后文简称FX2LP)的板子拿到实验室,连接我的台式机(XP x86)和同学的笔记本电脑(Win7 x64),发现竟然都能识别出VID_04B4 & PID_8613,并且成功安装Cypress Suite USB 3.4.7提供的驱动(XP:wxp x86,7:wlh x64)。而我实验室和宿舍的两台笔记本(Win7 x64)的 USB2.0接口 均不能识别FX2LP的VID和PID。

当我决定把FX2LP插在USB3.0接口上试一试的时候,奇迹发生了(下列图中的Win7个性化效果不同于之前的截图,因为下列图截图于实验室笔记本win7,之前是宿舍笔记本win7):

这里有一个细节:
1、当首次用USB2.0接口连接FX2LP时,显示"unknown device"在"通用串行总线控制器",错误代码43,显然Windows给FX2LP安装了一个驱动(图4),不过驱动程序存在错误(43);
2、当首次用USB3.0接口连接FX2LP时,显示"未知设备"在"其它设备",而且没有安装任何驱动;

Figure 11

首次安装CY7C68013A驱动失败记(结果竟然是这样)

VID&PID均得到了识别

Figure 12

首次安装CY7C68013A驱动失败记(结果竟然是这样)

且成功安装了驱动(在启动计算机时,F8禁用了强制驱动签名)。

Figure 13

首次安装CY7C68013A驱动失败记(结果竟然是这样)

下图是安装完驱动的效果,名字上的FRANK64是我在inf文件中加的:

Figure 14

首次安装CY7C68013A驱动失败记(结果竟然是这样) 首次安装CY7C68013A驱动失败记(结果竟然是这样)

总结如下:

我比较一下成功识别和失败的计算机的不同:

1、失败的计算机除了带有USB2.0还带有USB3.0接口;

2、成功的计算机只带有USB2.0接口。

我想问题可能出在这个USB3.0接口上,我使用带有USB3.0接口的计算机的电脑时,当FX2LP连接在USB2.0接口上时,无法识别VIDPID,但是如果FX2LP连接在USB3.0接口时,可以成功显示VIDPID,并成功安装驱动。

首次安装CY7C68013A驱动失败记(结果竟然是这样)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论