#9655: External usb hard disk with switch doesn't work/mount properly -------------------------+------------------------------------------------- Reporter: Giova84 | Owner: mmlr Type: bug | Status: new Priority: normal | Milestone: R1 Component: | Version: R1/Development Drivers/USB | Keywords: External usb hard disk with switch Resolution: | doesn't work properly spindown mount Blocked By: | Blocking: Has a Patch: 0 | Platform: x86 -------------------------+------------------------------------------------- Comment (by mmlr): There's really no mystery as to the power button here. The usb_disk driver is a really simple driver that supports a subset of SCSI, just enough to get most USB mass storage devices going. It is not a SCSI module and does not share code with the SCSI layer. It eventually needs to be rewritten to be such a module, but for this to happen the USB stack itself has to be brought to the new device API. Noone has done that work yet, as it's kind of non trivial. In any case, usb_disk does not support spin up/down. It does not attempt to power the disk on when a new device is attached. It assumes that when a device is connected and enumerating a LUN, the backing device is powered already. This assumption holds for pretty much every USB stick and most card readers or similar devices. It usually holds for external USB disks as well, but breaks in the case of your device. The delay you mention in bringing the device back up once it has spun down comes from the same limitation. The usb_disk driver does not recognise the fact that the disk is not powered anymore and does not take action to bring it back up. Instead it simply sees this case as a generic error and initiates a normal mass storage reset. In the case of your device it seems like that also powers the disk back on (this is implementation dependent). The reset procedure does however take a lot longer than a simple spin up would, that's where the delay you see comes from. I don't have an explanation for the "unmount on opening a zip file" problem, it is probably unrelated to usb_disk. The behaviour you describe sounds more like a filesystem problem causing the volume to be uncleanly unmounted on an error. Re-opening a file from that disk could then cause the volume to be auto mounted again. If it was a usb_disk error that caused the device to vanish, there would be no volume to be mounted anymore. Please provide a syslog snippet so this can be verified and possibly open a new ticket if it clearly is a filesystem error. -- Ticket URL: <http://dev.haiku-os.org/ticket/9655#comment:11> Haiku <http://dev.haiku-os.org> Haiku - the operating system.