Festplatten-ID per API fehlerhaft
- Gerti
- Nicht mehr bei Topfield-Europe

- Beiträge: 15742
- Registriert: Fr 9. Dez 2005, 00:16
- Receivertyp: Vu+ Uno 4k
- Wohnort: Hürth
- Kontaktdaten:
Festplatten-ID per API fehlerhaft
Hi!
Da die Art der Registrierung bei ImproBox ja merhfach "bemängelt" wurde, habe ich mich mal wieder mit der Festplatten-ID als Grundlage für die ID befasst. Dabei stellte sich heraus, dass diese leider absolut nicht zu gebrauchen ist, da die API bei sehr vielen Modellen einfach gar nichts zurück gibt und man somit auch keine Möglichkeit hat, daraus eine ID zu generieren.
Diese Info dürfte für alle von Interesse sein, die Ihre TAPs über kurz oder lang ebenfalls mit einem Lizensierungsmodell versehen wollen.
Gruß,
Gerti
Da die Art der Registrierung bei ImproBox ja merhfach "bemängelt" wurde, habe ich mich mal wieder mit der Festplatten-ID als Grundlage für die ID befasst. Dabei stellte sich heraus, dass diese leider absolut nicht zu gebrauchen ist, da die API bei sehr vielen Modellen einfach gar nichts zurück gibt und man somit auch keine Möglichkeit hat, daraus eine ID zu generieren.
Diese Info dürfte für alle von Interesse sein, die Ihre TAPs über kurz oder lang ebenfalls mit einem Lizensierungsmodell versehen wollen.
Gruß,
Gerti
- Bonni
- Guru in perpetuum

- Beiträge: 8212
- Registriert: Fr 9. Dez 2005, 18:37
- Wohnort: Hamm (Westf.)
- Receivertyp: SRP-2401 CI+ eco / VU+ Ultimo 4k
- Receiverfirmware: TF-BPCE 1.03.00
- Wohnort: Hamm (Westf.)
... oder hier und da sogar mal Zufallswerte? Wenn ich daran denke, daß Du mir während meiner Senderlogo-Experimentier-Abstürze 5 oder 6 neue Codes senden mußtest ... was ich nie so richtig verstanden habe.
Gruß Bonni
90cm-Schüssel + 2 Quattro LNB + TELEKA SAM 2294N Multiswitch 9:4 (seit 08/1998!)
VU+ Ultimo 4k (seit 05/2020) mit 2x DVB-S2X FBC Twin Tuner, 1x DVB-T2 Dual Tuner, SmartEPGvu+, PlutoTV, uvm.
SRP-2401 CI+ Eco (seit 10/2017) mit SmartEPG_TMS, TAPtoDate, WebControl, uvm. - läuft noch hier und da im "Kinderzimmer"
TF5000PVR (seit 09/2003) mit USB Accelerator, ImproBox, PowerRestore, iTiNa - im September 2024 voll funktionstüchtig vom Strom getrennt.
TF5000CI (seit 06/2005) - früher im Kinderzimmer, jetzt ausgemustert im Keller, bald Elektroschrott
90cm-Schüssel + 2 Quattro LNB + TELEKA SAM 2294N Multiswitch 9:4 (seit 08/1998!)
VU+ Ultimo 4k (seit 05/2020) mit 2x DVB-S2X FBC Twin Tuner, 1x DVB-T2 Dual Tuner, SmartEPGvu+, PlutoTV, uvm.
SRP-2401 CI+ Eco (seit 10/2017) mit SmartEPG_TMS, TAPtoDate, WebControl, uvm. - läuft noch hier und da im "Kinderzimmer"
TF5000PVR (seit 09/2003) mit USB Accelerator, ImproBox, PowerRestore, iTiNa - im September 2024 voll funktionstüchtig vom Strom getrennt.
TF5000CI (seit 06/2005) - früher im Kinderzimmer, jetzt ausgemustert im Keller, bald Elektroschrott
- Gerti
- Nicht mehr bei Topfield-Europe

