mikrocontroller.net

Forum: PC Hard- und Software ATA Laufwerke per Hardware tauschen


Autor: Wolfgang Heinemann (frickelkram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
ich möchte gerne mit Hardware-Mitteln zweil Laufwerke an einem ATA-BUS 
vertauschen. Ich meine damit ich möchte das Laufwerk 0 (Master) auf 
Laufwerk 1 (Slave) und das Laufwerk 1 auf Laufwerk 0 betreiben ... ohne 
die Jumper Umzustekcen.
Hintergrund ist dass ich ein Slimline DVD-Laufwerk besitze, welches nur 
als Master funktioniert. Es handelt sich um ein Notebook Laufwerk das 
keine Jumper zum Einstellen besitzt und dass NICHT auf Cable-Select 
reagiert. Das Laufwerk möchte ich gerne an einer SET-Top-Box betreiben 
deren BIOS darauf besteht dass die Festplatte als Master angeschlossen 
ist. Ich kann im BIOS nicht einstellen dass von einem Slave-Device 
gebootet werden soll. Das BIOS erlaubt es auch nicht die Laufwerke zu 
vertauschen. Das Mainboard hat keinen zweiten IDE-Anschluss heraus 
geführt. Für das Slim-Line DVD-Laufwerk habe ich keine Firmware gefunden 
mit der man das Laufwerk als Slave-Lauferk flashen kann.
Ich sehe jetzt nur noch eine Hardware-Lösung ... einschließlich weg 
werfen und neu kaufen ... ;-)
Bei Floppy Laufwerken kann man ja einfach Adern im Flachbandkabel 
tauschen. Bei ATA Anschlüssen geht das nicht so einfach weil die 
Laufwerke über Register adressiert werden.
Gibt es eine Hardwarelösung die Registerzugriffe abfängt und so ändert 
dass die Laufwerke "umgekehrt" angesprochen werden? Ich könnte dann die 
Festplatte als Slave jumpern und das BIOS würde sie trotzdem als Master 
sehen ...

Autor: Bert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, das geht nicht, weil die Laufwerke die Zugriffsordnung unter sich 
ausmachen. (Also, zumindest wäre eine Hardwarelösung so exklusiv, dass 
du sie nicht bezahlen könntest.)
Du kannst nur versuchen ein besseres Bios zu bekommen oder mit einem 
Multibootloader zu arbeiten.

Autor: Condi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

doch das geht. Das Slim Laufwerk wird ja über einen Adapter 
angeschlossen. Also musst du entweder mal auf deinem Adapter suchen oder 
so einen

http://www.esskabel.de/Produkte/Anschlussadapter/S...

besorgen. Da kann man wählen ob Master oder Slave.

Autor: Bert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, das geht nicht. Er schreibt doch, er will beide Laufwerke an einem 
Bus haben. Dazu muss ein Teil des Daten-Protokolls umgetopft werden und 
das geht nicht ohne eine Prozessor auf dem Adapter. Diese Lösung ist so 
exklusiv, dass sie gar nicht fabriziert wird.

