Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Wie auf Backup-Button einer externen Platte reagieren? (https://www.delphipraxis.net/154332-wie-auf-backup-button-einer-externen-platte-reagieren.html)

himitsu 7. Sep 2010 09:03

Wie auf Backup-Button einer externen Platte reagieren?
 
Moin,

ich hab nun soeine kleine externe Platte, welche einen "Backup"-Button verbaut hat.

Kann man in einem eigenem Delphiprogramm auf diesen Button reagieren, ohne dieses "kranke"/überladene Programm des jeweiligen Festplattenerstellers installieren zu müssen, welches eh nicht alles kann, was ich hier hab?

z.B. nutze ich Thunderbird und es wird nur ein Backup der Officeprogramme angeboten.

HeikoAdams 7. Sep 2010 09:12

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Schau doch mal, ob der Treiber der Platte evtl. ne Windows Message sendet, sobald Du auf den Backup-Button drückst

himitsu 7. Sep 2010 09:38

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Genutzt wird ja nur der Standardtreiber für USB-Platten, welcher Windows beiliegt.

Und so wie es aussieht kommt keine globale Message, über Applicatiob.OnMessage, bei meinem Programm an.
Wäre ja auch zu einfach gewesen. :roll:

OldGrumpy 7. Sep 2010 10:02

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Das macht alles das "überladene" Programm des Herstellers. Ich würde mal die USB-Kommunikation mitschneiden, das könnte Aufschluss liefern, wie der Mechanismus funktioniert. Im schlimmsten Fall muss die Anwendung das USB-Gerät ständig pollen... Ich hab leider kein solches Case zur Hand, vermutlich kocht da aber auch jeder Hersteller sein eigenes Süppchen.

HeikoAdams 7. Sep 2010 11:21

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Zitat:

Zitat von OldGrumpy (Beitrag 1047960)
Ich hab leider kein solches Case zur Hand, vermutlich kocht da aber auch jeder Hersteller sein eigenes Süppchen.

Das ist doch auch nicht verwunderlich :wink: Sonst könnte ja jeder kommen und einen Ersatz für $ueberladenes_programm schreiben und damit wohl möglich auch noch Geld verdienen :shock: Wo kämen wir denn hin, wenn die Hersteller das zulassen würden 8-)

PS: Wer die Ironie findet, der darf sie behalten :stupid:

