Quantcast

Driver Installation on WIN7 differ from WINXP

classic Classic list List threaded Threaded
21 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Driver Installation on WIN7 differ from WINXP

mylesche
Hi all,

I created inf via inf-wizard and installed driver via Inno Setup(rundll32 libusb0.dll,usb_install_driver_np_rundll mydriver.inf.).
The dirver can work well on both WINXP and WIN7-64,but I found some difference.

On WINXP:
1.
I have to install the driver for every usb port on machine.Otherwise,there will be a
prompt to re-install driver if I change port.
2.
If I install the driver without having the probe attached,the driver can't work when I plug in the device.
3.
I have to re-install the driver for every identical devices differ from serial number.
Configuring Registry to ignore serial num can fix the 3rd problem.
I want to make sure whether Preinstall function (DriverPackagePreinstall) of DIFxAPI.dll can fix the 1st and 2nd problem.
Does anyone know how to fix the 1st and 2nd issue?

On Win7:
All of issues above don't occur on Win7.
What's difference on Win7 from Winxp about installing usb driver.
Does Win7 already support preinstalling driver?


BR,
Myles
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Driver Installation on WIN7 differ from WINXP

Pete Batard
Hi Myles,

On 2010.11.29 06:36, mylesche wrote:
> On WINXP:
> 1.
> I have to install the driver for every usb port on machine.Otherwise,there
> will be a prompt to re-install driver if I change port.

I don't think DIFxAPI can fix that. Note that even as libwdi (which is
used by the inf-wizard) is not calling DIFxAPI behind the scenes, in the
end, the same API is still used, as all the calls to SetupDI,
OEMInstallDriver, etc, end up in the Driver Installation API.

At one stage, libwdi was using the DIFxAPI directly, but I dropped it,
mostly because it was too cumbersome (required to embed additional 32
and 64 bit DLLs), and I found that the exact same results could be
achieved without it.

> 2.
> If I install the driver without having the probe attached,the driver can't
> work when I plug in the device.

Do you have an error there? What does your C:\Windows\setupapi.log say
when you plug the device?

> Does Win7 already support preinstalling driver?

I think Windows XP is supposed to support pre-installation. I think I
tested it when I developed libwdi, but I'll need to check that again.

Regards,

/Pete

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Driver Installation on WIN7 differ from WINXP

Xiaofan Chen
In reply to this post by mylesche
On Mon, Nov 29, 2010 at 2:36 PM, mylesche <[hidden email]> wrote:
>
> On WINXP:
> 1.
> I have to install the driver for every usb port on machine.Otherwise,there
> will be a prompt to re-install driver if I change port.

Does your device have a serial number? If not, that is normal.

The standard solution is to have serial number so that end user
will not have the above problem.''

For manufacturers, the solution for question 3 is to use
the registry hack.

>
> On Win7:
> All of issues above don't occur on Win7.

Are you sure? Please check again on No 1.


--
Xiaofan

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Driver Installation on WIN7 differ from WINXP

mylesche
In reply to this post by Pete Batard
Hi Peta & XiaoFan,

Thanks for your comments.
I'm so sorry to feed back so late.

1.
> On WINXP:
> 1.
> I have to install the driver for every usb port on machine.Otherwise,there
> will be a prompt to re-install driver if I change port.
Nov 29, 2010; 06:45pm,Pete wrote:
>>I don't think DIFxAPI can fix that. Note that even as libwdi (which is
>>used by the inf-wizard) is not calling DIFxAPI behind the scenes, in the
>>end, the same API is still used, as all the calls to SetupDI,
>>OEMInstallDriver, etc, end up in the Driver Installation API.

>>At one stage, libwdi was using the DIFxAPI directly, but I dropped it,
>>mostly because it was too cumbersome (required to embed additional 32
>>and 64 bit DLLs), and I found that the exact same results could be
>>achieved without it.

I use Inno Setup to install my driver.If I want to fix the problem I mentioned above on XP,what should I do?