- Beiträge: 15742
- Registriert: Fr 9. Dez 2005, 00:16
- Receivertyp: Vu+ Uno 4k
- Wohnort: Hürth
- Kontaktdaten:
Hi!
Nein, ImproBox nutzt diese API-Funktion ja nicht, da es die "damals" noch nicht gab. Daher ändert sich der Code bei ImproBox ja auch, wenn die Festplatte formatiert wird.
Das war ja auch der Grund, warum ich mich wieder mit der Festplatten-ID beschäftigt habe, wobei dann aber herauskam, dass man damit leider nicht arbeiten kann.
Gruß,
Gerti
Nein, ImproBox nutzt diese API-Funktion ja nicht, da es die "damals" noch nicht gab. Daher ändert sich der Code bei ImproBox ja auch, wenn die Festplatte formatiert wird.
Das war ja auch der Grund, warum ich mich wieder mit der Festplatten-ID beschäftigt habe, wobei dann aber herauskam, dass man damit leider nicht arbeiten kann.
Gruß,
Gerti
- Bonni
- Guru in perpetuum

- Beiträge: 8212
- Registriert: Fr 9. Dez 2005, 18:37
- Wohnort: Hamm (Westf.)
- Receivertyp: SRP-2401 CI+ eco / VU+ Ultimo 4k
- Receiverfirmware: TF-BPCE 1.03.00
- Wohnort: Hamm (Westf.)
Ah, verstehe ...
Gruß Bonni
90cm-Schüssel + 2 Quattro LNB + TELEKA SAM 2294N Multiswitch 9:4 (seit 08/1998!)
VU+ Ultimo 4k (seit 05/2020) mit 2x DVB-S2X FBC Twin Tuner, 1x DVB-T2 Dual Tuner, SmartEPGvu+, PlutoTV, uvm.
SRP-2401 CI+ Eco (seit 10/2017) mit SmartEPG_TMS, TAPtoDate, WebControl, uvm. - läuft noch hier und da im "Kinderzimmer"
TF5000PVR (seit 09/2003) mit USB Accelerator, ImproBox, PowerRestore, iTiNa - im September 2024 voll funktionstüchtig vom Strom getrennt.
TF5000CI (seit 06/2005) - früher im Kinderzimmer, jetzt ausgemustert im Keller, bald Elektroschrott
90cm-Schüssel + 2 Quattro LNB + TELEKA SAM 2294N Multiswitch 9:4 (seit 08/1998!)
VU+ Ultimo 4k (seit 05/2020) mit 2x DVB-S2X FBC Twin Tuner, 1x DVB-T2 Dual Tuner, SmartEPGvu+, PlutoTV, uvm.
SRP-2401 CI+ Eco (seit 10/2017) mit SmartEPG_TMS, TAPtoDate, WebControl, uvm. - läuft noch hier und da im "Kinderzimmer"
TF5000PVR (seit 09/2003) mit USB Accelerator, ImproBox, PowerRestore, iTiNa - im September 2024 voll funktionstüchtig vom Strom getrennt.
TF5000CI (seit 06/2005) - früher im Kinderzimmer, jetzt ausgemustert im Keller, bald Elektroschrott
Hallo,
Wenn man sich schon mal auf irgend etwas verlassen will
@Gerti
Ist dieser Bug Topfield bekannt, besteht eine Chance das Topfield das noch korrigiert?
Gibt es ein Schema bei welchen Laufwerken das ganze funktioniert und bei welchen nicht?
Wie viele Laufwerke, konntest Du testen und bei wie vielen (%) funktioniert's nicht?
Ist das eventl. Geräte oder Firmwareabhängig?
Ich hatte mir für DOS und Windows schon mal Code zusammengestellt um die HDD Serial auszulesen, funktioniert auch!
Nun wollte ich sehen, ob man den Code auf den Topf portieren kann und habe festgestellt, dass das TAP "HDD Info" von FireBird den nötigen Code im Prinzip schon enthält!
Ich bin aber nicht weitergekommen, da die Festplatte bzw. der Topf jedes mal abgestürzt ist, wenn ich versucht habe das ATA_IDENTIFY Kommando 0xEC zu senden!
Bleibt die Frage ob der Fehler beim integrierten IDE Controler oder bei der Topf Software liegt?
Kann da vielleicht jemand von den Hardware/"none-TAP-API-freaks" weiterhelfen?
Hier die Programme die ich mir für DOS und Windows zusammengebastelt habe, um die HDD Serial auszulesen, vielleicht kann damit jemand etwas anfangen!:
16-Bit DOS nur Real-Mode (mit Borland C++ 3.1 kompiliert),
enthält zwei verschiedene Versionen eine mit Funktionen der CONIO.H und eine mit Inline Assembler Code:
http://people.freenet.de/GoJag/hddserial_dos.zip
und für Windows 2000/XP (mit Dev-C++ kompiliert):
http://people.freenet.de/GoJag/hddserial_nt-xp.zip
(hier auch ein paar Seiten betreffs den ATA IDENTIFY command:
The need for an IDE driver und IDENTIFY command)
@Gerti
Falls Topfield über diesen Bug noch nicht informiert wurde, könntest Du dann Bitte diesen bei Gelegenheit weitergeben, auch mit den Hinweis auf ein eventuelles Problem mit den ATA IDENTIFY Command "0xEC"?
Gruß
Jag
so ein MistGerti hat geschrieben:... habe ich mich mal wieder mit der Festplatten-ID als Grundlage für die ID befasst. Dabei stellte sich heraus, dass diese leider absolut nicht zu gebrauchen ist, da die API bei sehr vielen Modellen einfach gar nichts zurück gibt und man somit auch keine Möglichkeit hat, daraus eine ID zu generieren.
Diese Info dürfte für alle von Interesse sein, die Ihre TAPs über kurz oder lang ebenfalls mit einem Lizensierungsmodell versehen wollen.
Wenn man sich schon mal auf irgend etwas verlassen will
@Gerti
Ist dieser Bug Topfield bekannt, besteht eine Chance das Topfield das noch korrigiert?
Gibt es ein Schema bei welchen Laufwerken das ganze funktioniert und bei welchen nicht?
Wie viele Laufwerke, konntest Du testen und bei wie vielen (%) funktioniert's nicht?
Ist das eventl. Geräte oder Firmwareabhängig?
Ich hatte mir für DOS und Windows schon mal Code zusammengestellt um die HDD Serial auszulesen, funktioniert auch!
Nun wollte ich sehen, ob man den Code auf den Topf portieren kann und habe festgestellt, dass das TAP "HDD Info" von FireBird den nötigen Code im Prinzip schon enthält!
Ich bin aber nicht weitergekommen, da die Festplatte bzw. der Topf jedes mal abgestürzt ist, wenn ich versucht habe das ATA_IDENTIFY Kommando 0xEC zu senden!
Bleibt die Frage ob der Fehler beim integrierten IDE Controler oder bei der Topf Software liegt?
Kann da vielleicht jemand von den Hardware/"none-TAP-API-freaks" weiterhelfen?
Hier die Programme die ich mir für DOS und Windows zusammengebastelt habe, um die HDD Serial auszulesen, vielleicht kann damit jemand etwas anfangen!:
16-Bit DOS nur Real-Mode (mit Borland C++ 3.1 kompiliert),
enthält zwei verschiedene Versionen eine mit Funktionen der CONIO.H und eine mit Inline Assembler Code:
http://people.freenet.de/GoJag/hddserial_dos.zip
und für Windows 2000/XP (mit Dev-C++ kompiliert):
http://people.freenet.de/GoJag/hddserial_nt-xp.zip
(hier auch ein paar Seiten betreffs den ATA IDENTIFY command:
The need for an IDE driver und IDENTIFY command)
@Gerti
Falls Topfield über diesen Bug noch nicht informiert wurde, könntest Du dann Bitte diesen bei Gelegenheit weitergeben, auch mit den Hinweis auf ein eventuelles Problem mit den ATA IDENTIFY Command "0xEC"?
Gruß
Jag
- jk
- BoardSprenger

