You are not logged in.

#1 2009-03-28 19:41:19

Element 22
Member
Registered: 2009-02-23
Posts: 15

Creative Zen (and other MTP players) and Amarok: A quick guide

Hi. Odds are if you're looking at this you've been directed here by a search engine because you've typed in something to the effect of Creative Zen+Amarok or MTP+Amarok. This is meant to be a quick and dirty little rundown of what you need to do to get your Zen or possibly other MTP player working. This isn't a scientific paper and thus there will be many many variables that may or may not have anything to do with getting it to work, and may not work with every other MTP player out there. Now, down to business.

The first thing you probably want to have is libmtp, Amarok, and libusb. In my case I did it with libmtp 0.2.6.1-1, Amarok 1.4.10-2, and libusb 0.1.12-3. Others have apparently gotten this working with older versions so if there is some reason you can't upgrade or you happen to be a time traveler who printed this out before disrupting the natural chronological order this might work even with older versions. If you do however happen to have an older version of Amarok you might have to compile in libmtp support, but this is beyond the scope of this little guide. Google it. Also my user belongs to audio, optical, video, storage, network, Hal, Dbus, and wheel. The only groups I believe are necessary are storage, audio, Hal and Dbus. But I haven't tested under those conditions

For some reason when libmtp is installed it doesn't install a set of udev rules, so the first thing you need to do is is create a file called:
/etc/udev/rules.d/65-libmtp.rules

SUBSYSTEM!="usb_device", ACTION!="add", GOTO="libmtp_rules_end"