Autor: Wolfgang Heinemann (frickelkram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Hinweis. Das Problem ist nur dass diese Lösungen die 
CS-Leitung (Cable Select) Pin 28 verwenden um das Laufwerk einzustellen. 
Leider funktioniert das bei mir nicht. Ich habe die Cable-Select Leitung 
schon durchtrennt, aber das Laufwerk wird immernoch als Master erkannt.

Eine Lösung für das Problem sieht, fürchte ich, komplizierter aus ...
Mein Idee ist es eine Logikschaltung in die Zuleitung zu bauen die den 
Registereintrag für das 1F6-Register abfängt und dann das entsprechende 
Datensignal invertiert. Ich stelle mir da im Moment eine Lösung mit 
Logikbausteinen vor.
Ich habe noch alte PALs und GALs rum liegen, oder auch alte TTL-Chips. 
Mit einem 7486 zur Invertierung der Datenleitung und ein paar 
Nand-Gattern zu Erkennung der Adresse müsste sich doch etwas bauen 
lassen.

Kopfzerbrechen bereitet mir im Moment nur das Reset/Start Verhalten der 
Laufwerke auf dem BUS. Wenn ich es richtig verstehe hat das Master 
Laufwerk ja nicht wirklich die Aufgabe eines Masters im herkömmlichen 
Sinn, aber es verhält sich doch anders als der Slave. Beim Init-Vorgang 
signalisiert der Master den Zustand des Slaves an den Controller. Ich 
vermute das ist deshalb so damit der Conrtoller nur ein Laufwerk nach 
dem BUS-Status fragen muss. Wenn ich die Laufwerke technisch vertausche 
würde sich das Slim-Lione Laufwerk trotzdem  als Master fühlen und sich 
beim Init auch so verhalten ... ich bin mir nicht sicher ob der 
Controller damit zurecht kommt ...

Autor: Wolfgang Heinemann (frickelkram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Bert,

das es nicht mit simplem Leitungstausch geht ist klar, aber ist es nicht 
doch möglich eine "teure" Mikroprozessorlösung zu vermeiden?
Klar ist die Idee nicht "normal" genug um Adapter dafür zu verkaufen. 
Sicherlich wäre so ein Adapter auch zu teuer, da lohnt es sich eher das 
Laufwerk auf den Müll zu werfen ... ;-)

Aber mich reizt hier ein bisschen heraus zu finden ob es überhaupt 
möglich ist. Es kann ja sogar sein dass eine günstige Bastellösung dabei 
heraus kommt die auch noch andere Menschen brauchen können ...

Hast Du Erfahrung mit dem BUS? Ich habe einige Selbstbau-Projekte 
gefunden die ATA-Laufwerke mit PICs oder ATMELs ansteuern. Allerdings 
geht bei einer Lösung mit solch einem Prozessor doch sehr viel 
Performance verloren. Das Ganze soll schon halbwegs schnell bleiben.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Billiger wäre ein DVD-LW das von sich aus Slave ist, Beispiel: Teac 
DV-28

Autor: Bert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Wolfgang

>Hi Bert,

>das es nicht mit simplem Leitungstausch geht ist klar, aber ist es nicht
>doch möglich eine "teure" Mikroprozessorlösung zu vermeiden?
Du hast das Problem ganz richtig erkannt. Es ist fraglich ob BIOS und 
weitere Software mit diesen Laufwerken zusammenarbeiten. (Sie können es, 
werden es aber vermutlich nicht tun).
Nimm einen Multibootloader. Den kannst du auf alle Medien speichern und 
von dort aus weiter booten. (Zumindest die meist besseren 
Betriebssysteme, also alles ab Win2k und Unix auf jeden Fall.)

>Aber mich reizt hier ein bisschen heraus zu finden ob es überhaupt
>möglich ist.
Klar ist das möglich. Ein ganz kleiner Fpga (z.B xcs3-50)) und 3 Wochen 
Arbeit reichen da schon aus.

>Es kann ja sogar sein dass eine günstige Bastellösung dabei
>heraus kommt die auch noch andere Menschen brauchen können
Frag doch mal, wer es wirklich braucht? :-))

>Hast Du Erfahrung mit dem BUS?
Ja, vermutlich schon.

>Ich habe einige Selbstbau-Projekte
>gefunden die ATA-Laufwerke mit PICs oder ATMELs ansteuern.
Das ist nicht das gleiche, weil du die Signale durchrouten musst. Du 
brauchst schon noch einen asynchronen Baustein der auf Einzelsignale 
sofort reagieren kann (z.B FPGA).

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht genügt durchtrennen nicht, es könnte ein Pull-up bzw. 
Pull-Down-Widerstand nötig sein. Nur eine Vermutung.

Autor: Wolfgang Heinemann (frickelkram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sebastian
ja, das habe ich tatsächlich noch nicht ausprobiert. Laut Standard 
genügt es die Leitung durch zu trennen. Aber wenn sich das Laufwerk eh 
schon so seltsam verhält, kann man das ja mal versuchen ...
@Bert
Danke für die Hinweise. Die Sache mit dem Multiboot-Loader würde wohl 
funktionieren allerdings müsste dann ja immer eine BOOT-CD im CD-ROM 
Laufwerk liegen, denn das Laufwerk wäre ja der Master. Das kann ich mal 
ausprobieren, die Lösung gefällt mir aber nicht so recht ...

Autor: Condi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann mach doch was ganz tolles. Häng an das Laufwerk einen IDE->SATA 
Adapter und an den wieder einen SATA->IDE Adapter. Dann sollte das 
Problem behoben sein.

Autor: Wolfgang Heinemann (frickelkram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja, das könnte auch funktionieren ... aber ehrlich gesagt ... das wird 
mir dann doch zu teuer.

Ich habe noch mal mit dem CableSelect herum gespielt ... funktioniert 
definitiv nicht.

Dann habe ich mal verucht eine Logikchip-Lösung zu designen. Ich muss 
Bert Recht geben, das geht wohl nur mit asynchroner Logik. Mit TTL-Chips 
wird das ein "Chipgrab".

Jetzt lasse ich es einfach sein und suche ein neues 
Slim-Line-Slot-In-DVD-Laufwerk.

Danke an alle für die Hinweise !!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.