Jump to content

Brick Daemon für openwrt


Recommended Posts

Eines meiner Probleme hat sich bisher nicht verbessert, wenn der Stack einen Reset macht, muss der brickd gestoppt und neu gestartet werden um die Kommunikation wieder aufzubauen. (Muss ich wohl doch über ein hotplug2 Skript lösen)

 

Hotplug sollte brickd über libudev mitbekommen. Funktioniert udev möglicherweise auf dem OpenWrt nicht richtig? Du solltest in der brickd Logausgabe eigentlich Zeilen wie diese haben:

 

2012-12-04 13:47:07.439303 <D> <udev.c:74> Received udev event (action: remove, dev node: /dev/bus/usb/003/002, sys name: 3-2)

 

2012-12-04 13:47:10.455950 <D> <udev.c:74> Received udev event (action: add, dev node: /dev/bus/usb/001/016, sys name: 1-2)

 

Dafür belegt er aber nur noch 5% statt 50% des verfügbaren Speichers.

 

Da merkt man, dass es kein Python, sondern C ist :)

Link to comment
Share on other sites

Ne udev messages kann ich nicht finden.

Ich schau mal im openwrt Forum nach, ob ich da noch etwas starten muss.

Zumindest die libudev ist da und auch verlinkt:

root@OpenWrt:/home/tfc# ldd ./brickd
libusb-1.0.so.0 => /usr/lib/libusb-1.0.so.0 (0x77526000)
libudev.so.0 => /lib/libudev.so.0 (0x77509000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x774e6000)
libpthread.so.0 => /lib/libpthread.so.0 (0x774c0000)
libc.so.0 => /lib/libc.so.0 (0x77454000)
librt.so.0 => /lib/librt.so.0 (0x77440000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x77542000)
libdl.so.0 => /lib/libdl.so.0 (0x7742c000)

Allerdings habe ich auch festgestellt, das die Bindings noch etwas auf Vervollständigung warten. Zumindest sind Definition und Deklaration von ipcon_enumerate schon unterschiedlich. Da warte ich doch mal die nächste Release ab.

Link to comment
Share on other sites

Allerdings habe ich auch festgestellt, das die Bindings noch etwas auf Vervollständigung warten. Zumindest sind Definition und Deklaration von ipcon_enumerate schon unterschiedlich. Da warte ich doch mal die nächste Release ab.

 

Die C Bindings habe ich gerade in Arbeit. Sollten heute soweit fertig werden, dass man sie verwenden kann.

Link to comment
Share on other sites

  • 3 years later...

Jo, konnte ich prima ins /tmp kopieren :) anschließend

chmod 777 ./brickd

ldd gibt mir

root@OpenWrt:/tmp# ldd ./brickd
        libusb-1.0.so.0 => /usr/lib/libusb-1.0.so.0 (0x7728d000)
        libudev.so.0 => not found
        libdl.so.0 => /lib/libdl.so.0 (0x77279000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x77256000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x77230000)
        libc.so.0 => /lib/libc.so.0 (0x771c4000)
        librt.so.0 => /lib/librt.so.0 (0x771b0000)
        ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x772aa000)

 

D.h. libudev fehlt, ich kann brickd nicht starten.

root@OpenWrt:/tmp# ./brickd
./brickd: can't load library 'libudev.so.0'

Kann nur offline das Package (udev_173-1_ar71xx.ipk) via SCP ins /tmp hochladen und renamed in "udev.ipk":

root@OpenWrt:/tmp# opkg install udev.ipk
Installing udev (173-1) to root...
Collected errors:
* verify_pkg_installable: Only have 96kb available on filesystem /overlay, pkg udev needs 210
* opkg_install_cmd: Cannot install package udev.

Gibts da noch einen Trick17?

Link to comment
Share on other sites

Hm ist schon was her und war ein ziemliches Drama.

Versuche es einfach mal auf die 'schmutzige Tour':

Ich lege die udev lib hier auch mal ab,

damit können die Abhängigkeiten hoffentlich aufgelöst werden -

falls die Library nicht irgendwelche neuen aufreißt, die im Attitude Adjustment noch nicht abgedeckt sind.

Da hilft nur ausprobieren.

(das tar unter /lib entpacken ...)

Ich würde aber nicht versuchen den udev-Mechanismus zu nutzen sondern den brickd über das init-system (bzw. erst mal manuell) zu starten.

udevmips.tar

Link to comment
Share on other sites

Was meinst du mit: den Brickd mit Init-System starten? Manuell hatte ich mit ./brickd gestartet, dann kommt aber die Fehlermeldung.

Overlay? Keine Ahnung, das Image war so schon im Auslieferungszustand des Routers drauf.

Um den Speicher zuerweitern müsste ich usb-storage lib nachinstallieren oder?, es sind nur usb-core da, d.h. mangels Speicher keine Chance das nachzurüsten.

udev lib teste ich morgen, danke. Tippe hier nur auf einem Android  ::)

Link to comment
Share on other sites

Overlay? Keine Ahnung, das Image war so schon im Auslieferungszustand des Routers drauf.

Um den Speicher zuerweitern müsste ich usb-storage lib nachinstallieren oder?, es sind nur usb-core da, d.h. mangels Speicher keine Chance das nachzurüsten.

Ja usb-storage wäre nötig, bekommst Du aber in dem Rest nicht mehr unter.

Nachteil ist auch das Du dann einen USB-Hub benötigst, der auch manchmal etwas harkt.

Wenn es so passt und noch reicht wäre es optimal ...

 

Link to comment
Share on other sites

Die libudev schien erst nicht zu klappen, nach dem Uploaden und entpacken:

root@OpenWrt:/lib# chmod 777 libudev*

Und dann beim Starten des BrickD

root@OpenWrt:/lib# /tmp/brickd
/tmp/brickd: '/lib/libudev.so.0' is not an ELF file
/tmp/brickd: can't load library 'libudev.so.0'

 

Tar hatte nicht den Symlink angelegt, nach

root@OpenWrt:/tmp# ln -s libudev.so.0.12.0 libudev.so.0

 

Konnte ich den Brickd starten, allerdings ohne Hotplug, der Brick-Stack muss vor dem BrickD angeschlossen sein:

root@OpenWrt:/tmp# ./brickd
2011-09-08 18:48:49.241377 <I> <main_linux.c:272> Brick Daemon 2.2.2 started (pid: 7624, daemonized: 0)
2011-09-08 18:48:49.254906 <I> <usb.c:191> Added USB device (bus: 1, device: 2) at index 0: Master Brick [1234x]
2011-09-08 18:49:10.730024 <I> <network.c:373> Added new client (N: 192.168.xyz.xyz:52039, T: plain-socket, H: 16, A: disabled)
...
2011-09-08 18:51:09.096557 <I> <client.c:220> Client (N: 192.168.xyz.xyz:52039, T: plain-socket, H: 16, A: disabled) disconnected by peer

PS: Der Router hat kein RTC, die Uhrzeit ist natürlich falsch.

 

He skippi, coole Sache, ich bin begeistert, das klappt hervorragend  :D :D :D

 

Link to comment
Share on other sites

  • 8 months later...
  • 1 month later...

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...