# Creative Zen VisionSpecial:Recentchanges
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="411f", SYMLINK+="libmtp-%k", MODE="666"
# Creative Portable Media Center
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="4123", SYMLINK+="libmtp-%k", MODE="666"
# Creative Zen Xtra (MTP mode)
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="4128", SYMLINK+="libmtp-%k", MODE="666"
# Second generation Dell DJ
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="412f", SYMLINK+="libmtp-%k", MODE="666"
# Creative Zen Micro (MTP mode)
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="4130", SYMLINK+="libmtp-%k", MODE="666"
# Creative Zen Touch (MTP mode)
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="4131", SYMLINK+="libmtp-%k", MODE="666"
# Dell Pocket DJ (MTP mode)
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="4132", SYMLINK+="libmtp-%k", MODE="666"
# Creative Zen Sleek (MTP mode)
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="4137", SYMLINK+="libmtp-%k", MODE="666"
# Creative Zen MicroPhoto
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="413c", SYMLINK+="libmtp-%k", MODE="666"
# Creative Zen Sleek Photo
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="413d", SYMLINK+="libmtp-%k", MODE="666"
# Creative Zen Vision:M
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="413e", SYMLINK+="libmtp-%k", MODE="666"
# Creative Zen V Plus
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="4152", SYMLINK+="libmtp-%k", MODE="666"
# Samsung:YH-820
SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="502e", SYMLINK+="libmtp-%k", MODE="666"
# Samsung YH-925
SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="502f", SYMLINK+="libmtp-%k", MODE="666"
# Samsung YP-T7J
SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="5047", SYMLINK+="libmtp-%k", MODE="666"
# Samsung YH-999 Portable Media Center
SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="5a0f", SYMLINK+="libmtp-%k", MODE="666"
# Intel Bandon Portable Media Center
SYSFS{idVendor}=="045e", SYSFS{idProduct}=="00c9", SYMLINK+="libmtp-%k", MODE="666"
# iRiver Portable Media Center
SYSFS{idVendor}=="1006", SYSFS{idProduct}=="4002", SYMLINK+="libmtp-%k", MODE="666"
# iRiver Portable Media Center
SYSFS{idVendor}=="1006", SYSFS{idProduct}=="4003", SYMLINK+="libmtp-%k", MODE="666"
# JVC Alneo XA-HD500
SYSFS{idVendor}=="04f1", SYSFS{idProduct}=="6105", SYMLINK+="libmtp-%k", MODE="666"
# Philipps HDD6320
SYSFS{idVendor}=="0471", SYSFS{idProduct}=="01eb", SYMLINK+="libmtp-%k", MODE="666"
# Philipps HDD6320 2
SYSFS{idVendor}=="0471", SYSFS{idProduct}=="014b", SYMLINK+="libmtp-%k", MODE="666"
# Philipps HDD1630/17
SYSFS{idVendor}=="0471", SYSFS{idProduct}=="014c", SYMLINK+="libmtp-%k", MODE="666"
# SanDisk Sansa c150
SYSFS{idVendor}=="0781", SYSFS{idProduct}=="7410", SYMLINK+="libmtp-%k", MODE="666"
# SanDisk Sansa e200
SYSFS{idVendor}=="0781", SYSFS{idProduct}=="7420", SYMLINK+="libmtp-%k", MODE="666"
# SanDisk Sansa e260
SYSFS{idVendor}=="0781", SYSFS{idProduct}=="7420", SYMLINK+="libmtp-%k", MODE="666"
# iRiver T10
SYSFS{idVendor}=="4102", SYSFS{idProduct}=="1113", SYMLINK+="libmtp-%k", MODE="666"
# iRiver T20 FM
SYSFS{idVendor}=="4102", SYSFS{idProduct}=="1114", SYMLINK+="libmtp-%k", MODE="666"
# iRiver U10
SYSFS{idVendor}=="4102", SYSFS{idProduct}=="1116", SYMLINK+="libmtp-%k", MODE="666"
# iRiver T10
SYSFS{idVendor}=="4102", SYSFS{idProduct}=="1117", SYMLINK+="libmtp-%k", MODE="666"
# iRiver T20
SYSFS{idVendor}=="4102", SYSFS{idProduct}=="1118", SYMLINK+="libmtp-%k", MODE="666"
# iRiver T30
SYSFS{idVendor}=="4102", SYSFS{idProduct}=="1119", SYMLINK+="libmtp-%k", MODE="666"
# iRiver H10
SYSFS{idVendor}=="4102", SYSFS{idProduct}=="2101", SYMLINK+="libmtp-%k", MODE="666"
# iRiver H10
SYSFS{idVendor}=="4102", SYSFS{idProduct}=="2102", SYMLINK+="libmtp-%k", MODE="666"
# Dell DJ Itty
SYSFS{idVendor}=="413c", SYSFS{idProduct}=="4500", SYMLINK+="libmtp-%k", MODE="666"
# Toshiba Gigabeat MEGF-40
SYSFS{idVendor}=="0930", SYSFS{idProduct}=="0009", SYMLINK+="libmtp-%k", MODE="666"
# Toshiba Gigabeat
SYSFS{idVendor}=="0930", SYSFS{idProduct}=="000c", SYMLINK+="libmtp-%k", MODE="666"

LABEL="libmtp_rules_end"

This is the basic set of identifiers for Media Devices on Amarok. Amarok does indeed keep a page which may or may not be updated http://amarok.kde.org/wiki/Media_Device:MTP.

As it says on that page we want to make sure that the device is recognized. If your device is listed on the list above then you can skip straight to the part about libmtp but if it isn't then you need to start with libusb to construct your devices I.D.

lsusb-v

You should see a fairly sizeable output, but what we're interested in is at the very top (assuming you only have your media device plugged in).
In my case it's:

Bus 002 Device 007: ID 041e:4157 Creative Technology, Ltd

and even in that all we really care about is the ID:041e:4157. The first number is the idVendor and the second is the idProduct. All you have to do is copy one of the other examples and subsistute your numbers in mind and name.

# Creative Zen
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="4157", SYMLINK+="libmtp-%k", MODE="666", GROUP="audio"

You probably noticed that GROUP="audio" on the end. I don't know whether or not it is significant but others have mentioned that they could not get it to work until they had that. So I would add that to any device I want to use if it doesn't work and you've done everything else

Next you want to see if libmtp detects your device. Go back to the console and type:

mtp-detect

You should get a pretty long output something like this:

