HomeMatic USB Konfigurations-Adapter (HM-CFG-USB) in Fhem auf Mac OS X nutzen

Begonnen von kamischi, 10 August 2014, 15:52:16

Vorheriges Thema - Nächstes Thema

kamischi

Hallo,

ich möchte den HomeMatic USB Konfigurations-Adapter (HM-CFG-USB) in Fhem auf Mac OS X nutzen. Dazu habe ich, wie für linux beschrieben, den Quellcode für hmland geholt und übersetzt. Libusb steht zur Verfügung und funktioniert. Allerdings wird auch librt gelinkt, das es auf dem Mac nicht gibt. Erstaunlicherweise konnte ich einfach -lrt als linker flag weglassen, ohne dass es Fehlermeldungen über fehlende Symbole gab. Lasse ich es aber laufen (sudo ./hmland -D -p 1234), bekomme ich aber Fehlermeldungen:

Der Fhem event log hat eine Schleife aus:

HMLAN hmusb conf:init
HMLAN humsb Xmit-Events: init: 1
HMLAN hmusb prot_init: last
HMLAN hmusb CONNECTED
HMLAN hmusb DISCONNECTED

Debuglog im Terminal:

Client 127.0.0.1 connected!
Can't detach kernel driver: Operation not supported or unimplemented on this platform
Can't find/open hmcfgusb!
Can't initialize HM-CFG-USB!
Connection to 127.0.0.1 closed!

Ich versteh nur Teile davon, aber für mich sieht das so aus, wie wenn ein Feature aus libusb verwendet wird, das in der Implementierung auf dem Mac nicht zur Verfügung steht. Wer hat entsprechende Tipps?

Michael.

Update:

Die derzeitige Lösung habe ich in der FHEM-Wiki beschrieben: http://www.fhemwiki.de/wiki/HM-CFG-USB_USB_Konfigurations-Adapter#Einrichtung_unter_Mac_OS_X
FHEM auf Mac OS X, HM-CFG-USB, HM-CC-RT-DN, HM-WDS40-TH-I

betateilchen

Zitat von: kamischi am 10 August 2014, 15:52:16
das in der Implementierung auf dem Mac nicht zur Verfügung steht. Wer hat entsprechende Tipps?

Tipp: vergiss es.

(persönlicher Erfahrungswert aus mehreren Tagen Probierens, das gleich zum Laufen zu bringen, wie Du es grade versuchst)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

kamischi

Zitat von: betateilchen am 10 August 2014, 20:46:05Tipp: vergiss es.
Ungern. Der Mac ist halt mein "24/7 Server".

Wie weit bist du denn gekommen und wo bist du hängen geblieben? libusb_detach_kernel_driver geht auf dem mac nicht. libusb_claim_interface funktioniert leider nicht. By cypress sah ich ein Beispiel für mac os x, bei dem das Device mit libusb_open_device_with_vid_pid geöffnet wird. Kennst du dich mit libusb so weit aus, ob das ein Unterschied ist im Vergleich zum libusb_open wie bei hmcfgusb.c

Michael aka kamischi
FHEM auf Mac OS X, HM-CFG-USB, HM-CC-RT-DN, HM-WDS40-TH-I


kamischi

Zitat von: marc2 am 10 August 2014, 22:31:47Moin !

Habe zwar - aus gutem Grund - weder MAC noch Iphone, aber ggf. hilft Dir ja dieser Link:

https://github.com/libusb/libusb/wiki/FAQ#How_can_I_run_libusb_applications_under_Mac_OS_X_if_there_is_already_a_kernel_extension_installed_for_the_device
Danke für den Link. Den hatte ich noch nicht. Ich habe mir mit kextstat angeschaut, was geladen ist und in den Extensions Ordnern nach Verdächtigen gesucht, aber nicht ein einziges gefunden, das mir verdächtig vorkam.
Mal schauen, ob ich im irc channel von libusb noch einen Tipp bekomme.

Gruß Michael.
FHEM auf Mac OS X, HM-CFG-USB, HM-CC-RT-DN, HM-WDS40-TH-I

kamischi

Neuester Stand. Nach der Installation eines codeless kext, in dem ich noch die vendorID und productID angepasst habe, ist der Fehler weg und es scheint etwas zu gehen. Jetzt ist es zu spät, um weiter zu machen.

Update: Es funktioniert. Soll ich das irgendwo beschreiben, was ich alles gemacht habe? Wenn ja, wo?

Grüße - Michael.
FHEM auf Mac OS X, HM-CFG-USB, HM-CC-RT-DN, HM-WDS40-TH-I

strauch

Zitat von: kamischi am 11 August 2014, 02:42:48
Update: Es funktioniert. Soll ich das irgendwo beschreiben, was ich alles gemacht habe? Wenn ja, wo?

Entweder im FHEMWIKI oder hier und glückwunsch das es klappt.
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

betateilchen

Zitat von: kamischi am 11 August 2014, 02:42:48
Neuester Stand. Nach der Installation eines codeless kext,

Das ist aber nicht im Sinne von Mac OSX...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

kamischi

Zitat von: betateilchen am 11 August 2014, 11:59:57Das ist aber nicht im Sinne von Mac OSX...
So lange es geht, ist mir das an der Stelle ziemlich egal. Was ich so gelesen habe, wird das wohl auch ab 10.9 (Mavericks) leider so nicht mehr gehen. Möglicherweise müsste man da einen Treiber mit einer kext schreiben. Das ist aber für mich totales Neuland.

Michael.
FHEM auf Mac OS X, HM-CFG-USB, HM-CC-RT-DN, HM-WDS40-TH-I

eldrik

Hi,

dann wäre das ja auch nur eine befristete Lösung, wenn der MacMini 24/7 bei dir läuft (wie bei mir) dann probier doch, den Part über eine Virtualisierungslösung und Linux abgedeckt zu bekommen.

Greetz
Eldrik

strauch

Bei mir läuft auf meinem MacMini ESXI 5.1 und darauf dann diverse VM unter anderem ein Debian für FHEM, das geht ohne Probleme und sehr flott.
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

kamischi

Da ich den Mac sowieso nicht auf 10.9 updaten kann und sich damit dieses Problem erstmal nicht stellt, sind mir die Lösungen mit Virtualisierung alle zu aufwendig, weil ich dann auch die Virtualisierung und das Linux auf dem Laufenden halten muss/sollte. Das ist zumindest meine Erfahrung mit den virtuellen Maschinen, die ich an anderer Stelle verwende. Der Hauptjob des Macs sind nightly builds von Mac Software. Damit muss Mac OS X sowieso vorhanden sein und auch so weit aktuell gehalten werden.

Ich denke, dass es auch mehr Leute interessiert, den HM-CFG-USB direkt unter Mac OS X laufen zu lassen. Ob das so ist, wird man ja sehen. Für mich trifft es auf jeden Fall zu.

Michael.
FHEM auf Mac OS X, HM-CFG-USB, HM-CC-RT-DN, HM-WDS40-TH-I