Subject: rhythmbox: ipod touch not recongnized anymore

From: Ulrik Sverdrup <[email-masked]>
Date: Sun, 21 Jun 2009 22:13:40 +0200

Package: rhythmbox
Version: 0.12.1-1
Severity: normal

Using a jailbroken ipod touch mounted over sshfs,
I installed libgpod4 and the previous version of rhythmbox,
0.11.x, recognized the new ipod fine, it showed up in rhythmbox
as soon as it was mounted using sshfs.

Now, the ipod does not show up at all. It is displayed as a
digital camera in nautilus if connected by cable. If mounted wirelessly
with sshfs, it does not show up at all in rhythmbox. It does get an
ipod icon in nautilus.

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (900, 'testing'), (1, 'experimental')
Architecture: powerpc (ppc)

Kernel: Linux 2.6.27-rc8fastboot
Locale: LANG=sv_SE.UTF-8, LC_CTYPE=sv_SE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages rhythmbox depends on:
ii  dbus         1.2.12-1                    simple interprocess messaging syst
ii  gconf2       2.26.2-1                    GNOME configuration database syste
ii  gnome-icon-t 2.26.0-1                    GNOME Desktop icon theme
ii  gstreamer0.1 0.10.23-2                   GStreamer plugin for ALSA
ii  gstreamer0.1 0.10.15-2                   GStreamer plugin for ESD
ii  gstreamer0.1 0.10.12-1                   GStreamer plugins from the "bad" s
ii  gstreamer0.1 0.10.23-2                   GStreamer plugins from the "base" 
ii  gstreamer0.1 0.10.15-2                   GStreamer plugins from the "good" 
ii  gstreamer0.1 0.10.23-2                   GStreamer plugins for X11 and Pang
ii  libatk1.0-0  1.26.0-1                    The ATK accessibility toolkit
ii  libavahi-cli 0.6.25-1                    Avahi client library
ii  libavahi-com 0.6.25-1                    Avahi common library
ii  libavahi-gli 0.6.25-1                    Avahi glib integration library
ii  libbonobo2-0 2.24.1-1                    Bonobo CORBA interfaces library
ii  libc6        2.9-12                      GNU C Library: Shared libraries
ii  libcairo2    1.8.6-2+b1                  The Cairo 2D vector graphics libra
ii  libdbus-1-3  1.2.12-1                    simple interprocess messaging syst
ii  libdbus-glib 0.80-4                      simple interprocess messaging syst
ii  libfontconfi 2.6.0-3                     generic font configuration library
ii  libfreetype6 2.3.9-4.1                   FreeType 2 font engine, shared lib
ii  libgcc1      1:4.4.0-5                   GCC support library
ii  libgconf2-4  2.26.2-1                    GNOME configuration database syste
ii  libglade2-0  1:2.6.4-1                   library to load .glade files at ru
ii  libglib2.0-0 2.20.1-2                    The GLib library of C routines
ii  libgnome-key 2.26.1-1                    GNOME keyring services library
ii  libgnome-med 2.26.0-1                    runtime libraries for the GNOME me
ii  libgnome2-0  2.26.0-1                    The GNOME library - runtime files
ii  libgpod4     0.7.0-2                     library to read and write songs an
ii  libgstreamer 0.10.23-2                   GStreamer libraries from the "base
ii  libgstreamer 0.10.23-1                   Core GStreamer libraries and eleme
ii  libgtk2.0-0  2.16.1-2                    The GTK+ graphical user interface 
ii  libhal1      0.5.12~git20090406.46dc48-2 Hardware Abstraction Layer - share
ii  libice6      2:1.0.5-1                   X11 Inter-Client Exchange library
ii  liblircclien 0.8.3-3                     infra-red remote control support -
ii  libmtp8      0.3.7-7                     Media Transfer Protocol (MTP) libr
ii  libmusicbrai 2.1.5-2                     Second generation incarnation of t
ii  libnautilus- 2.24.0-3                    Nautilus Burn Library - runtime ve
ii  libnotify1 [ 0.4.5-1                     sends desktop notifications to a n
ii  liborbit2    1:2.14.17-0.1               libraries for ORBit2 - a CORBA ORB
ii  libpango1.0- 1.24.0-3+b1                 Layout and rendering of internatio
ii  libpopt0     1.14-4                      lib for parsing cmdline parameters
ii  libsm6       2:1.1.0-2                   X11 Session Management library
ii  libsoup2.4-1 2.26.2-1                    an HTTP library implementation in 
ii  libstdc++6   4.4.0-5                     The GNU Standard C++ Library v3
ii  libtotem-plp 2.26.2-1                    Totem Playlist Parser library - ru
ii  libusb-0.1-4 2:0.1.12-13                 userspace USB programming library
ii  libx11-6     2:1.2.1-1                   X11 client-side library
ii  libxml2      2.7.3.dfsg-1                GNOME XML library
ii  python       2.5.4-2                     An interactive high-level object-o
ii  python-gnome 2.26.1-1                    Python bindings for the GNOME desk
ii  python-gst0. 0.10.15-1                   generic media-playing framework (P
ii  python-gtk2  2.14.1-3                    Python bindings for the GTK+ widge
ii  python-suppo 1.0.3                       automated rebuilding support for P
ii  python2.5    2.5.4-1                     An interactive high-level object-o
ii  zlib1g       1:1.2.3.3.dfsg-13           compression library - runtime

Versions of packages rhythmbox recommends:
ii  avahi-daemon 0.6.25-1                    Avahi mDNS/DNS-SD daemon
pn  gnome-codec- <none>                      (no description available)
ii  gstreamer0.1 0.10.11-1                   GStreamer plugins from the "ugly" 
ii  hal          0.5.12~git20090406.46dc48-2 Hardware Abstraction Layer
ii  notification 0.4.0-1                     a daemon that displays passive pop
ii  yelp         2.24.0-2                    Help browser for GNOME 2

Versions of packages rhythmbox suggests:
ii  gnome-control-center        1:2.24.0.1-5 utilities to configure the GNOME d
ii  gstreamer0.10-plugins-bad   0.10.12-1    GStreamer plugins from the "bad" s
pn  python-coherence            <none>       (no description available)

-- no debconf information

---

From: Josselin Mouette <[email-masked]>
Date: Mon, 22 Jun 2009 11:58:12 +0200

Le dimanche 21 juin 2009 à 22:13 +0200, Ulrik Sverdrup a écrit :
> digital camera in nautilus if connected by cable.

This is probably part of the problem.

What does the directory tree on your iPod’s root look like? (Not your
music files, I’m talking about any special files/directories.)

What is the output of "lsusb"?

-- 
 .''`.      Josselin Mouette
: :' :
`. `'   “I recommend you to learn English in hope that you in
  `-     future understand things”  -- Jörg Schilling

---

From: Ulrik Sverdrup <[email-masked]>
Date: Wed, 24 Jun 2009 00:59:54 +0200

The ipod is mounted like this:

sshfs -o workaround=all -o idmap=user [email-masked]:Media /m
edia/ipod

so I mount ~/Media of the "mobile" user (unprivileged user of the
ipod, where the music library is)

That directory looks like this:

(opening it now in nautilus, it has the blue bar above (This media
contains photos.. [Launch gthumb])
$ ll /media/ipod
 totalt 52K
drwxr-x--- 1 ulrik 501  204  9 maj 20.11 DCIM/
drwxr-xr-x 1 ulrik 501  102  9 jun 14.49 Downloads/
lrwxr-xr-x 1 root  501   14 12 mar 17.40 iPod_Control -> iTunes_Control/
lrwxr-xr-x 1 root  501    1 12 mar 17.40 iTunes -> ./
drwxr-xr-x 1 ulrik 501  204 12 mar 17.40 iTunes_Control/
drwxr-xr-x 1 ulrik 501  170 17 maj 14.41 iTunes_Control_2/
drwxr-xr-x 1 ulrik 501   68 17 mar 21.41 Music/
drwxr-xr-x 1 ulrik 501  136 12 mar 17.22 MxTube/
drwxr-x--- 1 ulrik 501   68  9 dec  2008 Photos/
drwxr-xr-x 1 ulrik 501   68 17 mar 21.41 Playlists/
drwxr-xr-x 1 ulrik 501 4,2K  2 apr 00.08 Podcasts/
drwxr-xr-x 1 ulrik 501   68 12 mar 14.16 Purchases/

> What is the output of "lsusb"?

I don't think this is part of the problem anymore. The ipod is mounted
wirelessly, over ssh, and it doesn't matter if the USB cord is
attached or not.

Anyway, now I tried to run rhythmbox with debug output, and it says
this when I mount the filesystem:

(00:56:37) [0x105ae1b0] [rhythmdb_mount_added_cb]
rhythmdb-monitor.c:463: volume file:///media/ipod mounted
(00:56:37) [0x105ae1b0] [rb_removable_media_manager_add_mount]
rb-removable-media-manager.c:608: Unhandled media, no volume for mount

Rhythmbox says *no volume for mount,* which is the view GIO takes,
here is a check using python:

└ ulrik $ python
Python 2.5.4 (r254:67916, Feb 18 2009, 04:30:07)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Enabling tab completion
>>> import gio
>>> gio.vo
gio.volume_monitor_adopt_orphan_mount  gio.volume_monitor_get
>>> gio.volume_monitor_get()
<__main__.GUnionVolumeMonitor object at 0x483e21e8
(GUnionVolumeMonitor at 0x1095ba00)>
>>> vm = _
>>> vm.ge
vm.get_connected_drives  vm.get_mounts            vm.get_volume_for_uuid
vm.get_data              vm.get_properties        vm.get_volumes
vm.get_mount_for_uuid    vm.get_property
>>> vm.get_mou
vm.get_mount_for_uuid  vm.get_mounts
>>> vm.get_mounts()
[<__main__.GProxyMount at 0x483e2238: ipod>]
>>> ipod = _[0]
>>> ipod.ge
ipod.get_data        ipod.get_name        ipod.get_root
ipod.get_drive       ipod.get_properties  ipod.get_uuid
ipod.get_icon        ipod.get_property    ipod.get_volume
>>> ipod.get_volume()
>>> print ipod.get_volume()
None
>>> print ipod.get_root()
<__main__.GLocalFile at 0x483e28f0: file:///media/ipod>

---

From: Ulrik Sverdrup <[email-masked]>
Date: Wed, 24 Jun 2009 01:23:33 +0200

It looks like this "regression" is a consequence of the gio port;
Rhythmbox now refuses to handle removable devices without
corresponding volume (such as fuse mounts); this has to be taken
upstream to discuss.

(What I can see, 0.11.x was pre-gio port and 0.12.x is post-port)

ulrik

---

From: Emilio Pozuelo Monfort <[email-masked]>
Date: Wed, 24 Jun 2009 18:37:33 +0200

> corresponding volume (such as fuse mounts); this has to be taken

Sounds likely. Can you forward it upstream on bugzilla.gnome.org?

http://bugzilla.gnome.org/enter_bug.cgi?product=rhythmbox

Cheers,
Emilio

---

From: Ulrik Sverdrup <[email-masked]>
Date: Wed, 24 Jun 2009 22:45:45 +0200

Upstream bug report is
http://bugzilla.gnome.org/show_bug.cgi?id=586886