Attempting to connect device(s)
PTP: Opening session           
PTP_ERROR_IO: Trying again after re-initializing USB interface
inep: usb_get_endpoint_status(): Protocol error               
outep: usb_get_endpoint_status(): Protocol error              
usb_clear_halt() on IN endpoint: Protocol error               
usb_clear_halt() on OUT endpoint: Protocol error              
usb_clear_halt() on INTERRUPT endpoint: Protocol error        
usb_claim_interface(): Bad file descriptor                    
LIBMTP PANIC: Could not open session on device 1              
LIBMTP PANIC: configure_usb_devices() error code: 7 on line 1599
Detect: There has been an error connecting. Exiting             
[element@zen rules.d]$ mtp-detect                               
libmtp version: 0.2.6.1                                         

Attempting to connect device(s)
^CQ                            
[element@zen rules.d]$ Q       
[element@zen rules.d]$ mtp-detect
libmtp version: 0.2.6.1          

Attempting to connect device(s)
PTP: Opening session           
Detect: Successfully connected 1 devices
USB low-level info:                     
   Using kernel interface "usbfs"       
   bcdUSB: 512                          
   bDeviceClass: 255                    
   bDeviceSubClass: 0                   
   bDeviceProtocol: 0                   
   idVendor: 041e                       
   idProduct: 4157                      
   IN endpoint maxpacket: 512 bytes     
   OUT endpoint maxpacket: 512 bytes    
   Device flags: 0x00000080             
Microsoft device descriptor 0xee:       
        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
        0010: fe00                                      ..              
Microsoft device response to control message 1, CMD 0xfe:               
        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
        0020: 0000 0000 0000 0000                       ........        
Microsoft device response to control message 2, CMD 0xfe:               
        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
        0020: 0000 0000 0000 0000                       ........        
Device info:                                                            
   Manufacturer: Creative Technology Ltd                                
   Model: Creative ZEN                                                  
   Device version: 1.21.01_0.03.01                                      
   Serial number: 01030000A977C5380002D3484F5AC538                      
   Vendor extension ID: 0x00000006                                      
   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;                                     
   Detected object size: 64 bits                                                
Supported operations:                                                           
   1001: get device info                                                        
   1002: Open session                                                           
   1003: Close session                                                          
   1004: Get storage IDs                                                        
   1005: Get storage info                                                       
   1007: Get object handles                                                     
   100c: Send object info                                                       
   100d: Send object                                                            
   100f: Format storage                                                         
   1014: Get device property description                                        
   1015: Get device property value                                              
   1006: Get number of objects                                                  
   1008: Get object info                                                        
   1009: Get object                                                             
   100b: Delete object                                                          
   1010: Reset device                                                           
   1012: Set object protection                                                  
   1016: Set device property value                                              
   1017: Reset device property value                                            
   1019: Move object                                                            
   101b: Get partial object                                                     
   9801: Get object properties supported                                        
   9802: Get object property description                                        
   9803: Get object property value                                              
   9804: Set object property value                                              
   9805: Get object property list                                               
   9806: Set object property list                                               
   9808: Send object property list                                              
   9807: Get interdependent property description                                
   9810: Get object references                                                  
   9811: Set object references                                                  
   9201: Report Added/Deleted Items                                             
   9101: Get secure time challenge                                              
   9102: Get secure time response                                               
   9103: Set license response                                                   
   9104: Get sync list                                                          
   9105: Send meter challenge query                                             
   9106: Get meter challenge                                                    
   9107: Get meter response                                                     
   9108: Clean data store                                                       
   9109: Get license state                                                      
   910a: Send WMDRM-PD Command                                                  
   910b: Send WMDRM-PD Request                                                  
Events supported:                                                               
   None.                                                                        
Device Properties Supported:                                                    
   0x5001: Battery Level                                                        
   0xd401: Synchronization Partner                                              
   0xd402: Friendly Device Name                                                 
   0xd101: Secure Time                                                          
   0xd102: Device Certificate                                                   
   0xd201: Unknown property                                                     