himitsu 7. Sep 2010 11:50

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Die Software lag kostenlos auf der Platte (Softwar-CDs gibt's ja nimmer :lol: ) und man kann sie sich auch kostenlos von der Webseite runterladen.

Hab ja ein eigenes kleines Backupprogrammchen,
man könnte zwar über diese Software fremdprogramme ausführen lassen, bei Tastendruck, aber im Prinzip hätte ich dann einen "rießigen" AppLauncher, welcher nichts macht, außer mein Programm zu starten.
Drum hab ich gehofft, daß ich mit einen kleines AppLauncher selberschreiben könnte.
PS: Diese Software erstellt auch unmassen an Verzeichnissen und Dateien auf der Platte, welches ich aber alles nicht benötigt.

Das wäre ja so, als wenn man auf einem PC nur das zur Hardware gehörende Windows installieren dürfte, wenn man den PC mit einem vorinstallieren Windows gekauft hatte.

@OldGrumpy: k.A. wie man sowas macht.

hathor 7. Sep 2010 11:56

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
OFFTOPIC:

@HeikoAdams:

Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?

Bitte hinzufügen:
Höchstalter für Spender: 55 Jahre!

hathor 7. Sep 2010 12:08

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Idee:
Es wäre einfach zu realisieren:
Der Backup-Button wirkt auf den USB-SATA-Controller.
Wird der Backup-Button gedrückt, wird ein S.M.A.R.T.-Wert (es gibt viele reservierte Bytes...)
geändert.
Das Backup-Programm liest die S.M.A.R.T.-Werte aus und reagiert dann entsprechend...

Vorsicht! IRONIE!
Es wird jetzt wieder viele User geben, die schreiben, dass man keine S.M.A.R.T.-Werte über USB erhält.
Es gibt mittlerweile viele USB-SATA-Controller, die S.M.A.R.T.-Abfragen zur HDD weiterleiten.
Harddisk Sentinel ist ein schönes Programm, das ich nutze und mir Temperaturen von USB-HDD liefert.

himitsu 7. Sep 2010 12:55

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Jupp, SMART gibt's, aber mit dem Hard Disk Sentinel Free hab ich keinen passenden SMART-Wert finden können :(

OldGrumpy 7. Sep 2010 15:07

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Am einfachsten wäre es wohl, mal die originale Backupanwendung zu installieren, dann einen USB-Logger dazu, und dann mal aufs "Knöppsche drigge".

hathor 8. Sep 2010 10:07

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Remapping (changing) the OneTouch Button Settings:

http://seagate.custkb.com/seagate/cr...184171&Hilite=

Using the Maxtor OneTouch Utility
Your Maxtor OneTouch
drive includes a utility that allows you to:
• Find out more information about your drive
• Customize your OneTouch button to launch a different
application or file.
• Control power management settings for your drive.

http://www.seagate.com/staticfiles/m...tion_guide.pdf

himitsu 9. Sep 2010 10:03

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Auch wenn von den Programmen die (Linux)Quellcodes vorhanden sind ...

OneTouch 4 findet meine Festplatte nicht.
(damit scheint es wohl nur mit externe Platten von Seagate und Maxtor zu gehn)

OldGrumpy 9. Sep 2010 11:32

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Vielleicht liefert der Source aber einen Pointer der weiterhilft. Haste mal nen Link für mich? :) Ohne so ein Laufwerk heisst es halt experimentieren (und ich hab eigentlich keinen Bedarf an so einer Platte, vielleicht könnte ja jemand eine Teststellung machen...) :)

himitsu 9. Sep 2010 11:46

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
http://www.seagate.com/ww/v/index.js...00dd04090aRCRD

Um in diesen Unmassen an Quellcodes auch nur Ansatzweise etwas finden zu können, bzw. um dort überhaupt durchzublicken, fehlen mir zuviele C-Kenntnisse.

Drum hatte ich erstmal die OneTouch-Software so ausprobiert, ob sie überhaupt was mit meiner Platte anfangen kann.

Auch die SeaTools meinen "nicht unterstützt" zu dieser Platte.

OldGrumpy 9. Sep 2010 11:50

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Hrm, da sehe ich aber eigentlich nur Sourcen für NAS, Verschlüsselung und Platten putzen... Oder bin ich blind? Ich seh da nix für nen One Touch Manager.

himitsu 9. Sep 2010 11:55

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Rechts bei "Maxtor Products", fast ganz unten "OneTouch 4", bzw. eventuell noch "OneTouch III Mini Edition",

das sollten (anscheinend) die Sourcen von denen sein
http://www.seagate.com/ww/v/index.js...00f5ee0a0aRCRD
und die OneTouch 4 Lite hatte ich ausprobiert.

OldGrumpy 9. Sep 2010 12:11

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Jaha, die beiden sehe ich wohl, aber unter den Abbildungen sind jeweils Links mit Titeln wie "Encryption" und "Erazer" und das wars. Die hab ich schon gesichtet und da ist auch nix zur OneTouch-Funktionalität drin.

himitsu 9. Sep 2010 12:22

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
hmmm, dann gibt's 'n Problem.
Ansonsten hab ich von diesem OneTouch nur das eine Setup gefunden. :?

hathor 9. Sep 2010 14:17

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Zitat:

Zitat von himitsu (Beitrag 1048376)
Auch wenn von den Programmen die (Linux)Quellcodes vorhanden sind ...

OneTouch 4 findet meine Festplatte nicht.
(damit scheint es wohl nur mit externe Platten von Seagate und Maxtor zu gehn)

