Skip to content

Attempt at reverse engineering Native Instruments' Traktor Kontrol F1 HID messages and building a Linux driver

License

Notifications You must be signed in to change notification settings

NexAdn/ni-traktor-kontrol-f1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reverse Engineering Native Instruments Traktor Kontrol F1 HID protocol

This is my first attempt at reverse engineering the communication with a propietary device. In this case, I'm trying to learn how one needs to talk to a Traktor Kontrol F1.

The device

The Traktor Kontrol F1 is a DJ controller consisting of some faders, knobs and a 4x4 launch pad as well as some utility buttons and one endless encoder which is e.g. used for browsing the files in the Traktor Pro 2 DJ software.

The Traktor Kontrol F1 transports input events via USB-HID. Furthermore, the F1 can receive messages to control the RGB color value of the buttons as well as the value shown on the 7 segment display next to the endless encoder.

Status of this project

The inputs and outputs of the device have been reverse engineered. The features are still missing and are probably not gonna be added.

A Non-compatible OSC driver implementation is being developed (see driver-osc). Support for sending some of the inputs via JACK MIDI has been implemented.

The current driver implementation has support for dropping privileges (the driver needs to be started as root to access the hidraw device files, but can run as non-root after successfully opening the right device file).

Main tools used for reverse engineering

  • vim/Okular (Notes taking)
  • usbutils
  • Testing OS: Gentoo Linux

Useful links

License

Copyright (C) 2020-2024 Adrian Schollmeyer.

This repository is licensed under the terms of the GNU General Public License Version 2 or later. A copy of the GPL can be found in LICENSE.md.

About

Attempt at reverse engineering Native Instruments' Traktor Kontrol F1 HID messages and building a Linux driver

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published