67 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 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](http://www.perixx.com/en/service/Perixx_Manual/GAMING/PX-1800.pdf)
 | |
| 
 | |
| 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`.
 | |
| 
 |