Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Usb und Energiesparmodus (https://www.delphipraxis.net/192291-usb-und-energiesparmodus.html)

tomkupitz 6. Apr 2017 10:25

Usb und Energiesparmodus
 
Hallo,

wir haben einen Generic Usb Device Driver den wir für unsere Usb Kommunikation nutzen (Messsteuerung, Messdatenempfang). Nun kommt es vereinzelt (nur auf ASUS Laptops!) dazu, das die Usb Kommunikation willkürlich unterbrochen wird. Wir vermuten, dass es mit der Usb Energiesparfunktion von Windows zusammenhängt (Option: "Computer kann das gerät ausschalten um energie zu sparen"). Da wir dem Kunden die Arbeit abnehmen wollen, die Option auszuschalten, ist meine Frage: Ist es möglich in einer Delphi-App diese Energiespareinstellung zu ändern?

Danke und beste Grüße

tshubaka 6. Apr 2017 11:44

AW: Usb und Energiesparmodus
 
Hallo Tom,
ich habe auch diverse USB Messgeräte und die laufen mehrere Tage 24 Std.
dein Problem hatte ich anfangs auch, die Lösung war ein Externer USB Hub.
nun stellt niemand mehr ab um Strom zu sparen :-D

Grüsse
Peter

Headbucket 6. Apr 2017 13:13

AW: Usb und Energiesparmodus
 
Ich hatte das gleiche Problem bei der Umstellung einer Anwendung auf Windows 10. Komischerweise hat bei mir nicht einmal die Umstellung in den Energiesparoptionen etwas gebracht. Trotzdem wurde die Spannung über USB bei mir ständig unterbrochen.

Konnten bei dir wirklich alle Probleme mit einem Umstellen dieser Option gelöst werden?
Ich bin mir nicht sicher, ob ich es als Kunde begrüßen würde, wenn ein Programm solche Einstellungen einfach so ändert. Dann sollte wenigstens eine Meldung bzw. Frage erscheinen.

Ich habe das Problem bei mir damals so gelöst, dass ich eine Art Server gebaut habe, welcher die Verbindung permanent aktiv hält. Somit schaltet Windows den Port nicht ab. Ich habe dann nur noch mit dem Server und nicht mehr mit dem Gerät direkt kommuniziert. In meinem Fall war es eine gute Lösung aber das muss natürlich nicht immer gelten.

Grüße
Headbucket

Towmuz 6. Apr 2017 13:26

AW: Usb und Energiesparmodus
 
Moin,

Zitat:

"Computer kann das gerät ausschalten um energie zu sparen"
kannst du über die Bei Google suchenWMI deaktivieren (obs was bringt oder auch nicht).

alle USB-Controller findest du hier drunter
Namespace = root\CIMV2
Klasse = Win32_USBHub

fürs Aktivieren / Deaktivieren brauchst du
Namespace = root\WMI
Klasse = MSPower_DeviceEnable
--------------
PowerShell, sollte ausführbar sein...
Code:
$usb = Get-WmiObject Win32_USBHub
$pm = Get-WmiObject MSPower_DeviceEnable -Namespace root\wmi | where {$_.InstanceName.Contains($usb.PNPDeviceID)}
foreach ($p in $pm)
{
    $p.Enable = $False
    $p.psbase.Put()
}
Um jetzt noch Delphi zu bemühen, könntest du das hier lesen: theroadtodelphi.com/?s=wmi :)

t.roller 6. Apr 2017 13:35

AW: Usb und Energiesparmodus
 
Teste mal die Registry-Einstellung für EnableSelectiveSuspend

USB Selective Suspend
https://msdn.microsoft.com/de-de/lib...(v=vs.85).aspx

WinUsb_SetPowerPolicy function
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\ROOT_HUB20\4&1e0b1e80&1\Device Parameters]
"SymbolicName"="\\??\\USB#ROOT_HUB20#4&1e0b1e80&1#{f18a0e88-c30c-11d0-8815-00a0c906bed8}"
"EnableSelectiveSuspend"=dword:00000000


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf