The car end of this interface is an OBD-II type connector which plugs right in to most 1994 and newer VW's and 1996 and newer Audis. Most 1990-1995 Audis and 1990-1993 VW's have the '2x2' data link connector, click here for more info.
Extending this Interface:
The cable on this adapter is about 6 feet long -- just right for most laptops. You may be able to extend this interface another 6 to 10 feet with a USB extension cord, but we don't recommend or support it because the USB standard does not allow extension cords! If you plan to use a desktop PC, please order a HEX-COM instead.
Notes:
R/C USB-Interface for flight simulators. USB-Interface II and USB-Interface III. Learn and train model flying without the danger of a crash, independent on weather daytime or your flight instructor; works with nearly all R/C transmitters (Graupner, Futaba, Multiplex, Hitec, Walkera,.).
This interface requires a special driver to be installed on your PC. It does not emulate a COM port. That means this interface will not work with any other software besides VAG-COM.
We do not sell any interface adapters as a 'Stand-Alone' products. We only sell them with our VAG-COM software.
Driver Installation:
Known Issues:
This interface performs best with Windows-XP. It can be used with Windows 98, ME, or 2000, but Performance may be significantly degraded by using an OS other than Windows XP. If you are planning to keep using Windows 98, ME, or 2000, we recommend using a Quatech card with one of our Serial Interfaces as per our FAQ.
The TWIN-USB prefers to be plugged into the car before being plugged into the PC. On some laptops, the TWIN-USB may not work correctly if you plug it into the PC before you plug it into the car. If a TWIN-USB won't 'Talk' to the car, first go to the Options Screen, click TEST and make sure your the TWIN-USB is identified correctly. If VAG-COM correctly identifies it, do the following:
- Leave the TWIN-USB plugged into the car.
- Unplug it from the PC for 10 seconds
- Plug it back into the PC and wait 10 more seconds.
This will fix almost all 'TWIN USB Won't Talk' problems.
How to order:
This topic describes the steps for issuing a select-interface request to activate an alternate setting in a USB interface. The client driver must issue this request after selecting a USB configuration. Selecting a configuration, by default, also activates the first alternate setting in each interface in that configuration.
Each USB configuration must support one or more multiple USB interfaces. Each interface exposes one or more endpoints that are used to transfer data to and from the device. USB interfaces must have a device-defined, interface index that is used to identify the interface. The interface must also have one or more alternate settings that group the endpoints of the interface. As part of device configuration, the client driver must select one of the alternate settings in the interface. Because endpoints can be shared among alternate settings, only one setting can be active at a given time. After the alternate setting is active, its endpoints become available for data transfers.
For a multiple interface device, two interfaces can be active at a given time. The client driver must activate an alternate setting in each interface. Endpoints are not shared among interfaces and therefore, each simultaneous data transfers can be performed on each interface.
Alternate settings are device-defined and identified with a number called the setting index. The alternate setting at index 0 is called the default alternate setting in this documentation set. An alternate setting is described in a USB_INTERFACE_DESCRIPTOR structure. The structure contains the interface index with which the setting is associated and the number of endpoints defined by the setting. It also contains information about the class specification to which the functionality of the interface conforms. The way, in which endpoints are grouped, depends on the functionality of the device.
For example, an interface exposes two isochronous and two bulk endpoints through three alternate settings (index 0, 1, 2). The Alternate Setting 0 does not define any endpoint; Alternate Setting 1 defines the bulk endpoints; Alternate Setting 2 defines the isochronous endpoints. Because Alternate Setting 0 has no endpoint, the client driver can select this setting to disable data transfer in order to conserve bandwidth. When either of the other settings is active, the device is ready for data transfers. Alternate Setting 1 can be used to transfer bulk data. Alternate Setting 2 can be selected when the device is in streaming mode. Therefore, alternate settings give the client driver the flexibility of changing the device configuration as and when required. In this example, the client driver can switch the device functionality from a bulk transfer to streaming, just by selecting an alternate setting.
Alternate settings can also be used to set bandwidth requirements. For an example, see the USB Device Layout.
Windows Driver Foundation (WDF) provides methods in Kernel-Mode Driver Framework and User-Mode Driver Framework that the client driver can call to select a different alternate setting. KMDF client driver can select a setting by specifying the setting index, interface descriptor of the setting, or by submitting an URB that contains the request. UMDF client driver can only select an alternate setting by specifying its setting index.
After a select-configuration request completes successfully, the previously active alternate setting is deactivated.
Before the client driver can select an alternate setting, make sure these requirements are met:
The client driver must have created the framework USB target device object. Brute force attack tool for mac.
If you are using the USB templates that are provided with Microsoft Visual Studio Professional 2012, the template code performs those tasks. The template code obtains the handle to the target device object and stores in the device context.
The device must have an active configuration.
If you are using USB templates, the code selects the first configuration and the default alternate setting in each interface.
Get a WDFUSBINTERFACE handle to the interface that has the alternate setting.
To get handle, first get the number of the interfaces of the selected configuration by calling WdfUsbTargetDeviceGetNumInterfaces and then enumerate interfaces in a loop. In each iteration call the WdfUsbTargetDeviceGetInterface method and increment the index (starting at zero).
Note During device enumeration, the USB driver stack assigns numbers to the alternate settings. The interface numbers are zero-based and sequential. Those numbers might be different to the device-defined setting index. To obtain the device-defined setting index, call the WdfUsbInterfaceGetInterfaceNumber method.
Initiate a select-interface request by calling the WdfUsbInterfaceSelectSetting method. In the Params parameter of the call, choose one of these options:
Specify the alternate setting number assigned by the USB driver stack. Typically, you pass the same index that you used in step 1 to enumerate the settings.
Specify a pointer the interface descriptor that describes the alternate setting. The driver can then get interface descriptors while enumerating alternate settings in the interface by calling the WdfUsbInterfaceGetDescriptor method. After the enumeration completes, the driver gets information about all of the enumerated alternate settings in the USB_INTERFACE_DESCRIPTOR structure.
Specify a pointer to an URB that contains all the information required for the select-interface request.
**WDM drivers: **To submit the URB, associate the URB with an IRP, and submit the IRP to the USB driver stack. For more information, see How to Submit an URB.
The options in the list provide the client driver with the flexibility for specifying the selection criteria. If you are already aware of the endpoint capabilities of the alternate setting, choose the first option (with the alternate setting number) in the list. Otherwise, choose the second option that specifies the interface descriptor. Inspect USB_INTERFACE_DESCRIPTOR structures for all alternate settings. For each setting, enumerate its endpoints and their characteristics such as, the endpoint type, maximum packet size, and so on. When you find the set of endpoints that you need for data transfers, call WdfUsbInterfaceSelectSetting by specifying a pointer to that interface descriptor. Typically, you will not require the third option unless you are a WDM-based client driver that can only send requests to the USB driver stack by submitting URBs.
Based on the information supplied by the client driver, the USB driver stack then builds a standard control request (SET INTERFACE) and sends it to the device. If the request completes successfully, the USB driver stack obtains pipes handles to the endpoints of the alternate setting.
After selecting an alternate setting, the client driver must always get the pipe handles for endpoints in the new setting. Failure to do so might cause the driver to send data transfer requests by using stale pipe handles. For information about retrieving pipe handles, see How to enumerate USB pipes.
Get the number of USB interfaces that the active configuration supports by calling the IWDFUsbTargetDevice::GetNumInterfaces method.
Get an IWDFUsbInterface pointer for each interface in the configuration.
Enumerate all interfaces by calling the IWDFUsbTargetDevice::RetrieveUsbInterface method in a loop until the function returns NULL. With each iteration, increment the member index (zero-based). The loop retrieves IWDFUsbInterface pointers to all the enumerated interfaces.
For each interface, get the WinUSB handle by calling IWDFUsbInterface::GetWinUsbHandle. This handle is required by the next step.
Call WinUsb_GetAssociatedInterface to obtain a handle to the interface. In the AssociatedInterfaceIndex parameter, specify the index in step 2.
Determine the number of alternate settings in the interface.
Call the WinUsb_QueryInterfaceSettings function in a loop and increment the index (zero-based) in each iteration. When all settings are enumerated, the function returns ERROR_NO_MORE_ITEMS. The function also returns interface descriptors for each setting.
By using the value received in the bNumEndpoints member of each interface descriptor, and enumerate its endpoints. Inspect the endpoint descriptors and determine which setting meets your requirement.
Initiate a select-interface request by calling the WinUsb_SetCurrentAlternateSetting function. In the call, specify the alternate setting number associated with the index in step 4.
Release the interface handle obtained in step 4 by calling the WinUsb_Free function.
Release the WinUSB handle obtained in step 3 by calling the WinUsb_Free function.
If you are finished using IWDFUsbInterface methods, release all interface pointers retrieved in step 2.
For a KMDF client driver, in its WdfUsbInterfaceSelectSetting call, the driver can supply a pointer to a driver-defined pipe context. The client driver can store information about pipes in the pipe context. For more information about pipe information, see How to enumerate USB pipes.