All about Windows Hardware Development

Windows Driver/Device Development and Hardware Certifcation

Browse by Tags

Tagged Content List
  • Blog Post: MaximumTransferSize is obsolete after Win2000

    MaximumTransferSize member of the USBD_PIPE_INFORMATION structure is obsolete after Win2000. Systems after win2000 don't care about this value anyway.The USB stack ignores the value in MaximumTransferSize for both composite and non-composite devices, this values will be set to the default.The default...
  • Blog Post: Layered Driver Architecture

    http://msdn.microsoft.com/en-us/library/ms791644.aspx Layered Driver Architecture Windows operating systems support a layered driver architecture. Every device is serviced by a chain of drivers, typically called a driver stack. Each driver in the stack isolates some hardware-dependent features from the...
  • Blog Post: "CTS" is not supported by USBSer.sys?

    The usbser.sys assumes that the device has always signaled CTS. The RTS/CTS hardware handshaking is not implemented in usbser.sys.
  • Blog Post: To ignore a device's serial number

    http://www.lvr.com/usbfaq.htm During device testing, we attach many devices that are identical except for the serial numbers. How can I prevent Windows from asking to install a new driver every time a device is attached? This method causes Windows 2000 and XP to ignore a device's serial number. It's...
  • Blog Post: How to remove phantom/ghost devices

    What is phantom devices Hidden, inactive deives, ghost devices. When a device is physically removed from a machine, the driver becomes a phantom and is no longer visible in Device Manager. Normally this is desirable, but can be a problem if you wish to remove the device driver. How to identify...
  • Blog Post: Test Unit Ready (TUR)

    The SCSI Test Unit Ready command is used to determine if a device is ready to transfer data (read/write). The device will then return either good status or a check condition SCSI communication takes place between an initiator and a target . The initiator sends a command to the target which then responds...
  • Blog Post: Overview of Signing and Install Process

    I think "PIC" actually means "SPC". http://msdn.microsoft.com/en-us/library/aa906274.aspx Kernel-Mode Code Signing Requirements for Public Release of a Driver Windows Vista 64-bit Versions The kernel-mode code signing policy requires that a kernel-mode driver be signed as follows: ? A kernel-mode boot...
  • Blog Post: Test an unsigned driver

    The recommendation is test-sign your driver... Installing an Unsigned Driver during Development and Test http://msdn.microsoft.com/en-us/library/aa906338.aspx By default, 64-bit versions of Windows Vista and later versions of Windows will load a kernel-mode driver only if the kernel can verify the driver...
  • Blog Post: How the system Finds and Loads Drivers

    1. PnP device It has an electronic signature that bus driver can detect the new hardware 2. Legacy device Initiate the detection by invoking Add New Hardware Wizard. In the end, in both PnP and Legacy Device situation, system uses the same automatic registry and INF file process to load the right driver...
  • Blog Post: PnP Device Installation

    1. Plug the device into the computer. 2. The device is enumerated. the bus driver notifies the kernel-mode PnP manager that the list of devices on the bus has changed. The Kernel-mode PnP manager sends IRPs(IRP_MN_QUERY_ID, IRP_MN_QUERY_CAPABILITIES) to bus driver to gather information about the new...
  • Blog Post: Composite USB device

    Composite USB device A device that contains more than one interface descriptor is known as a composite USB device. Each interface in a composite USB device is numbered. http://msdn.microsoft.com/en-us/library/ms794302.aspx USB Device Stack for Windows XP and Later The PCI...
  • Blog Post: USB Device ENUMERATION PROCESS

    ( Copy From Microchip AN1003) The following summarizes the steps involved in theenumeration of a USB device and explains how thedevice goes from Powered to Default, Address and theConfigured state during the enumeration process. 1. User plugs a USB device into a USB port. The hub provides power to...
  • Blog Post: How to "Refresh" Device Manager by programming

    We are talking about: Device Manager->Action->Scan for hardware changes The following CM APIs should work:
  • Blog Post: How To Get PCMCIA Socket Information

    The sample code performs the following steps: Uses the IoGetDeviceObjectPointer function to obtain the device object and corresponding file object. Initializes the PCMCIA_SOCKET_INFORMATION structure for the socket for which the information is sought. Uses the IoBuildDeviceIoControlRequest function to...
  • Blog Post: How To Get PCMCIA Socket Information

    The sample code performs the following steps: Uses the IoGetDeviceObjectPointer function to obtain the device object and corresponding file object. Initializes the PCMCIA_SOCKET_INFORMATION structure for the socket for which the information is sought. Uses the IoBuildDeviceIoControlRequest function to...
  • Blog Post: USB Port busy, or not?

    How to detect USB Port status connected with a USB Flash drive? (working or idle). It seems no APIs or interfaces to get the status of a USB Port (working or idle). As workarounds, it may work to force reflush cache by unmounting and re-mounting volume or remove and rescan usb key device. 1. Flush disk...
  • Blog Post: WDF Logo Requirements Regarding Coinstallers

    http://blogs.msdn.com/iliast/archive/2009/08/13/wdf-logo-requirements-regarding-coinstallers.aspx The current situation (in WLK 1.4) for WHQL-signing is: Win7 + WDF 1.9: No coinstaller restrictions. This means that you can use any WDF 1.9 coinstaller (beta, RC, RTM, intermediate builds, etc) or you can...
  • Blog Post: unsigned IM(passthru) driver cannot bind to newly installed NIC

    1. unsigned IM(passthru) driver cannot bind to newly installed NIC 2. Uninstall a NIC in Device Manager, and re-scan hardware to re-insall it. Unsigned IM(passthru) driver won't bind to the new NIC. root cause: This is by design on XP. Check setupapi.log, see the miniport driver server-side installation...
  • Blog Post: USB Event Tracking (ETW log in USB Core Stack)

    Background: ========= Event Tracing for Windows (ETW) In Windows 7, ETW provides an event logging mechanism that the USB driver stack can exploit to aid in investigating, diagnosing, and debugging USB-related issues. USB Core Stack The USB host controller driver layer includes the host controller port...
  • Blog Post: Removal Policy for a Device

    http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/Designing%20Hardware%20for%20Surprise%20Removal_v8.doc http://msdn.microsoft.com/en-us/library/ff551967(VS.85).aspx Removal Scenarios for Devices 1.Orderly-Removal Scenarios 2.Surprise-Removal Scenarios Removal-related...
  • Blog Post: How to make a partition on a RAW USB flash disk by programming?

    Briefly, here are the steps: 1. Use CreateFile to open PhysicalDriveX, that is the USB Flash disk 2. IOCTL_DISK_GET_DRIVE_GEOMETRY_EX to get the physical disk's geometry ( we need some information in it to fill partition data) 3. IOCTL_DISK_CREATE_DISK to creates an empty partition. 4. IOCTL_DISK_SET_DRIVE_LAYOUT_EX...
  • Blog Post: How to make a partition on a RAW USB flash disk by programming?

    Briefly, here are the steps: 1. Use CreateFile to open PhysicalDriveX, that is the USB Flash disk 2. IOCTL_DISK_GET_DRIVE_GEOMETRY_EX to get the physical disk's geometry ( we need some information in it to fill partition data) 3. IOCTL_DISK_CREATE_DISK to creates an empty partition. 4. IOCTL_DISK_SET_DRIVE_LAYOUT_EX...
  • Blog Post: How to setup to collect Memory Dump?

    A kernel dump gets created every time a machine has a kernel fault. This dump gets stored in the %systemroot% folder as a memory.dmp file. (Control Panel > System and Security > System > Advanced system settings > Advanced tab > Startup and Recovery Settings.) No Full Memory Dumps...
  • Blog Post: Useful links for WDK

    A Hole In My Head Doron Holan's musings on drivers and other nibbles and bits http://blogs.msdn.com/b/doronh/ Microsoft Windows USB Core Team Blog http://blogs.msdn.com/b/usbcoreblog/
  • Blog Post: No Guarded Mutex in Win8?

    As the MSDN article “Fast Mutexes and Guarded Mutexes” says, Starting with Windows 8, guarded mutexes and fast mutexes are implemented identically. If you check WDK8 header file wdm.h, KGUARDED_MUTEX equals to FAST_MUTEX: typedef struct _FAST_MUTEX...
Page 1 of 1 (25 items)