Re: [Banshee-List] iPod is seen as read only since 0.12.1 (and changes to libipoddevice)



Just in case anybody else ever has this problem, here's what I found:

volume.is_mounted_read_only started as part of the HAL spec 0.5.8. (The
code was added to the HAL source in March 2006.)  

Gentoo's latest "unmasked" HAL is 0.5.7, and that's what I'm running,
which explains why I don't get that property exported.  

I don't really care, because I'll upgrade now to 0.5.9 (which is in
Gentoo's portage tree but masked). 0.5.8 appears to have never been in
Gentoo's tree.

regards,
bill

On Wed, 2007-04-04 at 18:44 -0400, Aaron Bockover wrote:
> I'm not really sure how to troubleshoot this other than that
> volume.is_volume_mounted_readonly is a mandatory property for volume
> devices in HAL, is expected to be their by libipoddevice (and if not
> your volume is considered read only), and your device doesn't have it.
> 
> http://people.freedesktop.org/~david/hal-spec/hal-spec.html#device-properties-volume
> 
> I'm not sure when this property was introduced but it should be well
> before 0.5.7.
> 
> --Aaron
> 
> 
> On Wed, 2007-04-04 at 23:31 +0200, Bill Dawson wrote:
> > Dare I say it? It's gentoo (uh oh?).  
> > 
> > gnome-volume-manager 2.15.0
> > HAL package version: 0.5.7.1
> > 
> > 
> > On Wed, 2007-04-04 at 17:08 -0400, Aaron Bockover wrote:
> > > The problem is that your HAL and/or mount daemon (like GNOME Volume
> > > Manager) did not merge the volume.is_mounted_read_only property into the
> > > device tree, so we cannot verify how the mount is set up. I had to
> > > change the readonly detection logic to cater to HFS+ iPods, hence the
> > > change. While it may look like a regression in libipoddevice, it's
> > > actually due to an issue in your HAL/mount daemon.
> > > 
> > > What version of HAL are you using and what mount daemon and version
> > > (gnome-volume-manager, ivman, etc.). What distro?
> > > 
> > > The stuff printed to stderr looks like problems with your DBus
> > > installation.
> > > 
> > > --Aaron
> > > 
> > > On Wed, 2007-04-04 at 21:30 +0200, Bill Dawson wrote:
> > > > Here you go. The script produced both std and err output, and I
> > > > redirected them both to the same file, which is now pasted below. (all
> > > > the err stuff ended up on top.)  Thanks for having a look.
> > > > 
> > > > process 16717: Applications must not close shared connections - see
> > > > dbus_connection_close() docs. This is a bug in the application.
> > > >   D-Bus not built with -rdynamic so unable to print a backtrace
> > > > ./ipod-debug-dump.sh: line 20: 16717 Aborted                 hal-device
> > > > $udi
> > > > process 16719: Applications must not close shared connections - see
> > > > dbus_connection_close() docs. This is a bug in the application.
> > > >   D-Bus not built with -rdynamic so unable to print a backtrace
> > > > ./ipod-debug-dump.sh: line 31: 16719 Aborted                 hal-device
> > > > $child_udi
> > > > process 16722: Applications must not close shared connections - see
> > > > dbus_connection_close() docs. This is a bug in the application.
> > > >   D-Bus not built with -rdynamic so unable to print a backtrace
> > > > ./ipod-debug-dump.sh: line 31: 16722 Aborted                 hal-device
> > > > $child_udi
> > > >       wcdiii
> > > >    Host Name:        BILLIBM
> > > > 
> > > > 
> > > > 
> > > > [[-------------------- HAL Dump -------------------]]
> > > > 
> > > > <---- iPod Device 1 ---->
> > > > udi =
> > > > '/org/freedesktop/Hal/devices/storage_serial_Apple_iPod_000000925917'
> > > >   info.addons = { 'hald-addon-storage' } (string list)
> > > >   portable_audio_player.output_formats = { 'audio/mpeg', 'audio/aac' }
> > > > (string list)
> > > >   portable_audio_player.storage_device =
> > > > '/org/freedesktop/Hal/devices/storage_serial_Apple_iPod_000000925917'
> > > > (string)
> > > >   portable_audio_player.type = 'ipod'  (string)
> > > >   portable_audio_player.access_method = 'storage'  (string)
> > > >   block.storage_device =
> > > > '/org/freedesktop/Hal/devices/storage_serial_Apple_iPod_000000925917'
> > > > (string)
> > > >   info.udi =
> > > > '/org/freedesktop/Hal/devices/storage_serial_Apple_iPod_000000925917'
> > > > (string)
> > > >   storage.requires_eject = true  (bool)
> > > >   storage.hotpluggable = true  (bool)
> > > >   info.capabilities = { 'storage', 'block', 'portable_audio_player' }
> > > > (string list)
> > > >   info.category = 'portable_audio_player'  (string)
> > > >   info.product = 'iPod'  (string)
> > > >   info.vendor = 'Apple'  (string)
> > > >   storage.removable = true  (bool)
> > > >   storage.physical_device =
> > > > '/org/freedesktop/Hal/devices/usb_device_5ac_1205_000000925917_if0'
> > > > (string)
> > > >   storage.lun = 0  (0x0)  (int)
> > > >   storage.firmware_version = '1.62'  (string)
> > > >   storage.serial = 'Apple_iPod_000000925917'  (string)
> > > >   storage.vendor = 'Apple'  (string)
> > > >   storage.model = 'iPod'  (string)
> > > >   storage.drive_type = 'disk'  (string)
> > > >   storage.automount_enabled_hint = true  (bool)
> > > >   storage.media_check_enabled = true  (bool)
> > > >   storage.no_partitions_hint = false  (bool)
> > > >   storage.bus = 'usb'  (string)
> > > >   block.is_volume = false  (bool)
> > > >   block.minor = 0  (0x0)  (int)
> > > >   block.major = 8  (0x8)  (int)
> > > >   block.device = '/dev/sda'  (string)
> > > >   linux.hotplug_type = 3  (0x3)  (int)
> > > >   info.parent =
> > > > '/org/freedesktop/Hal/devices/usb_device_5ac_1205_000000925917_if0_scsi_host_scsi_device_lun0'  (string)
> > > >   linux.sysfs_path_device = '/sys/block/sda'  (string)
> > > >   linux.sysfs_path = '/sys/block/sda'  (string)
> > > > 
> > > > udi = '/org/freedesktop/Hal/devices/volume_part1_size_41094144'
> > > >   info.udi = '/org/freedesktop/Hal/devices/volume_part1_size_41094144'
> > > > (string)
> > > >   volume.partition.msdos_part_table_type = 0  (0x0)  (int)
> > > >   info.product = 'Volume'  (string)
> > > >   volume.size = 41094144  (0x2730c00)  (uint64)
> > > >   volume.num_blocks = 80262  (0x13986)  (int)
> > > >   volume.block_size = 512  (0x200)  (int)
> > > >   volume.partition.number = 1  (0x1)  (int)
> > > >   info.capabilities = { 'volume', 'block' } (string list)
> > > >   info.category = 'volume'  (string)
> > > >   volume.is_partition = true  (bool)
> > > >   volume.is_disc = false  (bool)
> > > >   volume.is_mounted = false  (bool)
> > > >   volume.mount_point = ''  (string)
> > > >   volume.label = ''  (string)
> > > >   volume.uuid = ''  (string)
> > > >   volume.fsversion = ''  (string)
> > > >   volume.fsusage = ''  (string)
> > > >   volume.fstype = ''  (string)
> > > >   storage.model = ''  (string)
> > > >   block.storage_device =
> > > > '/org/freedesktop/Hal/devices/storage_serial_Apple_iPod_000000925917'
> > > > (string)
> > > >   block.is_volume = true  (bool)
> > > >   block.minor = 1  (0x1)  (int)
> > > >   block.major = 8  (0x8)  (int)
> > > >   block.device = '/dev/sda1'  (string)
> > > >   linux.hotplug_type = 3  (0x3)  (int)
> > > >   info.parent =
> > > > '/org/freedesktop/Hal/devices/storage_serial_Apple_iPod_000000925917'
> > > > (string)
> > > >   linux.sysfs_path_device = '/sys/block/sda/sda1'  (string)
> > > >   linux.sysfs_path = '/sys/block/sda/sda1'  (string)
> > > > 
> > > > udi = '/org/freedesktop/Hal/devices/volume_uuid_B258_9E2A'
> > > >   info.hal_mount.mounted_by_uid = 1000  (0x3e8)  (int)
> > > >   info.hal_mount.created_mount_point = '/media/BLUEMINI'  (string)
> > > >   info.callouts.add = { 'hal-ipod-info' } (string list)
> > > >   volume.unmount.valid_options = { 'lazy' } (string list)
> > > >   volume.mount.valid_options = { 'ro', 'sync', 'dirsync', 'noatime',
> > > > 'nodiratime', 'noexec', 'quiet', 'utf8', 'shortname=', 'codepage=',
> > > > 'iocharset=', 'umask=', 'dmask=', 'fmask=', 'uid=' } (string list)
> > > >   org.freedesktop.Hal.Device.Volume.method_execpaths =
> > > > { 'hal-system-storage-mount', 'hal-system-storage-unmount',
> > > > 'hal-system-storage-eject', 'hal-ipod-info' } (string list)
> > > >   org.freedesktop.Hal.Device.Volume.method_signatures = { 'ssas', 'as',
> > > > 'as', 'as' } (string list)
> > > >   org.freedesktop.Hal.Device.Volume.method_names = { 'Mount', 'Unmount',
> > > > 'Eject', 'WriteIpodInfo' } (string list)
> > > >   info.interfaces = { 'org.freedesktop.Hal.Device.Volume' } (string
> > > > list)
> > > >   volume.ignore = false  (bool)
> > > >   info.udi = '/org/freedesktop/Hal/devices/volume_uuid_B258_9E2A'
> > > > (string)
> > > >   volume.partition.msdos_part_table_type = 11  (0xb)  (int)
> > > >   info.product = 'BLUEMINI'  (string)
> > > >   volume.size = 4046837760  (0xf135d800)  (uint64)
> > > >   volume.num_blocks = 7903980  (0x789aec)  (int)
> > > >   volume.block_size = 512  (0x200)  (int)
> > > >   volume.partition.number = 2  (0x2)  (int)
> > > >   info.capabilities = { 'volume', 'block' } (string list)
> > > >   info.category = 'volume'  (string)
> > > >   volume.is_partition = true  (bool)
> > > >   volume.is_disc = false  (bool)
> > > >   volume.is_mounted = true  (bool)
> > > >   volume.mount_point = '/media/BLUEMINI'  (string)
> > > >   volume.label = 'BLUEMINI'  (string)
> > > >   volume.uuid = 'B258-9E2A'  (string)
> > > >   volume.fsversion = 'FAT32'  (string)
> > > >   volume.fsusage = 'filesystem'  (string)
> > > >   volume.fstype = 'vfat'  (string)
> > > >   storage.model = ''  (string)
> > > >   block.storage_device =
> > > > '/org/freedesktop/Hal/devices/storage_serial_Apple_iPod_000000925917'
> > > > (string)
> > > >   block.is_volume = true  (bool)
> > > >   block.minor = 2  (0x2)  (int)
> > > >   block.major = 8  (0x8)  (int)
> > > >   block.device = '/dev/sda2'  (string)
> > > >   linux.hotplug_type = 3  (0x3)  (int)
> > > >   info.parent =
> > > > '/org/freedesktop/Hal/devices/storage_serial_Apple_iPod_000000925917'
> > > > (string)
> > > >   linux.sysfs_path_device = '/sys/block/sda/sda2'  (string)
> > > >   linux.sysfs_path = '/sys/block/sda/sda2'  (string)
> > > > 
> > > >       ************************* WARNING *************************
> > > >       * This iPod suffers from the volume.fsusage=raid bug.     *
> > > >       * As such, it cannot be used in Banshee. This is not a    *
> > > >       * Banshee or gnome-volume-manager bug. And the issue is   *
> > > >       * very well known.                                        *
> > > >       *                                                         *
> > > >       * Please read the following web page for more information *
> > > >       * including possible fixes to the problem:                *
> > > >       *                                                         *
> > > >       * http://banshee-project.org/Troubleshooting/iPod/RaidBug *
> > > >       ***********************************************************
> > > > 
> > > > 
> > > > 
> > > > On Wed, 2007-04-04 at 12:51 -0400, Aaron Bockover wrote:
> > > > > Bill,
> > > > > 
> > > > > Would you mind running the following script with your Mini plugged in
> > > > > and paste the results in a reply?
> > > > > 
> > > > > http://banshee-project.org/files/ipod-debug-dump.sh
> > > > > 
> > > > > Thanks,
> > > > > Aaron
> > > > > 
> > > > > On Wed, 2007-04-04 at 13:43 +0200, Bill Dawson wrote:
> > > > > > I wonder if anybody else has seen this.  The latest changes to
> > > > > > libipoddevice -- many of which were to determine if an iPod is read-only
> > > > > > -- have resulted in my 1st Gen ipod mini (blue) being seen as read-only.
> > > > > > (For example,the synchronize button is no longer available).
> > > > > > 
> > > > > > I traced it back to ipodsharp's Device.cs bool CanWrite returning false.
> > > > > > It, in turn, reaches into libipoddevice's "can-write" property (if I
> > > > > > understand the code correctly.)  I've just quickly reviewed the
> > > > > > libipoddevice's C code recent changes and it looks like a lot has been
> > > > > > added re making this determination of if something is writeable.  I've
> > > > > > not studied it too closely-- maybe someone knows a quick fix.  
> > > > > > 
> > > > > > I can file a bug to the iPod component if desired.
> > > > > > 
> > > > > > In the meantime, I'm just forcing ipodsharp's Device.cs CanWrite() to
> > > > > > return true.
> > > > > > 
> > > > > > iPod properties in Banshee accurately shows my model info:
> > > > > > 
> > > > > > Generation: First
> > > > > > Model: MiniBlue
> > > > > > Model Number: M9436
> > > > > > Serial Number: JQ4380FYQKL
> > > > > > Firmware Version: 2.6.1
> > > > > > Database version: 13
> > > > > > Manufactured During: Week 38 of 2004
> > > > > > 
> > > > > > Thx, 
> > > > > > Bill Dawson
> > > > > > 
> > > > > > 
> > > > > > _______________________________________________
> > > > > > Banshee-list mailing list
> > > > > > Banshee-list gnome org
> > > > > > http://mail.gnome.org/mailman/listinfo/banshee-list
> > > > > 
> > > > 
> > > 
> > 
> 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]