Jump to content

Recommended Posts

Geschrieben

ich versuche gerade den Treiber für folgendes Touchscreen zu installieren.

 

8" IP65 HB Touch-Monitor.

Komme aber im Moment noch nicht sehr weit.

Ich habe die Treiber von der Webseite gezogen und auf den RED überspielt.

Ich starte wie in der Anleitung beschrieben mit sh die Setup.sh.

Das ganze für den ARM.

Das Setup läuft auch. Der HMI Touchcontroller wird auch gefunden.

Leider bricht das Setup dann ab und sagt das es das uinput module nicht laden kann und bricht mit dem Hinweiß, das ich das Modul neu compilen soll ab.

Kann mir jemand helfen?

 

root@red-brick:/home/tf/programs/test/bin# sh setup.sh


(*) Driver installer for touch controller
(*) Script Version = 1.04.5701

(I) Check user permission: root, you are the supervisor.
(I) Platform application binary interface = armv7l

Your machine is detected may be as an ARM hard floating platform
it is recommended to select [2] ARMhf to install

Which platform arch do you use?
[1] ARM  [2] ARMhf  [3] MIPS
2
(W) X server detected.

Declaration and Disclaimer
The programs, including but not limited to software and/or firmware (hereinafter referred to "Programs" or "PROGRAMS", are owned by eGalax_eMPIA Technology Inc. (hereinafter referred to EETI) and are compiled from EETI Source code. EETI hereby grants to licensee a personal, non-exclusive, non-transferable license to copy, use and create derivative works of Programs for the sole purpose in conjunction with an EETI Product, including but not limited to integrated circuit and/or controller. Any reproduction, copies, modification, translation, compilation, application, or representation of Programs except as specified above is prohibited without the express written permission by EETI.

Disclaimer: EETI MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO PROGRAMS, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. EETI reserves the right to make changes without further notice to the Programs described herein. Licensee agrees that EETI does not assume any liability, damages or costs, including but not limited to attorney fees, arising out from Programs themselves or those arising out from the application or combination Programs into other products or circuit. The use or the inclusion of EETI's Programs implies that the Licensee assumes all risk of such use and in doing so indemnifies EETI against all charges, including but not limited to any claims to infringement of any third party's intellectual property right.

Do you agree with above patent declaration?
[Y] Yes, I agree.  [N] No, I don't agree.
y

(Q) Which interface controller do you use?
(I) [1] RS232 [2] USB [3] PS2 : 2
(I) Please confirm the touch controller is linked with your device. Press [Enter] key to continue..........

(I) /etc/rcS.d path found.
ln: failed to create symbolic link ‘/etc/rcS.d/S99eGTouch’: File exists
(I) Found a HID compliant touch controller.
(I) X.Org X server 1.16.4
(I) X version is 1.7.6 upwards
(E) Can't load uinput module. Please rebuild the module before installation.

Geschrieben

Der Treiber braucht das uinput Kernel Module. Dieses ist beim Kernel des 1.9er Image nicht mitkompiliert worden. Beim Kernel des 1.10er Images ist es dabei.

 

Du kannst also auf Image 1.10 aktualisieren, oder den Kernel für Image 1.9 mit uinput aktiviert (CONFIG_INPUT_UINPUT=m) neukompilieren.

Geschrieben

So. Geht zwar noch immer nicht, bin aber einen Schritt weiter.

Folgendes macht er jetzt. (Nicht daran stören lassen das er meckert,"failed to create symbolic link '/etc/rcS.d/S99eGTouch': File exists"

Haber es nur nochmals ausgeführt um den Verlauf hier posten zu können.

 

(*) Driver installer for touch controller

(*) Script Version = 1.04.5701

 

(I) Check user permission: root, you are the supervisor.

(I) Platform application binary interface = armv7l

 

Your machine is detected may be as an ARM hard floating platform

it is recommended to select [2] ARMhf to install

 

Which platform arch do you use?

[1] ARM  [2] ARMhf  [3] MIPS

2

(W) X server detected.

 

Declaration and Disclaimer

The programs, including but not limited to software and/or firmware (hereinafter referred to "Programs" or "PROGRAMS", are owned by eGalax_eMPIA Technology Inc. (hereinafter referred to EETI) and are compiled from EETI Source code. EETI hereby grants to licensee a personal, non-exclusive, non-transferable license to copy, use and create derivative works of Programs for the sole purpose in conjunction with an EETI Product, including but not limited to integrated circuit and/or controller. Any reproduction, copies, modification, translation, compilation, application, or representation of Programs except as specified above is prohibited without the express written permission by EETI.

 

Disclaimer: EETI MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO PROGRAMS, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. EETI reserves the right to make changes without further notice to the Programs described herein. Licensee agrees that EETI does not assume any liability, damages or costs, including but not limited to attorney fees, arising out from Programs themselves or those arising out from the application or combination Programs into other products or circuit. The use or the inclusion of EETI's Programs implies that the Licensee assumes all risk of such use and in doing so indemnifies EETI against all charges, including but not limited to any claims to infringement of any third party's intellectual property right.

 

Do you agree with above patent declaration?

[Y] Yes, I agree.  [N] No, I don't agree.

y

 

(Q) Which interface controller do you use?

(I) [1] RS232 [2] USB [3] PS2 : 2

(I) Please confirm the touch controller is linked with your device. Press [Enter] key to continue..........

 

(I) /etc/rcS.d path found.

ln: failed to create symbolic link '/etc/rcS.d/S99eGTouch': File exists

(I) Found a HID compliant touch controller.

(I) X.Org X server 1.19.2

(I) X version is 1.7.6 upwards

(I) Found uinput at path /dev/uinput

(I) Place eGTouch driver archive to /usr/local/eGTouchARMhfwithX.

(I) Create eGTouch daemon shortcut in /usr/bin.

(I) Create eCalib tool shortcut in /usr/bin.

 

(Q) How many controllers do you want to plug-in to system? [1-10]

(I) Default [1]:

 

(I) Device Nums is set to 1

(W) Found udev rule: 52-egalax-virtual.conf.

 

(I) Driver installation completed. Setup version 1.04.5701.

(I) Please reboot the system.

 

Der Dienst läuft nicht. Hab es getestet mit

systemctl status eGTouchD

Unit eGTouchD.service could not be found.

 

Was mache ich noch falsch? :o

Geschrieben

Woher weist du, dass der Dienst nicht läuft? Nur weil systemctl ihn nicht kennt?

 

Die Dienstdatei heißt /etc/rcS.d/S99eGTouch, daher heißt der Service in systemd eGTouch und nicht eGTouchD.

 

Teste also bitte mal:

 

systemctl status eGTouch

Geschrieben

Es kommen folgende Fehlermeldungen

 

tf@red-brick:~$ systemctl status eGTouch.service
â— eGTouch.service
   Loaded: loaded (/etc/init.d/eGTouch.sh; generated; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2017-12-18 22:37:21 CET; 1min 15
     Docs: man:systemd-sysv-generator(
  Process: 1303 ExecStart=/etc/init.d/eGTouch.sh start (code=exited, status=203/

Dec 18 22:37:21 red-brick systemd[1]: Starting eGTouch.service...
Dec 18 22:37:21 red-brick systemd[1303]: eGTouch.service: Failed at step EXEC sp
Dec 18 22:37:21 red-brick systemd[1]: eGTouch.service: Control process exited, c
Dec 18 22:37:21 red-brick systemd[1]: Failed to start eGTouch.service.
Dec 18 22:37:21 red-brick systemd[1]: eGTouch.service: Unit entered failed state
Dec 18 22:37:21 red-brick systemd[1]: eGTouch.service: Failed with result 'exit-

 

tf@red-brick:~$ journalctl -xe
--
-- The error number returned by this process is 2.
Dec 18 22:40:21 red-brick systemd[1]: Starting eGTouch.service...
-- Subject: Unit eGTouch.service has begun start-up
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit eGTouch.service has begun starting up.
Dec 18 22:40:21 red-brick systemd[1]: eGTouch.service: Control process exited, c
Dec 18 22:40:21 red-brick systemd[1]: Failed to start eGTouch.service.
-- Subject: Unit eGTouch.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit eGTouch.service has failed.
--
-- The result is failed.
Dec 18 22:40:21 red-brick systemd[1]: eGTouch.service: Unit entered failed state
Dec 18 22:40:21 red-brick systemd[1]: eGTouch.service: Failed with result 'exit-
Dec 18 22:40:21 red-brick polkitd(authority=local)[308]: Unregistered Authentica
Dec 18 22:41:01 red-brick CRON[1662]: pam_unix(cron:session): session opened for
Dec 18 22:41:01 red-brick CRON[1666]: (root) CMD (/sbin/fake-hwclock save)
Dec 18 22:41:01 red-brick CRON[1662]: pam_unix(cron:session): session closed for

Geschrieben

So. Wie gewünscht. :)

 

tf@red-brick:~$ systemctl status -l eGTouch

â— eGTouch.service

  Loaded: loaded (/etc/init.d/eGTouch.sh; generated; vendor preset: enabled)

  Active: failed (Result: exit-code) since Tue 2017-12-19 00:03:58 CET; 3s ago

    Docs: man:systemd-sysv-generator(8)

  Process: 1219 ExecStart=/etc/init.d/eGTouch.sh start (code=exited, status=203/

 

Dec 19 00:03:58 red-brick systemd[1]: Starting eGTouch.service...

Dec 19 00:03:58 red-brick systemd[1219]: eGTouch.service: Failed at step EXEC sp

Dec 19 00:03:58 red-brick systemd[1]: eGTouch.service: Control process exited, c

Dec 19 00:03:58 red-brick systemd[1]: Failed to start eGTouch.service.

Dec 19 00:03:58 red-brick systemd[1]: eGTouch.service: Unit entered failed state

Dec 19 00:03:58 red-brick systemd[1]: eGTouch.service: Failed with result 'exit-

 

tf@red-brick:~$ journalctl -l -u eGTouch

-- Logs begin at Thu 2016-11-03 18:16:44 CET, end at Tue 2017-12-19 00:04:01 CET

Dec 19 00:03:58 red-brick systemd[1]: Starting eGTouch.service...

Dec 19 00:03:58 red-brick systemd[1219]: eGTouch.service: Failed at step EXEC sp

Dec 19 00:03:58 red-brick systemd[1]: eGTouch.service: Control process exited, c

Dec 19 00:03:58 red-brick systemd[1]: Failed to start eGTouch.service.

Dec 19 00:03:58 red-brick systemd[1]: eGTouch.service: Unit entered failed state

Dec 19 00:03:58 red-brick systemd[1]: eGTouch.service: Failed with result 'exit-

lines 1-7/7 (END)

tf@red-brick:~$

Geschrieben

Die Zeilen sind immer noch abgeschnitten. Wie bekommst du die Ausgabe vom RED Brick? Über den Console Tab im Brick Viewer?

 

Kannst du die Ausgabe in eine Datei umleiten, um so an die volle Ausgabe zu kommen?

 

Die interessante Zeile ist:

 

Dec 19 00:03:58 red-brick systemd[1219]: eGTouch.service: Failed at step EXEC sp

 

Da sollte vollständig stehen:

 

Failed at step EXEC spawning script: <error-message>

 

Aus der <error-message> kann man dann ableiten was das Problem ist.

 

Alternativ kannst du mal händisch

 

sudo /etc/init.d/eGTouch.sh start

 

aufrufen und sehen welcher Fehler da bei rum kommt.

Geschrieben

Aber bitte schön. ;D

 

systemctl status -l eGTouch

â— eGTouch.service
   Loaded: loaded (/etc/init.d/eGTouch.sh; generated; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2017-12-19 06:50:44 CET; 1h 10m$
     Docs: man:systemd-sysv-generator(
  Process: 1130 ExecStart=/etc/init.d/eGTouch.sh start (code=exited, status=203$

Dec 19 06:50:44 red-brick systemd[1]: Starting eGTouch.service...
Dec 19 06:50:44 red-brick systemd[1]: eGTouch.service: Control process exited, $
Dec 19 06:50:44 red-brick systemd[1]: Failed to start eGTouch.service.
Dec 19 06:50:44 red-brick systemd[1]: eGTouch.service: Unit entered failed stat$
Dec 19 06:50:44 red-brick systemd[1]: eGTouch.service: Failed with result 'exit$

 

journalctl -l -u eGTouch

-- Logs begin at Thu 2016-11-03 18:16:44 CET, end at Tue 2017-12-19 08:03:01 CE$
Dec 19 06:50:44 red-brick systemd[1]: Starting eGTouch.service...
Dec 19 06:50:44 red-brick systemd[1]: eGTouch.service: Control process exited, $
Dec 19 06:50:44 red-brick systemd[1]: Failed to start eGTouch.service.
Dec 19 06:50:44 red-brick systemd[1]: eGTouch.service: Unit entered failed stat$
Dec 19 06:50:44 red-brick systemd[1]: eGTouch.service: Failed with result 'exit$

Geschrieben

So. Heute  ähm Gestern ;D mal Zeit gehabt.

 

tf@red-brick:/etc/init.d$ sudo eGTouch.sh start
[sudo] password for tf:
sudo: eGTouch.sh: command not found

 

Hab mir dann mal die eGTouch.sh mit nano angeschaut.

Folgendes steht drin.

#!/bin/sh

export DISPLAY=:0

if [ -e /var/lib/lightdm/.Xauthority ]; then # ubuntu 15.04
        export XAUTHORITY=/var/lib/lightdm/.Xauthority
elif [ -e /root/.xauth* ]; then # RHEL 6.7
        export XAUTHORITY=`ls /root/.xauth*`
elif [ -e /var/run/gdm ]; then # ubuntu 10.04
        export XAUTHORITY=`ls /var/run/gdm/*/database`
else
        export XAUTHORITY=`ls /home/*/.Xauthority`
fi

/usr/bin/eGTouchD

exit 0

  • 2 weeks later...
  • 2 weeks later...
Geschrieben

"sudo eGTouch.sh start" != "sudo /etc/init.d/eGTouch.sh start"

 

Führ bitte mal "sudo /etc/init.d/eGTouch.sh start" aus, ohne in das Verzeichnis zu wechseln. Alternativ, muss es "sudo ./eGTouch.sh start" lauten, wenn du es im /etc/init.d/ Verzeichnis ausführen willst.

Geschrieben

Der Fehler

 

sudo: unable to execute /etc/init.d/eGTouch.sh: No such file or directory

 

ist komisch. Ich hätte

 

sudo: /etc/init.d/eGTouch.sh: command not found

 

erwartet.

 

Ich habe den Treiber jetzt hier mal installiert und das Problem scheint zu sein, dass die /etc/init.d/eGTouch.sh Datei Windows Zeilenenden (\r\n) hat. Wenn ich das zu Linux Zeilenenden (\n) ändere dann kann ich das Script starten und der eGTouchD Daemon läuft.

 

Das Problem scheint in der Shebang Zeile zu sein. Wegen den Windows Zeilenenden steht da für den Kernel #!/bin/sh\r statt #!/bin/sh wodurch der Kernel fälschlicherweise nach /bin/sh\r statt /bin/sh als Interpreter der Datei sucht.

 

Folgender Befehl entfernt das \r vor dem \n in jeder Zeile der /etc/init.d/eGTouch.sh Datei.

 

sudo sed -i 's/\x0D$//' /etc/init.d/eGTouch.sh

 

Danach den Service neustarten

 

sudo systemctl restart eGTouch

 

Dann sollte es funktionieren.

Geschrieben

Nun muß das nur noch mit Systemstart starten. Muss ich mal schauen.

 

Also bei mir startet der eGTouch Service automatisch, ohne das ich dafür was tun musste. "sudo systemctl status eGTouch" zeigt den Service als running an.

 

Ist das bei dir nicht der Fall?

Geschrieben

Ein Problem mag hier sein, dass das /etc/init.d/eGTouch.sh Script nicht nach den LSB Regeln für init Scripte aufgebaut ist.

 

Teste mal folgendes:

 

/etc/init.d/eGTouch.sh löschen und systemd die Config neuladen lassen:

 

sudo systemctl daemon-reload

 

Dann einen ordentlichen systemd Service für eGTouchD anlegen:

 

Als root "/etc/systemd/system/eGTouch.service" mit diesem Inhalt anlegen und systemd die Config nochmal neuladen lassen:

 

[unit]
Description=eGalax touchscreen device driver

[service]
Environment=XAUTHORITY=/home/tf/.Xauthority
ExecStart=/usr/bin/eGTouchD
ExecStop=/usr/bin/eGTouchD -k
Type=forking

[install]
WantedBy=multi-user.target

 

Dann mit den neuen Service aktivieren

 

sudo systemctl enable eGTouch

 

und danach den RED Brick neustarten.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...