Please help: usb driver

I am using dev-ohci (v1.10) from the usb ddk (v1.00) provided by QNX. I
have encountered a problem with one of the driver interface functions. I am
calling usbd_urb_status() right after calling usbd_setup_vendor() and
usbd_io(). I put some printfs after calling usbd_io() and verified that the
response buffer has been filled with correct data from the usb device. The
completion status from usbd_urb_status() shows no error. However, the
length pointer shows zero bytes transferred. Can anyone help with this
problem?

Rex Lam

Rex Lam (lamr@igt.com) wrote:
: I am using dev-ohci (v1.10) from the usb ddk (v1.00) provided by QNX. I
: have encountered a problem with one of the driver interface functions. I am
: calling usbd_urb_status() right after calling usbd_setup_vendor() and
: usbd_io(). I put some printfs after calling usbd_io() and verified that the
: response buffer has been filled with correct data from the usb device. The
: completion status from usbd_urb_status() shows no error. However, the
: length pointer shows zero bytes transferred. Can anyone help with this
: problem?

: Rex Lam


could you post a code snippit ?

Are you calling the usbd_urb_status like this ?

_uint32 clen;
_uint32 status;
usbd_urb_status( urb, &status, &clen );

This is what I want to do:

_uint32 alen;

usbd_urb_status (urb, 0, &alen);
status = resmgr_msgwrite (ctp, ibuf, alen, pos);

After executing usbd_urb_status, “alen” is zero so resmgr_msgwrite does
nothing, which is a problem.

Rex

“Henry Van Dyke” <henry@323.com> wrote in message
news:91ofsk$3rv$1@nntp.qnx.com

Rex Lam (> lamr@igt.com> ) wrote:
: I am using dev-ohci (v1.10) from the usb ddk (v1.00) provided by QNX. I
: have encountered a problem with one of the driver interface functions.
I am
: calling usbd_urb_status() right after calling usbd_setup_vendor() and
: usbd_io(). I put some printfs after calling usbd_io() and verified that
the
: response buffer has been filled with correct data from the usb device.
The
: completion status from usbd_urb_status() shows no error. However, the
: length pointer shows zero bytes transferred. Can anyone help with this
: problem?

: Rex Lam


could you post a code snippit ?

Are you calling the usbd_urb_status like this ?

_uint32 clen;
_uint32 status;
usbd_urb_status( urb, &status, &clen );