Playable File (Object) Types and Object Properties Supported:                   
   3009: MP3                                                                    
      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY         
      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY                                                                         
      dc46: Artist STRING data type GET/SET                                     
      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET      
      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                 
      dc8c: Genre STRING data type GET/SET                                      
      dc99: OriginalReleaseDate STRING data type GET/SET                        
      dc9a: AlbumName STRING data type GET/SET                                  
      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY                                   
      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY     
      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY       
      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET              
      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET       
      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET                 
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   b901: WMA                                                                    
      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY   
      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY                                                                         
      dc46: Artist STRING data type GET/SET                                     
      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET      
      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                 
      dc8c: Genre STRING data type GET/SET                                      
      dc99: OriginalReleaseDate STRING data type GET/SET                        
      dc9a: AlbumName STRING data type GET/SET                                  
      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY                                   
      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY     
      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY       
      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET              
      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET       
      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET                 
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   3008: MS Wave                                                                
      dc46: Artist STRING data type GET/SET                                     
      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET      
      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                 
      dc8c: Genre STRING data type GET/SET                                      
      dc99: OriginalReleaseDate STRING data type GET/SET                        
      dc9a: AlbumName STRING data type GET/SET                                  
      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY                                   
      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY     
      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY       
      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET              
      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET       
      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET                 
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   b904: Audible.com Codec                                                      
      da01: unknown(da01) UINT32 data type enumeration: 2, 3, 4,  GET/SET       
      da02: unknown(da02) array of UINT16 data type ANY 16BIT VALUE form GET/SET
      da03: unknown(da03) UINT32 data type ANY 32BIT VALUE form READ ONLY       
      dc46: Artist STRING data type GET/SET                                     
      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET      
      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                 
      dc8c: Genre STRING data type GET/SET                                      
      dc99: OriginalReleaseDate STRING data type GET/SET                        
      dc9a: AlbumName STRING data type GET/SET                                  
      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY                                   
      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY     
      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY       
      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET              
      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET       
      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET                 
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   b982: MP4                                                                    
      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY      
      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY                                                                         
      dc46: Artist STRING data type GET/SET                                     
      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET      
      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                 
      dc8c: Genre STRING data type GET/SET                                      
      dc99: OriginalReleaseDate STRING data type GET/SET                        
      dc9a: AlbumName STRING data type GET/SET                                  
      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY                                   
      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY     
      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY       
      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET              
      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET       
      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET                 
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   ba03: Abstract Audio Album                                                   
      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET                                                                              
      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY                                                                          
      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 180, STEP 1 READ ONLY                                                                 
      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 24576, STEP 1 READ ONLY                                                                 
      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 180, STEP 1 READ ONLY                                                                  
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   ba05: Abstract Audio Video Playlist                                          
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   ba01: Abstract Multimedia Album                                              
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   3801: JPEG                                                                   
      dc88: Height UINT32 data type range: MIN 0, MAX 3328, STEP 1 GET/SET      
      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET                                                                              
      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY                                                                          
      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY                                                                  
      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY                                                                  
      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY                                                                   
      dc87: Width UINT32 data type range: MIN 0, MAX 4992, STEP 1 GET/SET       
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   300a: MS AVI                                                                 
      de99: AudioWAVECodec UINT32 data type enumeration: 85, 17, 1,  READ ONLY  
      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1536000, STEP 1 READ ONLY                                                                        
      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY                                                                
      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET       
      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 4000000, STEP 1 READ ONLY                                                                           
      de9b: VideoFourCCCodec UINT32 data type enumeration: 844515635, 878070084, 1482049860, 808802372, 1196444237, 1145656920,  READ ONLY                      
      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 3000000, STEP 1 READ ONLY                                                                           
      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET        
      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET                                                                              
      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY                                                                          
      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY                                                                  
      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY                                                                  
      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY                                                                   
      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET      
      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY                                   
      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY     
      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY       
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   300c: ASF                                                                    
      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY   
      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY                                                                         
      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY                                                                
      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET       
      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 850000, STEP 1 READ ONLY                                                                            
      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 850000, STEP 1 READ ONLY                                                                            
      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET        
      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET                                                                              
      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY                                                                          
      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY                                                                  
      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY                                                                  
      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY                                                                   
      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET      
      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY                                   
      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY     
      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY       
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   b981: WMV                                                                    
      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY   
      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY                                                                         
      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY                                                                
      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET       
      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 850000, STEP 1 READ ONLY                                                                            
      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 850000, STEP 1 READ ONLY                                                                            
      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET        
      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET                                                                              
      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY                                                                          
      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY                                                                  
      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY                                                                  
      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY                                                                   
      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET      
      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY                                   
      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY     
      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY       
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   bb83: vCard3                                                                 
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   be03: vCalendar2                                                             
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   b802: Firmware                                                               
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   3000: Undefined Type                                                         
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
   3001: Association/Directory                                                  
      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY           
      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY        
      dc04: ObjectSize UINT64 data type READ ONLY                               
      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY        
      dc44: Name STRING data type GET/SET                                       
      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY        
      dc07: ObjectFileName STRING data type GET/SET                             
      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET           
      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY                                                                              
