Software-Lösungen

Dieses Thema enthält 9 Antworten und 7 Teilnehmer. Es wurde zuletzt aktualisiert von Warudo Warudo vor 5 Monate, 3 Wochen.

  • Autor
    Beiträge
  • #3306

    Anonym

    Gibt es eine zeitliche Perspektive zur Unterstützung von Ubuntu 18.04 oder 16.04 mit Kernel 4.15 bezüglich ActivInspire und der ActivDriver-Module?

  • #13856

    Anonym

    Hallo, es besteht ein Erweiterungsvorslag für 18.04. Weitere informationen zu 16.04 finden Sie hier:  https://support.prometheanworld.com/de/article/?kb=1017

  • #13857

    Anonym

    Leider klappt aber das Compilieren des Kernel-Moduls seit Anfang August nicht mehr unter Ubuntu 16.04, da der Kernel auf Version 4.15 aktualisiert wurde:

    make -C /lib/modules/4.15.0-29-generic/build SUBDIRS="/usr/src/promethean/kernel" modules
    make[1]: Verzeichnis „/usr/src/linux-headers-4.15.0-29-generic“ wird betreten
    Makefile:976: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel"
    CC [M] /usr/src/promethean/kernel/usbpromethean.o
    In file included from /usr/src/promethean/kernel/usbpromethean.c:60:0:
    /usr/src/promethean/kernel/usbpromethean.h:40:6: warning: conflicting types for built-in function ‘round’
    long round(long r, long x);
    ^
    /usr/src/promethean/kernel/usbpromethean.c: In function ‘usb_activ_process_touch’:
    /usr/src/promethean/kernel/usbpromethean.c:1741:13: warning: switch condition has boolean value [-Wswitch-bool]
    switch (board->Calibration.mode == 1)
    ^
    /usr/src/promethean/kernel/usbpromethean.c: In function ‘usb_activ_thread_process_pipe_data’:
    /usr/src/promethean/kernel/usbpromethean.c:2583:101: warning: passing argument 4 of ‘usb_get_status’ makes integer from pointer without a cast [-Wint-conversion]
    status = usb_get_status(board->usbdev, USB_RECIP_ENDPOINT, board->pipe_in[ndx], (void*)&data);
    ^
    In file included from /usr/src/promethean/kernel/usbpromethean.c:19:0:
    ./include/linux/usb.h:1771:12: note: expected ‘int’ but argument is of type ‘void *’
    extern int usb_get_status(struct usb_device *dev,
    ^
    /usr/src/promethean/kernel/usbpromethean.c:2583:30: error: too few arguments to function ‘usb_get_status’
    status = usb_get_status(board->usbdev, USB_RECIP_ENDPOINT, board->pipe_in[ndx], (void*)&data);
    ^
    In file included from /usr/src/promethean/kernel/usbpromethean.c:19:0:
    ./include/linux/usb.h:1771:12: note: declared here
    extern int usb_get_status(struct usb_device *dev,
    ^
    /usr/src/promethean/kernel/usbpromethean.c: In function ‘usb_activ_probe’:
    /usr/src/promethean/kernel/usbpromethean.c:3097:5: error: implicit declaration of function ‘init_timer’ [-Werror=implicit-function-declaration]
    init_timer(&board->FirmwarePenState.timer);
    ^
    /usr/src/promethean/kernel/usbpromethean.c:3098:44: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
    board->FirmwarePenState.timer.function = penStateTimerCallback;
    ^
    /usr/src/promethean/kernel/usbpromethean.c:3099:34: error: ‘struct timer_list’ has no member named ‘data’
    board->FirmwarePenState.timer.data = (unsigned long)board;
    ^
    cc1: some warnings being treated as errors
    scripts/Makefile.build:332: die Regel für Ziel „/usr/src/promethean/kernel/usbpromethean.o“ scheiterte
    make[2]: *** [/usr/src/promethean/kernel/usbpromethean.o] Fehler 1
    Makefile:1552: die Regel für Ziel „_module_/usr/src/promethean/kernel“ scheiterte
    make[1]: *** [_module_/usr/src/promethean/kernel] Fehler 2
    make[1]: Verzeichnis „/usr/src/linux-headers-4.15.0-29-generic“ wird verlassen
    Makefile:6: die Regel für Ziel „all“ scheiterte
    make: *** [all] Fehler 2

    Zum Update des Kernels s.a. https://wiki.ubuntu.com/Kernel/LTSEnablementStack:

    The 16.04.2 and newer point releases will ship with an updated kernel and X stack by default for the desktop

    Somit funktioniert Ubuntu 16.04 aktuell NICHT zusammen mit dem Promethean-Treiber, es sei denn man wechselt auf eine nicht unterstützte Kernel-Version (<=4.13) bzw. auf den Kernel der für Server-Installationen weiter gepflegt wird (4.4). Für Desktop-Systeme ist 4.4 ncht witrlkich sinnvoll, weil damit die neuen HWEs komplett fehlen, was massive Auswirkjungen auf die Hardware-Unterstützung, insbesondere bei Grafiktreibern hat.

  • #13858

    Anonym

    Hallo,

    Unseres Software ist bewusst über dieses Problem und wir arbeiten gerade an eine Lösung.

    Wir entschuldigen uns für die Umstände.

    Mit freundlichen Grüßen
    Adem Couper
    Promethean Tech Support

  • #13859

    Anonym

    +1

  • #13860

    Anonym
    Inzwischen gibt es einen workaround für 18.04 bionic.
    • Dateien mit sudo dpkg –ignore-depends=gksu –install activaid_2.0.1-0_i386.deb und sudo dpkg –install activdriver_5.16.8-0_i386.deb 
    •  In der Datei dpkg/status noch die fehlende Abhängigkeit für gksu / kdesu für das Paket activaid löschen  
    • sudo mousepad /var/lib/dpkg/status Datei öffnen
    • Dort zur Zeile Package: activaid navigieren und unter Depends die beiden Pakete löschen und Datei speichern

    Fertig ! Touchboard läuft problemlos unter 18.04 und startet im Gegensatz zu Windows stets problemlos 😉

    Anbei noch ein Beispielskript für ein Bild in Bild Projektion unter xfce
    #!/bin/sh
    xrandr --output VIRTUAL1 --off --output eDP1 --mode 1920x1080 --pos 0x0 --rotate normal --output HDMI1 --mode 1280x800 --pos 480x270 --rotate normal
    xinput map-to-output 'ELAN Touchscreen' eDP1
    xinput list | grep 'TimeLink' | head -n 1
    xinput map-to-output 17 HDMI1
    xfconf-query -c xfwm4 -p /general/margin_right -s 160
    xfconf-query -c xfwm4 -p /general/margin_left -s 480
    xfconf-query -c xfwm4 -p /general/margin_top -s 270
    xfconf-query -c xfwm4 -p /general/margin_bottom -s 10

    Ein Teil des Bildschirms wird ausgegeben und das Notebooktouchpad bedient den ganzen Notebookdisplay und der Promethean Touchscreen den Teil welcher projeziert wird.
    Die Angaben xfconf-query …. stellen die Ränder der Workspaces ein, damit beim maximieren eines Fensters dies auf der projezierten Fläche stattfindet.
  • #13861

    Anonym

    Sorry, aber ich verstehe diesen „Workaround“ nicht…

    Wie soll eine knapp ein Jahr alte Version des activdriver (5.16.8; aktuell ist 5.17.14) das Problem lösen? Er lässt sich weiterhin unter linux-4.15 nicht compilieren (keine wirkliche Überraschung).

    Was übersehe ich hier?

  • #13862

    Anonym
    Bei mir hat es mit 4.15-33 geklappt.  Aber nun läuft es leider nicht mehr, wobei dies bei uns an der Schule durch eine lange Leitung auch unter Windows schlecht läuft.
    Wo bekommt man den aktuellen Treiber?
  • #13863

    Anonym
    anbei ein screenshot mit funktionierendem promethean board
    mfg

  • #16243
    Warudo
    Warudo
    Teilnehmer

    This was finally fixed in ActivDriver 5.18.12.
    Prometheans repository seems to have some problemy currently, but the package can be downloaded manually here:

    http://activsoftware.co.uk/linux/repos/driver/ubuntu/pool/oss/a/activdriver/activdriver_5.18.12-0~Ubuntu~1804_amd64.deb

    This works with kernels up to 4.19.

    If you want to use it on kernel 5.0/5.1, usbpromethean.c needs to be patched manually to remove

    VERIFY_WRITE,

    on line 1020 and

    VERIFY_READ,

    on line 1022 because the kernel removed it.

    Patch:

    @@ -1017,9 +1017,9 @@

    retval = 0;
    if (_IOC_DIR(cmd) & _IOC_READ)
    – retval = !access_ok(VERIFY_WRITE,(void __user *)arg, _IOC_SIZE(cmd));
    + retval = !access_ok((void __user *)arg, _IOC_SIZE(cmd));
    if (_IOC_DIR(cmd) & _IOC_WRITE)
    – retval = !access_ok(VERIFY_READ,(void __user *)arg, _IOC_SIZE(cmd));
    + retval = !access_ok((void __user *)arg, _IOC_SIZE(cmd));

    if (retval) return -EFAULT;

     

     

Du musst angemeldet sein, um auf dieses Thema antworten zu können.