Jump to content

Raspberry Pi und brickd + brickv


AxelF

Recommended Posts

Hallo,

ich hab auf meinem Raspberry Pi sowohl den Brick-Daemon als auch den Brickviewer erfolgreich installiert. Allerdings bekommt der Viewer keine Verbindung zum Daemon hergestellt.

Was muss genau in der brickd.config unter listen.address stehen, wenn Beides auf einem Gerät läuft.

Habe schon alle möglichen Kombinationen ausprobiert, komme aber nicht weiter.

Link zu diesem Kommentar
Share on other sites

ich hab's jetzt nochmal getestet, leider negativ.

Hier die Daten:

pi@raspberrypi ~/.brickd $ sudo brickd --check-config

No warnings or errors in config file '/etc/brickd.conf'

 

Using the following config values:

  listen.address        = 0.0.0.0

  listen.plain_port    = 4223

  listen.websocket_port = 0

  listen.dual_stack    = off

  authentication.secret =

  log_level.event      = debug

  log_level.usb        = info

  log_level.network    = debug

  log_level.hotplug    = info

  log_level.hardware    = info

  log_level.websocket  = info

  log_level.other      = debug

 

Der Daemon startet sauber:

2014-06-10 20:49:29.011056 <D> <network|network.c:244> Initializing network subsystem

2014-06-10 20:49:29.011163 <D> <network|network.c:131> Opening server socket on port 4223

2014-06-10 20:49:29.011979 <D> <network|network.c:207> Started listening to '0.0.0.0' (IPv4) on port 4223

2014-06-10 20:49:29.012288 <D> <event|event.c:140> Added generic event source (handle: 15, events: 1) at index 7

2014-06-10 20:49:29.012431 <D> <event|event.c:216> Starting the event loop

2014-06-10 20:49:29.012533 <D> <event|event_posix.c:214> Starting to poll on 8 event source(s)

 

Ich starte dann den Vieler mit localhost und Port 4223, es kommt aber keine Verbindung zustande, Timeout...

 

 

Link zu diesem Kommentar
Share on other sites

Das sieht alles soweit gut aus. Ich nehme an du meinst, dass sich brickv mit einer Fehlermeldung beschwert, wenn du den Connect Knopf klickst? Die Fehlermeldung hat diesen Text:

 

Could not connect. Please check host, check port and ensure that Brick Daemon is running.

 

Dann jetzt ein einfacher Test. Kopiere diese vier Zeile Python Code in eine Datei namens test.py:

 

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('localhost', 4223))
print('done')

 

und start sie mittels:

 

python test.py

 

Wenn "done" ausgegeben wird hat die Verbindung zu brickd funktioniert. Wenn nicht, dann wird ein Traceback ausgegeben, den dann bitte hier posten.

Link zu diesem Kommentar
Share on other sites

genau das ist der Effekt. Timeout und dann die Meldung "Could not connect. Please check host, check port and ensure that Brick Daemon is running."

 

Hab dein Testskript laufen lassen, auch kein Erfolg:

Traceback (most recent call last):

  File "test.py", line 3, in <module>

    s.connect(('localhost', 4223))

  File "/usr/lib/python2.7/socket.py", line 224, in meth

    return getattr(self._sock,name)(*args)

socket.error: [Errno 110] Connection timed out

 

Ich versteh's auch nicht so ganz.

brickd läuft:

pi@raspberrypi ~ $ ps -eaf | grep brick

root      3365    1  0 20:37 ?        00:00:00 /usr/bin/brickd --daemon

 

hosts-Datei passt eigentlich auch:

pi@raspberrypi /etc $ more hosts

127.0.0.1 localhost

 

Link zu diesem Kommentar
Share on other sites

Das ist komisch. Teste mal ob auch wirklich jemand auf Port 4223 lauscht:

 

netstat -l | grep 4223

 

Das sollte folgendes ausgeben:

 

tcp        0      0 *:4223                  *:*                     LISTEN

 

Ansonsten kannst du mal versuchen die listen.address Option in /etc/brickd.conf auf 127.0.0.1 zu setzen. Dann werden nur noch lokale Verbindungen angenommen. 0.0.0.0 bedeutet Verbindungen werden von überall her angenommen.

 

Hast vielleicht irgendwelche Firewall Dinge auf dem Raspberry Pi aktiviert, die die lokale Verbindung verhindern?

Link zu diesem Kommentar
Share on other sites

er lauscht  ;)

 

pi@raspberrypi ~ $ netstat -l | grep 4223

tcp        0      0 *:4223                  *:*                    LISTEN

 

Jetzt wird's aber interessant. Ich hab in der brickd.conf mal die IP von 0.0.0.0 auf 127.0.0.1 geändert.

Dann lässt sich der brickd nicht mehr starten.

 

2014-06-12 20:30:45.901228 <D> <event|event.c:140> Added generic event source (handle: 14, events: 1) at index 6

2014-06-12 20:30:45.901419 <D> <network|network.c:244> Initializing network subsystem

2014-06-12 20:30:45.901519 <D> <network|network.c:131> Opening server socket on port 4223

2014-06-12 20:30:45.902323 <E> <network|network.c:191> Could not bind IPv4 server socket to '127.0.0.1' on port 4223: EADDRNOTAVAIL (99)

2014-06-12 20:30:45.902795 <E> <network|network.c:277> Could not open any socket to listen to

2014-06-12 20:30:45.902927 <D> <event|event.c:168> Marked generic event source (handle: 14, events: 1) as removed at index 6

.

.

.

2014-06-12 20:30:45.911819 <I> <other|main_linux.c:461> Brick Daemon 2.1.0 stopped

 

Der Dämon lässt sich nicht mit dieser Ip starten.

Link zu diesem Kommentar
Share on other sites

Ich hab das Problem gestern abend selbst lösen können.

In den Konfigurationen von brickd und brickv ist alles korrekt.

Das Problem lag an einer anderen Stelle.

 

Der Loopback für den localhost (127.0.0.1) war nicht mehr aktiv, das passiert normalerweise in der interfaces-Datei.

 

Dort ist der Eintrag aber irgendwie abhanden gekommen.

 

Ich hab dann

sudo ifconfig lo 127.0.0.1

ausgeführt und schon hat's funktioniert...  8)

 

Danke trotzdem nochmals für die Unterstützung.

Link zu diesem Kommentar
Share on other sites

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