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
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)
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
Moin !
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
Gruß, Marc
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.
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.
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.
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...
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.
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
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.
Läuft auch in einer VM unter Fusion problemlos.
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.