Bug 249254

Summary: USB hard drive not shown as hotpluggable
Product: [Fedora] Fedora Reporter: Chris Hubick <chris>
Component: halAssignee: David Zeuthen <davidz>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 7CC: mclasen, triage
Target Milestone: ---   
Target Release: ---   
Hardware: ia64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-06-17 01:56:28 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
entire hal-device output none

Description Chris Hubick 2007-07-23 10:39:19 UTC
I am running a LiveCD of the initial 2007-05-31 release of Fedora 7.

I plug my Vantec NexStar 3 2.5" hard drive enclosure via a USB cable into my
Intel DQ965GF motherboard.  The drive has a single primary partition which is
formatted ext3.  I expect to see the drive icon show up on my desktop, but it
does not.

/var/log/messages shows:
kernel: usb 7-1: new high speed USB device using ehci_hcd and address 4
kernel: usb 7-1: configuration #1 chosen from 1 choice
kernel: scsi10 : SCSI emulation for USB Mass Storage devices
kernel: scsi 10:0:0:0: Direct-Access     ST910021         3MH0L3LA      PQ: 0
ANSI: 2 CCS
kernel: SCSI device sde: 195371568 512-byte hdwr sectors (100030 MB)
kernel: sde: Write Protect is off
kernel: sde: assuming drive cache: write through
kernel: SCSI device sde: 195371568 512-byte hdwr sectors (100030 MB)
kernel: sde: Write Protect is off
kernel: sde: assuming drive cache: write through
kernel:  sde: sde1
kernel: sd 10:0:0:0: Attached scsi disk sde
kernel: sd 10:0:0:0: Attached scsi generic sg0 type 0

gnome-mount says 'Device has /dev/sde1 volume.ignore set to TRUE. Refusing to
mount.'

I believe volume.ignore is set TRUE by
/usr/share/hal/fdi/policy/10osvendor/99-redhat-storage-policy-fixed-drives.fdi
because hal-device shows @block.storage_device:storage.hotpluggable = false.

The question then is, why is the USB drive I just hotplugged in not shown as
hotpluggable?

Looking at
http://webcvs.freedesktop.org/hal/hal/hald/linux2/blockdev.c?revision=1.43&view=markup
the hotplug_event_begin_add_blockdev function has a section for 'storage
devices' which appears to walk up the device chain and set is_hotpluggable =
TRUE for devices with an "info.bus" of "usb".

Looking at the output of hal-device, it shows my drive as having storage.bus =
'scsi', rather than 'usb'.  Looking at the relevant output we see:

0: udi =
'/org/freedesktop/Hal/devices/volume_uuid_adea38af_1d06_408d_9538_bee14f7bd3e4'
  info.product = 'chdata'  (string)
  info.parent =
'/org/freedesktop/Hal/devices/storage_serial_ST910021_3MH0L3LA_22223720636A' 
(string)

1: udi =
'/org/freedesktop/Hal/devices/storage_serial_ST910021_3MH0L3LA_22223720636A'
  info.product = '        3MH0L3LA'  (string)
  info.parent =
'/org/freedesktop/Hal/devices/usb_device_152d_2338_22223720636A_scsi_host_scsi_device_lun0'
 (string)

2: udi =
'/org/freedesktop/Hal/devices/usb_device_152d_2338_22223720636A_scsi_host_scsi_device_lun0'
  info.bus = 'scsi'  (string)
  info.product = 'SCSI Device'  (string)
  info.parent =
'/org/freedesktop/Hal/devices/usb_device_152d_2338_22223720636A_scsi_host'  (string)

3: udi = '/org/freedesktop/Hal/devices/usb_device_152d_2338_22223720636A_scsi_host'
  info.product = 'SCSI Host Adapter'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_152d_2338_22223720636A'
 (string)

6: udi = '/org/freedesktop/Hal/devices/usb_device_152d_2338_22223720636A'
  info.product = 'USB to ATA/ATAPI Bridge'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_0_0_0000_00_1d_7'  (string)
  info.vendor = 'JMicron'  (string)
  info.bus = 'usb_device'  (string)

76: udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000_00_1d_7'
  info.product = 'EHCI Host Controller'  (string)
  info.parent = '/org/freedesktop/Hal/devices/pci_8086_2836'  (string)
  info.bus = 'usb_device'  (string)

77: udi = '/org/freedesktop/Hal/devices/pci_8086_2836'
  info.bus = 'pci'  (string)
  info.product = '82801H (ICH8 Family) USB2 EHCI Controller #1'  (string)
  info.parent = '/org/freedesktop/Hal/devices/computer'  (string)

This shows that there is no device in the chain with an "info.bus" value of
"usb", only of "usb-device", thus the bottom "scsi" bus remains in effect, and
the device is not set as hotpluggable.

I don't know if this is a bug in the driver of the JMicron USB controller, or
should HAL handle the "usb-device" case as it walks the device chain?  I will
file against HAL, sorry if that's incorrect, and feel free to reassign.

Thanks.

Comment 1 Chris Hubick 2007-07-23 10:39:19 UTC
Created attachment 159771 [details]
entire hal-device output

Comment 2 Chris Hubick 2007-07-26 19:22:39 UTC
Looks like the current code at
http://gitweb.freedesktop.org/?p=hal.git;a=blob;f=hald/linux/blockdev.c does the
same thing.


Comment 3 Bug Zapper 2008-05-14 13:38:10 UTC
This message is a reminder that Fedora 7 is nearing the end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 7. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '7'.

Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 7's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 7 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug. If you are unable to change the version, please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. If possible, it is recommended that you try the newest available Fedora distribution to see if your bug still exists.

Please read the Release Notes for the newest Fedora distribution to make sure it will meet your needs:
http://docs.fedoraproject.org/release-notes/

The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 4 Bug Zapper 2008-06-17 01:56:27 UTC
Fedora 7 changed to end-of-life (EOL) status on June 13, 2008. 
Fedora 7 is no longer maintained, which means that it will not 
receive any further security or bug fix updates. As a result we 
are closing this bug. 

If you can reproduce this bug against a currently maintained version 
of Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.