2.
>>Do you have an error there? What does your C:\Windows\setupapi.log say
>>when you plug the device?
The following log is created after installing driver without having the device attached ,then plugged the device in:
[SetupAPI Log]
OS Version = 5.1.2600 Service Pack 3
Platform ID = 2 (NT)
Service Pack = 3.0
Suite = 0x0100
Product Type = 1
Architecture = x86
[2010/12/01 13:55:29 2556.2]
#-199 Executing "C:\WINDOWS\system32\rundll32.exe" with command line: "rundll32" C:\WINDOWS\system32\libusb0.dll,usb_install_dtmp_np_rundll E:\work_space\project\install\USBDtmpFiles\wrprobelibusbwin32\TesttmpProbe.inf
#E361 An unsigned or incorrectly signed file "E:\work_space\project\install\USBDtmpFiles\wrprobelibusbwin32\TesttmpProbe.cat" will be installed (Policy=Ignore). Error 0x800b0003: The form specified for the subject is not one supported or known by the specified trust provider.
[2010/12/01 13:59:43 920.10 Dtmp Install]
#-019 Searching for hardware ID(s): usb\vid_1299&pid_2002&rev_0000,usb\vid_1299&pid_2002
#-018 Searching for compatible ID(s): usb\class_ff&subclass_ff&prot_ff,usb\class_ff&subclass_ff,usb\class_ff
#-198 Command line processed: C:\WINDOWS\system32\services.exe
#I022 Found "USB\VID_1299&PID_2002" in C:\WINDOWS\inf\oem27.inf; Device: "Test tmp Probe"; Dtmp: "Test tmp Probe"; Provider: "Test tmp Systems"; Mfg: "Test tmp Systems"; Section name: "Install".
#I023 Actual install section: [Install.NT]. Rank: 0x00000001. Effective dtmp date: 09/04/2007.
#I022 Found "USB\VID_1299&PID_2002" in C:\WINDOWS\inf\oem29.inf; Device: "TesttmpProbe"; Dtmp: "TesttmpProbe"; Provider: "libusb-win32"; Mfg: "Testtmp"; Section name: "LIBUSB_WIN32_DEV.NT".
#I087 Dtmp node not trusted, rank changed from 0x00000001 to 0x00008001.
#I023 Actual install section: [LIBUSB_WIN32_DEV.NT]. Rank: 0x00008001. Effective dtmp date: 10/02/2010.
#-166 Device install function: DIF_SELECTBESTCOMPATDRV.
#I063 Selected dtmp installs from section [Install] in "c:\windows\inf\oem27.inf".
#I320 Class GUID of device remains: {36FC9E60-C465-11CF-8056-444553540000}.
#I060 Set selected dtmp.
#I058 Selected best compatible dtmp.
#-166 Device install function: DIF_INSTALLDEVICEFILES.
#I124 Doing copy-only install of "USB\VID_1299&PID_2002\PR100130".
#-011 Installing section [Install.NT] from "c:\windows\inf\oem27.inf".
#E358 An unsigned or incorrectly signed file "c:\windows\inf\oem27.inf" for dtmp "Test tmp Probe" blocked (server install). Error 1168: Element not found.
#E122 Device install failed. Error 1168: Element not found.
#E157 Default installer failed. Error 1168: Element not found.
[2010/12/01 13:59:47 632.2]
#-199 Executing "C:\WINDOWS\system32\rundll32.exe" with command line: rundll32.exe newdev.dll,ClientSideInstall \\.\pipe\PNP_Device_Install_Pipe_0.{EBE10016-897F-4034-95C9-3D1A4DEB58A1}
#I060 Set selected dtmp.
#-019 Searching for hardware ID(s): usb\vid_1299&pid_2002&rev_0000,usb\vid_1299&pid_2002
#-018 Searching for compatible ID(s): usb\class_ff&subclass_ff&prot_ff,usb\class_ff&subclass_ff,usb\class_ff
#I022 Found "USB\VID_1299&PID_2002" in C:\WINDOWS\inf\oem27.inf; Device: "Test tmp Probe"; Dtmp: "Test tmp Probe"; Provider: "Test tmp Systems"; Mfg: "Test tmp Systems"; Section name: "Install".
#I023 Actual install section: [Install.NT]. Rank: 0x00000001. Effective dtmp date: 09/04/2007.
#I022 Found "USB\VID_1299&PID_2002" in C:\WINDOWS\inf\oem29.inf; Device: "TesttmpProbe"; Dtmp: "TesttmpProbe"; Provider: "libusb-win32"; Mfg: "Testtmp"; Section name: "LIBUSB_WIN32_DEV.NT".
#I087 Dtmp node not trusted, rank changed from 0x00000001 to 0x00008001.
#I023 Actual install section: [LIBUSB_WIN32_DEV.NT]. Rank: 0x00008001. Effective dtmp date: 10/02/2010.
#-166 Device install function: DIF_SELECTBESTCOMPATDRV.
#I063 Selected dtmp installs from section [Install] in "c:\windows\inf\oem27.inf".
#I320 Class GUID of device remains: {36FC9E60-C465-11CF-8056-444553540000}.
#I060 Set selected dtmp.
#I058 Selected best compatible dtmp.
#-124 Doing copy-only install of "USB\VID_1299&PID_2002\PR100130".
#W334 Failed to verify catalog when scanning file queue. Error 1168: Element not found.
#E366 An unsigned or incorrectly signed file "c:\windows\inf\oem27.inf" for dtmp "Test tmp Probe" will be installed (Policy=Warn, user said ok). Error 1168: Element not found.
#W187 Install failed, attempting to restore original files.
#E362 An unsigned or incorrectly signed file "c:\windows\inf\oem27.inf" for dtmp "Test tmp Probe" will be installed (Policy=Warn). Error 1168: Element not found.
#-167 SPFILENOTIFY_NEEDMEDIA: Tag = "", Description= "Test tmp Systems Installation Disk", SourcePath = "D:", SourceFile = "WRProbe.sys", Flags = 0x00000000.
#E169 SPFILENOTIFY_NEEDMEDIA: returned FILEOP_ABORT. Error 1223: The operation was canceled by the user.
#W187 Install failed, attempting to restore original files.

 