- Beiträge: 8844
- Registriert: Do 8. Dez 2005, 19:00
- Receivertyp: SRP-2100 (Küchengerät)
- Receiverfirmware: uralt aber stabil
- Wohnort: Jennersdorf/Österreich
- Kontaktdaten:
das ATA_IDENTIFY funkt doch nur bei deaktiviertem timeshift wenn ich das richtig im kopf hab.
die andere möglicheit wäre es, den cluster0 zu lesen und dort die serial zu suchen, nur ob sich topf an die specs hält beim format?
man müßte leute fragen die die topfplatte sektorweise am topf auslesen können.
die andere möglicheit wäre es, den cluster0 zu lesen und dort die serial zu suchen, nur ob sich topf an die specs hält beim format?
man müßte leute fragen die die topfplatte sektorweise am topf auslesen können.

- Gerti
- Nicht mehr bei Topfield-Europe

- Beiträge: 15742
- Registriert: Fr 9. Dez 2005, 00:16
- Receivertyp: Vu+ Uno 4k
- Wohnort: Hürth
- Kontaktdaten:
Hi!
Bei fast allen IDs die ich zur Kontrolle bekommen habe, war die Festplatten-ID fehlerhaft...die Zahl derer, wo es funktioniert, ist vermutlich deutlich kleiner als die Zahl derer, wo es nicht funktioniert...
Ich kann das gerne mal an Topfield weitergeben, denke aber nicht, das sich da was tut...da gibt es viel "schlimmere" Bugs in der API der aktuellen beta Firmwareversionen der anderen Länder.
Gruß,
Gerti
Bei fast allen IDs die ich zur Kontrolle bekommen habe, war die Festplatten-ID fehlerhaft...die Zahl derer, wo es funktioniert, ist vermutlich deutlich kleiner als die Zahl derer, wo es nicht funktioniert...
Ich kann das gerne mal an Topfield weitergeben, denke aber nicht, das sich da was tut...da gibt es viel "schlimmere" Bugs in der API der aktuellen beta Firmwareversionen der anderen Länder.
Gruß,
Gerti
Wurde im Fehlerfall gar nichts ausgeben oder nur "Zeichensalat"?Gerti hat geschrieben:Bei fast allen IDs die ich zur Kontrolle bekommen habe, war die Festplatten-ID fehlerhaft...die Zahl derer, wo es funktioniert, ist vermutlich deutlich kleiner als die Zahl derer, wo es nicht funktioniert...
Wenn der "Zeichensalat" eine festplattenspezifische Konstante darstellt, könnte man doch notfalls auch die benutzen
(geht natürlich nicht, wenn sich der Ausgabestring ständig ändert!)
Timeshift hatte ich zumindest nicht aktiviert!jk hat geschrieben:das ATA_IDENTIFY funkt doch nur bei deaktiviertem timeshift wenn ich das richtig im kopf hab.
so genau kenn ich mich da nicht aus, was hat es denn mit den sector 0 auf sich, sollte die Serial da abgelegt werden?jk hat geschrieben:die andere möglicheit wäre es, den cluster0 zu lesen und dort die serial zu suchen, nur ob sich topf an die specs hält beim format?
an FireBird habe ich eben eine PM geschickt, fällt dir da noch jemand spezielles ein?jk hat geschrieben:man müßte leute fragen die die topfplatte sektorweise am topf auslesen können.
Gruß
Jag
- jk
- BoardSprenger

