LPD Geschrieben January 21, 2024 at 20:03 Geschrieben January 21, 2024 at 20:03 Hallo, ich habe vergeblich versucht, Tinkerforge auf meinem neuen Raspberry Pi 5 zum laufen zu bringen: der Brick Viewer hat zwar Sensoren auf meinen anderen Systemen angezeigt, die "eigenen" (Localhost) aber nicht. Ich habe mich an Eure Installationsanleitung gehalten und den aktuellsten Brickd sowie Brickv auf meinem Raspi installiert. Auf der "Himbeere" läuft Debian GNU/Linux 12 (bookworm), Kernel: Linux 6.1.0-rpi7-rpi-2712. Das im System inkludierte Python hat die Version 3.11.2 Ein Aufruf von 'systemctl status brickd.service' bringt folgendes: * brickd.service - Brick Daemon Loaded: loaded (/lib/systemd/system/brickd.service; enabled; preset: enabled) Active: failed (Result: exit-code) since Sun 2024-01-21 20:27:35 CET; 1min 34s ago Process: 5543 ExecStart=/usr/bin/brickd --daemon (code=exited, status=127) CPU: 1ms Jan 21 20:27:35 Baba25 systemd[1]: Starting brickd.service - Brick Daemon... Jan 21 20:27:35 Baba25 brickd[5543]: /usr/bin/brickd: error while loading shared libraries: librt.so.1: ELF load command address/offset not page-aligned Jan 21 20:27:35 Baba25 systemd[1]: brickd.service: Control process exited, code=exited, status=127/n/a Jan 21 20:27:35 Baba25 systemd[1]: brickd.service: Failed with result 'exit-code'. Jan 21 20:27:35 Baba25 systemd[1]: Failed to start brickd.service - Brick Daemon. So, leider endet mein spärliches Wissen hier ... und ich brauche Hilfe von Euch Experten... Habe ich etwas übersehen / übersprungen oder vergessen? Was kann ich tun? Vielen Dank schon einmal im Voraus, VG, Manuel Zitieren
rtrbt Geschrieben January 22, 2024 at 09:22 Geschrieben January 22, 2024 at 09:22 Das ist sehr interessant. Anscheinend benutzt Raspberry Pi OS/Debian seit kurzen 16K Pages auf dem Raspberry Pi 5 und damit kann diverse Software nicht umgehen: https://github.com/raspberrypi/bookworm-feedback/issues/107 Mir ist spontan nicht klar, warum bei meinen Tests mit dem Pi 5 alles geklappt hatte und du da jetzt reinläufst, da müssen wir nochmal draufschauen. Ein paar Fragen dazu: Hast du Raspberry Pi OS oder ein "echtes" Debian von hier: https://raspi.debian.net/ installiert? Hast du das Betriebssystem frisch für den Pi 5 installiert oder eine ältere Installation für den Pi 5 weiter verwendet? Als einfachen Fix für dich: Laut https://github.com/raspberrypi/bookworm-feedback/issues/107#issuecomment-1773810662 kannst du auf einen Kernel, der 4K Pages verwendet, wechseln, indem du in /boot/config.txt folgendes einträgst: kernel=kernel8.img Damit sollten die Probleme weg sein. Zitieren
LPD Geschrieben January 22, 2024 at 10:00 Autor Geschrieben January 22, 2024 at 10:00 (bearbeitet) Hi rtrbt , Danke für Deine fixe Antwort. Zu Deinen Fragen: Ja, genutzt wurde ein ganz "frisch" aufgesetzes Raspberry Pi OS, da ich ein Pineberry-Board mit einer SSD verbaut habe. Ich habe Dein Fix gleich ausprobiert und der Daemon läuft ersteinmal. Vielen Dank ! bearbeitet January 22, 2024 at 10:03 von LPD Zitieren
LPD Geschrieben January 22, 2024 at 10:22 Autor Geschrieben January 22, 2024 at 10:22 Oupps, leider zu früh gefreut .... Der Daemon wurde zwar geladen, der Viewer aber, kann aber weiterhin keine lokalen Sensoren anzeigen.... Ein Aufruf von brickd im Terminal bringt folgende Ausgabe: brickd 2024-01-22 11:14:31.394767 <I> <main_linux.c:369> Brick Daemon 2.4.5 started (pid: 2142, daemonized: 0) 2024-01-22 11:14:31.394786 <I> <main_linux.c:375> Running on Linux system (sysname: Linux, release: 6.1.0-rpi7-rpi-v8, version: #1 SMP PREEMPT Debian 1:6.1.63-1+rpt1 (2023-11-24), machine: aarch64) libusb: warning [libusb_init] installing new context as implicit default 2024-01-22 11:14:31.411173 <E> <socket.c:244> Could not bind IPv4 server socket to '0.0.0.0' resolved from '0.0.0.0' on port 4223: EADDRINUSE (98) 2024-01-22 11:14:31.411222 <E> <network.c:242> Could not open any socket to listen to 2024-01-22 11:14:31.411375 <I> <main_linux.c:563> Brick Daemon 2.4.5 stopped Klappt also noch nicht ganz ... sorry Zitieren
rtrbt Geschrieben January 22, 2024 at 13:08 Geschrieben January 22, 2024 at 13:08 On 1/22/2024 at 11:22 AM, LPD said: 2024-01-22 11:14:31.411173 <E> <socket.c:244> Could not bind IPv4 server socket to '0.0.0.0' resolved from '0.0.0.0' on port 4223: EADDRINUSE (98) Da läuft vermutlich noch eine brickd-Instanz (eventuell als service). Du kannst dir die Logs aber auch in /var/log/brickd.log ansehen 1 Zitieren
LPD Geschrieben January 22, 2024 at 13:38 Autor Geschrieben January 22, 2024 at 13:38 Danke für den Tip - es läuft jetzt alles ... finally! LG, Manuel Zitieren
LPD Geschrieben January 22, 2024 at 16:53 Autor Geschrieben January 22, 2024 at 16:53 (bearbeitet) Ach menno .... (verzweifel) Jetzt funktioniert zwar die Anzeige der Sensordaten, aber meine Python Skripte und die Programmbeispiele (Shell / a.d. Konsole) laufen nicht. Als Beispiel das Shell-Programm "example-stack-status.sh" für den Master-Brick ... Nach dem Eintragen der UID und dem Ausführen passiert erstmal nichts, und dann gibt es Fehlermeldungen anstatt der Werte: tinkerforge call master-brick <uid> get-stack-voltage: error: Did not receive response for function 255 in time tinkerforge call master-brick <uid> get-stack-current: error: Did not receive response for function 255 in time ... oder das Python-Script "example_hello_world.py" für das LCD_20x4 Bricklet (mit eingetragener ID): python example_hello_world.py Traceback (most recent call last): File "/usr/local/bin/examples/bricklet/lcd_20x4/example_hello_world.py", line 19, in <module> lcd.backlight_on() File "/home/mg/.local/lib/python3.11/site-packages/tinkerforge/bricklet_lcd_20x4.py", line 116, in backlight_on self.check_validity() File "/home/mg/.local/lib/python3.11/site-packages/tinkerforge/ip_connection.py", line 506, in check_validity device_identifier = self.ipcon.send_request(self, 255, (), '', 33, '8s 8s c 3B 3B H')[5] # <device>.get_identity ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/mg/.local/lib/python3.11/site-packages/tinkerforge/ip_connection.py", line 1314, in send_request raise Error(Error.TIMEOUT, msg, suppress_context=True) tinkerforge.ip_connection.Error: Did not receive response for function 255 in time (-1) bearbeitet January 22, 2024 at 17:27 von LPD Zitieren
photron Geschrieben January 29, 2024 at 10:30 Geschrieben January 29, 2024 at 10:30 Sorry für die späte Antwort. Tauchen die Bricks und Bricklets jetzt in Brick Viewer auf? Wenn ja, dann ist die einfachste Erklärung für den Timeout-Fehler, dass du dich bei der UID vertippt hast. Groß- und Kleinschreibung ist da wichtig. Kontrolliere bitte nochmal, dass die UID in deinem Python-Skript und Brick Viewer exakt übereinstimmen. Zitieren
LPD Geschrieben February 12, 2024 at 01:18 Autor Geschrieben February 12, 2024 at 01:18 Vielen Dank für Deine Hilfe, photon! Leider scheint es auch nicht am Passwort zu liegen (oder der Fehler liegt zwischen meinen Kopfhörern). Ich habe folgendes Programm geschrieben: #!/bin/sh uid=xYz # UID of my LCD 20x4 Bricklet # Trigger enumerate with authentication / geheim is NOT my real password ;-) tinkerforge --secret "geheim" enumerate & # Turn backlight on tinkerforge call lcd-20x4-bricklet $uid backlight-on # Write Text tinkerforge call lcd-20x4-bricklet $uid write-line 0 0 "Hello Manuel !" ___________________________________________________________________________ .... und erhalte nach dem Start folgende Ausgabe: uid=123ABC connected-uid=0 position=0 hardware-version=2,0,0 firmware-version=2,4,10 device-identifier=master-brick enumeration-type=available [ .... weitere Bricklets ... ] uid=xYz connected-uid=123ABC position=d hardware-version=1,2,0 firmware-version=2,0,6 device-identifier=lcd-20x4-bricklet enumeration-type=available tinkerforge call lcd-20x4-bricklet <uid> backlight-on: error: Did not receive response for function 255 in time tinkerforge call lcd-20x4-bricklet <uid> write-line: error: Did not receive response for function 255 in time __________________________________________________________________________________________________ Hinweis hierzu: Im Brick-Viewer funktioniert alles (anzeigen, schreiben, löschen, etc. ...). Das Kennwort ist 1:1 identisch mit dem aus dem Brickv (hat also die exakt gleiche Syntax)... Zitieren
rtrbt Geschrieben February 12, 2024 at 08:54 Geschrieben February 12, 2024 at 08:54 Nur um das auszuschließen: Hast du Sonderzeichen im Kennwort, die in der Shell escapt werden müssen? Du kannst es testweise mal auf "password" o.Ä. ändern. Zitieren
LPD Geschrieben February 12, 2024 at 13:19 Autor Geschrieben February 12, 2024 at 13:19 (bearbeitet) Danke für den Tipp, rtrbt .... aber Sorry, gleiches Ergebnis! (Authentifizierung hatte ja auch schon vor der Passwortänderung geklappt (vergleiche Rückgabewerte oben)- probiert habe ich es trotzdem, sogar mit einem falschen Kennwort um zu sehen , was passiert: "....authentification failed!" ) Schade , aber Danke für die Hilfe! Da es relativ lange dauert, bis die Meldung erscheinen ... könntes es sein, daß die bindings erst gar nicht gefunden werden? (also nicht im richtigen Verzeichnis liegen, oder rechtetechnisch nicht ausfürbar sind, o.ä. ? ) Ich bin (leider) kein Linux-Guru .... Gruß, Manuel bearbeitet February 12, 2024 at 13:27 von LPD Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.