Hi Xiao Fan,

1.
>>Does your device have a serial number? If not, that is normal.
>>The standard solution is to have serial number so that end user will not have the above problem.''
Yes ,my device has a serial number.

2.>
> On Win7:
> All of issues above don't occur on Win7.
>>Are you sure? Please check again on No 1.
I tested on Win7,the 1th and 2nd issues don't occur on Win7 ,just occur on XP.
I'm not sure the whether the preinstallation can fix these issues.
BR,
Myles
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Driver Installation on WIN7 differ from WINXP

Xiaofan Chen
On Wed, Dec 1, 2010 at 2:06 PM, mylesche <[hidden email]> wrote:
> Hi Xiao Fan,
>
> 1.
>>>Does your device have a serial number? If not, that is normal.
>>>The standard solution is to have serial number so that end user will not
> have the above problem.
> Yes ,my device has a serial number.

That is very strange. Does your device have a unique serial number?


--
Xiaofan

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Driver Installation on WIN7 differ from WINXP

Xiaofan Chen
On Wed, Dec 1, 2010 at 2:26 PM, Xiaofan Chen <[hidden email]> wrote:

> On Wed, Dec 1, 2010 at 2:06 PM, mylesche <[hidden email]> wrote:
>> Hi Xiao Fan,
>>
>> 1.
>>>>Does your device have a serial number? If not, that is normal.
>>>>The standard solution is to have serial number so that end user will not
>> have the above problem.
>> Yes ,my device has a serial number.
>
> That is very strange. Does your device have a unique serial number?
>

I mean there is something wrong going on here. And preinstallation
will not be able fix this issue.

--
Xiaofan

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Driver Installation on WIN7 differ from WINXP

mylesche
Hi XiaoFan,

>I have to install the driver for every usb port on machine.Otherwise,there will be a
>prompt to re-install driver if I change port.

>>That is very strange. Does your device have a unique serial number?

Yes ,every device has unique serial number.

>>I mean there is something wrong going on here. And preinstallation
>>will not be able fix this issue.

Maybe,this is caused by unsigned driver.
I got some info from here:
http://thedailyreviewer.com/windowsxp/view/why-repeat-driver-install-process-for-every-usb-port-106282666
BR,
Myles
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Driver Installation on WIN7 differ from WINXP

Pete Batard
On 2010.12.01 12:16, mylesche wrote:
> Maybe,this is caused by unsigned driver.
> I got some info from here:
> http://thedailyreviewer.com/windowsxp/view/why-repeat-driver-install-process-for-every-usb-port-106282666

This could make sense, as we already know that Microsoft already favors
signed infs over unsigned ones for the same device [1]. Eg, if you have
an HID device, and replaced its driver with something else, if you plug
that device into another port, HID will be favoured over non HID, even
though the non HID driver was the most recent to be installed.

Regards,

/Pete