Storage Devices:                                                                
   StorageID: 0x00010001                                                        
      StorageType: 0x0003                                                       
      FilesystemType: 0x0002                                                    
      AccessCapability: 0x0000                                                  
      MaxCapacity: 32135315456                                                  
      FreeSpaceInBytes: 22053552128                                             
      FreeSpaceInObjects: 4294967295                                            
      StorageDescription: Storage Media                                         
      VolumeIdentifier: 01030000A977C5380002D3484F5AC538                        
Special directories:                                                            
   Default music folder: 0x0000005a                                             
   Default playlist folder: 0x0000005e                                          
   Default picture folder: 0x0000006a                                           
   Default video folder: 0x0000006e                                             
   Default organizer folder: 0x00000066                                         
   Default zencast folder: 0x00000076                                           
   Default album folder: 0x00000000                                             
   Default text folder: 0x00000000                                              
MTP-specific device properties:                                                 
   Friendly name: Element                                                       
   Synchronization partner: (NULL)                                              
   Battery level 255 of 255 (100%)                                              
libmtp supported (playable) filetypes:                                          
   ISO MPEG-1 Audio Layer 3                                                     
   Microsoft Windows Media Audio                                                
   RIFF WAVE file                                                               
   Audible.com Audio Codec                                                      
   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)                       
   JPEG file                                                                    
   Audio Video Interleave                                                       
   Microsoft Advanced Systems Format                                            
   Microsoft Windows Media Video                                                
   VCard version 3                                                              
   VCalendar version 2                                                          
   Firmware file                                                                

Secure Time:
<DRMCLOCK type="status"><VALUE>#20071201 23:20:20Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>                                                              