- Beiträge: 8844
- Registriert: Do 8. Dez 2005, 19:00
- Receivertyp: SRP-2100 (Küchengerät)
- Receiverfirmware: uralt aber stabil
- Wohnort: Jennersdorf/Österreich
- Kontaktdaten:
also im DOS schaut das so aus
http://heim.ifi.uio.no/~stanisls/helppc ... ector.html

http://heim.ifi.uio.no/~stanisls/helppc ... ector.html
Code: Alles auswählen
Offset SizeDescription
00 3 bytes jump to executable code
03 8 bytes OEM name and version
0B word bytes per sector
0D bytes ectors per cluster (allocation unit size)
0E word number of reserved sectors (starting at 0)
10 byte number of FAT's on disk
11 word number of root directory entries (directory size)
13 word number of total sectors (0 if partition > 32Mb)
15 byte media descriptor byte (see MEDIA DESCRIPTOR)
16 word sectors per FAT
18 word sectors per track (DOS 3.0+)
1A word number of heads (DOS 3.0+)
1C word number of hidden sectors (DOS 3.0+)
20 dword (DOS 4+) number of sectors if offset 13 was 0
24 byte (DOS 4+) physical drive number
25 byte (DOS 4+) reserved
26 byte (DOS 4+) signature byte (29h)
[b]27 dword (DOS 4+) volume serial number[/b]
2B 11 bytes (DOS 4+) volume label
36 8 bytes (DOS 4+) reserved
darum geht es ja jetztDeJe hat geschrieben:Wie kann ich am Topf physicalische Sectoren lesen

