This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Code10 after installing own driver on x64 win 7 prof

Hello everyone,

I tried to install an driver via INF-file for USB-CDC (based on mcb2300_vcom.inf) on Windows 7 Professional x64 (in the following text called 'target system'). This is to get a COM-Port to send data via USB to an LPC2368 microcontroller.

The installation failed the first time with the message that the driver is not a x64-based system driver.

So I changed the driver as described in MSDN-article for "Cross-Platform INF Files". After a day of hard mind-work I finished the driver and tried to install it again. Now the installation starts on the target system, gives a message about the missing signature, and finishes with following message:

Driver software was found, but an error occured while installation.
The device could not be started. (Code 10)

I checked the INF-file with ChkInf (WDK 7.1.0) on the target system and got only one error (no warnings):

Line x: ERROR: (E22.1.1081) Directive: CatalogFile required (and must not be blank) in section [Version] for WHQL digital signature.

I do not think this error is the reason for Code10.

I furthermore checked the usbser.sys on the target system. It's version is 6.1.7600.16385.
It's date is 14.07.2009 02:06.

I do not know what to do now to make the driver work.

Finally, here is my revised INF source:

[Version]
Signature="$Windows NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%MYCOMPANY%
DriverVer=10/13/2010,5

[DestinationDirs]
FakeModemCopyFileSection=12
DefaultDestDir=12

[Manufacturer]
%MYCOMPANY%=USBDevice,NTia64,NTamd64

;------------------------------------------------------------------------------
; Models sections
;------------------------------------------------------------------------------

[USBDevice]
%DRIVERNAME%=InstallXXUSB, USB\VID_c251&PID_1705

[USBDevice.NTia64]
%DRIVERNAME%=InstallXXUSB, USB\VID_c251&PID_1705

[USBDevice.NTamd64]
%DRIVERNAME%=InstallXXUSB, USB\VID_c251&PID_1705

[SourceDisksFiles]

[SourceDisksNames]

;------------------------------------------------------------------------------
; Installation
;------------------------------------------------------------------------------

[InstallXXUSB]
include=mdmcpq.inf
CopyFiles=FakeModemCopyFileSection
AddReg=XXUSB.AddReg

