***

title: ID TECH - Linux
published: true
---------------------

For clean Markdown of any page, append .md to the page URL. For a complete documentation index, see https://docs.payroc.com/essentials-guides/payroc-cloud/configure-your-device/id-tech/llms.txt. For full documentation content, see https://docs.payroc.com/essentials-guides/payroc-cloud/configure-your-device/id-tech/llms-full.txt.

In this configuration, your ID TECH device communicates with your Linux host machine through the Payroc Cloud middleware. To ensure your POS can communicate with the ID TECH device, you need to configure your Linux host machine.

## Integration steps

1. Prepare your host machine for configuration.
2. Configure the native libraries.
3. Configure the payconfig.xml file.
4. Run the middleware.

## Before you begin

Your host machine must have Java 8 or later installed.

## Step 1. Prepare your host machine for configuration

To download the Payroc Cloud middleware and connect your payment device to your host machine, complete the following steps:

1. Connect your payment device to a USB port on your host machine.
2. Go to our [Github repository](https://github.com/payroc/payroc-pos-sdks), and then download Payroc Cloud middleware from the release files.

* If your host machine has Java 8 up to Java 16 installed, download version 1.6.76.
* If your host machine has Java 17 or later installed, download version 1.6.78+.

3. Extract the files from the zipped folder.

## Step 2. Configure native libraries

You need to copy the libraries that match your operating system into the middleware root folder so the middleware can load them when it starts. To do this, complete the following steps:

1. Open the folder that you extracted the Payroc Cloud middleware to.
2. Locate the folder that contains the library that you want to use, for example, to use 64-bit Linux with ID TECH, go to libs > idtech > linux-native-64.
3. Copy the contents of the folder into the root folder.
4. Create a new file in `/etc/udev/rules.d` and name the file `usb.rules`.
5. Add the following contents to the file: `SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0acd\", MODE=\"0666\"`.
6. Create a new file in `/etc/ld.so.conf.d` and name the file `idtech_libs.conf`.
7. In the idtech\_libs.conf file, add the path to the ID TECH middleware package that contains the libraries for your Linux machine.
8. Run the following command to load the libraries: `\$ sudo ldconfig`.

## Step 3. Configure the payconfig.xml file

The payconfig.xml file defines how the middleware communicates with your ID TECH device and our gateway, including:

* Which Payroc account and integration you are working with, for example, you send your API key to authenticate your requests.
* Which payment device the middleware is communicating with, for example, you send the value for the port that your ID TECH device is connected to on your host machine.
* How your ID TECH device should behave in transactions, for example, you indicate if your device should accept keyed transaction details.

Use the following values to configure your payconfig.xml file:

| Field                    | Value                                                                                                                                                                                                                                                         |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| apiKey                   | Enter your Payroc App API key.                                                                                                                                                                                                                                |
| integrationId            | Enter your integrationId.                                                                                                                                                                                                                                     |
| terminalId               | Enter your processingTerminalId.                                                                                                                                                                                                                              |
| deviceType               | Indicates the type of payment device you are using. Enter `IDTECH`.                                                                                                                                                                                           |
| sdkMode                  | Indicates the SDK mode. Enter one of the following values:<br />– `LIVE` - Production mode<br />– `TEST` - Test environment<br />– `DEV` - Developer mode                                                                                                     |
| logLevel                 | Indicates the logging level for the SDK. Enter one of the following values:<br />– `LEVEL_FUL` - Verbose<br />– `LEVEL_INFO` - Informational messages<br />– `LEVEL_ERROR` - Errors only<br />– `LEVEL_NONE` - Disables logging                               |
| portName                 | For an IDTech devices, do not edit this value.                                                                                                                                                                                                                |
| emvType                  | Indicates the EMV processing type you want the device to support. Enter one of the following values:<br />– `STANDARD` - Standard EMV processing.<br />– `QUICK_CHIP` - Faster EMV transaction flow.                                                          |
| inputMethod              | Indicates the EMV processing type you want the device to support. Enter one of the following values:<br />– `SWIPE_OR_INSERT_OR_TAP` - Cardholder can swipe, insert, or tap their card.<br />– `SWIPE_OR_INSERT` - Cardholder can swipe or insert their card. |
| debitAIDPreference       | For an IDTech devices, do not edit this value.                                                                                                                                                                                                                |
| disableOnDeviceSignature | For an IDTech devices, do not edit this value.                                                                                                                                                                                                                |
| enableDeviceLogs         | Indicates whether the device collects debug logs. Enter one of the following values:<br />– `true` - Device collects debug logs.<br />– `false` - Device does not collect debug logs.                                                                         |

## Step 4. Run the middleware

To run the middleware, complete the following steps:

1. Run the following command to make the start.sh file executable:\
   `$chmod +x start-idtech.sh`
2. Run the following script to start the middleware:\
   `$ ./start-idtech.sh`

This establishes communication between your host machine, your ID TECH device, and our gateway.

After the middleware starts, the logs display the serial number of your ID TECH device. You need this serial number to send transaction requests so the gateway can route the instructions to the correct device.

## Next steps

To program your POS to send instructions to your ID TECH device, go to \[Run a sale]]\(/guides/take-payments/payroc-cloud/run-sale.mdx).