Page 1 of 1

UIRT transmit failed with error code 0

PostPosted: Mon Feb 02, 2009 9:11 pm
by mwebber
I've been stepping through diagnosis with the developers of Intelliremote who leverage the usbuirt.dll.

We enabled the debug logging in their app and found that there is apparently a blowup in the usbuirt.dll.

I transmit a signal in to the usbuirt which triggers an autoit script that generates a different ir transmit. (Your standard purpose for a usbuirt.)

Here's where things go off the rails...

In the log:

2/2/2009 1:21:23 PM [DEBUG] Line 5: UirtTransmit( 500, 5, "0000 007C 0000 0011 000A 0048 000A 0048 000A 0048 000A 001F 000A 001F 000A 001F 000A 0048 000A 001F 000A 0048 000A 001F 000A 001F 000A 001F 000A 001F 000A 001F 000A 0048 000A 001F 000A 0377")
2/2/2009 1:21:23 PM [ERROR] Problem with command UIRTTRANSMIT: (UIRT Error) UIRT transmit failed with error code 0

At this point the app hangs and we get a 'send the error to Microsoft' dialog.

I've seen several posts in the forum that suggest that there are problems with the 1.4 dll. I have tested this on 4 different installations of XP (SP1 or SP3) and the behavior across all of them has been identical.

Help!

PostPosted: Tue Feb 03, 2009 1:01 pm
by Melloware
I would like to also add to the debugging for jrhees the following.

1. Blasting IR works fine.

2. Receiving IR works fine.

3. The scenario that blows up is is calling a transmit inside a receive signal. So basically the USB-UIRT is receiving IR and then trying to blast out IR in the same thread inside the Receive Method.

So its calling UUIRTTransmitIR(...); inside of the Receive Callback method set using UUIRTSetReceiveCallback(...);. Hope that helps!

PostPosted: Wed Feb 04, 2009 1:42 pm
by Melloware
OK we have solved this thanks to USB-UIRT support. Transmits and Recieve IR cannot be called in the same thread. So upon receiving a IR command I queue the Transmitting of IR in another thread.

Thanks to UBS-UIRT team and mwebber for the hints and testing!

UUIRTTransmitIR fails with error code zero

PostPosted: Mon Mar 02, 2009 7:32 pm
by sasumner
This isn't quite the same as previous posters in the thread, but the subject exemplifies my problem so I thought I'd reuse it.

I have an application that hums along fine for awhile, transmitting (only) IR codes that were previously learned. All of a sudden, UUIRTTransmitIR starts returning 0. There is nothing in the API documentation about what can cause a zero to be returned, so I am somewhat at a loss. If I ignore the failure for the bad transmit, and try again with the next thing I am trying to do, it fails again and again.

If it matters, my code looks like this:

Code: Select all
b = pThis->UUIRTTransmitIR(pThis->hDrvHandle,
s.c_str(), /* IRCode */
UUIRTDRV_IRFMT_PRONTO, /* codeFormat */
pArgsList->Strings[2].ToIntDef(10), /* repeatCount */
0, /* inactivityWaitTime */
NULL, /* hEvent */
NULL, /* reserved1 */
NULL); /* reserved2 */

Any help or insights would be appreciated.