Prozesse, die auf ein USB-Gerät zugreifen, werden eingefroren und können nicht mehr unterbrochen werden
974
tmlen
Ich habe ein Programm, das eine große Anzahl von Dateien auf ein externes USB-3-Laufwerk mit NTFS-Dateisystem schreiben soll. Es scheint ein Problem zu geben: Zuerst friert es periodisch einige Minuten ein, dann friert es dauerhaft ein.
Der Prozess wird unterbrechungsfrei. Screenshot: .
Der Wartekanal ist "read_descriptor". Alle diese Prozesse (es wurde versucht, sie mehrmals zu starten) haben die Datei /sys/.../usb4/descriptors geöffnet.
In diesem Zustand scheinen alle Befehle, die auf das USB-Gerät zugreifen, einzufrieren. Einschließlich:
lsusb
cat /sys/kernel/debug/usb/devices
USB Reset-Skripts, die aufrufen /sys/..../unbind
Nachdem ich versucht hatte, die Partition zu deinstallieren, nachdem sie verwendet wurde umount --force(möglicherweise auch andere Befehle, nicht mehr genau weiß), wurde die Bereitstellung aufgehoben und beim Aufruf nicht mehr angezeigt mount. In der Anwendung " Festplatten" wird jedoch immer noch "Unmounting Filesystem" angezeigt.
Auch die Festplatte hat viele fehlerhafte Sektoren (984 bereits). Es ist ein völlig neuer Antrieb. Es scheint schlechte Sektoren zu bekommen, wenn Sie von Linux aus darauf schreiben.
Gibt es eine Möglichkeit, das USB-Subsystem neu zu starten / das Gerät zu trennen, ohne das System neu zu starten? ( update-grubAuch blockiert und die Standardeinstellung des Bootloader-Menüs ist falsch eingestellt, sodass ich nach dem Neustart keine Remote-Verbindung herstellen kann).
Und was könnte dieses Problem mit dem USB-Laufwerk verursachen?
Das System schien auch ähnliche Probleme mit einem anderen externen USB-Laufwerk zu haben (Lesen verlangsamte sich auf weniger als 1 MB / s).
Das System ist Ubuntu Linux, 16.04.2 LTS, Xenial auf einer 64-Bit-Maschine
Update :
lspci:
00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06) 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06) 00:14.0 USB controller: Intel Corporation 9 Series Chipset Family USB xHCI Controller 00:16.0 Communication controller: Intel Corporation 9 Series Chipset Family ME Interface #1 00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V 00:1a.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2 00:1b.0 Audio device: Intel Corporation 9 Series Chipset Family HD Audio Controller 00:1c.0 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 1 (rev d0) 00:1c.3 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d0) 00:1d.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1 00:1f.0 ISA bridge: Intel Corporation 9 Series Chipset Family H97 Controller 00:1f.2 SATA controller: Intel Corporation 9 Series Chipset Family SATA Controller [AHCI Mode] 00:1f.3 SMBus: Intel Corporation 9 Series Chipset Family SMBus Controller 01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 740] (rev a1) 01:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1) 03:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 04)
Ist das Laufwerk ein SSD- oder HDD-Laufwerk? Sie sagen, Sie glauben, dass Linux-Schreiben dazu schlechte Sektoren verursacht. Ich meine damit, dass Sie Fenster auf dem gleichen Rechner haben, und es scheint nicht dasselbe Problem zu verursachen. Ist das richtig?
Cliff Armstrong vor 6 Jahren
0
es ist hdd (LaCie Porsche Design 4 TB, Seagate-Laufwerk). ja unter windows macht es bo probleme: schrieb etwa 500GB drauf, nein es gab kein einfrieren und keine fehlersuche im dateisystem danach
tmlen vor 6 Jahren
0
Sehr eigenartig. Sie haben Hardware als mögliche Ursache funktionell eliminiert. Ich kann mir nur vorstellen, dass es eine Inkompatibilität zwischen den Kernelmodulen und dem USB-Host gibt. Können wir ein "lspci" bekommen, um zu sehen, welche USB-Hosts Sie haben? `lsmod` kann auch nützlich sein, um zu sehen, welche Kernel-Module Ihr System verwendet.
Cliff Armstrong vor 6 Jahren
0
hat es in die Post aufgenommen
tmlen vor 6 Jahren
0
Es zeigt nicht das xhci (usb 3) -Modul, es könnte jedoch in den Kernel kompiliert werden. Was zeigt `lspci -v -s 14.0`?
Cliff Armstrong vor 6 Jahren
0
Das ehci-Modul wird auch nicht angezeigt. `lspci -v -s 1d.0`?
Cliff Armstrong vor 6 Jahren
0
Können Sie feststellen, ob LPM (Link Power Management) für diese beiden Betriebssysteme aktiviert / deaktiviert ist?
Ale..chenski vor 6 Jahren
0
Wenn es einige große Dateien gab, könnten Sie "sudo mount -o big_writes / media /" verwenden. / dev /", wodurch verhindert wird, dass * fuse * große Dateien aufteilt, was für viele kleine Dateien jedoch nicht hilfreich ist. Eine andere Option ist das Mounten mithilfe der Option sync, wodurch Schreibvorgänge vor dem nächsten Start erzwungen werden. Siehe https://askubuntu.com/questions / 297029 / automount-with-async-option
DrMoishe Pippik vor 6 Jahren
0
xhci und ehci schienen eingebaut zu sein. (Zeigt eine solche Meldung an, als versucht wurde, sie mit `modprobe` zu deaktivieren)
tmlen vor 6 Jahren
0
Gibt es für NTFS nicht ein Limit von 2,2 TB?
Ale..chenski vor 6 Jahren
0
Es verursacht jetzt dasselbe Problem in Windows (E / A-Fehler beim Kopieren mit 7zip und dann `diskpart` und andere Anwendungen frieren ein). Es heißt nicht "Stromstoß am USB-Anschluss" oder "Gerät benötigt mehr Strom, als der Anschluss bereitstellen kann" und hängt nicht mehr an. Es ist ein USB-3-Laufwerk mit einem USB-C-Anschluss am Laufwerk.
tmlen vor 6 Jahren
0
1 Antwort auf die Frage
1
Ale..chenski
Wenn sich der "wartende Kanal" im "read_descriptor" -Zustand befindet, bedeutet dies, dass der USB-Kanal nach einem ziemlich schwerwiegenden Hardwareproblem in eine schwere Wiederherstellung ging, da die "Deskriptorstufe" nur beim Zurücksetzen des Ports auftritt und das Zurücksetzen des Ports nur dann erfolgt, wenn eine Wiederherstellung nicht möglich ist Transaktionsfehler auftritt
Die Tatsache, dass es nur unter Windows funktioniert, bedeutet, dass die Betriebssystemsoftware wahrscheinlich unterschiedliche Hardwarekonfigurationen und Controller / PHY-Parameter verwendet.
Ich vermute stark, dass hier das Link Power Management (LPM) schuld ist. Die Linux-Distribution ermöglicht wahrscheinlich alle Schnickschnackereien und die neuesten und größten, während Windows möglicherweise einen sogenannten von Intel entwickelten "Filtertreiber" verwendet, um einige Controller-Mängel zu beheben.
Die LPM-Zustände U1 und U2 treten auf Hardwareebene auf und sind daher von der Softwareseite aus nicht sichtbar. Um festzustellen, ob der Link hin und her in LPM Staaten geht, müssen Sie einen Super-Speed - USB - Protokoll - Analysator, Ellisys 280 oder Teledyne LeCroy Advisor T3 oder ein anderes Werkzeug, das LPM Staaten auf Super-Speed - Link erkennen, wie diese viel weniger teures Werkzeug .
Handelt es sich bei den "fehlerhaften Sektoren" wahrscheinlich um Hardwareschäden oder einfach um logische Fehler im Dateisystem oder um Fehllesungen?
tmlen vor 6 Jahren
0
@tmlen, schwer zu sagen. Das Problem hängt wahrscheinlich mit der USB-Schnittstelle zusammen, die zufällig hängt, aber in welchem Ausmaß das SATA-Laufwerk beschädigt werden kann, weiß ich nicht. Nehmen Sie das Laufwerk heraus, stecken Sie es in ein normales SATA-Kabel und testen / formatieren Sie es gründlich mit einem funktionierenden vertrauenswürdigen Betriebssystem.
Ale..chenski vor 6 Jahren
0