Force USB device to re-enumerate; flush EP2INFIFO in Maxim 3421E

Discussion in 'Windows XP Drivers' started by Bill Davy, Sep 3, 2008.

  1. Bill Davy

    Bill Davy Guest

    I've opened a USB device and on finding it is not well, I'd like to
    effectively simulate temporarily removing the USB cable (a well known way to
    clean things up).



    In fact, the device is a Maxim 3421E and for some reason there are some
    bytes in EP2INFIFO. As a result, all my data reads are offset. I've
    written the software (for a SiLab C8051F060) that drives the Maxim over SPI
    and it may be that a dodgy SPI clock is to blame for the odd bytes in the
    FIFO, but for now I cannot nail that so I am looking for a work-around.
    Forcing enumeration of the device will do as then the SiLab resets the Maxim
    and that clears EP2INFIFO.



    TIA

    Bill
     
    Bill Davy, Sep 3, 2008
    #1
    1. Advertisements

  2. if you have your own driver, you can cycle the port by sending a
    IOCTL_INTERNAL_USB_CYCLE_PORT down the stack

    --
    Please do not send e-mail directly to this alias. this alias is for
    newsgroup purposes only.
    This posting is provided "AS IS" with no warranties, and confers no rights.


    "Bill Davy" <> wrote in message
    news:...
    > I've opened a USB device and on finding it is not well, I'd like to
    > effectively simulate temporarily removing the USB cable (a well known way
    > to clean things up).
    >
    >
    >
    > In fact, the device is a Maxim 3421E and for some reason there are some
    > bytes in EP2INFIFO. As a result, all my data reads are offset. I've
    > written the software (for a SiLab C8051F060) that drives the Maxim over
    > SPI and it may be that a dodgy SPI clock is to blame for the odd bytes in
    > the FIFO, but for now I cannot nail that so I am looking for a
    > work-around. Forcing enumeration of the device will do as then the SiLab
    > resets the Maxim and that clears EP2INFIFO.
    >
    >
    >
    > TIA
    >
    > Bill
    >
    >
     
    Doron Holan [MSFT], Sep 3, 2008
    #2
    1. Advertisements

  3. Bill Davy

    Bill Davy Guest

    Can (and how can) that be done with WinUSB (the drver I'm using,
    6001.071220)?
    Thanks,
    Bill


    "Doron Holan [MSFT]" <> wrote in message
    news:...
    > if you have your own driver, you can cycle the port by sending a
    > IOCTL_INTERNAL_USB_CYCLE_PORT down the stack
    >
    > --
    > Please do not send e-mail directly to this alias. this alias is for
    > newsgroup purposes only.
    > This posting is provided "AS IS" with no warranties, and confers no
    > rights.
    >
    >
    > "Bill Davy" <> wrote in message
    > news:...
    >> I've opened a USB device and on finding it is not well, I'd like to
    >> effectively simulate temporarily removing the USB cable (a well known way
    >> to clean things up).
    >>
    >>
    >>
    >> In fact, the device is a Maxim 3421E and for some reason there are some
    >> bytes in EP2INFIFO. As a result, all my data reads are offset. I've
    >> written the software (for a SiLab C8051F060) that drives the Maxim over
    >> SPI and it may be that a dodgy SPI clock is to blame for the odd bytes in
    >> the FIFO, but for now I cannot nail that so I am looking for a
    >> work-around. Forcing enumeration of the device will do as then the SiLab
    >> resets the Maxim and that clears EP2INFIFO.
    >>
    >>
    >>
    >> TIA
    >>
    >> Bill
    >>
    >>

    >
     
    Bill Davy, Sep 4, 2008
    #3
  4. winusb does not (intentionaly) expose cycle port to user mode, it is a
    privileged operation that can have serious side effects for the device

    d

    --
    Please do not send e-mail directly to this alias. this alias is for
    newsgroup purposes only.
    This posting is provided "AS IS" with no warranties, and confers no rights.


    "Bill Davy" <> wrote in message
    news:%...
    > Can (and how can) that be done with WinUSB (the drver I'm using,
    > 6001.071220)?
    > Thanks,
    > Bill
    >
    >
    > "Doron Holan [MSFT]" <> wrote in message
    > news:...
    >> if you have your own driver, you can cycle the port by sending a
    >> IOCTL_INTERNAL_USB_CYCLE_PORT down the stack
    >>
    >> --
    >> Please do not send e-mail directly to this alias. this alias is for
    >> newsgroup purposes only.
    >> This posting is provided "AS IS" with no warranties, and confers no
    >> rights.
    >>
    >>
    >> "Bill Davy" <> wrote in message
    >> news:...
    >>> I've opened a USB device and on finding it is not well, I'd like to
    >>> effectively simulate temporarily removing the USB cable (a well known
    >>> way to clean things up).
    >>>
    >>>
    >>>
    >>> In fact, the device is a Maxim 3421E and for some reason there are some
    >>> bytes in EP2INFIFO. As a result, all my data reads are offset. I've
    >>> written the software (for a SiLab C8051F060) that drives the Maxim over
    >>> SPI and it may be that a dodgy SPI clock is to blame for the odd bytes
    >>> in the FIFO, but for now I cannot nail that so I am looking for a
    >>> work-around. Forcing enumeration of the device will do as then the SiLab
    >>> resets the Maxim and that clears EP2INFIFO.
    >>>
    >>>
    >>>
    >>> TIA
    >>>
    >>> Bill
    >>>
    >>>

    >>

    >
    >
     
    Doron Holan [MSFT], Sep 4, 2008
    #4
  5. Bill Davy

    Bill Davy Guest

    Shucks.
    Bill

    "Doron Holan [MSFT]" <> wrote in message
    news:...
    > winusb does not (intentionaly) expose cycle port to user mode, it is a
    > privileged operation that can have serious side effects for the device
    >
    > d
    >
    > --
    > Please do not send e-mail directly to this alias. this alias is for
    > newsgroup purposes only.
    > This posting is provided "AS IS" with no warranties, and confers no
    > rights.
    >
    >
    > "Bill Davy" <> wrote in message
    > news:%...
    >> Can (and how can) that be done with WinUSB (the drver I'm using,
    >> 6001.071220)?
    >> Thanks,
    >> Bill
    >>
    >>
    >> "Doron Holan [MSFT]" <> wrote in message
    >> news:...
    >>> if you have your own driver, you can cycle the port by sending a
    >>> IOCTL_INTERNAL_USB_CYCLE_PORT down the stack
    >>>
    >>> --
    >>> Please do not send e-mail directly to this alias. this alias is for
    >>> newsgroup purposes only.
    >>> This posting is provided "AS IS" with no warranties, and confers no
    >>> rights.
    >>>
    >>>
    >>> "Bill Davy" <> wrote in message
    >>> news:...
    >>>> I've opened a USB device and on finding it is not well, I'd like to
    >>>> effectively simulate temporarily removing the USB cable (a well known
    >>>> way to clean things up).
    >>>>
    >>>>
    >>>>
    >>>> In fact, the device is a Maxim 3421E and for some reason there are some
    >>>> bytes in EP2INFIFO. As a result, all my data reads are offset. I've
    >>>> written the software (for a SiLab C8051F060) that drives the Maxim over
    >>>> SPI and it may be that a dodgy SPI clock is to blame for the odd bytes
    >>>> in the FIFO, but for now I cannot nail that so I am looking for a
    >>>> work-around. Forcing enumeration of the device will do as then the
    >>>> SiLab resets the Maxim and that clears EP2INFIFO.
    >>>>
    >>>>
    >>>>
    >>>> TIA
    >>>>
    >>>> Bill
    >>>>
    >>>>
    >>>

    >>
    >>

    >
     
    Bill Davy, Sep 8, 2008
    #5
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. NP
    Replies:
    0
    Views:
    631
  2. mirt
    Replies:
    2
    Views:
    244
    Pavel A.
    Mar 8, 2004
  3. Chuck

    Re: USB device not imaging device

    Chuck, Sep 4, 2004, in forum: Windows XP Drivers
    Replies:
    0
    Views:
    290
    Chuck
    Sep 4, 2004
  4. Guest
    Replies:
    0
    Views:
    628
    Guest
    Dec 21, 2004
  5. mike

    How to enumerate a print server?

    mike, Oct 10, 2006, in forum: Windows XP Drivers
    Replies:
    0
    Views:
    310
Loading...

Share This Page