Ankündigung

Einklappen
Keine Ankündigung bisher.

eibd auf alix3d2 über serielle Schnittstelle

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    eibd auf alix3d2 über serielle Schnittstelle

    Hallo zusammen

    ich bin an der Umstellung von einem alten Linux-PC auf ein alix3d2.

    Dabei verwende ich ein Debian lenny mit eibd 0.0.4 und bcu1driver-0.2.6.6

    Soweit so gut. Auch das Starten vom eibd funktioniert problemlos. Auch kann ich per groupswrite den eibd erreichen:
    Code:
    alix1:~# eibd -t1023 -D -T -S -u -i --pid-file=/var/run/eibd.pid bcu1:/dev/eib0
    Layer 1(080A66C0,386D566D) Open
    Layer 1(080A66C0,386D566D) Opened
    Layer 2(080A6668,386D566D) Open
    Layer 2(080A6668,386D566D) Opened
    Layer 3(080C6DF8,386D566D) Open
    Layer 2(080A6668,386D566D) OpenL2
    Layer 1(080A66C0,386D566D) Send(005): 46 01 00 60 12
    Layer 0(080A66C0,386D566D) Send(005): 46 01 00 60 12
    Layer 8(080D76F0,386D5670) OpenInetSocket 6720
    Layer 8(080D76F0,386D5670) InetSocket opened
    Layer 8(080E7A40,386D5670) OpenLocalSocket
    Layer 8(080E7A40,386D5670) LocalSocket opened
    Layer 8(080F7D90,386D5670) Open
    Layer 0(080F81F8,386D5670) Open
    Layer 0(080F81F8,386D5670) Openend
    Layer 3(080C6DF8,386D5670) registerBroadcast 080F7D90
    Layer 3(080C6DF8,386D5670) registerBroadcast 080F7D90 = 1
    Layer 3(080C6DF8,386D5670) registerGroup 080F7D90
    Layer 3(080C6DF8,386D5670) registerGroup 080F7D90 = 1
    Layer 3(080C6DF8,386D5670) registerIndividual 080F7D90 0
    Layer 3(080C6DF8,386D5670) registerIndividual 080F7D90 = 1
    Layer 8(080F7D90,386D5670) Opened
    Layer 4(081188D8,386D5670) GroupCacheInit
    Layer 8(080D76F0,386D5675) New Connection
    Layer 8(08119AE8,386D5675) ClientConnection Init
    Layer 8(08119AE8,386D5675) RecvMessage(005): 00 22 09 51 FF
    Layer 7(08129D08,386D5675) OpenGroup
    Layer 4(08129EB8,386D5675) OpenGroup 1/1/81 WO
    Layer 8(08119AE8,386D5675) SendMessage(002): 00 22
    Layer 8(08119AE8,386D5675) RecvMessage(004): 00 25 00 81
    Layer 7(08129D08,386D5675) Send(002): 00 81
    Layer 4(08129EB8,386D5675) Send Group T_DATA_XXX_REQ A_GroupValue_Write (small) 01
    Layer 3(080C6DF8,386D5675) Send L_Data low from 0.0.0 to 1/1/81 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
    Layer 2(080A6668,386D5675) Send L_Data low from 0.0.0 to 1/1/81 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
    Layer 1(080A66C0,386D5675) Send(009): 11 0C 00 00 09 51 F1 00 81
    Layer 0(080A66C0,386D5675) Send(009): 11 0C 00 00 09 51 F1 00 81
    Layer 7(08129D08,386D5675) CloseGroup
    Layer 2(080A6668,386D5675) Recv L_Data low from 0.0.0 to 1/1/81 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
    Layer 3(080C6DF8,386D5675) Recv L_Data low from 0.0.0 to 1/1/81 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
    Layer 4(08129EB8,386D5675) CloseGroup
    Layer 3(080C6DF8,386D5675) deregisterGroupCallBack 08129EB8 = 0
    Layer 8(08119AE8,386D5675) ClientConnection closed
    Layer 8(080D76F0,386D5678) New Connection
    Layer 8(0813A6F0,386D5678) ClientConnection Init
    Layer 8(0813A6F0,386D5678) RecvMessage(005): 00 22 09 51 FF
    Layer 7(08129C78,386D5678) OpenGroup
    Layer 4(0813A820,386D5678) OpenGroup 1/1/81 WO
    Layer 8(0813A6F0,386D5678) SendMessage(002): 00 22
    Layer 8(0813A6F0,386D5678) RecvMessage(004): 00 25 00 80
    Layer 7(08129C78,386D5678) Send(002): 00 80
    Layer 4(0813A820,386D5678) Send Group T_DATA_XXX_REQ A_GroupValue_Write (small) 00
    Layer 3(080C6DF8,386D5678) Send L_Data low from 0.0.0 to 1/1/81 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 00
    Layer 2(080A6668,386D5678) Send L_Data low from 0.0.0 to 1/1/81 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 00
    Layer 1(080A66C0,386D5678) Send(009): 11 0C 00 00 09 51 F1 00 80
    Layer 2(080A6668,386D5678) Recv L_Data low from 0.0.0 to 1/1/81 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 00
    Layer 3(080C6DF8,386D5678) Recv L_Data low from 0.0.0 to 1/1/81 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 00
    Layer 7(08129C78,386D5678) CloseGroup
    Layer 4(0813A820,386D5678) CloseGroup
    Layer 3(080C6DF8,386D5678) deregisterGroupCallBack 0813A820 = 0
    Layer 8(0813A6F0,386D5678) ClientConnection closed
    Layer 0(080A66C0,386D5678) Send(009): 11 0C 00 00 09 51 F1 00 80
    Jedoch schalten meine Aktoren nicht!

    Was ich noch habe, sind die folgenden Einträge in dmesg:
    Code:
    [ 4796.063172] eib: do_reset: state=0, reason=10000000, initate_send=0, getCTS()=16, INITIATESEND at 890
    [ 4796.295143] eib: timeout initiate send
    [ 4796.295183] eib: do_reset: state=0, reason=10000000, initate_send=0, getCTS()=16, INITIATESEND at 890
    [ 4796.527155] eib: timeout initiate send
    [ 4796.527194] eib: do_reset: state=0, reason=10000000, initate_send=0, getCTS()=16, INITIATESEND at 890
    [ 4796.759165] eib: timeout initiate send
    [ 4796.759205] eib: do_reset: state=0, reason=10000000, initate_send=0, getCTS()=16, INITIATESEND at 890
    [ 4796.891171] eib: discard packet
    Wenn ich das serielle Kabel an meinen alten PC anschliesse, funktioniert die ganze Einrichtung. Somit ist das Kabel wie auch der Siemens 5WG1 148-1AB02 von mir aus i.O.

    Ich habe auch bereits versucht, zuerst mit setserial /dev/ttyS0 uart none, dann das laden der 3 eib-Module (-common, -8250, -pei16) eine mögliches Problem beim Reboot mit der Reihenfolge auszuschliessen.

    Hat jemand mit einen Tip, wie ich eine Fehleranalyse weitermachen kann?

    Gruss
    Thomas

    #2
    Es gibt dazu eine technisch qualifiziertere Antwort, die "harte" Kurzform :

    Wenn Du Dir kurzfristig nen echten gefallen mit wenig Ärger tun willst:
    Die BCU1 einfach in die Ersatzteilkiste packen, was ordentliches beschaffen (meine Empfehlung ist TP-UART, FT1.2 oder USB geht auch) und all diese Sorgen&Probleme sind plötzlich weg.. Auf dem Alix geb ich Dir das sogar schriftlich.. Hundertfach..

    Alternativ kann man natürlich versuchen das halbkaputte, 20J alte BCU1-Dingens manchmal ein bisschen zum funktionieren zu bewegen Vollgasfest wird sie nie, zielführend finde ich das auch nicht.
    Das liegt primär übrigens IMHO nicht an dem BCU1-Treiber, sondern daran das die BCU1 einfach ziemlich gülle und nicht für sowas geeignet ist..

    Makki
    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
    -> Bitte KEINE PNs!

    Kommentar


      #3
      Zitat von makki Beitrag anzeigen
      Das liegt primär übrigens IMHO nicht an dem BCU1-Treiber, sondern daran das die BCU1 einfach ziemlich gülle und nicht für sowas geeignet ist..
      Meiner Ansicht nach liegt das Problem hauptsächlich beim Treiber, der trotz aller Rahmenbedingungen ein striktes Timming schaffen muss. Die Kernel-Config ist nicht immer auf so ewtas optimiert.

      SourceForge.net: BCU SDK with eibd: bcusdk-list

      Ich weiss die Kernel-Version von Lenny nicht auswendig, aber für sie dürften die hrtimer noch nicht verwendet werden, wenn ich mich nicht irre [Der aktuelle Treiber verwendet sie ab 2.6.27 - aufgrund des > wird auch 2.6.26 abgefragt]. Du kannst es mit deiner Kernel-Version - 1 versuchen.

      Wenn das nicht genug bringt (eventuell, weil das Mainboard keine genaueren Timer hat): Erhöhe CONFIG_HZ in der Kernel-Config auf das Maximum.

      Kommentar

      Lädt...
      X