Yealink Linux Kernel Module

This project aims to add Linux kernel support for some old Yealink phone adapters. The main source code dates back to 2008 but occasionally sees patches to support recent kernel versions.

Source Code Repository:

From its README file:

Phone Models

  • USB-P1K USB 1.1 hand phone with LCD, keypad and ringer
  • USB-P1KH USB 1.1 hand phone with LCD, keypad and ringer
  • USB-P4K USB 1.1 speaker phone desktop model
  • USB-B2K USB 1.1 telbox, ATA adapter for PSTN
  • USB-B3K USB 1.1 telbox, ATA adapter for PSTN
    (Caller-ID and PSTN-USB-bridge currently not supported)

Kernel Versions

Currently Linux kernel versions >= 2.6.18 and <= 6.1 are supported.


For manufacturer documentation might still be found at but due to the dated devices this may not be true anymore.

The original development branch can be found at:

The updated sources supporting the P1KH and B3G can be found at:

Matrix of Supported Features

audio playback alsa ok ok ok ok
audio record alsa ok ok ok ok
keyboard input ok ok ok ok
hookflash input   ok ok ok
PSTN ring input     ok ok
LCD   sysfs ok ok  
LED   sysfs ok    
DIALTONE sysfs   ok ok ok
RINGTONE sysfs ok   ok ok
BACKLIGHT sysfs   ok    
SPEAKER   sysfs   ok  
PSTN   sysfs     ok
LED (USB/PSTN) sysfs     ok ok
Caller-ID         wip
PSTN-USB-Bridge         wip

P4K: Ring tones are implemented by switching on the SPEAKER and sending a ring tone pcm via the dsp interface.

No comments

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.