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

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Korken
Inlägg: 2230
Blev medlem: 3 februari 2006, 19:19:36
Ort: Luleå, Porsön

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

Inlägg 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"
Användarvisningsbild
Korken
Inlägg: 2230
Blev medlem: 3 februari 2006, 19:19:36
Ort: Luleå, Porsön

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

Inlägg 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å.
Användarvisningsbild
kimmen
Inlägg: 2042
Blev medlem: 25 augusti 2007, 16:53:51
Ort: Stockholm (Kista)

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

Inlägg av kimmen »

slo
Inlägg: 103
Blev medlem: 7 januari 2009, 10:57:35
Ort: Åbo, Finland
Kontakt:

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

Inlägg av slo »

Har du testat med STMs drivers?
http://www.st.com/stonline/stappl/resou ... assID=1169
Verkar innehålla 32 och 64bits drivrutiner.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46989
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

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

Inlägg av TomasL »

Om inte VID och PID stämmer mellan enheten och inf-filen, går det inte att installera i Windows (i princip)
Användarvisningsbild
Korken
Inlägg: 2230
Blev medlem: 3 februari 2006, 19:19:36
Ort: Luleå, Porsön

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

Inlägg 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. :)
Skriv svar