update README

This commit is contained in:
serifpersia 2025-07-03 10:32:39 +02:00
parent b88d64867b
commit 36f3fb93ae
3 changed files with 104 additions and 18 deletions

1
.gitignore vendored
View File

@ -49,3 +49,4 @@ modules.order
Module.symvers Module.symvers
Mkfile.old Mkfile.old
dkms.conf dkms.conf
*.ko

121
README.md
View File

@ -1,22 +1,107 @@
# ALSA Driver for TASCAM US-144MKII
An unofficial ALSA kernel module for the TASCAM US-144MKII USB audio interface.
## ❗ Current Status: Work in Progress
This driver is under active development. While playback is functional, several key features are not yet implemented.
### ✅ Implemented Features
* **Vendor-Specific Device Initialization:** Correctly sets up the device for audio streaming.
* **Audio Playback:**
* 2-channel, 24-bit (S24_3LE) format.
* Supported sample rates: 44.1, 48, 88.2, and 96 kHz.
### 📝 To-Do & Known Limitations
* **Audio Capture (Recording):** Not yet implemented.
* **MIDI IN/OUT:** Not yet implemented.
## Installation and Usage
This is an out-of-tree kernel module, meaning you must compile it against the headers for your specific kernel version.
### Step 1: Install Prerequisites (Kernel Headers & Build Tools)
You need the necessary tools to compile kernel modules and the headers for your currently running kernel. Open a terminal and run the command for your Linux distribution:
* **Debian / Ubuntu / Pop!_OS / Mint:**
```bash
sudo apt update
sudo apt install build-essential linux-headers-$(uname -r)
```
* **Fedora / CentOS Stream / RHEL:**
```bash
sudo dnf install kernel-devel kernel-headers make gcc
```
* **Arch Linux / Manjaro:**
```bash
sudo pacman -S base-devel linux-headers
```
* **openSUSE:**
```bash
sudo zypper install -t pattern devel_basis
sudo zypper install kernel-devel
```
### Step 2: Blacklist the Stock `snd-usb-us122l` Driver
The standard kernel includes a driver that will claim the US-144MKII. This driver will conflict with our custom module. You must prevent it from loading.
1. Create a blacklist configuration file using the following command. This tells the system *not* to load the `snd-usb-us122l` module at boot.
```bash
echo "blacklist snd_usb_us122l" | sudo tee /etc/modprobe.d/blacklist-us144mkii.conf
```
2. **Reboot your computer** for this change to take full effect.
3. After rebooting, verify the stock driver is not loaded by running `lsmod | grep snd_usb_us122l`. This command should produce no output.
### Step 3: Compile and Load the Driver
This process will build the module from source and load it for your current session. This is the best way to test it.
1. Clone this repository and navigate into the source directory.
2. Compile the module:
```bash
make
```
3. Load the compiled module into the kernel:
```bash
sudo insmod us144mkii.ko
```
4. Connect your TASCAM US-144MKII. Verify that the driver loaded and the audio card is recognized by the system:
```bash
# Check if the kernel module is loaded
lsmod | grep us144mkii
# Check if ALSA sees the new sound card
aplay -l
```
The first command should show `us144mkii`. The second command should list your "TASCAM US-144MKII" as an available playback device. You should now be able to select it in your audio settings and play sound.
### Step 4: Install for Automatic Loading on Boot
To make the driver load automatically every time you start your computer, follow these steps after you have successfully compiled it in Step 3.
1. **Tell the system to load the module on boot.**
```bash
echo "us144mkii" | sudo tee /etc/modules-load.d/us144mkii.conf
```
2. **Copy the compiled module to the kernel's extra modules directory.** This makes it available to system tools.
```bash
sudo cp us144mkii.ko /lib/modules/$(uname -r)/extra/
```
3. **Update module dependencies.** This command rebuilds the map of modules so the kernel knows about our new driver.
```bash
sudo depmod -a
```
Now, after a reboot, the `us144mkii` driver should load automatically.
Current feat:
- Vendor Specific Config & Initialization,
- Working Playback(not fully tested but works without issues at 48khz)
- To compile and run it follow these steps: ## License
- Blacklist us122l driver in order to be able to use this custom driver
- Get your linux headers via your package manager
- cd to driver directory & run sudo insmod us144mkii.ko
- the device should produce audio playback
- The release alsa custom driver might not work on newer kernel versions currently its been written on
debian 12 6.1 kernel. You might need to compile kernel with `make` and sudo insmod it. Usual build essentials gcc make packages needed to be installed to compile the ALSA kernel module
To make the compiled or release kernel module run on boot execute these commands
`echo "us144mkii" | sudo tee /etc/modules-load.d/us144mkii.conf`
`sudo mkdir -p /lib/modules/$(uname -r)/extra/us144mkii/`
`sudo cp us144mkii.ko /lib/modules/$(uname -r)/extra/us144mkii/`
`sudo depmod -a`
`sudo systemctl restart systemd-modules-load.service`
This project is licensed under the **GPL-2.0** see the [LICENSE](LICENSE) file for details.

Binary file not shown.