[1]
http://libusb.6.n5.nabble.com/how-to-key-off-of-hardware-instance-instead-of-device-instance-with-Installer-x86-exe-winusb-tp8311p8312.html

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Driver Installation on WIN7 differ from WINXP

Xiaofan Chen
In reply to this post by mylesche
On Wed, Dec 1, 2010 at 8:16 PM, mylesche <[hidden email]> wrote:

>
> Hi XiaoFan,
>
>>I have to install the driver for every usb port on machine.Otherwise,there
> will be a prompt to re-install driver if I change port.
>
>>>That is very strange. Does your device have a unique serial number?
>
> Yes ,every device has unique serial number.
>
>>>I mean there is something wrong going on here. And preinstallation
>>>will not be able fix this issue.
>
> Maybe,this is caused by unsigned driver.
> I got some info from here:
> http://thedailyreviewer.com/windowsxp/view/why-repeat-driver-install-process-for-every-usb-port-106282666

I do not think so.

If you read PA's answer, supposedly if your device has a valid serial number,
it will prevent a creation of new instance when the device is connected to
different ports. In other word, it will still pick the libusb-win32
device driver
and not asking for a new driver.

What if you try out using the official inf-wizard?

Are you signing the driver packaging using your own certificate or change
the inf file in any way?


--
Xiaofan

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Driver Installation on WIN7 differ from WINXP

mylesche
Hi XiaoFan,

>>What if you try out using the official inf-wizard?
I tried official inf-wizard and got the same result as Inno Setup.

>>Are you signing the driver packaging using your own certificate or change
>>the inf file in any way?
I'm going to to sign my driver package.I just hardcoded the device name when
I create inf file with inf-wizard.

By the way,If I want to display the device name with it's serial number on Device Manager,
what should I do except using co-installer?My devices are identical except the serial num.

How to get the Inno setup working with co-installer?

Thanks.
BR,
Myles
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Driver Installation on WIN7 differ from WINXP

Xiaofan Chen
On Thu, Dec 2, 2010 at 7:10 PM, mylesche <[hidden email]> wrote:
>
>>>What if you try out using the official inf-wizard?
> I tried official inf-wizard and got the same result as Inno Setup.

Strange. I do not have an XP computer right now but I will check in
the future.

I am guessing you have the registry hack not resetting back to the
original state. But it is just a guess, It would be good that
you try on different computers.

>
> By the way,If I want to display the device name with it's serial number on
> Device Manager,
> what should I do except using co-installer?My devices are identical except
> the serial num.
>

I do not understand your question. What do you want to do? By default
the serial number will be part of the



--
Xiaofan

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Driver Installation on WIN7 differ from WINXP

mylesche

Thanks.

>> By the way,If I want to display the device name with it's serial number on
>> Device Manager,
>> what should I do except using co-installer?My devices are identical except
>> the serial num.

>I do not understand your question. What do you want to do? By default
>the serial number will be part of the

I have 3 identical devices,their unique serial number are 001,002 and 003.
I plug in the device 001 and create inf file via inf-wizard.exe with device name MyTestDev,then install this inf and driver via Inno Setup.
When I plug in device 002 or device 003,there is just "MyTestDev" displayed in device manager.
I want the serial number also be displayed in device manager,such as MytestDev002 or MytestDev003.
How can I carry out this feature on Win7 and WinXP?
It seems that co-installer can work it out,does co-installer can work with Inno Setup?



BR,
Myles
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Driver Installation on WIN7 differ from WINXP

Xiaofan Chen
On Mon, Dec 6, 2010 at 10:41 AM, mylesche <[hidden email]> wrote:

>>I do not understand your question. What do you want to do? By default
>>the serial number will be part of the

It can be seen as part of Device Instance Id in the Device Manager
(in the Details tab).

>
> I have 3 identical devices,their unique serial number are 001,002 and 003.
> I plug in the device 001 and create inf file via inf-wizard.exe with device
> name MyTestDev,then install this inf and driver via Inno Setup.
> When I plug in device 002 or device 003,there is just "MyTestDev" displayed
> in device manager.

That is normal and should be the case.

> I want the serial number also be displayed in device manager,such as
> MytestDev002 or MytestDev003.
> How can I carry out this feature on Win7 and WinXP?
> It seems that co-installer can work it out,does co-installer can work with
> Inno Setup?
>

