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

From: Polytropon <freebsd(at)edvax.de>
Date: Thu, 12 Dec 2013 00:18:07 +0100

On Tue, 10 Dec 2013 21:38:01 +0100, Marc Santhoff wrote:
> On Di, 2013-12-10 at 00:50 +0100, Polytropon wrote:
> > On Mon, 09 Dec 2013 21:51:47 +0100, Marc Santhoff wrote:
> > > Tag liebe Leute,
> > >
> > > 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:
> > >
> > > 1,44 MB-Laufwerk
> > > 640kB netto-Floppy DS/DD
> >
> > Eventuell kann ein "modernes" 3,5"-Laufwerk keine DDs mehr lesen?
> > Vielleicht kann es das "produktbedingt" auch gar nicht? Kein Vor-
> > wurf, eine ehrliche Frage. :-)
>
> Würde mich wundern, das Laufwerk selbst ist "ganz normal". Aber eben
> USB ...

Es gibt ja unterschiedliche Bauformen. Ich habe hier z. B. ein
"Slim"-Laufwerk von IBM, das ist sehr klein und kompakt und
erinnert an die 3,5"-Laufwerke, die früher in Laptops verbaut
waren, also recht flach mit einer Auswurf-Nase zum Drücken.

> > Ich probiere das gern mal mit einer DD-Diskette und einem
> > entsprechenden USB-Laufwerk gegen.
>
> Würde mich schon intressieren, wenn's nicht zu viel Mühe macht.

Dann kann ich nun den Befund vermelden. :-)

Als Testobjekt dient eine DD-Diskette von boeder, "bit star",
Typ 2DD. Davon habe ich _deshalb_ noch eine Schachtel, nur
2 fehlen, da ich die für Amiga- und Atari-Zwecke brauchen
könnte, denn solche Geräte habe ich noch, und für den CPT
Phoenix (Bildsuche für Wunderstunde empfohlen), einen sehr
merkwürdigen Textverarbeitungscomputer.

Aber ich schweife ab.

Die Diskette wurde ausgepackt und ins USB-Laufwerk eingelegt.
Da gibt es zwei Möglichkeiten, wie man das machen kann:

a) Laufwerk angeschlossen ohne eingelete Diskette:

# mount -o ro -t msdosfs /dev/da3 /mnt
mount_msdosfs: /dev/da3: Device not configured

b) Laufwerk angeschlosssen mit eingelegter Diskette:

# mount -o ro -t msdosfs /dev/da3 /mnt
mount_msdosfs: /dev/da3: Input/output error

Meine Vermutung: Die Diskette war nicht formatiert. Mit dem
DOS-Rechner habe ich das überprüft, "ls a:" ergab einen
Zugriffsfehler.

Nebenschauplatz: Das DOS auf dem Rechner ist zwar MS-DOS, ich
benutze aber den NDOS-Interpreter (von Norton, als dieser Name
noch nicht mit der gelben Pest infiziert war), welchem ich die
wunderbare Welt der UNIX-Kommandos beigebracht habe. Dies ist
bei der weiteren Lektüre zu beachten.

Also: Formatieren auf einem echten DOS-Rechner, als normale
DOS-DD-Diskette (denn ein anderes DD-Format kann ich so aus'm
Stegreif nicht draufspielen, da meine CP/M-Rechner, ja, auch
sowas ist hier vorhanden, nur 5,25"-Laufwerke haben):

[NDOS] c:\> format a: /u /f:720 /v:TEST
Neue Diskette in Laufwerk A: einlegen
und anschließend die EINGABETATE drücken...

Formatiere 720 KB
Formatieren beendet

      790.112 Byte Speicherplatz auf dem Datenträger insgesamt
      790.112 Byte auf dem Datenträger verfügbar

        1.024 Byte in jeder Zuordnungseinheit
          713 Zuordnungseinheiten auf dem Datenträger verfügbar

Datenträgernummer: 3811-07FE

Eine weitere Diskette formatieren (J/N)? n

[NDOS] c:\> cp config.sys a:\
c:\config.sys => a:\config.sys
   1 Datei(en) kopiert

[NDOS] c:\> _

Jetzt ab damit zum FreeBSD-System. Erstmal habe ich mit dem internen
Laufwerk probiert:

# mount -o ro -t msdosfs /dev/fd0 /mnt
# ll /mnt/
total 8
drwxr-xr-x 1 root wheel 3584 1980-01-01 00:00:00 ./
drwxr-xr-x 26 root wheel 512 2013-12-08 22:55:39 ../
-rwxr-xr-x 1 root wheel 1113 2011-01-23 21:32:20 config.sys*
# umount /mnt

Der Zugriff ist also ohne Justierung des Laufwerks möglich! Daß
die Datei +x hat, sei zu vernachlässigen.

Eine Kope mit dd zu erzeugen war auch möglich:

# dd if=/dev/fd0 of=/scratch/disk.dd bs=512
1440+0 records in
1440+0 records out
737280 bytes transferred in 48.346822 secs (15250 bytes/sec)

Das machte Tick-Tack-Geräusche wie eine Uhr. :-)

Ich hoffe, bs=512 war die richtige Einstellung für das Lesen
von Diskette. Mir war irgendwie so, als ob das richtig wäre,
aber _genau_ weiß ich es leider auch nicht mehr. Ich sollte
mehr Märchenbücher lesen. :-)

