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. |
|||||