RasPiCar Projekt Forum

Normale Version: libusb | Intenso externe SSD wird nicht gefunden, wenn komplett vom Strom genommen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Code:
[     2.015263] usb 1-1.5: new high-speed USB device number 4 using dwc_otg
[    2.024849] systemd[1]: Cannot add dependency job for unit regenerate_ssh_host_keys.service, ignoring: Unit regenerate_ssh_host_keys.service failed to load: No such file or directory.
[    2.028515] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
[    2.028857] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    2.028935] systemd[1]: Starting Remote File Systems (Pre).
[    2.146328] usb 1-1.5: New USB device found, idVendor=152d, idProduct=0579
[    2.146341] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.146349] usb 1-1.5: Product: USB Mass Storage
[    2.146357] usb 1-1.5: Manufacturer: JMicron
[    2.146365] usb 1-1.5: SerialNumber: 152D00579000
[    2.150058] usb-storage 1-1.5:1.0: USB Mass Storage device detected
[    2.154684] scsi host0: usb-storage 1-1.5:1.0
[    2.200072] fuse init (API version 7.26)
[    2.240728] i2c /dev entries driver
[    2.481409] systemd-udevd[150]: starting version 215
[    2.872393] rpi-ft5406 rpi_ft5406: Probing device
[    2.874663] input: FT5406 memory based driver as /devices/virtual/input/input0
[    3.077782] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000
[    3.078544] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[    3.206425] snd-hifiberry-digi soc:sound: ASoC: CPU DAI (null) not registered - will retry
[    3.212862] scsi 0:0:0:0: Direct-Access     JMICRON  JMS579                PQ: 0 ANSI: 6
[    3.214744] snd-hifiberry-digi soc:sound: ASoC: CPU DAI (null) not registered - will retry
[    3.215394] sd 0:0:0:0: [sda] Unit Not Ready
[    3.215410] sd 0:0:0:0: [sda] Sense Key : 0x5 [current]
[    3.215420] sd 0:0:0:0: [sda] ASC=0x20 ASCQ=0x0
[    3.217059] sd 0:0:0:0: [sda] Read Capacity(10) failed: Result: hostbyte=0x00 driverbyte=0x08
[    3.217074] sd 0:0:0:0: [sda] Sense Key : 0x5 [current]
[    3.217084] sd 0:0:0:0: [sda] ASC=0x20 ASCQ=0x0
[    3.217384] sd 0:0:0:0: [sda] Write Protect is off
[    3.217397] sd 0:0:0:0: [sda] Mode Sense: 00 00 00 00
[    3.217668] sd 0:0:0:0: [sda] Asking for cache data failed
[    3.217678] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    3.221771] sd 0:0:0:0: [sda] Unit Not Ready
[    3.221793] sd 0:0:0:0: [sda] Sense Key : 0x5 [current]
[    3.221803] sd 0:0:0:0: [sda] ASC=0x20 ASCQ=0x0
[    3.223906] sd 0:0:0:0: [sda] Read Capacity(10) failed: Result: hostbyte=0x00 driverbyte=0x08
[    3.223926] sd 0:0:0:0: [sda] Sense Key : 0x5 [current]
[    3.223936] sd 0:0:0:0: [sda] ASC=0x20 ASCQ=0x0
[    3.224821] sd 0:0:0:0: [sda] Attached SCSI disk


Hi,

da mein Auto nun schon 2 mal ohne Strom da stand (StromPi hat wohl genügend Strom gezogen), hab ich nun einen Wippschalter am Widerange der USV.
Sobald ich nun aber die USV vom Netz nehme (nachdem der Pi runtergefahren ist) und den Rechner wieder neustarte, wird meine SSD nicht mehr gefunden.
Ich hab alle möglichen Varianten an USB-Ports, mit und ohne GPS-Antenne, mit und ohne Power USB von StromPi, an StromPi Power-USB selbst angeschlossen, USB-Hub Stromversorgung kurzzeitig kappen über "Kurzschlusstrigger" (https://www.raspberrypi.org/forums/viewt...90#p651809) und und und.
der USB-Controller weiß, dass am Port irgendwas angeschlossen ist, erkennt es nur nicht richtig. Wenn ich die SSD im Betrieb abkabel und wieder anschließe, wird sie schließlich als Intenso gemounted, so wie es in der fstab festgeschrieben ist.

Hat hier irgendwer einen Lösungsvorschlag? Ich möchte nicht immer zwischen Batterieentladen und Pi ausbauen + Festplatte an/abstöpseln entscheiden müssen.

-------

Nachtrag:
Beim kurzen Studium vom USB-Protokoll kam mir die Idee, eventuell nach dem Reboot per libusb oder ioctl nochmal einen configuration transfer auszuführen, um das Device korrekt zu laden.

Hier ein möglicher Code zum Resetten des Devices, was aber nicht zum erneuten Laden der Konfigurationsdaten führt:

Code:
/* usbreset -- send a USB port reset to a USB device */

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/ioctl.h>

#include <linux/usbdevice_fs.h>


int main(int argc, char **argv)
{
   const char *filename;
   int fd;
   int rc;

   if (argc != 2) {
       fprintf(stderr, "Usage: usbreset device-filename\n");
       return 1;
   }
   filename = argv[1];

   fd = open(filename, O_WRONLY);
   if (fd < 0) {
       perror("Error opening output file");
       return 1;
   }

   printf("Resetting USB device %s\n", filename);
   rc = ioctl(fd, USBDEVFS_RESET, 0);
   if (rc < 0) {
       perror("Error in ioctl");
       return 1;
   }
   printf("Reset successful\n");

   close(fd);
   return 0;
}

https://askubuntu.com/questions/645/how-...mmand-line

Hat hier jemand eine Lösung parat? Hab bisher nicht mit USB gearbeitet.
Also nach langer Recherche und tausenden Varianten USB abzuschießen und neu/anders zu laden habe ich nun das Ergebnis fürs Archiv:
Wenn eine StromPi 2 genutzt wird, dann kann der Fehler vorkommen. Die StromPi 2 hat einen Micro-USB-Ausgang, den man an den Hub des PIs anschließen kann, wodurch den USB-Slots mehr Strom zur Verfügung stehen soll. Allerdings führt diese Verbindung eben zu der fehlerhaften Erkennung des USB-Devices. Sobald die USB-Power-Verbindung ab ist, funktioniert alles wie gewollt :-)