Re: DS-DD-Floppy im modernen USB-LW lesen

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 10 Dec 2013 13:20:25 +0100 (CET)

Marc Santhoff wrote:
> nachdem alle PC-Format-Floppies bereits entsorgt sind, quäle ich mich
> damit, ein paar alte CP/M-Scheiben kopieren zu wollen. Das Problem ist:

Ich fürchte, das kannst Du vergessen. Das "Einfachste" dürfte
es sein, ein klassisches internes Diskettenlaufwerk zu erstehen.
Gibt's neu für 10 bis 20 Euro, gebraucht für weniger, wobei man
allerdings bei gebrauchten Diskettenlaufwerken aufpassen muss,
da die hochbetagt und dementsprechend verschlissen sein können
(und Verkäufer schreiben häufig das Blaue vom Himmel herunter).

Vorausgesetzt natürlich, dass Dein Mainboard noch den passenden
Anschluss für sowas hat. Ist heutzutage nicht mehr so verbreitet.

> 1,44 MB-Laufwerk
> 640kB netto-Floppy DS/DD

DS-DD wäre eigentlich 720 kB (2 Seiten * 80 Spuren * 9 Sektoren
* 512 Bytes). Wie sind die denn formatiert? Wenn's wirklich
640 kB sind, tippe ich auf 8 Sektoren pro Spur, aber theoretisch
sind auch exotischere Formate wie z.B. 16 Sektoren mit je nur
256 Bytes denkbar; sowas habe ich mal bei einem MIDI-Keyboard
mit eingebautem Diskettenlaufwerk gesehen.

> Wenn ich die Floppy einstöpsle gibt es Fehlermeldungen wie die:
>
> <log>
> Dec 9 21:31:58 puma kernel: (da0:umass-sim0:0:0:0): Retrying command (per sense data)
> Dec 9 21:31:59 puma kernel: (da0:umass-sim0:0:0:0): READ(10). CDB: 28 0 0 0 0 80 0 0 10 0

Wenn ich den CDB richtig dechiffriere, versucht er, 16 Sektoren
ab der (linearen) Sektoradresse 128 zu lesen. Warum er das tut,
ist mir nicht ganz klar, spielt aber auch keine große Rolle.

> Dec 9 21:31:59 puma kernel: (da0:umass-sim0:0:0:0): CAM status: SCSI Status Error
> Dec 9 21:31:59 puma kernel: (da0:umass-sim0:0:0:0): SCSI status: Check Condition
> Dec 9 21:31:59 puma kernel: (da0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:30,0 (Incompatible medium installed)

Yup, ist klar. Er versucht, eine DD-Diskette (250 kbps) als
HD-Diskette zu lesen (500 kbps). Da findet er natürlich nichts
Sinnvolles.

> OK, also erstmal einstellen mit "fdcontrol". Das geht aber nicht, da das
> Laufwerk mit sich selbst beschäftigt ist bzw. ohne Diskette keine device
> vorhanden ist, das die PArameter entgegennimmt. Oder das Laufwerk kann
> es nicht:
>
> # fdcontrol /dev/fd0
> fdcontrol: open(/dev/fd0): No such file or directory

/dev/fd0 ist ein "richtiges" Floppy-Device (daher bei Dir nicht
vorhanden), keines, das per USB beschnitten ist. Und fdcontrol
funktioniert nur mit richtigen Floppy-Devices.

> Was mache ich falsch?
> Welches Device muß angesprochen werden?
>
> Wie schon erwähnt, "normal" formatierte PC-FLoppies sind unauffällig,
> funktioniert gut.

USB-Diskettenlaufwerke verwenden das UFI-Protokoll (was bei
Dir auch korrekt im dmesg erscheint). Hierbei kann man den
Medientyp (DD, HD) und die genauen Parameter (Transferrate,
Sektoren pro Spur usw., wird im UFI-Standard "flexible disk
page" genannt) mit einem "MODE SELECT" auswählen. Das Problem
ist, dass FreeBSD diese Möglichkeit nicht bietet, soviel ich
weiß.

Man könnte allerdings mit camcontrol ein solches MODE SELECT
manuell abschicken. Da ich kein USB-Diskettenlaufwerk zur
Hand habe, um es auszuprobieren, kann ich leider den genauen
Aufruf nicht nennen. Vielleicht kann ja Bernd weiterhelfen?

Gruß
   Olli

PS:
http://www.usb.org/developers/devclass_docs/usbmass-ufi10.pdf

-- 
Oliver Fromme,  secnetix GmbH & Co. KG,  Marktplatz 29, 85567 Grafing
Handelsregister:  Amtsgericht Muenchen, HRA 74606, Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsreg.: Amtsgericht München,
HRB 125758, Geschäftsführer:  Maik Bachmann,  Olaf Erb,  Ralf Gebhart
FreeBSD-Dienstleistungen/-Produkte + mehr: http://www.secnetix.de/bsd
In my experience the term "transparent proxy" is an oxymoron (like jumbo
shrimp).  "Transparent" proxies seem to vary from the distortions of a
funhouse mirror to barely translucent.  I really, really dislike them
when trying to figure out the corrective lenses needed with each of them.
        -- R. Kevin Oberman, Network Engineer
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 10 Dec 2013 - 13:20:37 CET

search this site