Es hat mit dem HDD-Fabrikat nichts zu tun.
Der USB-SATA-Controller hat eine Keypad-Funktion, an der oft aber nur 1 Button angeschlossen ist.

JMB20336
Hi-Speed USB & SATA II 3.0G Combo to SATA II 3.0G Bridge
http://www.jmicron.com/JM20336.html

Der Chip kann NVRAM ansprechen. Ich vermute, dass der Hersteller hier den Namen eines Scripts oder Programms abspeichert, dass dann beim Button-Druck aufgerufen wird.
Ich habe die „One Click Backup“-Funktion (nur für Windows) und als Backup-Software
PCClone EX Lite
.
Die Software ist nach Installation minimized und erscheint nach dem Button-Druck auf dem Bildschirm.
Man kann alternativ einen Hotkey nutzen.
Ich habe noch nicht herausgefunden, wie das geschieht:
- über SMART - wäre möglich und wahrscheinlich - es gibt über 500 Bytes, von denen die meisten bisher nicht genutzt werden - leider habe ich bisher keinen DELPHI-Sourcecode gefunden, der nicht gleich bei USB "alle 4" von sich streckt...Ich muss mal SMARTMON genauer anschauen.
- über ein zusätzlich installiertes HID-Device - hätte ich gefunden, wenn...
- eine zusätzlich installierte Tastatur - hätte ich gefunden, wenn...
- USB Vendor Class Driver - bin gerade auf der Suche nach Infos...

The USB specification describes three types of requests to
communicate to a device: Standard, Class, and Vendor
Specific.
All devices must support standard requests, and
may optionally support Class or Vendor requests. This
application note uses the Vendor class requests to
communicate with and exercise PSoC 3. For additional
information on USB requests, refer to the USB specification
available from the USB-IF.

OldGrumpy 9. Sep 2010 15:01

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Dann müsste Himitsu nur noch schauen ob da auch der Chip verbaut ist :) Aber genau wegen dieser Sachen sagte ich ja irgendwann mal weiter oben, am einfachsten wäre es wenn ein Log der USB-Kommunikation vorhanden wäre :)

himitsu 9. Sep 2010 15:07

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Die Festplatte bekomm ich nicht auf, da sie auch noch mehrfach versiegelt wurde.

OldGrumpy 9. Sep 2010 15:21

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Evtl. lässt sich anhand der Details im Gerätemanager ja was rausfinden. Schau mal bitte auf das Details-Tab der Eigenschaftenseite im Gerätemanager. Evtl. findet sich dort etwas. Interessant sind in der Regel "VEN_xxxx" und "DEV_yyyy" sowie "PROD_zzzz" und zugehörige Details.

EDIT: Bessere Idee :) USBView zeigt Dir den kompletten Device Descriptor an, damit dürfte sich rausfinden lassen was für ein Chip verbaut ist.

himitsu 9. Sep 2010 15:46

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Im Gerätemanager sieht es nicht so aus, als wenn da was verdächtiges/interessantes zu finden sei.

Ich hoffe das ist das Richtige (auch wenn MaxPower nicht stimmen kann).
Code:
Device Descriptor:
bcdUSB:            0x0200
bDeviceClass:        0x00
bDeviceSubClass:     0x00
bDeviceProtocol:     0x00
bMaxPacketSize0:     0x40 (64)
idVendor:          0x152D
idProduct:         0x2335
bcdDevice:         0x0100
iManufacturer:       0x01
0x0409: "JMicron"
iProduct:            0x02
0x0409: "USB to ATA/ATAPI Bridge"
iSerialNumber:       0x05
0x0409: "3BA27512311A"
bNumConfigurations:  0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:    High
Device Address:      0x03
Open Pipes:             2

Endpoint Descriptor:
bEndpointAddress:    0x81  IN
Transfer Type:       Bulk
wMaxPacketSize:    0x0200 (512)
bInterval:           0x00