Device Certificate:
<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AAADATjFd6lI0wIAOMVaTwAAAAA=</UNIQUEID><PUBLICKEY private="1">MeOnFU0SWWUfr3AzIzHJzH46KjnuNz2dkpcdq+RjywKmuZU1a1Zlbw==</PUBLICKEY><KEYDATA>qJs8EFn5Ska6sRZLGm652UB4Mqw=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>jEluoecw18X8bLGkmoPEf6bj5x7wwFp0PIsRneOYVxKxjJ0E9mdgAw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>bvlrOkBCSmWjVCBs0wI31a9RO/s=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.193</SECURITYVERSION><CERTIFICATE private="1">MeOnFU0SWWUfr3AzIzHJzH46KjnuNz2dkpcdq+RjywKmuZU1a1ZlbwIEbME8W+Iz4M2ZutERFXhR9D29PlwFJQFp7vyP/jIw94U2GfDxW8AlBbYC</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Creative ZEN</NAME>         
  <MANUFACTURER>CL Direct Pte Ltd.</MANUFACTURER>                               
  <MODEL>DVP-FL0001</MODEL>
  <SECURITYLEVEL>2000</SECURITYLEVEL>
  <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
  <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
  <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
  <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
  <FEATURES>
    <CLOCK>2</CLOCK>
    <SECURECLOCK>
      <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
      <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
    </SECURECLOCK>
    <METERING>1</METERING>
    <LICENSE_ACQ>0</LICENSE_ACQ>
    <LICENSE_SYNC>1</LICENSE_SYNC>
    <ENCRYPTION>0</ENCRYPTION>
    <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
  </FEATURES>
  <LIMITS>
    <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
    <MAXLICENSESIZE>10240</MAXLICENSESIZE>
    <MAXHEADERSIZE>5120</MAXHEADERSIZE>
  </LIMITS><PUBLICKEY>01jSNo4LLYCkLWpnsvVOxk1wvxbm2krcn20LgpXL9Zf91opCNsMyAQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>DrK/bNN2aO5ImZHdepevdhlT6UePVcdaxTWOMvw/8RYKeQFjSPwWUw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2085</AUTH_ID><PUBLICKEY>U3xlv/ZHjD1bOwjB+VKpZuAf3UI+x+5XtTYc7TvHKdQeGpyFrOmOEw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>iBzmFZxhy/VC9d2REO5iicO+dguqv8zhB7QPZe0JOj7BNKAwmrQoew==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Ko25GwcWTT0R8xP4rS9+h4Z/EHX03y7Gb/281mD8U0nQGG3Rk9O+TA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
WMPInfo.xml Does not exist on this device
PTP: Closing session
OK.

To someone who know what they're doing, all of that code might mean something, but to me the only thing that counts is the OK at the end and that it obviously sees the device. If this doesn't happen it may be that your permissions for the 65-libmtp.rules file is wrong, So just chmod 666 for it and that should solve your problem.

Now the only thing left to do is Amarok. Fire up Amarok, go to settings. Click on media devices and add device. Very important. For the longest time I was beating my head against nearby inanimate objects because I had tried to add it manually before and accomplished nothing and made the foolish assumption that I had to auto detect it as all the people who solved their problems stated that they plugged it in and it simply worked. lol Anyways, add device, name it whatever your little heart desires (I simply named mine Creative_Zen) and select MTP device for the plugin and click ok. You should then be able to connect from the media device window. You may not be able to transfer any files without restarting Amarok like I did, but it's working now! Huzzah! big_smile

I apologize to the Forum Mods, I felt I needed to make this after all the time I spent trying to get it working and have no blog or personal website to post it on (le gasp! One could understand not having a website, but no blog in this day and age!? Scandalous!) and don't have any method to truly host it for long periods (perhaps indefinite) of time. This could go in the wiki, but since it's not focused so much on Arch I'm not sure if it belongs there.

I take no credit for finding this stuff, others online did all the hard work and this is just my condensed version of what I did. Good luck!

Offline

#2 2009-04-03 08:35:58

cautha
Member
From: Kingston, Ontario
Registered: 2008-06-02
Posts: 115
Website

Re: Creative Zen (and other MTP players) and Amarok: A quick guide

Nice guide big_smile

I already got this to work, in the past, but it's nice to have it all in one place.

Offline

#3 2009-07-16 14:43:30

vacant
Member
From: downstairs
Registered: 2004-11-05
Posts: 816

Re: Creative Zen (and other MTP players) and Amarok: A quick guide

I was given an old 1GB Memorex MMP8568-SPT. When connected, Amarok detects it as an MTP device. What an unreliable pile of ****!

Anyway, I found the manual online and by holding the "play/pause" key down for more than three seconds, lo and behold, it switches to a simple USB flash drive mode which device managers pick up, drag and drop in dolphin etc etc. Phew!

Offline

#4 2009-07-16 19:10:20

antiquark
Member
From: Hessen/Germany
Registered: 2007-04-01
Posts: 3
Website

Re: Creative Zen (and other MTP players) and Amarok: A quick guide

Element 22,
Thank you very much for your tutorial!
Great job, the Linux community would be nothing without people like you!

rock on!


Mind Distortion, your local heavy metal forces!
http://www.mind-distortion.de

Offline

Board footer

Powered by FluxBB