I do not think what you want is achievable, or at least without any significant
efforts if at all possible.

Where do you get the information that co-installer can work with such
situation? What is the real purpose of this exercise?

--
Xiaofan

------------------------------------------------------------------------------
What happens now with your Lotus Notes apps - do you make another costly
upgrade, or settle for being marooned without product support? Time to move
off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
use, and manage than apps on traditional platforms. Sign up for the Lotus
Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Driver Installation on WIN7 differ from WINXP

Xiaofan Chen
On Mon, Dec 6, 2010 at 11:15 AM, Xiaofan Chen <[hidden email]> wrote:

>> I want the serial number also be displayed in device manager,such as
>> MytestDev002 or MytestDev003.
>> How can I carry out this feature on Win7 and WinXP?
>> It seems that co-installer can work it out,does co-installer can work with
>> Inno Setup?
>>
>
> I do not think what you want is achievable, or at least without any significant
> efforts if at all possible.
>
> Where do you get the information that co-installer can work with such
> situation? What is the real purpose of this exercise?
>

A very complex solution if you really want to get it done. It might
be slightly easier for non-HID device, but it will still be complicated.
http://www.microchip.com/forums/tm.aspx?m=476827

And take note the above is only for one device. Maybe you
can write a program to automate the process. But it is non-trival
at all. And I do not see any point for what you want to do, other
than as an academic exercise.

--
Xiaofan

------------------------------------------------------------------------------
What happens now with your Lotus Notes apps - do you make another costly
upgrade, or settle for being marooned without product support? Time to move
off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
use, and manage than apps on traditional platforms. Sign up for the Lotus
Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Avoiding driver installation

Kustaa Nyholm-2
Hi,

I do not know quite how to formulate this question or if this is the right
list or if I've got this all wrong so feel free to correct me.

We have a device that we have created (meaning we are in full control of the
hardware, firmaware and the host side software) that represents itself as
CDC ACM ie virtual serial port.

This works fine but it does require the .inf file installation when the
device is used for the first time.

Now we would like to get rid of this driver/inf file installation and the
associated delays, restore point creation and user intervention.

Can it be done?

My understanding that this is not possible in Windows with this approach.

The next idea is that if we modify the device firmware to represents itself
as a HID device could we then get rid of the driver installation issue?

If so what limitation would that put on us?

We need to transfer about 4 MB in one or two seconds, would the HID approach
have something that would prevent this?

Would it be possible to use libusb to access the device if it were a HID
device?

Or would it be possible for the device to first represent itself as a 'USB
memory stick' with auto-run that would silently do the installation and then
reconfigure itself as CDC ACM?

br Kusti
 


------------------------------------------------------------------------------
This SF Dev2Dev email is sponsored by:

WikiLeaks The End of the Free Internet
http://p.sf.net/sfu/therealnews-com
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Avoiding driver installation

Xiaofan Chen
On Thu, Dec 9, 2010 at 4:51 PM, Kustaa Nyholm
<[hidden email]> wrote:

> Hi,
>
> I do not know quite how to formulate this question or if this is the right
> list or if I've got this all wrong so feel free to correct me.
>
> We have a device that we have created (meaning we are in full control of the
> hardware, firmaware and the host side software) that represents itself as
> CDC ACM ie virtual serial port.
>
> This works fine but it does require the .inf file installation when the
> device is used for the first time.
>
> Now we would like to get rid of this driver/inf file installation and the
> associated delays, restore point creation and user intervention.
>
> Can it be done?
>
> My understanding that this is not possible in Windows with this approach.

I agree with you. The CDC-ACM device uses inbox usbser.sys
driver but the inf file is necessary.

> The next idea is that if we modify the device firmware to represents itself
> as a HID device could we then get rid of the driver installation issue?

Yes.

> If so what limitation would that put on us?

For full speed HID device, the limit is the speed, 64KB/sec.

For high speed HID device, the limit is higher but I am not so sure if
high speed HID support is good or not under Windows. The ther

> We need to transfer about 4 MB in one or two seconds, would the HID approach
> have something that would prevent this?

Are you using a high speed USB device? Highest achievable speed for full
speed USB device is 1216KB/sec for bulk transfer based device.

> Would it be possible to use libusb to access the device if it were a HID
> device?

Yes, especially when you use libusb-1.0 Windows backend which
has direct support with HID.

