• AVR Freaks

MCHPUSB driver INF problem in Vista - fixed

Author
PStechPaul
Super Member
  • Total Posts : 2345
  • Reward points : 0
  • Joined: 2006/06/27 16:11:32
  • Location: Cockeysville, MD, USA
  • Status: offline
2009/12/17 18:58:26 (permalink)
0

MCHPUSB driver INF problem in Vista - fixed

I made an INF file based on the Microchip mchpusb.inf, changing what was required for my custom device. I used it to install the device on three different XP machines with no major problems. Then I tried it on my Vista laptop...[8|]

The first problem I had was that when you plug in a new USB device, you get the choice of having Vista install it automatically (which is guaranteed to fail), or browsing for a driver. When I chose that option, it told me it found a driver for it, but it was the previous driver for the usbser.sys for the CDC version. I have the same PID/VID so that probably confused Vista. It showed my device as a COM port without a driver. I had to uninstall it, and then reattach the device and opt out of the options, which left the device as an uninstalled Custom USB Device.

Now I tried to "Update Driver" from the Device Mangler and I was able to browse to my INF file which I had on a thumb drive. It started to install but then gave an error: "The data area is too small for a system call", and in the driver description it said "The system cannot find the requested file". I tried all sorts of things including updating Vista with the latest updates and SP1, which took a couple of hours, and still no joy when I tried once again to install my device.

So I looked closely at the driver INF files for the usbser.sys, which worked, and the mchpusb.sys, which did not. The usbser file was more complex, but I noticed that the device lists were much smaller, and in fact contained only the vid/pid for the custom device I am installing. So I changed the line from:

[DeviceList]
%DESCRIPTION%=DriverInstall, USB\VID_04D8&PID_000B, USB\VID_04D8&PID_000C, USB\VID_04D8&PID_01F0
USB\VID_04D8&PID_01F1, USB\VID_04D8&PID_01F2, USB\VID_04D8&PID_01F3, USB\VID_04D8&PID_01F4,
USB\VID_04D8&PID_01F5, USB\VID_04D8&PID_01F6,USB\VID_04D8&PID_FDCF,USB\VID_04D8&PID_FDCF\PST0123456


to as follows:

[DeviceList]
%DESCRIPTION%=DriverInstall, USB\vid_04d8&pid_fdcf, USB\VID_04D8&PID_FDCF\PST0123456


And now it works a charm. But I just noticed that the original list of devices is missing a comma. And I just verified that it is also missing in the mchpusb.inf file in the stack supplied by Microchip, at least in my version 1.3 stack. I downloaded the most recent stack at work yesterday but I need to do that here as well.

It still seems odd that it bombed on Vista and not XP. Well, maybe that's not too much a surprise. I hope Win7 is better than Vista, as they claim, and more importantly at least as good as XP.

Paul
post edited by PStechPaul - 2009/12/17 18:59:47
#1