Soweit das interne Laufwerk, das spielt gut. Jetzt aber schauen
wir uns mal das USB-Laufwerk einher. Wieder in der Reihenfolge
"Diskette rein, Laufwerk ran". Jetzt macht es mehr Geräusche:
Mähk-mauk, mähk-mauk, nak nak nak... mähk-mauk, mähk-mauk,
nak nak nak... dat daddat. Bei einer unformatierten Diskette
war nur ein einziges "klack" zu hören.

Die Systemmeldungen informieren uns wohlfein:

ugen2.2: <TEAC> at usbus2
umass1: <TEAC TEAC FD-05PUB, class 0/0, rev 2.00/0.00, addr 2> on usbus2
(probe0:umass-sim1:1:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(probe0:umass-sim1:1:0:0): CAM status: SCSI Status Error
(probe0:umass-sim1:1:0:0): SCSI status: Check Condition
(probe0:umass-sim1:1:0:0): SCSI sense: UNIT ATTENTION asc:29,0 (Power on, reset, or bus device reset occurred)
(probe0:umass-sim1:1:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(probe0:umass-sim1:1:0:0): CAM status: SCSI Status Error
(probe0:umass-sim1:1:0:0): SCSI status: Check Condition
(probe0:umass-sim1:1:0:0): SCSI sense: UNIT ATTENTION asc:28,0 (Not ready to ready change, medium may have changed)
da3 at umass-sim1 bus 1 scbus4 target 0 lun 0
da3: <TEAC FD-05PUB 3200> Removable Direct Access SCSI-0 device
da3: 1.000MB/s transfers
da3: 0MB (1440 512 byte sectors: 64H 32S/T 0C)

Wie zuvor, hier der Versuch mit dem mount-Zugriff, und siehe:

# mount -o ro -t msdosfs /dev/da3 /mnt
# ll /mnt/
total 8
drwxr-xr-x 1 root wheel 3584 1980-01-01 00:00:00 ./
drwxr-xr-x 26 root wheel 512 2013-12-11 23:51:27 ../
-rwxr-xr-x 1 root wheel 1113 2011-01-23 21:32:20 config.sys*
# umount /mnt

Beim dd-Abzug ist das Tackern des Laufwerks deutlich leiser und
langsamer als bei der internen Version, aber es geht auch:

# dd if=/dev/da3 of=/scratch/udisk.dd bs=512
1440+0 records in
1440+0 records out
737280 bytes transferred in 319.725673 secs (2306 bytes/sec)

Ich hatte auch den Eindruck, es würde deutlich länger dauern...

Die so erarbeiteten Dateien /scratch/disk.dd und /scratch/udisk.dd
werden von diff als identisch angesehen, auch die Prüfsummen
sind gleich:

# md5 /scratch/*.dd
MD5 (/scratch/disk.dd) = c5e581c14b6d3651dfb74decdab74370
MD5 (/scratch/udisk.dd) = c5e581c14b6d3651dfb74decdab74370

Das Laufwerk wieder abziehen:

ugen2.2: <TEAC> at usbus2 (disconnected)
umass1: at uhub2, port 2, addr 2 (disconnected)
(da3:umass-sim1:1:0:0): lost device
(da3:umass-sim1:1:0:0): removing device entry

Falls ich noch was anderes probieren soll (z. B. ein mögliches,
aber beim PC unübliches Diskettenformat zu generieren versuchen
und die Diskette dann zu verarbeiten), bitte ich um den Über-
weisungsschein A-38. :-)

> > Genau, denn /dev/fd0 ist ein im Rechner fest verbautes und am
> > Floppy-Controller angeschlossenes Laufwerk.
>
> Ich hatte erwartet, daß ein USB-Subtreiber das umlegt auf diesen
> dateinamen. Oder so. ;)

Das wäre erstens zu einfach und zweitens unlogisch. :-)

> Deswegen ja verzweifelt. Aber die ganze Floppy-Mimik ist mir
> mittlerweile so fremd, daß ich echt nicht mehr genau wußte, was da los
> ist.

Selbst viele "IT-Profis" kennen die gemeine Diskette heute auch
nur noch aus'm Märchen. :-)

> Ich werde wohl auch mal meinen Museumsrechner abstauben und anschließen.
> Wie ich feststellen durfte, ist das mittlerweile der einzige mit echtem
> Floppy-Port.

Möglich ist z. B. auch ein Wirklich-Uralt-Rechner (z. B. 486er
oder sogar 386er), auf dem DOS läuft. Damit kann man Disketten
mit dem rawread-Programm auf die Platte einlesen und diese
Datei dann per Netzwerk (z. B. mit "Total Commander" unter
"Windows 3.11" per FTP) rauskopieren. Das hätte ich so gemacht,
wenn ich Disketten abziehen wollen müßte, und zwar sowohl für
3,5"- als auch für 5,25"-Disketten, da mir hier kistenweise
(wirklich!) Laufwerke zur Verfügung stehen.

> > > Was mache ich falsch?
> >
> > Du versuchst, einen Toten wiederzubeleben. :-)
>
> Ich komme mir tatsächlich so vor wie bei Jurassic Park, als würde ich
> versuchen, einen längst ausgestorbenen DInosaurier zu klonen.
> Hoffentlich beißt er mich nicht zu heftig.

Dieser spezielle Dino hat keine Zähne mehr. Er rennt nur weg. :-)

> Sowas hatte ich wenigstens vor, wenn das kopieren auf Dateiebene nicht
> sofort klappt.

Möglicherweise kann man die Images dann auch per vnode mounten
und dann dort rauskopieren. Hauptsache, man hat erstmal eine
möglichst 1:1-Kopie.

-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 12 Dec 2013 - 00:18:34 CET

search this site