> Or would it be possible for the device to first represent itself as a 'USB
> memory stick' with auto-run that would silently do the installation and then
> reconfigure itself as CDC ACM?
>

No. I do not think silent install of CDC-ACM is achievable. And take note
that auto-run is probably disabled on many system.


--
Xiaofan

------------------------------------------------------------------------------
This SF Dev2Dev email is sponsored by:

WikiLeaks The End of the Free Internet
http://p.sf.net/sfu/therealnews-com
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Avoiding driver installation

Kustaa Nyholm-2

Hi Xiaofan,

>
> For full speed HID device, the limit is the speed, 64KB/sec.

Ok, that is not promising though our system is High Speed
 
> For high speed HID device, the limit is higher but I am not so sure if
> high speed HID support is good or not under Windows.

Ok, good to know that you have doubts about the support under Windows:
Assuming it would work do you know what is the limit for high speed HID
device?


> Are you using a high speed USB device? Highest achievable speed for full
> speed USB device is 1216KB/sec for bulk transfer based device.

Yeah it high speed.


>> Would it be possible to use libusb to access the device if it were a HID
>> device?


> Yes, especially when you use libusb-1.0 Windows backend which
> has direct support with HID.
>

Good, so even if for this project the speed requirement forbids the use of
HID, for some less critical things this could be the way to go...


>
> No. I do not think silent install of CDC-ACM is achievable. And take note
> that auto-run is probably disabled on many system.
>
Ok, I was not very thrilled to go through with that sort hack anyway...

br Kusti


------------------------------------------------------------------------------
This SF Dev2Dev email is sponsored by:

WikiLeaks The End of the Free Internet
http://p.sf.net/sfu/therealnews-com
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Avoiding driver installation

Xiaofan Chen
On Thu, Dec 9, 2010 at 8:01 PM, Kustaa Nyholm
<[hidden email]> wrote:

>> For high speed HID device, the limit is higher but I am not so sure if
>> high speed HID support is good or not under Windows.
>
> Ok, good to know that you have doubts about the support under Windows:
> Assuming it would work do you know what is the limit for high speed HID
> device?
>

For high speed interrupt transfer (HID uses interrupt transfer) the theoretical
speed limit is 24.576MB/sec (high speed high bandwidth, 3 x 1024B
packet in every 125us microframe) or 8.192 MB/sec (1024B packet
in every microframe). But I am not so sure if Windows HID driver
supports these speed or not.



--
Xiaofan

------------------------------------------------------------------------------
This SF Dev2Dev email is sponsored by:

WikiLeaks The End of the Free Internet
http://p.sf.net/sfu/therealnews-com
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Avoiding driver installation

Kustaa Nyholm-2

> For high speed interrupt transfer (HID uses interrupt transfer) the
> theoretical
> speed limit is 24.576MB/sec (high speed high bandwidth, 3 x 1024B
> packet in every 125us microframe) or 8.192 MB/sec (1024B packet
> in every microframe). But I am not so sure if Windows HID driver
> supports these speed or not.

Thanks, we will need to consider if we want to go through all
the trouble just to find out if it is supported or if we want to just bear
up with the driver installation.

br Kusti


------------------------------------------------------------------------------
This SF Dev2Dev email is sponsored by:

WikiLeaks The End of the Free Internet
http://p.sf.net/sfu/therealnews-com
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Avoiding driver installation

Xiaofan Chen
On Thu, Dec 9, 2010 at 9:25 PM, Kustaa Nyholm
<[hidden email]> wrote:

>
>> For high speed interrupt transfer (HID uses interrupt transfer) the
>> theoretical
>> speed limit is 24.576MB/sec (high speed high bandwidth, 3 x 1024B
>> packet in every 125us microframe) or 8.192 MB/sec (1024B packet
>> in every microframe). But I am not so sure if Windows HID driver
>> supports these speed or not.
>
> Thanks, we will need to consider if we want to go through all
> the trouble just to find out if it is supported or if we want to just bear
> up with the driver installation.

http://www.cygnal.org/ubb/Forum9/HTML/001121.html
According to here, Windows HID driver has serious limitation that
it does not support alternative interface and thus limit the speed
to 64KB/sec even for high speed HID device.

So you may have to bear with the driver installation for now.


--
Xiaofan

------------------------------------------------------------------------------
_______________________________________________
Libusb-win32-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
12
Loading...