Perixx 1800 Keyboard Driver for Linux
Go to file
2016-05-25 11:43:15 +02:00
dkms.conf Initial commit 2016-05-25 11:17:23 +02:00
install.sh Small changes 2016-05-25 11:43:15 +02:00
LICENSE Initial commit 2016-05-25 11:17:23 +02:00
Makefile Initial commit 2016-05-25 11:17:23 +02:00
perixxkbd.c Small changes 2016-05-25 11:43:15 +02:00
README.md Small changes 2016-05-25 11:43:15 +02:00

Linux Microdia Keyboard (Perixx PX-1800) Chipset Driver

For Chipset 0x0c45:0x7603 The kernel reports the chipset as Microdia

Written for the Perixx PX-1800 USB Keyboard: Perixx PX-1800 Keyboard

Original base: swoogan.blogspot.de/2014/09/azio-l70-keyboard-linux-driver.html

NOTE: Makefile and instructions are only tested on Ubuntu 16.04.

Installation

DKMS

# debian-based:
sudo apt-get install mercurial build-essential linux-headers-generic dkms

# fedora:
sudo dnf install kernel-devel kernel-headers
sudo dnf groupinstall "Development Tools" "Development Libraries"

hg clone https://bitbucket.org/Swoogan/aziokbd
cd aziokbd
sudo ./install.sh dkms

Manual Install

sudo apt-get install mercurial build-essential linux-headers-generic
hg clone https://bitbucket.org/Swoogan/aziokbd
cd aziokbd
sudo ./install.sh

Blacklisting

NOTE: install.sh attempts to blacklist the driver for you. You shouldn't need to do anything manually. These instructions are to explain the process, in the event something goes wrong.

You need to blacklist the device from the generic USB hid driver in order for the aziokbd driver to control it.

Kernel Module

If the USB hid driver is compiled as a kernel module you will need to create a quirks file and blacklist it there.

You can determine if the driver is a module by running the following:

lsmod | grep usbhid

If grep finds something, it means that the driver is a module.

Create a file called /etc/modprobe.d/usbhid.conf and add the following to it:

options usbhid quirks=0x0c45:0x7603:0x0004

If you find that the generic USB driver is still taking the device, try changing the 0x0004 to a 0x0007.

Compiled into Kernel

If the generic USB hid driver is compiled into the kernel, then the driver is not loaded as a module and setting the option via modprobe will not work. In this case you must pass the option to the driver via the grub boot loader.

Create a new file in /etc/default/grub.d/. For example, you might call it aziokbd.conf. (If your grub package doesn't have this directory, just modify the generic /etc/default/grub configuration file):

GRUB_CMDLINE_LINUX_DEFAULT='usbhid.quirks=0x0c45:0x7603:0x4'

Then run sudo update-grub and reboot.

Again, if you find that 0x4 doesn't work, try 0x7.