Sorry, da habe ich wohl etwas falsch verstanden:

EDIT: Hat sich erledigt, HDDInfo.tap hat alles drin was ich eventuell brauche.
Und Du schreibst selbst:Jag hat geschrieben:Nun wollte ich sehen, ob man den Code auf den Topf portieren kann und habe festgestellt, dass das TAP "HDD Info" von FireBird den nötigen Code im Prinzip schon enthält!
Ich bin aber nicht weitergekommen, da die Festplatte bzw. der Topf jedes mal abgestürzt ist, wenn ich versucht habe das ATA_IDENTIFY Kommando 0xEC zu senden!
Bleibt die Frage ob der Fehler beim integrierten IDE Controler oder bei der Topf Software liegt?
Ich hatte angenommen diese Leute (entsprechend Source) gibt es.die andere möglicheit wäre es, den cluster0 zu lesen und dort die serial zu suchen, nur ob sich topf an die specs hält beim format?
man müßte leute fragen die die topfplatte sektorweise am topf auslesen können.
EDIT: Hat sich erledigt, HDDInfo.tap hat alles drin was ich eventuell brauche.
Zuletzt geändert von DeJe am Mo 30. Jan 2006, 16:48, insgesamt 1-mal geändert.
TF5000PVR Masterpiece mit 250GB Samsung, ImproBox Premium, QuickTimer, 3PG, Filer, FastSkip, WSSKiller
- FireBird
- Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru

- Beiträge: 29040
- Registriert: Fr 9. Dez 2005, 09:59
- Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k - Wohnort: Wien
Hi,
Warum kommen die interessanten Threads immer, wenn man gerade keine Zeit hat/Offline ist ;-)
Der TAP_Hdd_GetHddID hatte schon immer Probleme. Während die ersten Versionen in unserer F/W einfach das erste SPACE gegen ein 0x00 getauscht haben, haben die 5800 noch nie ein funktionierendes GetHddId gesehen (liefert nur Leerzeichen). Diese Version scheint sich via Masterpiece F/W zu verbreiten. Ein Memory Dump zeigt, dass das Auslesen dieser Daten funktioniert, meine Samsung inkl. Seriennummer sind einwandfrei abgelegt. Das TAP-API scheitert aber, die Strings richtig zu kopieren.
@Jag: An dem Identify_ Device bin ich schon zu HDDInfos Zeiten gescheitert. Auch DeadBeef konnte damals die Ursache für den Crash nicht finden. Die Firmware macht es aber korrekt. Einzige Lösung: Topfield oder wir fixen das API. ;-)
@jk: Diese Daten sind leider nicht per normalen Lesebefehl zugreifbar. Der Identify_Device-Befehl schickt Dir einen Datenblock, der wie ein Sektor aussieht, aber von der Laufwerks-F/W zusammengetragene Daten enthält. Den Timeshift-Mode schalte ich deswegen ab, da ich via Hardware-Ports direkt auf die Festplatte zugreife und deshalb eine Zugriffskollision mit der Firmware minimiere möchte. Die Volume Serial Number unter DOS ist eine vom Format-Befehl erzeugte Zufallszahl und hat nichts mit Seriennummer der Platte selbst zu tun.
MfG. Alex
Warum kommen die interessanten Threads immer, wenn man gerade keine Zeit hat/Offline ist ;-)
Der TAP_Hdd_GetHddID hatte schon immer Probleme. Während die ersten Versionen in unserer F/W einfach das erste SPACE gegen ein 0x00 getauscht haben, haben die 5800 noch nie ein funktionierendes GetHddId gesehen (liefert nur Leerzeichen). Diese Version scheint sich via Masterpiece F/W zu verbreiten. Ein Memory Dump zeigt, dass das Auslesen dieser Daten funktioniert, meine Samsung inkl. Seriennummer sind einwandfrei abgelegt. Das TAP-API scheitert aber, die Strings richtig zu kopieren.
@Jag: An dem Identify_ Device bin ich schon zu HDDInfos Zeiten gescheitert. Auch DeadBeef konnte damals die Ursache für den Crash nicht finden. Die Firmware macht es aber korrekt. Einzige Lösung: Topfield oder wir fixen das API. ;-)
@jk: Diese Daten sind leider nicht per normalen Lesebefehl zugreifbar. Der Identify_Device-Befehl schickt Dir einen Datenblock, der wie ein Sektor aussieht, aber von der Laufwerks-F/W zusammengetragene Daten enthält. Den Timeshift-Mode schalte ich deswegen ab, da ich via Hardware-Ports direkt auf die Festplatte zugreife und deshalb eine Zugriffskollision mit der Firmware minimiere möchte. Die Volume Serial Number unter DOS ist eine vom Format-Befehl erzeugte Zufallszahl und hat nichts mit Seriennummer der Platte selbst zu tun.
MfG. Alex
Die volume serial müsste die Datenträgernummer sein, denke ich, die wird bei der Formatierung des Laufwerks zufällig vergeben und kann sich nach der Neuformatierung ändern! (z.B. 46A8-413D", öffne mal eine Eingabeaufforderung und gib "DIR xxxxxxx" ein)jk hat geschrieben:Code: Alles auswählen
Offset SizeDescription ... [b]27 dword (DOS 4+) volume serial number[/b] 2B 11 bytes (DOS 4+) volume label
Das ist dann nicht das gleiche wie die Hardware-Seriennummer der Festplatte!
Gruß
Jag
Nein, darauf würde ich mich nicht verlassen.
Kann sein, muß aber nicht. Bei DOS/Windows usw. stimmt das nur in seltenen Fällen mit der wirklichen Serien-Nummer der HDD überein.
Das DOS/Windows-Format generiert diese Nummer aus dem Datum/Zeit (wenn ich mich recht erinnere).
Außerdem ist diese relativ problemlos zu ändern. Für Key-Check absolut unbrauchbar.
Kann sein, muß aber nicht. Bei DOS/Windows usw. stimmt das nur in seltenen Fällen mit der wirklichen Serien-Nummer der HDD überein.
Das DOS/Windows-Format generiert diese Nummer aus dem Datum/Zeit (wenn ich mich recht erinnere).
Außerdem ist diese relativ problemlos zu ändern. Für Key-Check absolut unbrauchbar.
TF5000PVR Masterpiece mit 250GB Samsung, ImproBox Premium, QuickTimer, 3PG, Filer, FastSkip, WSSKiller
nachfrage: Findet sich die serial nur bei den TF5000 oder auch bei den Masterpiece bzw. TF5800 Modellen im Speicher?FireBird hat geschrieben:Der TAP_Hdd_GetHddID hatte schon immer Probleme. Während die ersten Versionen in unserer F/W einfach das erste SPACE gegen ein 0x00 getauscht haben, haben die 5800 noch nie ein funktionierendes GetHddId gesehen (liefert nur Leerzeichen). Diese Version scheint sich via Masterpiece F/W zu verbreiten. Ein Memory Dump zeigt, dass das Auslesen dieser Daten funktioniert, meine Samsung inkl. Seriennummer sind einwandfrei abgelegt. Das TAP-API scheitert aber, die Strings richtig zu kopieren.
Hättest Du dazu einen Ansatz, die Serial würde mir schon reichen?FireBird hat geschrieben:@Jag: An dem Identify_ Device bin ich schon zu HDDInfos Zeiten gescheitert. Auch DeadBeef konnte damals die Ursache für den Crash nicht finden. Die Firmware macht es aber korrekt. Einzige Lösung: Topfield oder wir fixen das API. ;-)
Ginge das vielleicht sogar Geräte bzw. Firmware unabhängig?
(ausgehend von einer API mit TAP_Hdd_GetHddID Unterstützung natürlich)
Gruß
Jag
- buko
- Mr. Settings

- Beiträge: 12264
- Registriert: Fr 9. Dez 2005, 09:03
- Receivertyp: auch andere Receiver!
Nokia 8010
VU+ Duo 4K SE - Wohnort: Bayern & Tirol
....FireBird hat geschrieben:. Einzige Lösung: Topfield oder wir fixen das API.
gruss buko
gruß
buko
Topfield Settings bearbeiten, verwalten und vieles mehr:
mit
SetEdit für fast alle Topfield & VU+ Receiver
buko
Topfield Settings bearbeiten, verwalten und vieles mehr:
mit

