/alsa-audient-id14

WIP: ALSA config or driver for Audient iD14

Primary LanguageCGNU General Public License v3.0GPL-3.0

WIP: Linux ALSA module for Audient iD14

This repo served as an experimentation area whilst writing a paper for a post grad in music technology. The paper is entitled An overview of the technologies involved in a Linux USB audio device driver.

I ran out of time, so never managed to complete the driver. I'd like to return to it one day. An electrical engineer friend of mine suggested we open the device to determine the manufacturer of the PC board. Apparently, the component manufacturers might have specs and documentation, which will make the process easier.

If anyone else is keen to help, please let me know.

To Do

Output

  • determine what end points are marked as isochronous out (feedback endpoint required?)
  • determine the size of the isochronous out end point that the device has
  • create buffers to hold the data that will be sent to the device
  • create a USB urb to write data to the device

Input

Adhere to Kernel coding standards

Please see ~/Products/cm/linux-stable/Documentation/development-process/4.Coding.rst

Quickstart

# NB: remove the default loaded module for interfaces 0 - 3 (sound usb audio)
sudo rmmod snd-usb-audio
# NB: remove default loaded module for interface 4 (usn human interface device)
sudo rmmod usbhid
# remove files generated by build process
make clean
# build the module using the kernel build system
KERNELDIR=~/Products/cm/linux-stable/ make 
# tail kernel output
sudo dmesg -w
# insert module into kernel
sudo insmod id14.ko 
# remove module
sudo rmmod id14

USB device info

sudo cat /sys/kernel/debug/usb/devices

Resources