Endpoint Descriptor:
bEndpointAddress:    0x02  OUT
Transfer Type:       Bulk
wMaxPacketSize:    0x0200 (512)
bInterval:           0x00

Configuration Descriptor:
wTotalLength:      0x0020
bNumInterfaces:      0x01
bConfigurationValue: 0x01
iConfiguration:      0x04
0x0409: "USB Mass Storage"
bmAttributes:        0xC0 (Bus Powered Self Powered )
MaxPower:            0x01 (2 Ma)

Interface Descriptor:
bInterfaceNumber:    0x00
bAlternateSetting:   0x00
bNumEndpoints:       0x02
bInterfaceClass:     0x08
bInterfaceSubClass:  0x06
bInterfaceProtocol:  0x50
iInterface:          0x06
0x0409: "MSC Bulk-Only Transfer"

Endpoint Descriptor:
bEndpointAddress:    0x81  IN
Transfer Type:       Bulk
wMaxPacketSize:    0x0200 (512)
bInterval:           0x00

Endpoint Descriptor:
bEndpointAddress:    0x02  OUT
Transfer Type:       Bulk
wMaxPacketSize:    0x0200 (512)
bInterval:           0x00

OldGrumpy 9. Sep 2010 16:14

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Ja, das ist mal wieder ein schönes Beispiel für "krumme" USB-Deskriptoren :) In den Features steht sowohl "Bus powered" als auch "Self powered" drin, Anschluss für externes Netzteil hat das Gehäuse aber vermutlich gar nicht? :) Und der Max-Power-Wert ist natürlich auch für den Allerwertesten. Aber nunja, zumindest ist jetzt klar dass ein JMicron Chip drinsteckt. Das ist schonmal ein Schritt in die richtige Richtung :) Anhand der ID würde ich mal auf den JM20335 tippen. Der hat 24 GPIOs (General Purpose I/O-Leitungen) die über spezielle SCSI2-Kommandos abgefragt werden können. Und das ist dann auch schon der Haken: Dafür braucht man einen Treiber, und zwar einen der das Gerät ständig pollt. Deswegen gibts das auch nur in Kombination mit der Backup-Software...

hathor 9. Sep 2010 21:53

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Zitat:
To access USB storage devices, the operating system sends SCSI commands through the USB transport to the device. If the USB device is actually a PATA or SATA disk in an USB enclosure, the firmware of its USB bridge chip translates these commands into the corresponding ATA commands. This works straightforward for read and write commands, but not for SMART commands.

To access SMART functionality, smartmontools must be able to send ATA commands directly to the disk. For USB devices, at least the following conditions must be met:

* The USB bridge provides an ATA pass-through command.
* This command is supported by smartmontools.
* The operating system provides a SCSI pass-through I/O-control which works through its USB-layer.
* SCSI support is implemented in the operating system interface of smartmontools.

Some recent USB bridges already support the vendor independent SAT (SCSI/ATA Translation, ANSI INCITS 431-2007) standard. Other USB bridges provide vendor specific ATA pass-through commands. The current version of smartmontools supports the following pass-through commands and USB bridges:

http://sourceforge.net/apps/trac/smartmontools/wiki/USB

himitsu 4. Nov 2010 07:45

AW: Wie auf Backup-Button einer externen Platte reagieren?
 
Inzwischen wurde auch mal auf meine Frage geantwortet, aber verbessert hat sich dadurch nix. :?
Zitat:

Sehr geehrte/r Frau/Herr Frank,

vielen Dank für Ihre Kontaktaufnahme mit dem Technischen Support von Transcend.

Der Knopf funktioniert nur, wenn unsere "StoreJet elite" Software darüber wacht.

Daher gibt es keine API, die wir zur Verfügung stellen können.



Wenn Sie noch weitere Fragen oder Anregungen haben, können Sie sich jederzeit wieder an uns wenden.

Geben Sie dann bitte auch die 10-ziffrige Seriennummer des Transcend Produkts an





Mit freundlichen Grüßen / Best regards


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 Uhr.

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