[XXUSB.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,usbser.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"

[InstallXXUSB.Services]
AddService=usbser, 0x00000002, DriverService

[DriverService]
DisplayName=%DRIVERNAME%
Description=%DESCRIPTION%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\usbser.sys


;------------------------------------------------------------------------------
;  String Definitions
;------------------------------------------------------------------------------

[Strings]
MYCOMPANY="The name of my company"
DRIVERNAME="XX USB VCom Port"
DESCRIPTION="Provides a virtual COM-Port when connecting an XX via USB"

Has anyone hints for me to solve the problem and make the port work?

Best regards

Parents
  • Hello Tsuneo,

    Many thanks for your reply. I started thinking my thread was invisible for other forum users... ;)

    Yesterday I started to use a hardware to log the data between the laptop computer (Windows 7 x64) and our device. The hardware is called USBee DX (see http://www.usbee.com) and is able to log bus communications. I used it the first time ever and have no idea about all its possibilities yet, but I logged usb data and saved it trough a text file. The logging situation was:

    - installed the USBCDC driver on target system and disconnected our device
    - made connections between digital inputs of USBee DX and Dplus, Dminus and GND pins of the USB connector on our device
    - started log process using USBextractor software (part of USBee DX data extraxtors) with USBee DX device connected to another computer
    - made USB connection between target system and our device
    - after exclamation mark appeared in device manager of the target system I stopped the log process.

    Actually I don't know how to interpret the collected data. That is why I post it now.

    I will now start to collect information about how to interpret the logged data. It would be greatful if you could give me some hints on the posted log file!

    Because of the forum software told me that "The message is too long", I made dots where an identical line in log follows a line. For every deleted line is one dot.

    Here is the log:

    Log01.txt 
    
    0000008449 SETUP  Add:0  EndPoint:0 GET DESCRIPTOR DEVICE Length:64 DATA0 80 06 00 01 00 00 40 00  ACK
    0000008449  IN     Add:0  EndPoint:0 NAK
    .......
    0000008449  IN     Add:0  EndPoint:0 NAK
    0000008449  IN     Add:0  EndPoint:0 DATA1 12 01 10 01 02 00 00 40 51 C2 05 17 00 01 04 20 44 01  ACK
    0000008449  OUT    Add:0  EndPoint:0 DATA1  ACK
    
    0000008480 SETUP  Add:0  EndPoint:0 SET_ADDRESS 3 DATA0 00 05 03 00 00 00 00 00  ACK
    0000008480  IN     Add:0  EndPoint:0 NAK
    ....
    0000008480  IN     Add:0  EndPoint:0 NAK
    0000008480  IN     Add:0  EndPoint:0 DATA1  ACK
    
    0000008543 SETUP  Add:3  EndPoint:0 GET DESCRIPTOR DEVICE Length:18 DATA0 80 06 00 01 00 00 12 00  ACK
    0000008543  IN     Add:3  EndPoint:0 NAK
    ...
    0000008543  IN     Add:3  EndPoint:0 NAK
    0000008543  IN     Add:3  EndPoint:0 DATA1 12 01 10 01 02 00 00 40 51 C2 05 17 00 01 04 20 44 01  ACK
    0000008543  OUT    Add:3  EndPoint:0 DATA1  ACK
    
    0000008543 SETUP  Add:3  EndPoint:0 GET DESCRIPTOR CONFIG Length:255 DATA0 80 06 00 02 00 00 FF 00  ACK
    0000008543  IN     Add:3  EndPoint:0 NAK
    0000008543  IN     Add:3  EndPoint:0 NAK
    0000008544  IN     Add:3  EndPoint:0 NAK
    .
    0000008544  IN     Add:3  EndPoint:0 NAK
    0000008544  IN     Add:3  EndPoint:0 DATA1 09 02 43 00 02 01 00 80 32 09 04 00 00 01 02 02 00 5E 05 24 00 10 01 05 24 01 01 01 04 24 02 02 05 24 06 00 01 07 05 81 03 10 00 02 09 04 01 00 02 0A 00 00 5E 07 05 02 02 00 02 00 07 05 82 02  ACK
    0000008544  IN     Add:3  EndPoint:0 NAK
    ........
    0000008544  IN     Add:3  EndPoint:0 NAK
    0000008544  IN     Add:3  EndPoint:0 DATA0 00 02 00  ACK
    0000008544  OUT    Add:3  EndPoint:0 DATA1  ACK
    
    0000008544 SETUP  Add:3  EndPoint:0 GET DESCRIPTOR STRING Length:255 DATA0 80 06 44 03 09 04 FF 00  ACK
    0000008544  IN     Add:3  EndPoint:0 NAK
    .........
    0000008544  IN     Add:3  EndPoint:0 NAK
    0000008545  IN     Add:3  EndPoint:0 NAK
    0000008545  IN     Add:3  EndPoint:0 DATA1 1A 03 44 00 45 00 4D 00 4F 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00  ACK
    0000008545  OUT    Add:3  EndPoint:0 DATA1  ACK
    
    0000008545 SETUP  Add:3  EndPoint:0 GET DESCRIPTOR STRING Length:255 DATA0 80 06 00 03 00 00 FF 00  ACK
    0000008545  IN     Add:3  EndPoint:0 NAK
    ..........
    0000008545  IN     Add:3  EndPoint:0 NAK
    0000008545  IN     Add:3  EndPoint:0 DATA1 04 03 09 04  ACK
    0000008545  OUT    Add:3  EndPoint:0 DATA1  ACK
    
    0000008545 SETUP  Add:3  EndPoint:0 GET DESCRIPTOR STRING Length:255 DATA0 80 06 20 03 09 04 FF 00  ACK
    0000008545  IN     Add:3  EndPoint:0 NAK
    .....
    0000008545  IN     Add:3  EndPoint:0 NAK
    0000008546  IN     Add:3  EndPoint:0 NAK
    ...
    0000008546  IN     Add:3  EndPoint:0 NAK
    0000008546  IN     Add:3  EndPoint:0 DATA1 24 03 4B 00 65 00 69 00 6C 00 20 00 4D 00 43 00 42 00 32 00 33 00 30 00 30 00 20 00 56 00 43 00 4F 00 4D 00  ACK
    0000008546  OUT    Add:3  EndPoint:0 DATA1  ACK
    
    0000008550 SETUP  Add:3  EndPoint:0 GET DESCRIPTOR DEVICE Length:18 DATA0 80 06 00 01 00 00 12 00  ACK
    0000008550  IN     Add:3  EndPoint:0 NAK
    ..........
    0000008550  IN     Add:3  EndPoint:0 NAK
    0000008550  IN     Add:3  EndPoint:0 DATA1 12 01 10 01 02 00 00 40 51 C2 05 17 00 01 04 20 44 01  ACK
    0000008550  OUT    Add:3  EndPoint:0 DATA1  ACK
    
    0000008551 SETUP  Add:3  EndPoint:0 GET DESCRIPTOR CONFIG Length:65545 DATA0 80 06 00 02 00 00 09 01  ACK
    0000008551  IN     Add:3  EndPoint:0 NAK
    .....
    0000008551  IN     Add:3  EndPoint:0 NAK
    0000008551  IN     Add:3  EndPoint:0 DATA1 09 02 43 00 02 01 00 80 32 09 04 00 00 01 02 02 00 5E 05 24 00 10 01 05 24 01 01 01 04 24 02 02 05 24 06 00 01 07 05 81 03 10 00 02 09 04 01 00 02 0A 00 00 5E 07 05 02 02 00 02 00 07 05 82 02  ACK
    0000008551  IN     Add:3  EndPoint:0 NAK
    ........
    0000008551  IN     Add:3  EndPoint:0 NAK
    0000008551  IN     Add:3  EndPoint:0 DATA0 00 02 00  ACK
    0000008551  OUT    Add:3  EndPoint:0 DATA1  ACK
    
    0000008551 SETUP  Add:3  EndPoint:0 SET_CONFIGURATION 1 DATA0 00 09 01 00 00 00 00 00  ACK
    0000008551  IN     Add:3  EndPoint:0 NAK
    ....................
    0000008551  IN     Add:3  EndPoint:0 NAK
    0000008551  IN     Add:3  EndPoint:0 DATA1  ACK
    

    Thank you for reading this huge post.

    Best regards

Reply
  • Hello Tsuneo,

    Many thanks for your reply. I started thinking my thread was invisible for other forum users... ;)

    Yesterday I started to use a hardware to log the data between the laptop computer (Windows 7 x64) and our device. The hardware is called USBee DX (see http://www.usbee.com) and is able to log bus communications. I used it the first time ever and have no idea about all its possibilities yet, but I logged usb data and saved it trough a text file. The logging situation was:

    - installed the USBCDC driver on target system and disconnected our device
    - made connections between digital inputs of USBee DX and Dplus, Dminus and GND pins of the USB connector on our device
    - started log process using USBextractor software (part of USBee DX data extraxtors) with USBee DX device connected to another computer
    - made USB connection between target system and our device
    - after exclamation mark appeared in device manager of the target system I stopped the log process.

    Actually I don't know how to interpret the collected data. That is why I post it now.

    I will now start to collect information about how to interpret the logged data. It would be greatful if you could give me some hints on the posted log file!

    Because of the forum software told me that "The message is too long", I made dots where an identical line in log follows a line. For every deleted line is one dot.

    Here is the log:

    Log01.txt 
    
    0000008449 SETUP  Add:0  EndPoint:0 GET DESCRIPTOR DEVICE Length:64 DATA0 80 06 00 01 00 00 40 00  ACK
    0000008449  IN     Add:0  EndPoint:0 NAK
    .......
    0000008449  IN     Add:0  EndPoint:0 NAK
    0000008449  IN     Add:0  EndPoint:0 DATA1 12 01 10 01 02 00 00 40 51 C2 05 17 00 01 04 20 44 01  ACK
    0000008449  OUT    Add:0  EndPoint:0 DATA1  ACK
    
    0000008480 SETUP  Add:0  EndPoint:0 SET_ADDRESS 3 DATA0 00 05 03 00 00 00 00 00  ACK
    0000008480  IN     Add:0  EndPoint:0 NAK
    ....
    0000008480  IN     Add:0  EndPoint:0 NAK
    0000008480  IN     Add:0  EndPoint:0 DATA1  ACK
    
    0000008543 SETUP  Add:3  EndPoint:0 GET DESCRIPTOR DEVICE Length:18 DATA0 80 06 00 01 00 00 12 00  ACK
    0000008543  IN     Add:3  EndPoint:0 NAK
    ...
    0000008543  IN     Add:3  EndPoint:0 NAK
    0000008543  IN     Add:3  EndPoint:0 DATA1 12 01 10 01 02 00 00 40 51 C2 05 17 00 01 04 20 44 01  ACK
    0000008543  OUT    Add:3  EndPoint:0 DATA1  ACK
    
    0000008543 SETUP  Add:3  EndPoint:0 GET DESCRIPTOR CONFIG Length:255 DATA0 80 06 00 02 00 00 FF 00  ACK
    0000008543  IN     Add:3  EndPoint:0 NAK
    0000008543  IN     Add:3  EndPoint:0 NAK
    0000008544  IN     Add:3  EndPoint:0 NAK
    .
    0000008544  IN     Add:3  EndPoint:0 NAK
    0000008544  IN     Add:3  EndPoint:0 DATA1 09 02 43 00 02 01 00 80 32 09 04 00 00 01 02 02 00 5E 05 24 00 10 01 05 24 01 01 01 04 24 02 02 05 24 06 00 01 07 05 81 03 10 00 02 09 04 01 00 02 0A 00 00 5E 07 05 02 02 00 02 00 07 05 82 02  ACK
    0000008544  IN     Add:3  EndPoint:0 NAK
    ........
    0000008544  IN     Add:3  EndPoint:0 NAK
    0000008544  IN     Add:3  EndPoint:0 DATA0 00 02 00  ACK
    0000008544  OUT    Add:3  EndPoint:0 DATA1  ACK
    
    0000008544 SETUP  Add:3  EndPoint:0 GET DESCRIPTOR STRING Length:255 DATA0 80 06 44 03 09 04 FF 00  ACK
    0000008544  IN     Add:3  EndPoint:0 NAK
    .........
    0000008544  IN     Add:3  EndPoint:0 NAK
    0000008545  IN     Add:3  EndPoint:0 NAK
    0000008545  IN     Add:3  EndPoint:0 DATA1 1A 03 44 00 45 00 4D 00 4F 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00  ACK
    0000008545  OUT    Add:3  EndPoint:0 DATA1  ACK
    
    0000008545 SETUP  Add:3  EndPoint:0 GET DESCRIPTOR STRING Length:255 DATA0 80 06 00 03 00 00 FF 00  ACK
    0000008545  IN     Add:3  EndPoint:0 NAK
    ..........
    0000008545  IN     Add:3  EndPoint:0 NAK
    0000008545  IN     Add:3  EndPoint:0 DATA1 04 03 09 04  ACK
    0000008545  OUT    Add:3  EndPoint:0 DATA1  ACK
    
    0000008545 SETUP  Add:3  EndPoint:0 GET DESCRIPTOR STRING Length:255 DATA0 80 06 20 03 09 04 FF 00  ACK
    0000008545  IN     Add:3  EndPoint:0 NAK
    .....
    0000008545  IN     Add:3  EndPoint:0 NAK
    0000008546  IN     Add:3  EndPoint:0 NAK
    ...
    0000008546  IN     Add:3  EndPoint:0 NAK
    0000008546  IN     Add:3  EndPoint:0 DATA1 24 03 4B 00 65 00 69 00 6C 00 20 00 4D 00 43 00 42 00 32 00 33 00 30 00 30 00 20 00 56 00 43 00 4F 00 4D 00  ACK
    0000008546  OUT    Add:3  EndPoint:0 DATA1  ACK
    
    0000008550 SETUP  Add:3  EndPoint:0 GET DESCRIPTOR DEVICE Length:18 DATA0 80 06 00 01 00 00 12 00  ACK
    0000008550  IN     Add:3  EndPoint:0 NAK
    ..........
    0000008550  IN     Add:3  EndPoint:0 NAK
    0000008550  IN     Add:3  EndPoint:0 DATA1 12 01 10 01 02 00 00 40 51 C2 05 17 00 01 04 20 44 01  ACK
    0000008550  OUT    Add:3  EndPoint:0 DATA1  ACK
    
    0000008551 SETUP  Add:3  EndPoint:0 GET DESCRIPTOR CONFIG Length:65545 DATA0 80 06 00 02 00 00 09 01  ACK
    0000008551  IN     Add:3  EndPoint:0 NAK
    .....
    0000008551  IN     Add:3  EndPoint:0 NAK
    0000008551  IN     Add:3  EndPoint:0 DATA1 09 02 43 00 02 01 00 80 32 09 04 00 00 01 02 02 00 5E 05 24 00 10 01 05 24 01 01 01 04 24 02 02 05 24 06 00 01 07 05 81 03 10 00 02 09 04 01 00 02 0A 00 00 5E 07 05 02 02 00 02 00 07 05 82 02  ACK
    0000008551  IN     Add:3  EndPoint:0 NAK
    ........
    0000008551  IN     Add:3  EndPoint:0 NAK
    0000008551  IN     Add:3  EndPoint:0 DATA0 00 02 00  ACK
    0000008551  OUT    Add:3  EndPoint:0 DATA1  ACK
    
    0000008551 SETUP  Add:3  EndPoint:0 SET_CONFIGURATION 1 DATA0 00 09 01 00 00 00 00 00  ACK
    0000008551  IN     Add:3  EndPoint:0 NAK
    ....................
    0000008551  IN     Add:3  EndPoint:0 NAK
    0000008551  IN     Add:3  EndPoint:0 DATA1  ACK
    

    Thank you for reading this huge post.

    Best regards

Children