Sida 1 av 1

USB CDC Port i Windows (Virtual ComPort), .inf problem

Postat: 8 mars 2012, 10:49:57
av Korken
Godagens!

Jag har börjat få min VCP att fungera på en STM32F4 under Ubuntu, men när jag går in i Windows7 så säger den bara Unknown Device.
I Ubuntu får jag:

Kod: Markera allt

[  500.508291] usb 1-1.2.1: new full-speed USB device number 9 using ehci_hcd
[  505.707426] cdc_acm 1-1.2.1:1.0: This device cannot do calls on its own. It is not a modem.
[  505.707492] cdc_acm 1-1.2.1:1.0: ttyACM0: USB ACM device
[  505.708299] usbcore: registered new interface driver cdc_acm
[  505.708306] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Och så kan jag sedan använda det som en seriel port som heter /det/ttyACM0

Men i Windows7 så vill det inte. Jag hittade då att man kan göra en .inf fil för att få det att fungera (http://code.google.com/p/qextserialport ... wsInfFiles), men när jag väljer att den ska söka efter drivrutiner i mappen som har .inf filen så säger den att inget hittades.
Finns det något magiskt som man måste göra för att få den att acceptera .inf filen så min device blir en VCP?

För när jag gör detta i WinXP så fungerar det klockrent. Man måste bara välja "Installera Ändå" så fungerar det.

EDIT:
Samt i Win7 får jag 2 devices i device manager och i WinXP får jag bara en. Vet någon varför det blir så?

Tack på förhand!

Mvh
Emil

Min .inf fil:

Kod: Markera allt

; --------------------------------------------
; USB CDC ACM Setup File
; --------------------------------------------

[Version] 
Signature="$Windows NT$" 
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} 
Provider=%PROVIDER% 
LayoutFile=layout.inf
DriverVer=11/10/2009,5.2.0.0

[Manufacturer] 
%DEVICE_DESCRIPTION%=DeviceList, NTx86, NTia64, NTamd64

[DeviceList.NTx86] 
%DEVICE_DESCRIPTION%=DriverInstall, USB\VID_0304&PID_e457

[DeviceList.NTia64] 
%DEVICE_DESCRIPTION%=DriverInstall, USB\VID_0304&PID_e457

[DeviceList.NTamd64] 
%DEVICE_DESCRIPTION%=DriverInstall, USB\VID_0304&PID_e457

[DriverCopyFiles]
usbser.sys,,,0x20
serenum.sys,,,0x20

;------------------------------------------------------------------------------
;  Installation Configuration
;------------------------------------------------------------------------------

[DriverInstall]
include=mdmcpq.inf 
CopyFiles=DriverCopyFiles
AddReg=DriverInstall.AddReg 

[DriverInstall.HW] 
AddReg=DriverInstall.HW.AddReg 

[DriverInstall.AddReg]
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"

[DriverInstall.HW.AddReg]
HKR,,NTMPDriver,,*ntkern
HKR,,NTMPDriver,,usbser.sys
HKR,,PortSubClass,1,01
HKR,,"UpperFilters",0x00010000,"serenum" 

[DriverInstall.Services] 
AddService=usbser, 0x00000002, UsbserService
AddService=Serenum,,SerenumService

;------------------------------------------------------------------------------
;  Usbser Service
;------------------------------------------------------------------------------

[UsbserService] 
DisplayName=%USBSER.DESC% 
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\usbser.sys 
LoadOrderGroup = Base

;------------------------------------------------------------------------------
;  Serenum Service
;------------------------------------------------------------------------------

[SerenumService] 
DisplayName    = %SERENUM.DESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\serenum.sys
LoadOrderGroup = PNP Filter

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

[Strings] 
PROVIDER="Roope Kokkoniemi"
DEVICE_DESCRIPTION ="stm32f4-discovery-usb-cdc-example"
USBSER.DESC = "USB Serial Driver"
SERENUM.DESC = "Serenum Filter Driver"

Re: USB CDC Port i Windows (Virtual ComPort), .inf problem

Postat: 12 mars 2012, 18:18:05
av Korken
Om man trycker F8 när man startar och låter den använda osignerade drivrutiner så hittar den drivrutiner automatiskt på Windows Update.
Lite jobbigt att man måste göra så, men om man vill ha signerade grejer så kostar det också.

Re: USB CDC Port i Windows (Virtual ComPort), .inf problem

Postat: 12 mars 2012, 20:00:59
av kimmen

Re: USB CDC Port i Windows (Virtual ComPort), .inf problem

Postat: 13 mars 2012, 09:44:11
av slo
Har du testat med STMs drivers?
http://www.st.com/stonline/stappl/resou ... assID=1169
Verkar innehålla 32 och 64bits drivrutiner.

Re: USB CDC Port i Windows (Virtual ComPort), .inf problem

Postat: 13 mars 2012, 09:52:35
av TomasL
Om inte VID och PID stämmer mellan enheten och inf-filen, går det inte att installera i Windows (i princip)

Re: USB CDC Port i Windows (Virtual ComPort), .inf problem

Postat: 13 mars 2012, 12:17:16
av Korken
Jag har tagit och gjort en fuling, där jag tog VID och PID för STs drivers och gav min enhet de.
Då hittar den STs drivrutiner via Windows Update även om man har signerade drivrutiner igång. :)