FORUMS

WP7 MTP connection on Linux - works (somehow)

180 posts
Thanks Meter: 11
 
Post Reply Email Thread
Hi folks,
Don't know if anyone posted this before (I haven't found it) - I've discovered that my WP7 device (Samsung Omnia 7) can be connected to the Ubuntu 12.04 and the system recognizes it as a MTP device and can be browsed (for music, pictures, videos...

How I found out? I have accidentally left my WP7 device connected while installing Ubuntu - and when I managed to open Rhythmbox from that simple install interface, I saw my device in the list. Whoa! Then I clicked on it... and it began to show its contents - after five seconds, everything was loaded. Nothing could be played yet (because Live CD has no commercial filters installed), but after reboot, I connected the device again and I had no problem playing anything from the list

Proof:



Further details:
It seems that the support for Windows Phone is provided by libgphoto2 and libmtp, as I've seen Windows Phone on their supported devices webpage, which would make it a piece of cake to connect WP7 to any Linux box out there that has libgphoto2 or libmtp. Simple, eh?

What's the big deal?
Windows Phone 7 devices use their own, probably encrypted protocol - MTPZ - that differs from the ordinary MTP and is also used on Zune devices. Besides accessing music, pictures and videos in the phone, it's probably also used for transferring apps to the device and maybe other stuff I don't know about. See here: http://forum.xda-developers.com/show....php?t=1692209 - it's not a perfect explanation though. Also some blogpost on MTPZ implementation: http://kbhomes.github.com/2012/02/13...mentation.html

Tested programs
Rhythmbox - playback works as it should
UPDATE 2012-10-08: it seems that music copying is working with the latest Ubuntu 12.10 beta. At least a little. Rhythmbox was able to copy music to the phone, although it was there without an album or an artist - but listed in the "songs" pivot. A good start, I would say.
Clementine - attempts to load the device's library but crashes
UPDATE 2012-11-18: attempts to load the device's library and in the process it gets stuck in an infinite loop and causes huge memory leak - do not use!
Nautilus - browsing and playing/displaying/copying from the device works, but I've experienced a timeout issue once (device did not respond, probably it was too busy). Copying to the device also works but neither pictures nor music appear in the phone when browsing there. (Someone could work on that as the files are there when I reconnect the phone.)

lsusb:
Code:
Bus 001 Device 006: ID 045e:04ec Microsoft Corp. Windows Phone (Zune)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x045e Microsoft Corp.
  idProduct          0x04ec Windows Phone (Zune)
  bcdDevice            0.00
  iManufacturer           0 
  iProduct                0 
  iSerial                 <not going to tell you :) >
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           62
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)
21st August 2012, 04:26 PM |#2  
Junior Member
Thanks Meter: 1
 
More
So you still don't have a way to copy files to the WP7 So sad!!!

For the moment the only thing that seems to works is doing: http://parttimetinkerer.wordpress.co...sync-with-wp7/
8th October 2012, 08:33 PM |#3  
PaulosCZ's Avatar
OP Senior Member
Thanks Meter: 11
 
Donate to Me
More
Beware, new development: it seems that music copying is working with the latest Ubuntu 12.10 beta. At least a little. Rhythmbox was able to copy music to the phone, although it was there without an album or an artist - but listed in the "songs" pivot. A good start, I would say. (It doesn't crash anymore. )
20th February 2013, 03:39 AM |#4  
Senior Member
Flag Kolkata
Thanks Meter: 183
 
Donate to Me
More
I've actually been able to open up my wp7.8 lumia 710 on ubuntu 12.10 and copy pictures and video from and to it using nautilus.... u can't copy music coz the music files are in one folder and da unfo related to those files are stored in another. i think dat's really bad idea to just seprate the info from the mp3 file.....
Post Reply Subscribe to Thread

Tags
linux, mtp, mtpz, wp7

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes