Bug 642487

Summary: iPhone 3GS mislabelled as Sony DCR-SR75
Product: [Fedora] Fedora Reporter: Patrick O'Callaghan <poc>
Component: libmtpAssignee: Linus Walleij <triad>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 14CC: poc, redhat, triad
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-03-31 22:16:51 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:

Description Patrick O'Callaghan 2010-10-13 03:50:00 UTC
Description of problem:
On plugging in an iPhone 3GS, the KDE Device Manager pops up a message about a Sony DCR-SR75.

Version-Release number of selected component (if applicable):


How reproducible:
100%

Steps to Reproduce:
1.Plug in iPhone 3GS to USB port
2.See misleading message under KDE
3.
  
Actual results:
Offer to mount Sony camcorder

Expected results:
Offer to mount iPhone

Additional info:
The FDI file /usr/share/hal/fdi/information/10freedesktop/10-usb-music-players-libmtp.fdi matches the Apple vendor ID (0x05ac) and product ID (0x1294) but has the wrong info.vendor and info.product strings, even though the rest of the XML section refers to an audio player and not a camcorder. This appears to be a typo which has been around for about 18 months without being noticed.

Comment 1 Patrick O'Callaghan 2010-10-16 21:12:52 UTC
The bug is a typo in the vendor ID, which is 0x05ac instead of 0x054c:

# diff 10-usb-music-players-libmtp.fdi 10-usb-music-players-libmtp.fdi.orig
6281c6281
<       <match key="usb.vendor_id" int="0x054c">
---
>       <match key="usb.vendor_id" int="0x05ac">

This fixes the problem.

Comment 2 Linus Walleij 2010-10-19 21:09:56 UTC
That file is auto-generated from libmtp's internal database
which is fixed. We need to roll a new libmtp release to
fix this...

Comment 3 Patrick O'Callaghan 2010-11-18 04:08:54 UTC
This bug is still present in Fedora 14 and is causing rhythmbox to crash because it thinks the iPhone is a camera. See https://bugzilla.redhat.com/post_bug.cgi

Comment 4 redhat 2011-01-07 23:47:54 UTC
That file doesn't exist in my FC14 build, only 10-usb-music-players.fdi .  I see the iPhone 3GS on desktop and can navigate it, but when launching rhythmbox it outputs this:

[hennessy@marvin ~]$ rhythmbox

(rhythmbox:29211): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
Device 0 (VID=05ac and PID=1294) is a Sony DCR-SR75.
Device 0 (VID=05ac and PID=1294) is a Sony DCR-SR75.
Device 0 (VID=05ac and PID=1294) is a Sony DCR-SR75.
Device 0 (VID=05ac and PID=1294) is a Sony DCR-SR75.
Device 0 (VID=05ac and PID=1294) is a Sony DCR-SR75.
Device 0 (VID=05ac and PID=1294) is a Sony DCR-SR75.
Device 0 (VID=05ac and PID=1294) is a Sony DCR-SR75.

Comment 5 Patrick O'Callaghan 2011-01-08 03:39:10 UTC
(In reply to comment #4)
> That file doesn't exist in my FC14 build, only 10-usb-music-players.fdi .  I
> see the iPhone 3GS on desktop and can navigate it, but when launching rhythmbox
> it outputs this:
> 
> [hennessy@marvin ~]$ rhythmbox
> 
> (rhythmbox:29211): GLib-GObject-CRITICAL **: g_object_unref: assertion
> `G_IS_OBJECT (object)' failed
> ** Message: pygobject_register_sinkfunc is deprecated (GstObject)
> Device 0 (VID=05ac and PID=1294) is a Sony DCR-SR75.
> Device 0 (VID=05ac and PID=1294) is a Sony DCR-SR75.
> Device 0 (VID=05ac and PID=1294) is a Sony DCR-SR75.
> Device 0 (VID=05ac and PID=1294) is a Sony DCR-SR75.
> Device 0 (VID=05ac and PID=1294) is a Sony DCR-SR75.
> Device 0 (VID=05ac and PID=1294) is a Sony DCR-SR75.
> Device 0 (VID=05ac and PID=1294) is a Sony DCR-SR75.

The file is from libmtp-hal, which is optional. It doesn't really matter as the bug is still there without the file.