usb-creator does not work with usb/ide disk enclosure
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
HAL |
Invalid
|
Undecided
|
Unassigned | ||
usb-creator (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bug Description
Binary package hint: usb-creator
(everything here was running under vmware fusion on a mac)
This issue affects intrepid-beta and usb-creator version 0.1.9
I have a generic ide-to-usb disk enclosure attached to my virtual machine. The disk shows up in nautilus and works as expected. The relevant lsusb entry is:
Bus 002 Device 011: ID 058f:6391 Alcor Micro Corp.
I manually formatted that disk to have one vfat partition. I would expect it to show up in usb-creator but it did not.
After inspecting the code the issue was caused by the fact that usb-creator requires removable devices.
The following patch makes it possible to use usb-creator in my case:
root@intrepid-
--- /usr/share/
+++ backend.py 2008-10-26 20:06:20.000000000 +0100
@@ -353,8 +353,7 @@
d = dbus.Interface(
if d.GetProperty(
- if d.GetProperty(
- d.GetProperty(
+ if d.GetProperty(
if d.GetProperty(
The person called Persia had this insight on #ubuntu-devel:
(20:03:21) persia: zyga, Surely that's a HAL bug though, rather than a usb-creator bug.
This is the output of hal-device for that particular drive *after* patching usb-creator and installing ubuntu onto it:
0: udi = '/org/freedeskt op/Hal/ devices/ volume_ uuid_C7E3_ 1AF8' mount_point = '/media/UBUNTU' (string) hotplug_ type = 3 (0x3) (int) is_mounted_ read_only = false (bool) linux.is_ device_ mapper = false (bool) op/Hal/ devices/ volume_ uuid_C7E3_ 1AF8' (string) is_partition = true (bool) partition. number = 1 (0x1) (int) partition. start = 32256 (0x7e00) (uint64) partition. media_size = 40060403712 (0x953c94000) (uint64) partition. scheme = 'mbr' (string) partition. type = '0x0b' (string) partition. label = '' (string) partition. uuid = '' (string) partition. flags = { } (string list) op.Hal. Device. Volume. method_ names = { 'Mount', 'Unmount', 'Eject' } (string list) op.Hal. Device. Volume. method_ signatures = { 'ssas', 'as', 'as' } (string list) op.Hal. Device. Volume. method_ argnames = { 'mount_point fstype extra_options', 'extra_options', 'extra_options' } (string list) op.Hal. Device. Volume. method_ execpaths = { 'hal-storage- mount', 'hal-storage- unmount' , 'hal-storage-eject' } (string list) mount.valid_ options = { 'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'noexec', 'quiet', 'remount', 'exec', 'utf8', 'shortname=', 'codepage=', 'iocharset=', 'umask=', 'dmask=', 'fmask=', 'uid=', 'flush' } (string list) unmount. valid_options = { 'lazy' } (string list) pci0000: 00/0000: 00:11.0/ 0000:02: 03.0/usb2/ 2-1/2-1: 1.0/host12/ target12: 0:0/12: 0:0:0/block/ sdb/sdb1' (string) storage_ device = '/org/freedeskt op/Hal/ devices/ storage_ serial_ Generic_ USB_Disk_ 0_0' (string) op/Hal/ devices/ storage_ serial_ Generic_ USB_Disk_ 0_0' (string) p.Hal.Device. Volume' } (string list)
volume.fsversion = 'FAT32' (string)
volume.uuid = 'C7E3-1AF8' (string)
volume.label = 'UBUNTU' (string)
volume.
volume.is_mounted = true (bool)
linux.
volume.
info.product = 'UBUNTU' (string)
volume.
info.capabilities = { 'volume', 'block' } (string list)
volume.is_disc = false (bool)
info.udi = '/org/freedeskt
block.device = '/dev/sdb1' (string)
volume.
block.major = 8 (0x8) (int)
volume.
block.minor = 17 (0x11) (int)
volume.block_size = 512 (0x200) (int)
block.is_volume = true (bool)
volume.num_blocks = 78242913 (0x4a9e461) (uint64)
volume.size = 40060371456 (0x953c8c200) (uint64)
volume.
info.category = 'volume' (string)
volume.
volume.
volume.
storage.model = '' (string)
volume.
volume.
volume.
volume.ignore = false (bool)
org.freedeskt
org.freedeskt
org.freedeskt
org.freedeskt
volume.
volume.
linux.sysfs_path = '/sys/devices/
block.
info.parent = '/org/freedeskt
info.interfaces = { 'org.freedeskto
volume.fstype = 'vfat' (string)
volume.fsusage = 'filesystem' (string)