Lesefehler auf externer USB-Festplatte

floklk

Member
Hi,

ich habe das Problem, dass FreeBSD auf meiner externen USB-Festplatte ca. alle 100-1000MB einen Lesefehler macht. Das scheint nicht am Dateisystem zu liegen und insbesondere bei Windows nicht aufzutreten. Ich hab noch eine Platte die funktioniert; von daher werde ich die alte einfach entsorgen falls keiner einen Tipp für mich hat.

Details: Es handelt sich um folgende Platte:

da1 at umass-sim1 bus 1 target 0 lun 0
da1: <ST325062 4A 3.AA> Fixed Direct Access SCSI-0 device
da1: 40.000MB/s transfers
da1: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)

Festgestellt habe ich das, da bei manchen Bildern nach dem Kopieren ab einer bestimmten Zeile die Farben falsch waren, es sind also wohl nur einzelne Bits/Bytes falsch.
Dann hab ich noch einen Test mit 800 Dateien zu insgesamt 3.2GB gemacht und md5-Hashs genommen. 5 Dateien waren fehlerhaft... wenn man dann den md5-Hash von den einzelnen Dateien nimmt, dann passt es wieder. (In einem zweiten Durchlauf war der Fehler bei 2 komplett anderen Dateien)

Auf der Platte ist eine ext2fs und eine ntfs-Partition, das Problem tritt bei beiden auf. Windows liest die ntfs-Partition aber ganz einwandfrei und solche Probleme treten nicht auf. Von daher liegt der Fehler am ehesten bei FreeBSD...

Wenn also jemand einen Tipp für mich hat, wo ich weitere Infos finde oder woran es liegen könnte, wäre ich dankbar :)

Flo
 
FreeBSD 7.2-RELEASE #0: Fri May 1 08:49:13 UTC 2009
[...]:/usr/obj/usr/src/sys/GENERIC

Ich hatte aber mit früheren Versionen von FreeBSD auch schon Schwierigkeiten mit der Platte, nur habe ich mir nie die Mühe gemacht das Problem so genau zu suchen ;)
 
Das klingt nach einem mehr oder weniger bekannten Problem. Der USB-Stack zerstört einfach bei einigen Kombinationen aus Controller und Gerät Daten. Bei einigen nur jede tausenste Datei, bei anderen jede zweite. Und um ehrlich zu sein, da FreeBSD 8.0 eine komplett neue USB-Implementierung bekommen wird, wird das eher niemand mehr reparieren. Mein Tipp wäre daher noch ein paar Wochen zu warten und auf FreeBSD 8.0 zu wechseln. Oder halt schon jetzt auf die aktuelle Beta-2.
 
OT:

Ich habe bzgl. des USB Stacks mal ne Frage. Ich habe hier auch ein paar Rechner mit FBSD7 rumstehen und sie stürzen allesamt ab wenn ich USB Speicher wieder entferne (lesen und schreiben selber geht prima). Mit FBSD6 ist das nicht der Fall, da geht alles tadellos. Auf einer alten Maschine die ich seit Ewigkeiten benutze habe ich seit Jahren keine Probleme feststellen können.

Es kommt mir also so vor als ob in Version 7 ein Fehler _reingekommen_ ist, der bei Version 8 wieder weg sein soll da sich jemand die Zeit genommen hat den USB Stack neu zu machen. Oder habe ich mit meinem FBSD6 Rechner einfach Glück?

Danke der Aufklärung
 
Schwer zu sagen. Mir geht es ähnlich, aber umgekehrt. Unter FreeBSD 6 lief alles ertragbar gut, aber noch lange nicht optimal. Seit FreeBSD 7 stürzt die Kiste sehr oft einfach ab, wenn man USB-Speicher einsteckt. Ich glaube, es liegt daran, dass seinerzeit direkt vor FreeBSD 7 eine ganze Menge USB-Patches aus diversen Bug-Reports mehr oder minder blind übernommen wurden, in der Hoffnung wenigstens die übelsten Probleme zu lösen. Was es bei einigen natürlich auch tat. Bei anderen aber löste es neue Bugs aus, inkompatible Hardware wurde noch inkompatbiler, etc. Daher die neuen Probleme.

FreeBSD 8 enthält das von Hans-Petter Selasky geschriebene "usb4bsd", was schon seit FreeBSD 5 in Form diverser Patches durch das Netz geisterte. Das ist ein von Grund auf neu geschriebener USB-Stack. Anders als der alte ist er SMP-fähig, blockiert also nicht mehr das ganze System. Hat deutlich weniger bis keine Fehler. Löst viele Sachen eleganter und moderner, was ihn nicht nur schneller, sondern auch um Lichtjahre zuverlässiger macht. Und das wichtigste ist vielleicht, dass er nicht sofort in die panic() springt, wenn mal Fehler auftreten, stattdessen kann er die Situation normalerweise noch retten. Man kann die Quirks, also die Workaround für inkonforme Hardware, nun auch zur Laufzeit per Tool setzen. Das sollte es möglich machen, auch sehr zickige Hardware zu nutzen. Alles in allem ist das Ding meiner bescheidenen Erfahrung nach nicht schlechter als das USB von Linux oder OS X. Lediglich Windows ist noch eine andere, höhere Klasse.
 
Mir geht es ähnlich, aber umgekehrt. Unter FreeBSD 6 lief alles ertragbar gut, aber noch lange nicht optimal. Seit FreeBSD 7 stürzt die Kiste sehr oft einfach ab, wenn man USB-Speicher einsteckt.

Ein Missverstaendnis. Mir geht es genauso wie Dir. Unter 6 geht es ganz gut aber unter 7 keine Chance. Ich freue mich dass es jetzt Abhilfe gibt.

Danke fuer die Infos.
 
Back
Top