FAQ - atmel-maxtouch/linux GitHub Wiki

Frequently Asked Questions

Which version/release/tag of the Linux driver supports which maXTouch devices?

The latest releases of the driver are written to be backwards compatible with all older maXTouch chips.

As a general rule, you should use the latest release. Refer to Driver-Integration#branches for which branch is suitable for your Linux kernel version.

What is the plan for upstreaming the github driver to Linux mainline kernel?

We are currently working with the upstream Linux kernel maintainers to upstream our driver changes. For information about this, read the linux-input mailing list.

The current patch queue for mainline submission can be seen at: https://github.com/dtor/input/compare/next...atmel-maxtouch:for-upstream

Does your driver support older Linux kernel versions?

The major API break is caused by the multitouch protocol handling.

The MT protocol B or "MT slots" was a performance improvement introduced to stop the reporting of every bit of active touch state in every sync. This works well with maXTouch because a touch message is only generated when the touch state changes.

We have older branches for Linux v2.6.35 and v2.6.28 (before MT slots) which may be updated on customer request.

Do you provide any tools to test your chips/driver?

Yes, we do provide a range of utilities that can be used in various environments to perform numerous operations.

I see family ID mismatch. What should I do?

Following errors may mean that the configuration that is being used is incompatible to the firmware loaded onto the chip:

  • Family ID mismatch
  • Variant ID mismatch

This situation generally arises when the user is using a config not meant for this chip/firmware. Please ensure that the correct config is being used.

What is the difference between the T9 and T100 touch objects?

Earlier Atmel maXTouch chips use the T9 touch object. This has now been replaced by the T100 object which is configured using different parameters, and provides enhanced capabilities and reporting. The atmel_mxt_ts driver supports both objects and it will automatically detect which is present on probe.

I observe “I2C transfer failed” error messages. What could be the issue?

This problem could be due to any of following reasons, but not limited to:

  • Physical connection issue between the chip and the host. Make sure I2C and CHG line connections are OK.
  • Host uses incorrect I2C address to access the chip. The correct address can be found in the data sheet.

How does your driver handle firmware upgrades? Do I have to modify it to support a new firmware?

Our driver is firmware-independent – it does not need to be modified to support a different firmware.

Can you provide me with a USB driver for maXTouch chips?

We recommend using the standard Linux USB hid-multitouch driver, see USB.

I observe “Interrupt triggered but zero messages”. What causes this issue?

The interrupt/CHG line is configured wrongly. You should enable CHG line mode 1 and the RETRIGEN feature.

The driver in my system doesn't support the Debug Interface. Can I still use tool support?

You may be able to use the i2c-dev interface, see mxt-app

Under Android the touchscreen is detected as a mouse

In this mode, touch inputs will move a circle around the screen in a relative fashion.

You need to make sure the IDC file has the correct setting touch.deviceType = touchScreen to tell android to treat it as a touchscreen. The IDC filename should match the input device name as reported by getevent

See IDC file documentation

How can I get further support?

Please contact [email protected]