|
News | Fireblade Repsol | Webcam Kiel | BlinkenCUBE | Open Source MAX7456 OSD Software | HiFi & Heimkino | Ehemalige Hebbelschüler ABI 2003 | Über mich/Impressum ![]() |
||||
Yealink USB P1K VOIP PhoneGekauft bei Conrad als "VOIP-TELEFON HAGENUK VOIPTEL 40" (Artikel-Nr.: 922822 - 62, fü 29,95€) entpuppte sich das Gerät als Yealink USB Hand Phone Model USB-P1K.Die Ähnlichkeit wird auch schnell deutlich wenn man die Angaben von Conrad und Yealink vergleicht:
Ergaenzen kann man das es auf der Yealink Website unter Download - For other users auch die "Mates" für andere Softphones unter Windows neben Skype gibt.
Somit werden alle gängigen Softphones unterstützt, sehr praktisch vor allem die Tastatur. Somit kann man sein Softphone minimiert haben und trotzdem waehlen und "abheben". Allerdings hat keiner der beiden Distributoren/Hersteller das wichtigste erwaehnt: Die volle Unterstützung unter Linux. Der Audio Teil wird durch usb-audio abgedeckt, das display und die Knouml;pfe werden von einem extra Modul names yealink unterstützt. In aktuellen 2.6er Kerneln ist das Modul schon standardmaessig enthalten (noch als EXPERIMENTAL eingestuft, also nur auswaehlbar wenn man sich diese Treiber auch anzeigen laesst) und muss nichtmehr eingepatcht werden, eine Dokumentation findet man im Kernel Source Verzeichniss unter Documentation/input/yealink.txt. Entsprechender Eintrag in der Kernel-Hilfe: CONFIG_USB_YEALINK:
Say Y here if you want to enable keyboard and LCD functions of the
Yealink usb-p1k usb phones. The audio part is enabled by the generic
usb sound driver, so you might want to enable that as well.
For information about how to use these additional functions, see
Documentation/input/yealink.txt.
To compile this driver as a module, choose M here: the module will be
called yealink.
Symbol: USB_YEALINK [=m]
Prompt: Yealink usb-p1k voip phone
Defined at drivers/usb/input/Kconfig:243
Depends on: USB && INPUT && EXPERIMENTAL
Location:
-> Device Drivers
-> USB support
Wichitg ist das man das ganze als Modul kompiliert wenn man auch HID Geräte nutzt (den usbhid-Treiber dann auch als modul und NACH dem yealink laden). Denn wenn einkompiliert erkennt der HID Treiber das Telefon zuerst und der unterstuetzt die ganzen Sachen nicht. Der Soundteil wird ja von usb_audio abgedeckt, wer probleme mit seinem Softphone hat sollte erstmal direkt mit den alsa-tools testen indem er die richtigen devices des Phones sucht (bei meinem Laptop ist es card 2 da 0 die onboard karte ist und 1 das modem): cascade@hermes:~$ arecord -l **** List of CAPTURE Hardware Devices **** card 0: V8235 [VIA 8235], device 0: VIA 8235 [VIA 8235] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: V8235 [VIA 8235], device 1: VIA 8235 [VIA 8235] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: modem [VIA 82XX modem], device 0: VIA 82XX modem [VIA 82XX modem] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: default [VOIP USB Phone], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 cascade@hermes:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: V8235 [VIA 8235], device 0: VIA 8235 [VIA 8235] Subdevices: 4/4 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 card 0: V8235 [VIA 8235], device 1: VIA 8235 [VIA 8235] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: modem [VIA 82XX modem], device 0: VIA 82XX modem [VIA 82XX modem] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: default [VOIP USB Phone ], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 cascade@hermes:~$dadraus folgt bei mir das mein usb-phone card 2 und device 0 ist, also konkret: arecord -v -d 10 -r 8000 -f S16_LE -t wav -D hw:2,0 foobar.wavkann ich mit aufnehmen und hinterher mit aplay -D hw:2,0 foobar.wavabspielen, tut einwandfrei. mixereinstellungen mach ich mit alsamixer -c 2(ist ja card 2) Wer deutsches Tastaurlayout nutzt wird schnell auf ein Problem stossen: Die Raute-Taste (#) sendet einen Paragraphen (§). Das liegt daran, dass der Input-Wrapper beim Tastendruck auf dem Telefon "Shift-3" sendet (was auf englischem Layout eine Raute ist), da man aber z.B. zum vorwaehlen der einzelnen Proxies doch oefters mal braucht und man ja doch durchaus gerne das gesendet bekommt was man auch drueckt kann man das in den Kernel-Sourcen leicht selbst aendern. Dazu oeffnet man die Datei drivers/usb/input/yealink.c und aendert folgendes:
case 0x32: return KEY_LEFTSHIFT |
KEY_3 << 8; /* # */
um in:
case 0x32: return KEY_BACKSLASH;/* # */
und kompiliert ggf das Modul neu. Da es nur so wenig ist lohnt sich nen diff hier wohl nicht. Hat zwar gedauert bis ich auf die Idee kam aber funktioniert bei mir bestens.Mit einem einfachen Shellscript ist es dann auch moeglich die Uhrzeit ausgeben zu koennen, eine einfache und nachvollziehbare Version waere wie folgt: #! /bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
NAME=yealinktime
DESC="Sends Time to Yealink VOIP-Phone"
while true; do
if [ -f `find /sys -name get_icons` ]; then
BASEDIR=`find /sys -name get_icons | sed 's/get_icons//'`
DAY=`date '+%w'`
case "$DAY" in
0)
WEEKDAY=" . "
;;
1)
WEEKDAY=" . "
;;
2)
WEEKDAY=" . "
;;
3)
WEEKDAY=" . "
;;
4)
WEEKDAY=" . "
;;
5)
WEEKDAY=" . "
;;
6)
WEEKDAY=" ."
;;
esac
date +"%m.%e.%k:%M %S" | sed 's/^0/ /' > ${BASEDIR}line1
echo -en "$WEEKDAY" > ${BASEDIR}line2
echo -en "Linux rocks" > ${BASEDIR}line3
fi
sleep 1;
done
Das script schreibt nur ins sysfs wenn das Telefon eingesteckt ist und erkennt auch welche USB-Device-ID es bekommen hat. |
|||||
|
|
|||||