Reading from a USB device

I'm trying to read data from a Tire Pressure Monitoring System (TPMS) USB device. Here's how it appears on Arduino:

01
--

Device descriptor: 
Descriptor Length:	12
Descriptor type:	01
USB version:		0200
Device class:		00
Device Subclass:	00
Device Protocol:	00
Max.packet size:	08
Vendor  ID:		0000
Product ID:		0001
Revision ID:		0001
Mfg.string index:	01
Prod.string index:	02
Serial number index:	00
Number of conf.:	01

Configuration descriptor:
Total length:		0029
Num.intf:		01
Conf.value:		01
Conf.string:		00
Attr.:			A0
Max.pwr:		32

Interface descriptor:
Intf.number:		00
Alt.:			00
Endpoints:		02
Intf. Class:		03
Intf. Subclass:		00
Intf. Protocol:		00
Intf.string:		00
Unknown descriptor:
Length:		09
Type:		21
Contents:	01010001222F000705

Endpoint descriptor:
Endpoint address:	81
Attr.:			03
Max.pkt size:		0040
Polling interval:	01

Endpoint descriptor:
Endpoint address:	01
Attr.:			03
Max.pkt size:		0040
Polling interval:	01


Addr:1(0.0.1)

Here is the code that has worked in C on Linux and in Java on Android:

				//byte[] tpmsRaw = new byte[length];
				//tpmsRaw[0] = (byte) (0x20 + sensorId);
				//int out_len = connection.bulkTransfer(endpoint_out, tpmsRaw, 1, timeout);
				//int in_len = connection.bulkTransfer(endpoint_in, tpmsRaw, 4, timeout);
				//int out_len = connection.controlTransfer(0x42, 0x0, 0x100, 0, tpmsRaw, tpmsRaw.length, timeout);
				//int in_len = connection.controlTransfer(0x41, 0x0, 0x100, 0, tpmsRaw, tpmsRaw.length, timeout);
		
				ByteBuffer buf = ByteBuffer.allocate(4);
				buf.put(0, (byte) (0x20 + sensorId));
				
				UsbRequest send = new UsbRequest();
				send.initialize(mConnection, mEndpointOut);
				Boolean sent = send.queue(buf, 1);
				UsbRequest r1 = mConnection.requestWait();
				
				send.initialize(mConnection, mEndpointIn);
				send.queue(buf, 4);
				UsbRequest r2 = mConnection.requestWait();

0x21 is the first wheel's data up to 0x24 for the fourth wheel.

For the life of me I can't figure out the correct Arduino calls to make. I'm pretty sure I've got the board initialized properly by calling Usb.Init() and Usb.Task(), but after that I'm not sure which functions to call to do the two-step process of reading data from the device.

    rcode = Usb.inTransfer( 1, 0x81, 1, (uint8_t*)&buf[1] );
    Serial.println(rcode);
    rcode = Usb.outTransfer( 1, 0x01, 4, (uint8_t*)&buf );
    Serial.println(rcode);

Any help on figuring out the right calls to make would be greatly appreciated. Thank you.

Here's how it appears on Arduino:

Using what code?

PaulS:
Using what code?

Using the USB lib's example to list the connected device's information.