I have a Sansa Clip + , it works just fine in MSC mode. I wanted to give a try to the MTP mode. But it does not show up in Amarok. I have libmtp installed and mtp-detect does show up the device information.
I am on Fedora 14,
libmtp-1.0.3-5
libusb-0.1.12-23
amarok-2.3.2-4

Can someone help me with this ?

---------- Post added at 12:37 PM ---------- Previous post was at 12:31 PM ----------

So this is what I have done till now to try to troubleshoot it at my end.

I got the product information via lsusb -vv and added my player information in the 60-libmtp.rules file ( which i copied from libmtp package to /etc/udev/rules.d as per the directions here: http://amarok.kde.org/wiki/Media_Device:MTP).

I tried manually selecting the USB mode in Clip+. I tried Default,MTP as well as MSC.

I tried the player on Kubuntu 10.10 and it is detected by amarok just fine.

To try to see what is ging on under the hood I ran amarok on commandline in debug mode. I get the following messages when I connect the player :
Code:
    amarok: BEGIN: void MediaDeviceCache::slotAddSolidDevice(const QString&)
    amarok:   [MediaDeviceCache] Found new Solid device with udi =  "/org/freedesktop/Hal/devices/usb_device_781_74d0_CD13F40A9992B6A80000000000000000"
    amarok:   [MediaDeviceCache] Device name is =  "Sansa Clip+ (mtp)"  and was made by  "SanDisk Corp."
    amarok:   [MediaDeviceCache] udi  "/org/freedesktop/Hal/devices/usb_device_781_74d0_CD13F40A9992B6A80000000000000000"  does not describe a portable media player or storage volume
    amarok: END__: void MediaDeviceCache::slotAddSolidDevice(const QString&) - Took 0.12s
    amarok: BEGIN: void MediaDeviceCache::slotAddSolidDevice(const QString&)
    amarok:   [MediaDeviceCache] Found new Solid device with udi =  "/org/freedesktop/Hal/devices/usb_device_781_74d0_CD13F40A9992B6A80000000000000000_if0"
    amarok:   [MediaDeviceCache] Device name is =  "USB Vendor Specific Interface"  and was made by  ""
    amarok:   [MediaDeviceCache] device is a PMP
    amarok:   BEGIN: void MountPointManager::deviceAdded(const QString&)
    amarok:     [MountPointManager] looking for udi  "/org/freedesktop/Hal/devices/usb_device_781_74d0_CD13F40A9992B6A80000000000000000_if0"
    amarok:     [MountPointManager] Did not find device from Solid for udi  "/org/freedesktop/Hal/devices/usb_device_781_74d0_CD13F40A9992B6A80000000000000000_if0"
    amarok:   END__: void MountPointManager::deviceAdded(const QString&) - Took 0.01s
    amarok:   BEGIN: void MediaDeviceMonitor::deviceAdded(const QString&)
    amarok:     BEGIN: void MediaDeviceMonitor::checkDevice(const QString&)
    amarok:       BEGIN: virtual bool MtpConnectionAssistant::identify(const QString&)
    amarok:          Supported Protocols:  ()
    amarok:       END__: virtual bool MtpConnectionAssistant::identify(const QString&) - Took 9.1e-05s
    amarok:       BEGIN: virtual bool AudioCdConnectionAssistant::identify(const QString&)
    amarok:       END__: virtual bool AudioCdConnectionAssistant::identify(const QString&) - Took 5.2e-05s
    amarok:       BEGIN: virtual bool IpodConnectionAssistant::identify(const QString&)
    amarok:          Device udi:  "/org/freedesktop/Hal/devices/usb_device_781_74d0_CD13F40A9992B6A80000000000000000_if0"
    amarok:          Device name:  " - USB Vendor Specific Interface"
    amarok:         BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const
    amarok:           [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty
    amarok:         END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const - Took 8.1e-05s
    amarok:          Mount point:  ""
    amarok:          vendor:  "SanDisk Corp." , product:  "Sansa Clip+ (mtp)"
    amarok:       END__: virtual bool IpodConnectionAssistant::identify(const QString&) - Took 0.0003s
    amarok:       BEGIN: virtual bool UmsConnectionAssistant::identify(const QString&)
    amarok:          Device udi:  "/org/freedesktop/Hal/devices/usb_device_781_74d0_CD13F40A9992B6A80000000000000000_if0"
    amarok:          Device name:  " - USB Vendor Specific Interface"
    amarok:         BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const
    amarok:           [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty
    amarok:         END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const - Took 9.3e-05s
    amarok:          Mount point:  ""
    amarok:          vendor:  "" , product:  "USB Vendor Specific Interface"
    amarok:         BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const
    amarok:           [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty
    amarok:         END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const - Took 7.6e-05s
    amarok:       END__: virtual bool UmsConnectionAssistant::identify(const QString&) - Took 0.00041s
    amarok:     END__: void MediaDeviceMonitor::checkDevice(const QString&) - Took 0.0011s
    amarok:   END__: void MediaDeviceMonitor::deviceAdded(const QString&) - Took 0.0011s
    amarok: END__: void MediaDeviceCache::slotAddSolidDevice(const QString&) - Took 0.08s