7 Replies Related Threads

    xiaofan
    Super Member
    • Total Posts : 6247
    • Reward points : 0
    • Joined: 2005/04/14 07:05:25
    • Location: Singapore
    • Status: offline
    RE: MCHPUSB driver INF problem in Vista - fixed 2009/12/17 22:21:02 (permalink)
    0
    To uninstalled phantom USB device driver, you can use USBDeview. It is quite a nice utility to use.
    http://www.nirsoft.net/utils/usb_devices_view.html

    As for the INF file, take note V1.3 stack is really old and contains quite some unfixed bugs. You should try to use the latest V2.6 stacks, at least for the host related things (which works with firmware developed in V1.3 stack as well) even if you still want to use V1.3 stack as the base for your firmware development.

      USB_Links and libusb
    #2
    PStechPaul
    Super Member
    • Total Posts : 2345
    • Reward points : 0
    • Joined: 2006/06/27 16:11:32
    • Location: Cockeysville, MD, USA
    • Status: offline
    RE: MCHPUSB driver INF problem in Vista - fixed 2009/12/17 23:17:50 (permalink)
    0
    I did just now download the new USB stack 2.6. There were two or three files that gave an error in the install, but they were in C# which does not concern me now. But I did confirm that the latest mchpusb.inf file has the same error with the missing comma. Here is the actual line:

    [DeviceList]
    %DESCRIPTION%=DriverInstall, USB\VID_04D8&PID_000B, USB\VID_04D8&PID_000C, USB\VID_04D8&PID_01F0 USB\VID_04D8&PID_01F1, USB\VID_04D8&PID_01F2, USB\VID_04D8&PID_01F3, USB\VID_04D8&PID_01F4, USB\VID_04D8&PID_01F5, USB\VID_04D8&PID_01F6

    This seems to create a problem in Vista but not in XP.

    I'll check the link for the utility you mentioned. Maybe it will help my understanding of USB.

    Thanks,

    Paul
    #3
    seraulu1
    New Member
    • Total Posts : 1
    • Reward points : 0
    • Joined: 2010/02/27 06:03:29
    • Location: 0
    • Status: offline
    RE: MCHPUSB driver INF problem in Vista - fixed 2010/02/27 06:26:19 (permalink)
    0
    Thanks for suggestion!learn hypnosis
    post edited by seraulu1 - 2010/02/27 06:27:34
    #4
    chinzei
    Super Member
    • Total Posts : 2250
    • Reward points : 0
    • Joined: 2003/11/07 12:39:02
    • Location: Tokyo, Japan
    • Status: offline
    RE: MCHPUSB driver INF problem in Vista - fixed 2010/02/27 11:14:39 (permalink)
    0
    [DeviceList]
    %DESCRIPTION%=DriverInstall, USB\VID_04D8&PID_000B, USB\VID_04D8&PID_000C, USB\VID_04D8&PID_01F0
    USB\VID_04D8&PID_01F1, USB\VID_04D8&PID_01F2, USB\VID_04D8&PID_01F3, USB\VID_04D8&PID_01F4,
    USB\VID_04D8&PID_01F5, USB\VID_04D8&PID_01F6,USB\VID_04D8&PID_FDCF,USB\VID_04D8&PID_FDCF\PST0123456

    This chain of device IDs is not good looking.
    You'll find better formatting way in the default INF files.

    This example is taken from input.inf, the default INF for HID.
    input.inf

    [MICROSOFT_KBD]
    ...
    %IRBUS\VID_045E&PID_006D.DeviceDesc%=HIDIR_Inst, IRBUS\VID_045E&PID_006D ; Microsoft SB
    %IRBUS\VID_045E&PID_006D.DeviceDesc%=HIDIR_Inst, IRBUS\VID_045E&PID_00A0 ; Microsoft BB
    %IRBUS\VID_045E&PID_006D.DeviceDesc%=HIDIR_Inst, IRBUS\VID_045E&PID_00DA ; Microsoft SF
    %IRBUS\VID_045E&PID_006D.DeviceDesc%=HIDIR_Inst, IRBUS\VID_107B&PID_3009 ; Gateway BB
    ...


    Above lines have the same device description "%IRBUS\VID_045E&PID_006D.DeviceDesc%", but different VID/PID for hardware ID.
    With this example, we know repeated usage of the same device description is allowed.

    Following this example, this format looks much better than the original one.

    [DeviceList]
    ; Microchip originals
    %DESCRIPTION% = DriverInstall, USB\VID_04D8&PID_000B, USB\VID_04D8&PID_000C
    %DESCRIPTION% = DriverInstall, USB\VID_04D8&PID_01F0, USB\VID_04D8&PID_01F1
    %DESCRIPTION% = DriverInstall, USB\VID_04D8&PID_01F2, USB\VID_04D8&PID_01F3
    %DESCRIPTION% = DriverInstall, USB\VID_04D8&PID_01F4, USB\VID_04D8&PID_01F5
    %DESCRIPTION% = DriverInstall, USB\VID_04D8&PID_01F6
    ; our devices
    %DESCRIPTION% = DriverInstall, USB\VID_04D8&PID_FDCF, USB\VID_04D8&PID_FDCF\PST0123456


    Tsuneo
    #5
    bergsoft
    New Member
    • Total Posts : 3
    • Reward points : 0
    • Joined: 2009/03/20 17:41:16
    • Location: 0
    • Status: offline
    RE: MCHPUSB driver INF problem in Vista - fixed 2010/03/18 00:13:34 (permalink)
    0
    Has Microchip corrected this problem and uploaded a new, signed driver set?  My users are having problems installing on SOME Vista systems and I'm highly suspicious of this problem (I'm having them try this now to see if it is indeed the problem).
    #6
    xiaofan
    Super Member
    • Total Posts : 6247
    • Reward points : 0
    • Joined: 2005/04/14 07:05:25
    • Location: Singapore
    • Status: offline
    RE: MCHPUSB driver INF problem in Vista - fixed 2010/03/18 00:51:41 (permalink)
    0
    ORIGINAL: bergsoft
    Has Microchip corrected this problem and uploaded a new, signed driver set?


    Not yet. The Stack V2.6a (bug fix version of V2.6) still has the same problem.

    [code]
    [DeviceList]
    %DESCRIPTION%=DriverInstall, USB\VID_04D8&PID_000B, USB\VID_04D8&PID_000C, USB\VID_04D8&PID_01F0 USB\VID_04D8&PID_01F1, USB\VID_04D8&PID_01F2, USB\VID_04D8&PID_01F3, USB\VID_04D8&PID_01F4, USB\VID_04D8&PID_01F5, USB\VID_04D8&PID_01F6
     
    [DeviceList.ntamd64]
    %DESCRIPTION%=DriverInstall64, USB\VID_04D8&PID_000B, USB\VID_04D8&PID_000C, USB\VID_04D8&PID_01F0 USB\VID_04D8&PID_01F1, USB\VID_04D8&PID_01F2, USB\VID_04D8&PID_01F3, USB\VID_04D8&PID_01F4, USB\VID_04D8&PID_01F5, USB\VID_04D8&PID_01F6
    [code]

      USB_Links and libusb
    #7
    amaia
    New Member
    • Total Posts : 1
    • Reward points : 0
    • Joined: 2010/07/27 01:56:42
    • Location: 0
    • Status: offline
    Re: RE: MCHPUSB driver INF problem in Vista - fixed 2010/07/27 02:08:24 (permalink)
    0
    Hello,

    I had the same problem with .INF because of 'The data area is too small for a system call" error. I corrected as described in first post, and now the driver looks correctly installed.

    However, when I try to upgrade firmware with USBComunicator in VISTA ULTIMATE 1.0 the program does not detect the device  (in XP it works). Has anyone ever had this problem?

    Bye
    Kind regards
    #8
    Jump to:
    © 2019 APG vNext Commercial Version 4.5