Raspi - Einbindung des Velleman k8055 Boards in IPS 4.4

Bei meiner IPS-Migration von Windows 7 auf einen Pi 3 B komme ich bei der Einbindung des vorhandenen k8055 Boards nicht weiter. Raspberry (Version stretch) installiert das Board zwar korrekt als HID Gerät, und auch Treiber werden geladen. In IPS taucht das HID Gerät aber nicht auf.

Ist das noch ein Bug in IPS 4.4 oder mache ich etwas grundsätzlich falsch?

Wer hat einen Rat?

Beste Grüße, PWC

Hi!

Bekommt dein Gerät auf dem Raspberry denn auch eine „/dev/ttySX“ oder „/dev/ttyUSBX“ zugewiesen? Denn nur dann sieht IPS das auch…

Grüße,
Chris

Aber das ist doch ein HID Device und kein serieller (virtueller) ComPort.
Sicher dass es einen tty dafür geben muss? Andere HIDs wie Maus und Tastatur erzeugen ja auch keinen tty …
Michael

Meine Vermutung mit einem nicht erstellten ttyUSB war vmtl. falsch…man braucht wohl bei den Velleman Boards eine spezielle IPS-Instanz und nimmt kein normales HID IO.

@PWC: Kannst du denn vom Raspberry (SSH) aus das k8055 ansprechen/steuern? Läuft dein IPS-Dienst im Raspberry als root und hat Zugriff auf die Schnittstelle vom k8055?
Den Thread hier gesehen, vlt. hilft er dir weiter? >> Analog Inputs am Velleman K8055
Da ist von einer „Velleman-USB Hauptinstanz“ die Rede…
Und hier noch ein Thread >> Velleman Board unter raspberry
Noch ein Thread >> Velleman Interface Board

Hier steht noch ein wenig, womit du vlt. direkt am Raspberry die Verbindung testen kannst >> k8055 library for Linux

Edit: Es gibt eine spezielle „Vellemann USB“ Instanz im IPS…die verwendest du?

Grüße,
Chris

Hallo zusammen,

auch auf dem Raspberry läuft die Kommunikation zwischen dem K8055 und IP-Symcon per HID-Treiber.

Das Problem ist aber folgendes:

Aufgrund dieser Zeilen im Quelltext (hid-core.c unter /drivers/hid) des Kernel wird kein HID-Treiber geladen:

case USB_VENDOR_ID_VELLEMAN:
/* These are not HID devices. They are handled by comedi. */
if ((hdev->product >= USB_DEVICE_ID_VELLEMAN_K8055_FIRST &&
hdev->product <= USB_DEVICE_ID_VELLEMAN_K8055_LAST) ||
(hdev->product >= USB_DEVICE_ID_VELLEMAN_K8061_FIRST &&
hdev->product <= USB_DEVICE_ID_VELLEMAN_K8061_LAST))
return true;

Lösung: die o.g. Zeilen und noch ein nicht zitiertes „break“ löschen und den Kernel neu kopilieren.

Bin grad bei meiner Migration von 4.3 unter Jessie mit dem K8055 auf 4.4 unter Stretch. Kernel bereit wieder angepaßt und es wird dann auch ein Treiber geladen.

pi@raspberrypi:~ $ lsusb
Bus 001 Device 004: ID 0a81:0205 Chesen Electronics Corp. PS/2 Keyboard+Mouse Adapter
Bus 001 Device 005: ID 10cf:5500 Velleman Components, Inc. 8055 Experiment Interface Board (address=0)
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

pi@raspberrypi:~ $ lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
|__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
|__ Port 2: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 5: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 5: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M

Gruß

Henning