Skript, um externe Festplatten vor dem automatischen Sleep "korrekt auszuwerfen"?

  • Hallo zusammen,


    ich habe jetzt an vielen echten Macs und auch Hackintoshs nach dem sleep beobachtet, dass dort teilweise (je nach dem ob PowerNap an oder aus) nach dem Sleep über nach teilweise 100 mal die Meldung "Nicht korrekt ausgeworfen" wegzuklicken ist.

    Jetzt bin ich darauf gestoßen, dass es kostenpflichtige Software "Jettison" gibt, die die Festplatten eben automatisch unmountet, bevor der Mac in den Sleep geht. Das müsste sich aber doch eigentlich ganz einfach mit ein paar Zeilen Apple Skript bzw. Automator regeln lassen, wenn man nur wüsste, wie man den Moment abpassen kann, wann der Sleep beginnen soll.

    Hat jemand eine Idee?

  • Ich hätte das halt gerne mit Bordmitteln gelöst, kann doch nicht so schwer sein :D

  • Zuerst würde ich dir noch raten hier Punkt 3 auszuprobieren: 2.07 USB Port Lösungen

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Zuerst würde ich dir noch raten hier Punkt 3 auszuprobieren: 2.07 USB Port Lösungen

    Das geht bestimmt auch mit Clover oder?

    Lenovo ThinkPad X260

    -12,5" FHD IPs

    -i5 6200U

    -8 GB RAM

    -256 GB SSD

    -10.15.5


    PC Bruder:

    -Gigabyte Z370 AORUS Ultra Gaming WIFI -Core i7-8700K -64 GB Crucial Ballistix -Sapphire RX 580 Pulse 8GB -BCM943602CS -Samsung 970 Pro M2 NVME 1 TB -OpenCore -10.15.x

  • kuckkuck uck was hat das patchen der usb ports mit der tatsache zu tun das der TE nache einem Script sucht um Externe Geräte (Hard Disks) bei Sleep automatisch auszuwerfen? Es geht ja nicht darum das seine USB Ports nicht funktionieren... :ichsagnichts:


    wie von Superjeff genannt funktioniert der folgende Ansatz http://hints.macworld.com/arti…p?story=20080329201951648

    wunderbar (gerade getestet).


    Gruß


    ozw00d

  • Ja, meine Ports sind alle funktionsfähig. Ich kann auch an allen ports eine HDD anschließen, ohne die Meldung mit zu wenig Strom zu bekommen...Habe mit dem Hackintool einen USBPorts.kext erstellt. Da das Problem der nicht korrekt ausgeworfenen Geräte auch bei echten Macs vorhanden ist, glaube ich auch, dass es nicht daran liegt.Also kommt man um den Sleepwatcher wohl nicht herum, oder? Danke schon mal an alle.

  • Ich hatte das Problem auch mal, bei mir lag es am aktivierten XMP-Profil. Ich würde dem Hinweis von kuckkuck mal nachgehen, denn es werden so auch Powerproperties für sleep/wake konfiguriert (EC → ApplePowerbusController)

  • ozw00d Im Punkt 3 geht es u.a um die Stromverfügbarkeit der USB Ports während dem Sleep. Ist kein Strom vorhanden werden die Geräte ausgeworfen, funktioniert jedoch alles richtig entsteht das oben beschriebene Problem erst garnicht und man benötigt auch keine Auswerf-Software ;)

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • kuckkuck das war jedoch nicht was der TE erwartet hatte.

    Während des sleeps (ruhezustand) sollten keine Externen Geräte unter Strom stehen (wiederspricht dem Ruhezustand m.E. ), zum thema funktioniert alles, ich hatte das selbe problem an real Macs, da gibt es auch keine Hauseigene Option, denn ein Mac worked as it should be.

    Das Ports nicht genug Strom (mAh) liefern stimmt, hat für den TE jedoch laut seiner aussage nichts hiermit, sondern vielmehr damit zu tun das nach vor dem Sleep Externe Geräte nicht ausgeworfen (im system unmounted) und nach dem Sleep wieder (remounted) werden.

    Der maximale Strom der über Ports geliefert wird spielt, wenn auch nur dann, eine Rolle, solang der Rechner läuft, jedoch nicht wenn er Schläft (wie gesagt wiederspricht dies dem Energiesparen).


    Ich weiß auch nicht warum wir hier über zwei unterschiedliche Optionen debattieren, die wenn überhaupt nur indirekt etwas miteinander zu tun haben....

  • Weil wir hier doch des Öfteren genau danach gefragt werden und es eigentlich immer darum geht, dass die externen Geräte durch den Ruhezustand ausgeworfen werden wegen Stromverlustes. Wahrscheinlich hat kuckkuck deswegen diese Lösung vorgeschlagen. Ich hab damals genau die gleiche Frage gestellt wie der TE und mir wurde mit kuckkucks Lösung geholfen.

    Mainboard: ASUS PRIME Z270-A • CPU: Intel Core i7-6700K • Grafikkarte: Saphirre HD 7870 GHz Edition 2GBOpenCore

  • Ich weiß auch nicht warum wir hier über zwei unterschiedliche Optionen debattieren

    Ich kann gar nicht erkennen, wo kuckkuck mit dir debattiert, er hat dir nur ne Frage beantwortet.

    Muss er sich jetzt für seinen Beitrag entschuldigen, weil er deiner Meinung nach das Thema nicht getroffen hat?

    Ich glaube er wollte nur helfen. :P

    MfG, docplag



  • Nicht streiten, Jungs ;)

    Okay, also wenn wir mit dem XPM Profil meine Kiste besser hinbekommen, als die echten MacBooks, die ich so von der Uni kenne und das gleiche Problem haben, gerne gerne ;) Allerdings hätte ich sehr ungern, dass im Ruhezustand Saft auf den Ports ist, zumindest Festplatten sollten schon stehen bleiben vom Motor her, bisher ist das auch so. Beißt sich die Methode 3 irgendwie mit dem USBPorts.kext, den ich erstellt habe? Der ersetzt ja bereits die sonst nötige SSDT für USB, so wie ich das mit dem Hackintool verstanden habe.

    EDIT:

    Hmm irgendwie vesteh ich es nicht ganz. Ich lese den Punkt 3 so, dass er das Problem behandelt, das ich beispielsweise am Lifebook S752 habe, dort kann ich beispielsweise mein iPad Pro nicht über USB aufladen, das geht jedoch hier mit dem ASUS wunderbar. Also USB Current on Run ist okay.


    1. Ist es dann so, dass MacOS, wenn die Portspannung noch kurz anliegen würde wüsste, dass er die Platte auswerfen soll?

    2. Wie kann ich das XPM testen oder einstellen?

    3. Ich nutze kein Ozmosis (habe nur Laptops), gilt die Anleitung auch, wenn ich die SSDT in Clover/ACPI/patched einpflege?

    4. Beißt sich eine solche SSDT mit irgendwas, also VoodooI2C soll ja etwas empfindlich auf USB SSDTs reagieren in einigen Fällen und bei meinem Glück ...

    5. Wie ist es bei deinem ZenBook, anonymous_writer ? Wirft er bei dir die Platten aus, vor dem Sleep?

    6. Was soll ich den Leuten mit echtem Mac erzählen? Für die gilt dann die "Sleepwatcher" Lösung, oder?

  • ozw00d Also erstmal wollte ich definitiv nur helfen und nicht fachsimpeln oder einen auf "nichts gelesen, Hauptsache Wiki verlinken" machen, sorry wenn das falsch rüber gekommen ist :)


    Wo ich dir aber widerspreche, ist der Aspekt, dass im Ruhezustand über USB Ports kein Strom laufen soll. Egal wie jetzt jeder für sich selbst Energiesparen definiert, hat Apple in seinen Treibern klare Werte für jegliche SMBios Modelle gesetzt, die den verfügbaren Strom während des Sleeps festlegen. Für neuere Modelle ist hier sogar ein eigenes Device zuständig (USBX) in welche diese Werte gehardcoded sind. Da Hackys solch ein Device jedoch nicht besitzen, laden die von Apple bestimmten Treiber garnicht, das darauffolgende Verhalten des USB-Ports ist undefiniert/unkontrolliert/ungewollt. Klar ist irgendwo ein Hardware-gegebenes Limit, weshalb auch Macs teilweise USB Hardware beim Sleep auswirft, trotzdessen ist es wichtig, dass die vorgesehenen Mechanismen aus Treiber-Perspektive erstmal greifen, und dafür ist das Laden bestimmter Treiber und properties nötig, wie in Absatz 3 des Wiki Beitrags beschrieben.


    Holz_Michel

    Die Capabilities von USB-Ports sind hardwareabhängig, da es sich bei deinem Hacky aber um keinen Laptop handelt, kann es schon sein, dass dein Hacky diesen Bereich besser als ein MacBook hinbekommt. Die beschriebene Methode hat nichts mit dem bekannten Patchen von USB-Ports zu tun (AppleUSBXhciPci) sondern kümmert sich um einen anderen Treiber (AppleBusPowerControllerUSB). Da beißt sich also nichts, die eine Methode ersetzt aber auch nicht die andere, das arbeitet parallel ;)

    1. Zumindest ist das Verhalten des USB-Controllers dann nicht mehr unbestimmt, das heißt das jegliche an einem echten Mac verfügbaren Mechanismen zur Datensicherung (also kein plötzlicher Verbindungsabbruch --> Datenverlust) dann greifen.

    2. XPM ist normalerweise eine RAM-related Einstellung im BIOS :/

    3. Yes, ist genau das Gleiche und hat nichts mit Ozmosis zu tun, hab nur aus irgendeinem Grund die Anleitung aus dem Ozmosis Segment verlinkt - UPS :D

    4. Normalerweise nicht, hat ja wie gesagt nichts mit dem allgemeinen USB-Patchen (USBKext, USBInjectall, etc) zu tun

    6. Wenn bei einem Mac User so etwas passiert, dann bedeutet das, dass die Stromnotwendigkeit eines Geräts die Spezifikation des Mac-USB-Controllers übersteigt. Ich kann es nicht mit 100%iger Sicherheit sagen, aber eigentlich sollte Apple in den Treibern definiert haben, was dann passiert um Datenverlust zu verhindern. Ansonsten gilt Sleepwatcher, aber ob das irgendwas nutzt außer die blöden Meldungen zu verhindern kann ich nicht sagen.

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Hmm ich kenn´s eben von den ganzen MacBooks und auch die Uni eignen iMacs sind betroffen (Punkt 6). Dabei ist egal, ob Festplatte oder USB-Stick oder Speicherkarte. Sobald man nicht "von Hand" im Finder auf "auswerfen" klickt, und der entsprechende Mac in den Sleep geht, beschwert sich der Mac beim Aufwachen über nicht korrekt ausgeworfene Geräte. Bei meinen Hackys handelt es sich ALLESAMT um Laptops, da gab es wohl eine falsche Info irgendwo.

    Ich werf die SSDT bei Zeiten mal mit rein in die Test-EFI und berichte dann natürlich.

    Danke kuckkuck für die ausführliche Erklärung. In meinen Laptop BIOSen hab ich da glaub ich keine Chance, das umzustellen (Punkt 2)

    EDIT: Gerade getestet mit der entsprechenden SSDT-EC.aml...Leider kein Erfolg, wie kann ich testen, ob die SSDT wenigstens benutzt/geladen wird?

  • Sorry, ich bin constantly am Handy unterwegs, deswegen krieg ich manchmal so einiges nicht mit (wie zB Laptop).

    Nebenbei gilt ganz generell noch zwischen Sleep und Hibernate zu unterscheiden. Auch innerhalb des Energie Sparens gibt es unterschiedliche S-Modes die Einfluss auf die Hardware-Controller haben. Schau mal ob du zB zu S3 Einstellungsmöglichkeiten im BIOS findest.

    Die SSDT funktioniert, wenn im IOReg für das Device "EC" der ApplePowerBusController (o.ä, da gabs mal n rename) lädt. Testen solltest du mit einem USB-Sticks. HDDs brauchen da manchmal eben so viel Strom, dass selbst der Treiber das auswerfen nicht verhindert, dann ist der einzige Weg um die Meldung die Sleepwatcher Methode.

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Also eine gewisse Auwirkung hatte die SSDT, ich habe sich wieder herausgenommen, weil damit (warum auch immer) meine Fn-Tasten sowie Tastaturbeleuchtung und automatische Displayhelligkeitsregelung nicht mehr verfügbar waren. Ich weiß, das macht nicht viel Sinn, aber habe es natürlich nochmal getestet (mit nochmal rein, nochmal raus) dazwischen natürlich reboot und NVRAM Reset... Da werde ich die erstmal draußen lassen, die "Goodies" sind einfach zu geil...

    Getestet habe ich mit USB Sticks, sowohl USB2 als auch USB3.

    Das sieht doch selbst ohne die SSDT-EC.aml ganz gut aus, vielleicht hat anonymous_writer den Patch schon irgendwo mit eingepflegt.

  • Na dann heißt wohl der EC-Controller bei dir bereits richtig! Die SSDT nicht zu benutzen ist dann der richtige weg, denn die verwirrt hier den Embedded Controller, der wiederum für deine Goodies zuständig ist ;)

    Wenn ebenfalls ein USBX Gerät im IOReg zu finden ist (falls du ein betroffenes SMBios benutzt) und zu zB S3 Sleep im BIOS nichts zu finden ist, dann passt alles und die Methode bringt dich nicht weiter, sprich die USB-Ports kommen bei deinen Geräten an ihr Limit und du solltest dich nach Sleepwatcher umsehen :)

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Community Bot

    Hat das Label Erledigt hinzugefügt