diff options
Diffstat (limited to 'Documentation/input/yealink.txt')
-rw-r--r-- | Documentation/input/yealink.txt | 238 |
1 files changed, 0 insertions, 238 deletions
diff --git a/Documentation/input/yealink.txt b/Documentation/input/yealink.txt deleted file mode 100644 index b231d8baf4bb..000000000000 --- a/Documentation/input/yealink.txt +++ /dev/null @@ -1,238 +0,0 @@ -=============================================== -Driver documentation for yealink usb-p1k phones -=============================================== - -Status -====== - -The p1k is a relatively cheap usb 1.1 phone with: - - - keyboard full support, yealink.ko / input event API - - LCD full support, yealink.ko / sysfs API - - LED full support, yealink.ko / sysfs API - - dialtone full support, yealink.ko / sysfs API - - ringtone full support, yealink.ko / sysfs API - - audio playback full support, snd_usb_audio.ko / alsa API - - audio record full support, snd_usb_audio.ko / alsa API - -For vendor documentation see http://www.yealink.com - - -Compilation (stand alone version) -================================= - -Currently only kernel 2.6.x.y versions are supported. -In order to build the yealink.ko module do:: - - make - -If you encounter problems please check if in the MAKE_OPTS variable in -the Makefile is pointing to the location where your kernel sources -are located, default /usr/src/linux. - - -Troubleshooting -~~~~~~~~~~~~~~~ - -:Q: Module yealink compiled and installed without any problem but phone - is not initialized and does not react to any actions. -:A: If you see something like: - hiddev0: USB HID v1.00 Device [Yealink Network Technology Ltd. VOIP USB Phone - in dmesg, it means that the hid driver has grabbed the device first. Try to - load module yealink before any other usb hid driver. Please see the - instructions provided by your distribution on module configuration. - -:Q: Phone is working now (displays version and accepts keypad input) but I can't - find the sysfs files. -:A: The sysfs files are located on the particular usb endpoint. On most - distributions you can do: "find /sys/ -name get_icons" for a hint. - - -keyboard features -================= - -The current mapping in the kernel is provided by the map_p1k_to_key -function:: - - Physical USB-P1K button layout input events - - - up up - IN OUT left, right - down down - - pickup C hangup enter, backspace, escape - 1 2 3 1, 2, 3 - 4 5 6 4, 5, 6, - 7 8 9 7, 8, 9, - * 0 # *, 0, #, - -The "up" and "down" keys, are symbolised by arrows on the button. -The "pickup" and "hangup" keys are symbolised by a green and red phone -on the button. - - -LCD features -============ - -The LCD is divided and organised as a 3 line display:: - - |[] [][] [][] [][] in |[][] - |[] M [][] D [][] : [][] out |[][] - store - - NEW REP SU MO TU WE TH FR SA - - [] [] [] [] [] [] [] [] [] [] [] [] - [] [] [] [] [] [] [] [] [] [] [] [] - - - Line 1 Format (see below) : 18.e8.M8.88...188 - Icon names : M D : IN OUT STORE - Line 2 Format : ......... - Icon name : NEW REP SU MO TU WE TH FR SA - Line 3 Format : 888888888888 - - -Format description: - From a userspace perspective the world is separated into "digits" and "icons". - A digit can have a character set, an icon can only be ON or OFF. - - Format specifier:: - - '8' : Generic 7 segment digit with individual addressable segments - - Reduced capability 7 segment digit, when segments are hard wired together. - '1' : 2 segments digit only able to produce a 1. - 'e' : Most significant day of the month digit, - able to produce at least 1 2 3. - 'M' : Most significant minute digit, - able to produce at least 0 1 2 3 4 5. - - Icons or pictograms: - '.' : For example like AM, PM, SU, a 'dot' .. or other single segment - elements. - - -Driver usage -============ - -For userland the following interfaces are available using the sysfs interface:: - - /sys/.../ - line1 Read/Write, lcd line1 - line2 Read/Write, lcd line2 - line3 Read/Write, lcd line3 - - get_icons Read, returns a set of available icons. - hide_icon Write, hide the element by writing the icon name. - show_icon Write, display the element by writing the icon name. - - map_seg7 Read/Write, the 7 segments char set, common for all - yealink phones. (see map_to_7segment.h) - - ringtone Write, upload binary representation of a ringtone, - see yealink.c. status EXPERIMENTAL due to potential - races between async. and sync usb calls. - - -lineX -~~~~~ - -Reading /sys/../lineX will return the format string with its current value. - - Example:: - - cat ./line3 - 888888888888 - Linux Rocks! - -Writing to /sys/../lineX will set the corresponding LCD line. - - - Excess characters are ignored. - - If less characters are written than allowed, the remaining digits are - unchanged. - - The tab '\t'and '\n' char does not overwrite the original content. - - Writing a space to an icon will always hide its content. - - Example:: - - date +"%m.%e.%k:%M" | sed 's/^0/ /' > ./line1 - - Will update the LCD with the current date & time. - - -get_icons -~~~~~~~~~ - -Reading will return all available icon names and its current settings:: - - cat ./get_icons - on M - on D - on : - IN - OUT - STORE - NEW - REP - SU - MO - TU - WE - TH - FR - SA - LED - DIALTONE - RINGTONE - - -show/hide icons -~~~~~~~~~~~~~~~ - -Writing to these files will update the state of the icon. -Only one icon at a time can be updated. - -If an icon is also on a ./lineX the corresponding value is -updated with the first letter of the icon. - - Example - light up the store icon:: - - echo -n "STORE" > ./show_icon - - cat ./line1 - 18.e8.M8.88...188 - S - - Example - sound the ringtone for 10 seconds:: - - echo -n RINGTONE > /sys/..../show_icon - sleep 10 - echo -n RINGTONE > /sys/..../hide_icon - - -Sound features -============== - -Sound is supported by the ALSA driver: snd_usb_audio - -One 16-bit channel with sample and playback rates of 8000 Hz is the practical -limit of the device. - - Example - recording test:: - - arecord -v -d 10 -r 8000 -f S16_LE -t wav foobar.wav - - Example - playback test:: - - aplay foobar.wav - - -Credits & Acknowledgments -========================= - - - Olivier Vandorpe, for starting the usbb2k-api project doing much of - the reverse engineering. - - Martin Diehl, for pointing out how to handle USB memory allocation. - - Dmitry Torokhov, for the numerous code reviews and suggestions. |