

                         LOWBULK.SYS and LOWCDC.SYS


    This is the Readme file about patch drivers for using low-speed CDC
    (Communication Device Class) protocol on Windows. For more information
    please visit
        http://www.recursion.jp/avrcdc/lowbulk.html
        http://www.recursion.jp/avrcdc/lowcdc.html


SUMMARY
=======
    The "avrcdc.inf" is an INF file to load the pre-installed driver 
    "usbser.sys", which performs the virtual COM port over the CDC protocol.
    This is suitable for Windows 2000/XP.

    The lowbulk.sys performs the CDC connection over low-speed "bulk" transfer
    between Windows Vista and the low-speed CDC devices. This tiny filter
    driver resides between "usbser.sys" and the USB port driver, and it helps
    configuring bulk pipes for low-speed device when connected. It just passes
    through the packets between the layers at other times.
    
    The lowcdc.sys performs the CDC connection over the low-speed "interrupt"
    transfer on Windows. Although the transfer speed is slow(<=9600bps), it
    meets the USB 1.1 standard and reduces the system load. 
    
    The lowbulk.sys and the lowcdc.sys are developed by Osamu Tamura.


SPECIFICATION
=============
  (lowbulk.sys)
    Platform:   Windows XP/Vista. It works with "usbser.sys".
    Function:   Configuring the bulk endpoints on low-speed devices.
                Disables the interface pipe which is hardly used.
    Structure:  Kernel mode driver
    Size:       5,632 bytes
    
    This patch works as follows:
      Step 1. Configures the interrupt pipes instead of bulk pipes.
      Step 2. Reforms the interrupt pipes to the bulk pipes after the endpoints
              were generated.
      Step 3. Ignores the interface pipe request.
    (You can use this for XP to disable the interface pipe.)

  (lowcdc.sys)
    Platform:   Windows XP/Vista. It works with "usbser.sys".
    Function:   Configures the interrupt endpoints for the CDC protocol.
                Disables the interface pipe which is hardly used.
    Structure:  Kernel mode driver
    Size:       5,632 bytes
    
    This patch works as follows:
      Step 1. Configures the interrupt pipes instead of bulk pipes.
      Step 2. Reports the created pipes as the bulk to usbser.sys.
      Step 3. Ignores the interface pipe request.


    These drivers are designed for AVR-CDC, and may not work properly on other
    "low-speed CDC" devices.

    Bulk transfer on low-speed USB is not allowed by the USB standard.
    Use these drivers at your own risk. 


USAGE
=====
    Install the virtual COM/CDC protocol interface driver.
        Connect AVR-CDC device and follow the dialog instructions.
        Indicate "inf/*" folder of your machine to install "usbser.sys" and
        "low***.sys".

        /inf 
             -- /w2k    -- avrcdc.inf   <= Windows 2000
             -- /xp     -- avrcdc.inf   <= Windows XP
             -- /vista  -- lowbulk.inf  <= Windows (XP)/Vista x32
                        -- lowbulk.sys       (bulk transfer mode)

             -- /lowcdc -- lowcdc.inf   <= Windows XP/Vista x32
                        -- lowcdc.sys        (interrupt transfer mode)

        /inf64   (See Readme64.txt)
             -- /vista  -- lowbulk.inf  <= Windows Vista x64
                        -- lowbulk.sys       (bulk transfer mode)

             -- /lowcdc -- lowcdc.inf   <= Windows Vista x64
                        -- lowcdc.sys        (interrupt transfer mode)

DEVELOPMENT
===========
    This driver has been developed on WinDDK 6001.18002 and was based on the
    sample (src/general/toaster/filter/devlower).
    Copy the source code into /src and build it under the WinDDK environment.


USING lowbulk.sys FOR FREE
==========================
    The low***.sys is published under an Open Source compliant license.
    See the file "License.txt" for details.


    Osamu Tamura @ Recursion Co., Ltd.
    http://www.recursion.jp/avrcdc/lowbulk.html
    http://www.recursion.jp/avrcdc/lowcdc.html

    15 July 2008
    02 February 2009
    20 March 2009
    30 March 2009	-- fixed a shutdown problem.

