Ankündigung

Einklappen
Keine Ankündigung bisher.

EIBD und USB

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

    EIBD und USB

    Hallo,

    ich versuche gerade meine USB Schnittstelle mit dem EIBD zu verbinden,
    aber irgendwie schaffe ich es nicht das IF zu aktivieren.
    Jedenfalls findet findknxusb keine Schnittstelle.
    Als Einsteiger in Sachen Linux komme ich hier nicht so richtig weiter.
    Vielleicht kann mir jemand von Euch erklären, wie die Schnittstelle richtig eingebunden werden muss.

    Auszug aus dmesg:

    [ 454.577936] usbcore: registered new interface driver hiddev
    [ 454.585259] generic-usb 0003:0E77:0104.0001: hiddev96,hidraw0: USB HID v1.01 Device [Weinzierl Engineering GmbH KNX-USB ] on usb-0000:00:1d.3-2/input0
    [ 454.585302] usbcore: registered new interface driver usbhid
    [ 454.585309] usbhid: v2.6:USB HID core driver

    OS:
    Linux homeserver 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 05:23:09 UTC 2010 i686 GNU/Linux

    Danke und viele Grüße
    Jens

    #2
    Hallo Jens,

    verstehe ich das richtig dass Du möchtest dass der eibd per USB interface auf den bus geht ?

    Das dürfte dann das hier dein :

    usb:[bus[:device[:config[:interface]]]] connects over a KNX USB interface

    wenn ich das richtig sehe müsste das bei Dir dann irgendwie so aussehen :

    usb:sb-0000:00:1d.3-2/input0


    Da ich kein USB Interface nutze kann ich es leider nicht testen ...

    Prinzipiell erwarten die bcusdk Teilchen jedoch immer ein Ziel, bei mir z.B. ipt:<ip>

    also z.B.

    groupreadresponse usb:sb-0000:00:1d.3-2/input0 1/0/1


    Viele Grüße,

    Bernd

    Kommentar


      #3
      Ich glaube eher, dass sich der HID USB Treiber von Linux fälschlicherweise dein KNX USB Device krallt und daher der eibd es nicht findet.

      Vermutlich kann mkoegler mehr dazu sagen...

      Kommentar


        #4
        Helfen kann ich Dir auch nicht konkret aber mal hier schauen

        Grundsätzlich geht das natürlich und sieht dann in etwa so aus, nur damit keine Verwirrung entsteht:

        Code:
        [13141867.944983] usb 3-1: new full speed USB device using uhci_hcd and address 2
        [13141868.144473] usb 3-1: configuration #1 chosen from 1 choice
        [13141868.152333] usb 3-1: New USB device found, idVendor=135e, idProduct=0023
        [13141868.156485] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
        [13141868.165224] usb 3-1: Product: KNX-USB Data Interface
        [13141868.170047] usb 3-1: Manufacturer: ALBRECHT JUNG GMBH & CO. KG
        [13141868.848373] usbcore: registered new interface driver hiddev
        [13141868.871526] hiddev96hidraw0: USB HID v1.01 Device [ALBRECHT JUNG GMBH & CO. KG KNX-USB Data Interface] on usb-0000:00:10.1-1
        [13141868.886657] usbcore: registered new interface driver usbhid
        [13141868.894436] usbhid: v2.6:USB HID core driver
        
        host:~# findknxusb
        Possible addresses for KNX USB devices:
        device: 3:2:1:0:0 (ALBRECHT JUNG GMBH & CO. KG:KNX-USB Data Interface)
        -> eibd -S -D -i -T -d -c usb:3:2
        host:~# groupcacheread ip:localhost 1/6/201
        Write from 1.1.250: 01
        Makki
        EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
        -> Bitte KEINE PNs!

        Kommentar


          #5
          Zitat von jonofe Beitrag anzeigen
          Ich glaube eher, dass sich der HID USB Treiber von Linux fälschlicherweise dein KNX USB Device krallt und daher der eibd es nicht findet.
          Ja, das vermute ich auch...

          Hat jemand ein Idee, wie man das verhindern kann ?

          VG Jens

          Kommentar


            #6
            Was zeigt eigentlich "lsusb" ( falls installiert ) an ?

            Alternativ geht auch ein

            cat /proc/bus/usb/devices oder
            less /proc/bus/usb/devices

            allerdings ist das in /proc sehr kryptisch ...

            Taucht das Interface hier auf ? ( sollte eigentlich )

            Allgemein ist udev für das "plug & play" zuständig, wenn Du das Ding stoppst und dann das Interface einsteckst dürfte es theoretisch nicht mehr automatisch ins System eingebunden werden, eventuell noch eine Option um mit findknxusb nach dem Interface zu suchen.


            Viele Grüße,

            Bernd

            Kommentar


              #7
              Zitat von bss Beitrag anzeigen
              Was zeigt eigentlich "lsusb" ( falls installiert ) an ?
              cat /proc/bus/usb/devices oder
              less /proc/bus/usb/devices

              allerdings ist das in /proc sehr kryptisch ...

              root@homeserver:~# lsusb
              Bus 005 Device 002: ID 0e77:0104
              Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
              Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
              Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
              Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
              Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


              /proc/bus/usb/devices gibt es auf meinem Rechner nicht...

              root@homeserver:~# ls /proc/bus
              input pci

              Viele Grüße,

              Jens

              Kommentar


                #8
                Hallo Jens,

                soweit ich sehe wird das zumindest auf Hardware Ebene erkannt

                "Bus 005 Device 002: ID 0e77:0104" ist genau Dein Interface, es ist also dem System "bekannt".

                Auffällig finde ich die vielen 1.1 root hubs - interessanterweise sieht das auf meinem EpiaEN Board genau gleich aus und das kann definitiv USB2.0. Egal.

                Ich sehe in deinem ersten Posting noch ein "/input0" was eigentlich zeigt das das irgendwie als Inputdevice erkannt wird. Du kannst mit udevmonitor probieren das mal etwas zu debuggen

                udevmonitor --udev --kernel

                dann das Interface einstecken, es sollten einige Meldungen kommen die eventuell einen Hinweis liefen was da passiert. Ich weiss leider selbst nciht wirklich was udev alles macht und wie es genau funktioniert, ich kann Dich daher dann nur auf Writing udev rules verweisen.

                Sollte es wirklich so sein wie bereits im Forum vermutet dass da ein Fehlrouting passiert kann Dir nur ein vermurksen der udev rules weiter helfen.

                WARNUNG: Mit dem verändern der udev rules kann es schlimmstenfalls passieren dass Du keine Maus/Tastatur oder sonste nicht ganz unwichtige Dinge mehr hast ! udev sorgt dafür dass Du z.B. ein /dev/sda hast.

                Evnetuell gelingt es Dir ja das Event zu isolieren und dann eine Rule zu definieren damit es schlicht ignoriert wird :

                Another assignment which can prove useful is the OPTIONS list. A few options are available:
                all_partitions - create all possible partitions for a block device, rather than only those that were initially detected
                ignore_device - ignore the event completely
                last_rule - ensure that no later rules have any effect


                Viele Grüße,

                Bernd

                Kommentar


                  #9
                  Zitat von jonofe Beitrag anzeigen
                  Ich glaube eher, dass sich der HID USB Treiber von Linux fälschlicherweise dein KNX USB Device krallt und daher der eibd es nicht findet.
                  Das ist egal. EIBD sorgt automatisch dafür, das der HID Treiber bei Bedarf deaktiviert wird.

                  Kommentar


                    #10
                    Zitat von jroedel Beitrag anzeigen

                    /proc/bus/usb/devices gibt es auf meinem Rechner nicht...

                    root@homeserver:~# ls /proc/bus
                    input pci
                    EIBD 0.0.4 braucht usbfs unter /proc/bus/usb gemoutet.
                    EIBD aus den GIT (besser pu als master) braucht das nicht mehr.

                    Kommentar


                      #11
                      Zitat von mkoegler Beitrag anzeigen
                      EIBD 0.0.4 braucht usbfs unter /proc/bus/usb gemoutet.
                      EIBD aus den GIT (besser pu als master) braucht das nicht mehr.
                      Hallo an alle,

                      danke für die Info's.

                      Kann mir jemand sagen, wie ich usbfs auf meinem Rechner installiere ?
                      Sorry, aber ich habe mit linux noch recht wenig Erfahrung.
                      Ich habe kein Verz. /proc/bus/usb, welches ich mounten kann.

                      Viele Grüße
                      Jens

                      Kommentar


                        #12
                        Zitat von jroedel Beitrag anzeigen
                        Kann mir jemand sagen, wie ich usbfs auf meinem Rechner installiere ?
                        Sorry, aber ich habe mit linux noch recht wenig Erfahrung.
                        Ich habe kein Verz. /proc/bus/usb, welches ich mounten kann.
                        Hallo Jens,

                        im Zweifel musst Du einen neuen Kernel bauen ... Wenn Du allerdings mit Linux wenig Erfahrung hast könnte das eventuell eine unlösbare Hürde werden

                        Für den Fall das Du es dennoch wagen möchtest kann ich Dir das hier empfehlen : Building a Linux Kernel from source - Alien's Wiki

                        Im Kernel findest Du die Option unter "Device Drivers->USB support->USB File System".


                        Viele Grüße,

                        Bernd

                        Kommentar


                          #13
                          Wenn Du Dich ans Übersetzen geben willst würde ich mich an Deiner Stelle aber eher am EIBD aus dem GIT Repository.

                          Hier mal meine Notizen dazu, können aber unvollständig sein. Bei Problemen einfach noch mal melden:


                          1. Clonen des GIT Repositories

                          git clone git://bcusdk.git.sourceforge.net/gitroot/bcusdk/bcusdk


                          2. Pthsem installieren
                          git checkout -b pthsem origin/pthsem/master
                          autoreconf -i
                          configure
                          make
                          make test
                          make install


                          3. eibd installieren
                          git checkout -b pu origin/pu
                          aclocal -I m4
                          autoheader
                          automake -a --foreign
                          autoconf

                          export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib/"
                          ./configure --enable-onlyeibd --enable-usb --enable-eibnetipserver --enable-groupcache


                          5. Benutzerrechte:
                          Benutzer eibd, gruppe eib
                          Udev-Regel:
                          SYSFS{idVendor}=="145c", SYSFS{idProduct}=="1330", MODE="664", GROUP="eib"



                          Die Benutzerrechte sind von mir freihändig vergeben, kannst Du anders machen. Bei der ./configure Zeile hängen die Parameter davon ab, was Du willst.

                          Kommentar


                            #14
                            Ich kenn Ubuntu nicht so im Detail, glaube aber nicht, das man für usbfs den Kernel "refrickeln" muss.
                            Aber wenns um x86 geht findet man hier auch ein .deb des eibd, normalerweise halbwegs aktuell (..) aus dem pu (momentan sehr aktuell )..
                            Dependencies, pthsem 2.0.8 auch..

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

                            Kommentar


                              #15
                              Zitat von Jockel Beitrag anzeigen
                              3. eibd installieren
                              git checkout -b pu origin/pu
                              aclocal -I m4
                              autoheader
                              automake -a --foreign
                              autoconf
                              Statt den diversen a* aufrufen, einfach nur "autoreconf -i" ausführen. Das kümmert sich alle um Details.

                              Zitat von Jockel Beitrag anzeigen
                              Udev-Regel:
                              SYSFS{idVendor}=="145c", SYSFS{idProduct}=="1330", MODE="664", GROUP="eib"
                              Ich habe unter contrib/linux mit einer Datenbank über KNX-USB Geräte angefangen. Was ist das für ein Interface (lsusb -v)?

                              Kommentar

                              Lädt...
                              X