Mmm at last, the thing was discovered, and just experimentation is needed, so we can test the syncing (Cheack Thread Page 3).
Old post text:
Code:
Mmm as I am far from a selfish guy, and have been asked about this, i think that i will share in an independent thread for anyone to see.
Note that this comes from my own ideas, not tested as i cannot use MTP protocol anymore.
[SIZE="5"]Responsability Disclaimer[/SIZE]
This may be agains DCMA or laws about reversing in your country. It's not probably being that way as is a development to interoperate with an unsupported OS (linux) and its one of the exceptions, but i'm not responsable for any liability you can have or imagine.
[SIZE="5"]What is this for?[/SIZE]
This is the procedure to follow before thinking in hacking the phone itself, trying to get to write and read files from the device.
It could faild and serve to no purpose or be gold, depending on the success of the tests.
In the best case, this will lead to the reading and writing of files at will to the device storage.
[SIZE="5"]USB protocol Pre-Knowledge (fast)[/SIZE]
I know you dont wanna know about it, and i am far from an expert but i must just express that USB devices support two operations:
[B]Bulk Transfers[/B] -> Big chunks of data, used mostly for the common data transfers up to 512Bytes per transmission (at a max/time).
[B]Interrupt Transfers[/B] -> Short chunks of data, used for changing settings on the device or short burst of information.
For your personal knowledge, MTP protocol instructions are bunch of hex codes and [U]they use bulk transfers for all of the MTP instructions[/U].
[SIZE="5"]Required items - Gathering[/SIZE]
- Working Kin
- Windows OS as host OS
- USB sniffer / monitor (I like Usblyzer, has trial for 30 days)
- CPU with virtualization capabilities (google how to check)
- Vmware
- Mac OSX image dvd (Snow leopard)
- Software & registration from MacSpace for Kin Media Sync
[SIZE="5"]Procedure[/SIZE]
- Unplug the kin & close all zune software opened.
- Install OSX in an vmware machine
- Install and setup Kin Media sync for mac
- Kill the process that launches zune when you plug the device ("ZuneLauncher.exe")
- Plug the kin now. Use a port where no other device is, so try to put it not together with other usb device like mouse/keyboard which could send packets and confuse the capture.
- Install and setup usb sniffer for windows.
--- Set it to sniff/capture at the USB port where the kin is (it's a tree view structure, so easy to see where to put the check). [U]Dont do it at the left of the KIN device!!![/U] do it on the bus/port as you will disconnect the kin later. Press start capture.
--- Open the zune software and visually check that the sniffer is capturing data (eeeeeeeeeeeeaaaaaaasssssyyyyyyy as it appears there). If it doesnt, you'r doing it wrong, probably cause the port/bus issue.
--- Close zune
--- Reset the capturing (stop, dont save, start).
- Open the virtual machine if it isnt.
- In the virtual machine you should have Kin Media Sync installed, which autolaunches if you have plugged the phone (virtually).
- In the virtual machine window bottom right (vmware border) you will see an item with usb icon. Hover over it and see if the tooltip says KIN. If there are more, look for the right one. Right-Click on it and pick "Connect (Disconnect from host".
- Hopefully, the usb sniffer on Windows would turn mad and begin capturing data, while Kin Media Sync is opening on the OSX virtual machine.
- I cant remember if it does put the label "Connected" at the Kin (you should remember that window from the Zune syncing :P). If it does, close Kin Media Sync and stop the capture on the windows usb sniffer. Else, do a sync before closing (doesnt matter what).
- Save the captured log as a file (in my case, Usblyzer file).
[SIZE="5"]Yeah, but why this is better than other software?[/SIZE]
Other users (and myself) have tried software that uses the MTP software which has some success on getting info from the device but fail when it comes to do reading or writing to the device.
I guess it's probably because the rest of the protocol, the private part that microsoft uses (MTPz) has some control values through the usb that turn on/off device properties, among ones is the one to write/read files.
My first idea was to understand this through the Zune software, but as i said many times, it uses DRM (Janus) to protect the songs (sigh!) and the mtp specification varies if using DRM protection, so i can never find out a way to solve it, without hacking the Zune software cryptography itself (not my intention at all) or became an old man finding how to bypass it. In any case, the Zune software does a RSA challenge-response handshake to the kin before calling to MTP-OpenSession, i can assure that, so its out of reach.
On the other hand Kin Media Studio for the OSX has no official DRM and it can just do easy syncing, so it's pretty much obvious for a dev guy (i am, haha) that its an easiest way to replicate. So i tried to go that way and i was correct, so it just does normal operations through usb and control interrupts.
The problem is that the native sniffers from OSX only capture 16 bytes of data through the usb bus, so messages over that cipher were not reachable for me at the moment. I contacted apple USB master guys about getting a bigger limit, and the resumed answer was something (just much more politely) like: "you'r screwed & stuck with 16 bytes".
So the only approach is to emulate Kin Media Sync in an OSX virtual machine under a windows os machine for the best sniffer software. Another bad point for the fruit logo machines.... (and i'm an owner... imagine a hater!). Here is why I stopped, as my normal working device (laptop) is kinda old and has no VMX/virtualization support, so i couldnt setup the virtual machine for OSX, stopping all the needed setup.
[SIZE="5"]From sniffed data to magic[/SIZE]
At this point, comes the complicate part. Understanding & testing the packets sent to the device to make things work. This is the part where i was going to operate with a new device or my current one if it wasnt bricked/stuck.
The problem appears with this structure (what is on the logged sniffed session):
- Plug the device
- Device <-> OS Handshake (Interrupt/Bulk transfers possible)
- Kin media sync queries (Interrupt transfers)
- Kin media write/read enable (Interrupt transfers)
- Kin media MTP Open session (Bulk transfer)
- Kin media MTP GetStorageInfo (Bulk transfer)
..... more MTP xxxxx (bulk transfer)
- Kin media MTP Close session (bulk transfer)
- Kin media write/read disable (Interrupt transfers)
- Kin media bye bye sync queries (Interrupt transfers)
(if unplugged, the ones below)
- Device <-> OS Goodbye (Interrupt/Bulk transfers possible)
- UnPlug the device
As some of you may realize, normal MTP software used didnt make the "read/write enable" cause the kin is not a standard device. So they fail. Once some person identifies which of this interrupt values make the kin "Connected" window shown and also enables it to be writable, profit comes.
So to test this and later make it published, you need a program to communicate with the device itself and do what some of you called "send hex codes to the kin" (which technically is "bulk and interrupt transfering values to the kin")
There seems to be none, so i code one from scratch and could polish it a bit and giveaway as a Netbeans C++ proyect.
I had some success and it works ok as i reused it(almost all the code) to operate my G15 on linux, iluminating keys and using the LCD pixels.
[SIZE="5"]This can brick my device?[/SIZE]
The short answer to this is NO. The long answer is no again, but cannot be sure of what happens enabling the the device settings while testing. It may become frozen and need to be restarted for example.
During the few test i made, mine refused to operate within my usb program and it was autosolved by libmtp-tools, which did a protocol reboot and it just work as is without doing nothing.
Anyway, i was aware that it was better than getting stuck with the phone "as is".
mmm All being said above, i just leave space for you guys to think what you wanna do with the info and questions that may appear.
Thanks but Hardware Virtualization came up as a no on my laptop.
I hope someone else tries.
I know I know I have to change my username as there are many similar and it gets confusing.
Thanks for taking the time for all the above text
I had a quick read-over what you put, but haven't looked at everything in detail. My wife had a baby yesterday morning, so I'm finding myself rather busy as of late.
Anyway, I'm more than happy to run some tests. Here's what I have access to right now (at home), with much more available when I get back to work in two weeks:
XPS m1530 laptop running x86 Windows 7 (dual-boot to Ubuntu 10.10 running as the Joli OS front). No Hardware Virtualization available for this system, though it can run VMWare for 32-bit Windows OS's.
Macbook Pro (Intel 64-bit archetecture) running 10.6.7 Snow Leopard. Can set up virtual machines if needed, using VMWare, but I'm not sure if that's necessary or not.
Powerbook G4 (PPC) running 10.5.x (latest 10.5 build). Can't run virtual machines, but can be used if another source is helpful to trace.
My personal KIN TWOm running the M OS build. Can technically be reverted back to the TWO (non-M) OS, but I'd rather not lose everything as it's my working phone.
My wife's TWOm, not activated. I can probably play with this more, as she isn't ready to use it yet, but I'd be in trouble if I bricked it.
At work, I have access to a number of different computers and OS's, as needed. I don't think this would be necessary, but they are still there.
John, can I ask where you're at? I've gotten the notion that you're not in the US, as you've said you don't have access to a CDMA network. Is there any way we can get your phone to a US Verizon store for assistance?
klamation said:
Macbook Pro (Intel 64-bit archetecture) running 10.6.7 Snow Leopard. Can set up virtual machines if needed, using VMWare, but I'm not sure if that's necessary or not.
Click to expand...
Click to collapse
This has hardware capabilities (VMX feature), but you should have to install XP (or 7) through bootcamp and then install the OSX there, as the host must be windows. Anyway, you'r "lucky" as 64 bit machines can get up to 32 bytes from the usb bus, so 2x my limitation (not enough but more).
klamation said:
John, can I ask where you're at? I've gotten the notion that you're not in the US, as you've said you don't have access to a CDMA network. Is there any way we can get your phone to a US Verizon store for assistance?
Click to expand...
Click to collapse
I'm from Europe, so most phone network is common GSM with some 3G implementations. I didn bought the phone from verizon, so have no relation to them and hence, no way to give them the phone expecting a working return (why should they in any case?).
johnkussack said:
This has hardware capabilities (VMX feature), but you should have to install XP (or 7) through bootcamp and then install the OSX there, as the host must be windows. Anyway, you'r "lucky" as 64 bit machines can get up to 32 bytes from the usb bus, so 2x my limitation (not enough but more).
Click to expand...
Click to collapse
After I read the details of what you want to do, I thought the same thing. I have 64-bit Windows 7 set up on a bootcamp partition (I actually use VMware Fusion to run it, most of the time, but can natively boot into it, if I need). I have never been successful at setting up an OSX VM though, as it's not officially supported. If you have any reference on how to do it, I'm all ears. I'll do more research into it after posting this.
johnkussack said:
I'm from Europe, so most phone network is common GSM with some 3G implementations. I didn bought the phone from verizon, so have no relation to them and hence, no way to give them the phone expecting a working return (why should they in any case?).
Click to expand...
Click to collapse
Considering the phone is less than a year old, it should still be under warranty. I know I've taken phones into their stores before and had them reimage them. I should try that with the KIN to see if they can do it (if the stores actually have the ability to reimage a KIN phone, indicating they have a ROM of it)
I could assist, I have a tri-boot of vista, 7, and OS X.
I doubt that there is a 128 bit processor emulator, let alone the OS...so wouldn't a solution be to use the same technique ,but "freeze" the process to collect data being transferred?
When I mean freezing, I mean slowing the USB data transfer speeds (using hardware underclocking, on the computer and/or phone)
@klamation
http://www.redmondpie.com/how-to-install-os-x-snow-leopard-in-vmware-windows-7-9140301/
Also, it could be a hackintosh image, i guess. At least if it is able to install the kin media sync software...
awesome71717 said:
...
Click to expand...
Click to collapse
i didnt understand anything beyond the 1st line.
there is no need to slow anything as it was a OSX kernel limitation thing, period.
John,
Why do we need 64bit vmx capability to capture messages when the Zune Software is successfully messaging with 32 bit on windows machines? Obviously I am missing something important.
Dave
kintwouser said:
....Dave
Click to expand...
Click to collapse
You'r missing a more detailed reading of the first post.
Quoteing myself:
My first idea was to understand this through the Zune software, but as i said many times, it uses DRM (Janus) to protect the songs (sigh!) and the mtp specification varies if using DRM protection, so i can never find out a way to solve it, without hacking the Zune software cryptography itself (not my intention at all) or became an old man finding how to bypass it. In any case, the Zune software does a RSA challenge-response handshake to the kin before calling to MTP-OpenSession, i can assure that, so its out of reach.
Click to expand...
Click to collapse
John, I was talking about halting the processor of the phone to allow the cache of data to be recorded and cleared. Once cleared, the processor will resume and the cycle can be repeated until the data is fully collected.
Anyway, has anyone found a jtag port on the board?
awesome71717 said:
John, I was talking about halting the processor of the phone to allow the cache of data to be recorded and cleared. Once cleared, the processor will resume and the cycle can be repeated until the data is fully collected.
Anyway, has anyone found a jtag port on the board?
Click to expand...
Click to collapse
I guess that it would be feasible in a parallel universe. And not mentioning that it's a host os "problem" (st#### OSx), not the phone fault.
Also please posting random ideas without thinking about what you say. A jtag? really?
And in the random case where you can plug one JTag cable/homemade adapter.... how the hell will you use it? with what program? with what known hardware specific schematics?
We cannot handle a USB writing... forget about other access...
Trying to start up Mac OSX 10.6 on a dell 630 laptop but keep getting a cpu has been disabled by the guest operating system error. Maybe I can get a newer copy of MAC that will work.
@ kintwouser
If you are having problems, look for kexts oriented around vmware or your own hardware if you're using hardware acceleration.
@John
Ah. Well then I'll just hop into my Delorean that I modified to travel to alternate dimensions, rather than just through time.
Ok ok I'll try to resist irking you any further.
I just reread the Kin Media Sync to asure it, and you can install it over a 10.5.6 Osx which is the labeled "Leopard" (as is), so i guess easier to get.
Maybe a little hackintosh image would do the same thing, as we dont really need compatibility... as long as the Media Sync works i wouldnt care about having audio on the virtual machine, or networking.. whatever.
On my own plain of existance, i tried to follow the url i posted and went till 95% of the installation, but Virtual machine didnt keep installing, so i had to turn the pc (was about 3 hours). I guess i will try with another different image or my official leopard dvd's.
It's kinda weird in my case, using a macbook with windows to vitualize a OSX... haha.
I've been trying to install SL for about 30 hrs now with no success. I've tried three different versions. VMware 7 is OK here but ACPI errors keeps disabling the CPU during osx install. I have edited the vmx file to no avail. Some suggested that I need kext files but I can't install them if osx isn't installed. I'll keep trying as it is a quest now.
don't know if i am breaking the agreements of this forum since i didn't read it (ala the latest south park episode) but here:
http://tehparadox.com/forum/f51/snow-leopard-10-6-6-vmware-hackintosh-newbies-1973493/
No editing needed. You just need to get VMware Workstation from the official site and use that custom vmware osx image. I have tested it and it works. Now if only I had the phone I could really do some testing.
zero2duo said:
don't know if i am breaking the agreements of this forum since i didn't read it (ala the latest south park episode) but here:
http://tehparadox.com/forum/f51/snow-leopard-10-6-6-vmware-hackintosh-newbies-1973493/
No editing needed. You just need to get VMware Workstation from the official site and use that custom vmware osx image. I have tested it and it works. Now if only I had the phone I could really do some testing.
Click to expand...
Click to collapse
Great find, i'm downloading it atm. Well, i think they could have chosen a (mega)better site but's ok. Queued downloads.
I will try the "installation" in my bootcamped windows XP plus vmware and then kin media sync.... Now I need a phone too, heehehehehe.
John,
I got a 10.6.7 VM running on my Win7 bootcamp partition. I followed the steps you mentioned and was able to capture some USB sniff/trace logs of browsing the device and copying a file. (inexperience during the initial sync missed the bulk of the sync).
You can find the file at www.kyleandelin.com/KIN - let me know if this helps or if you need something more?
Phew, i saw a little pack of problems hahaha (unexpected!)
While i stopped doing this, there was a new version released (2.0) and its format is not readable with 1.6 (version i have).
Installing 2.0 didnt solved the issue, as it says that was captured with a 64 bitOS version and it's not compatible with 32 bits version..... The 2.0 is the first one that included the support for 64 bits.
Man, this is all against us haha.
So... possible solutions:
- Install v1.6. May not work on 64bit os
- Install v2.0 as 32 bit verison. May not work on 64 bits or may be autoinstalled and set to 64bits.
So... what to do from here:
Please, confirm my theory before going further.
- Perform a capture from unplug state (needs to be from start). Must include the plugin till kin shows the connected status.
- Stop the capture session.
- Check the captured data in usblyzer.
- Look for the first "Request" column with "Bulk or Interrupt transfer" value.
--- If there is no suck column in all the capture session, the whole process is futile (no MTP protocol would have been transfered) and we should rethink our options.
--- If there is, please check that its column "Raw data" contains at least "10 00 00 00 01 00 02 10 ... " or a very close value.
If i'm right, and the column matches, it means that usblyzer has successfully captured the mtpz OpenSession request. Also, if it was that way, the "magic" instructions would be the before it.
If there are more than 1 and it's not the first one, please check for it .
I am finally gonna get a new (working) device, so i think that things are going to be a bit fun in some time.....
This time, just MTP, no Qualcomm random options testing.. (hahahahaha)
Related
Hi all!
I need your help to get this thing working, without necessarily
1: Install Ubuntu on one of my boxes
2: Debug through VirtualBox
I have been mucking about with getting ADB to recognise my Kaiser but it's been a long run uphill without any results. I'd like to ask you guys/gals if you have a fully working adb debugging environment with your Kaiser in Windows 7, 32 bit AND 64 bit. I'd like to know for three reasons
1: I have two boxes with either version of Windows 7
2: I have a Kaiser I'd like to be able to debug so I can help out as best I can
3: It would be a great addition to the wiki I'm authoring
So, if you have and/or know a debugging environment set up, please provide details on what to get, where to get it and how to install it.
I have been searching this forum up and down and used Google but this is seriously kicking my butt right now . Thank you all in advance!
Another option would be to make a dual-boot machine, although i'm not certain how this would work with Win7, only done it on XP, however I'm sure it's relatively simple.
In fact if it wasn't for the fact that I need my desktop as a file and print server it'd be dual-boot already.
I'm resurrecting an older laptop at the moment purely as a linux box to use as a dev environment, which is fun as anyone who has an acx100 wifi chipset will tell you (having to go back to Ubuntu 6.10, which is the last fully acx100 aware version I can find).
Dual booting involves either, repartitioning your hard drive, or installing another drive for Linux, I find having about 10GB is enough with maybe 1GB or so for swap, this is usually plenty for a decent dev environment with a lightweight GUI like Xfce or even Enlightenment, if you want bells and whistles, (Gnome or KDE), maybe as high as 20GB.
Some feedback
I've been trying to do this on two Windows boxes for a couple of hours and I have to say, it's pretty amazing that I can't seem to get this working in any other way that either installing Ubuntu or Windows XP.
I've been trying the drivers that came with the Android 2.x SDK because these should be working. Is there anything preventing these drivers from working on our Kaisers and should I in that case get other ones (please provide a link)?
I'll try using a Live CD of Ubuntu and boot up my 64-bit box and see if I can get that to behave. Will report back as soon as its done.
It may be something weird, because I connected my kais130 to my old armada 500 laptop yesterday, which is running an old 6.10 version of Ubuntu, and it connected in USB with not a care in the world, powered down, swapped drives to my XP drive, and rebooted, it too detected the kais, yet on my 1.6Ghz dual core netbook, not a flicker, even running the latest 9.10 ubunto on live cd, not a thing.
I'm starting to wonder if sometimes the lack of connectivity is down to hardware on the PC side?
My old laptop however hates even ubuntu 6.10, so I may have to go to another lighter distro, probably slackware based, in order to get decent speed without the damn memory hog of a gui ( gnome or kde ) and the ability to compile my acx100 module without all the ubuntu hand-holding sudo stuff getting in the way.
I just finished a guide on the wiki I'm authoring to get debugging up and running on Ubuntu 9.(Karmic Koala) and it worked on two of the machines I got around here. One of those machines is the one with 64-bit Windows 7 which I couldn't get to work before.
I threw in a Live CD of Karmic Koala and made a couple of changes to the udev rules and it worked from the first get-go. Same with the other computer, which is a laptop which just so happens had Ubuntu installed in it already. I followed the guide I wrote and it worked without a hitch.
My limited knowledge about drivers and hardware leads me to think there's something going on with either the driver having a problem realising there is an Android based device connected to it, or it is something else entirely.
I wish I had a it more knowledge about these things, if nothing else to be able to get some kind of log/dump/debugging info out of Windows that I could share with the rest of the people around here, which might make us nail down the culprit and get rid of these problems for good. Or until the next version of Windows gets released.
Anyways, it is now up and running on my Ubuntu-laptop, so now I can at least get some more info about what's going on in Android when it locks up, freezes or just FC's.
Ditch VirtualBox. USB support on it is pretty crappy.
I build all of my roms on Ubuntu sitting on VMware Player. Very seamless experience.
I have been using a program to monitor the URB packets sent between the PC and the phone to see if I can figure out what is unlocking the drive. Does anyone know of a program where I can manually send a packet to the phone through USB so that I can test? It would be super helpful!
Thanks
Revskills looks pretty dangerous. Start it and use the mobile ports.
Revskills is the name of the program.
I got what unlocks the phone logged (from monitors), and i do have a program to send the Usb raw data (that i mentioned on other topic).
Can't giveaway the program as i use it on linux, and is development-wise handmade from scratch by me (not gui, needs compilation each time i try something, etc).
Unfortunately, i can't operate with my device to test it (need to be ON and on the kin normal mode).
If someone want to sell me one, i may gratefully pay for a second hand one hehe.
Are you implying you can access the picture storage areas and pull them off the phone?
i'm implying that i have a program to send bulk hex code to the device or control transfer data too.
The "unlock" thing about the storage nand you wonder about is a mixture of both things, modifying device USB properties needed when it's needed.
Protocol used is MTP-like (which is "open") with several variations, so they called it MTPz ("z"une protocol for MTP).
And also I imply that the Zune usb monitoring is futile, as it uses Janus Drm (i always said it) and it's a response challege with cryptography used (not doable).
Nothing more, nothing less.
Has anyone been able to connect to the Kin using the Windows Mobile Device Center? (most likely not--I haven't seen anyone posting about it...)
I came across a website with a bunch of tools that look pretty useful for WinCE devices:
http://itsme.home.xs4all.nl/projects/xda/tools.html
It seems that these tools will only work though if the phone can be seen by the windows mobile device center (with its associated rapi.dll driver).
If there is a way to make the windows mobile device center "see" the kin, then maybe we give some of these tools a test drive.... I'm guessing it's a matter of having the correct driver (which seems to be somewhat of a problem )
I've thought about trying it, however my Win 7 x64 computer seems unable to install or uninstall the Windows Mobile Device center. Once I figure it out, or get a computer that can run it, I'll test it. And Activesync (for the older OSs)
On my laptop (have Zune installed on here) I have Win XP, so had to install ActiveSync 4.5. Unfortunately, after plugging in the phone, ActiveSync could not detect my phone. Not sure if having Zune on my laptop makes any difference or not.
Will install Windows Mobile Device Center 6.1 on my Win 7 desktop (no Zune) sometime tonight and see if the phone is detected there.
This is my first post, but I have been reading every single post since I got the phone around three months ago. I didn't feel the need to post because you all know way more than I do, but I think I may have made a discovery that might help your WMDC idea. If you are to turn on both the PPRO and usb_pass thru modes at the same time on the Kin device it creates an entirely new usb mode labeled "usbfn composite driver." which from my quick research I just did is the mode needed for the WMDC. I'll let you pros test it some more, but I'll keep messing around and see if I can get something. Hope it helps in anyway. If not sorry for wasting everyone's time.
kintwofan said:
This is my first post, but I have been reading every single post since I got the phone around three months ago. I didn't feel the need to post because you all know way more than I do, but I think I may have made a discovery that might help your WMDC idea. If you are to turn on both the PPRO and usb_pass thru modes at the same time on the Kin device it creates an entirely new usb mode labeled "usbfn composite driver." which from my quick research I just did is the mode needed for the WMDC. I'll let you pros test it some more, but I'll keep messing around and see if I can get something. Hope it helps in anyway. If not sorry for wasting everyone's time.
Click to expand...
Click to collapse
At least you've been reading. We're aware of the mode, and my limited trials do not let my computer recognise it, but I'm interesting in your research as to which mode is needed by WMDC. Where did you find that out?
http://forum.xda-developers.com/showthread.php?t=405945 here says that usbfn is for wmdc
also micrsoft talks about this mode here http://msdn.microsoft.com/en-us/library/gg159468.aspx
finally do a google search it seems that we have to make a driver to make it work, but there are a lot of templates out there.
Like i said maybe it will help and maybe not. Sorry.
I tested it.
Created a custom made driver in XP ("Kin Lame driver" from "LameCorp by Kussack")for device:
VID 0x045e, PID 0x643, MI_00
Activesync doesnt trigger on the phone in composite mode
Usb sniff shows that when the program talks to the phone, the phone doesnt answer (even not an error code or something).
Dunno about WMDC and/or the "other", the MI_01 device.
johnkussack said:
I tested it.
Created a custom made driver in XP ("Kin Lame driver" from "LameCorp by Kussack")for device:
VID 0x045e, PID 0x643, MI_00
Activesync doesnt trigger on the phone in composite mode
Usb sniff shows that when the program talks to the phone, the phone doesnt answer (even not an error code or something).
Dunno about WMDC and/or the "other", the MI_01 device.
Click to expand...
Click to collapse
How did you create the custom driver? Was it completely built from scratch, or an existing MS driver?
I spent a couple hours last night trying to fake a WMDC driver into driving my Kin, but was unable to. The closest I got was in using the "Pink" driver found in another thread here, but I couldn't do anything with it.
I still want to try getting a different driver to work (I have a Palm Treo Pro/WM 6.1 phone that I want to test, to see what driver it uses and how it works on the computer). If you've already done similar work, it might not be worth my duplicating your efforts, but if I can go about it differently, I'm still going to try.
you just need to add a pattern in wceusbsh.inf, following the existing ones.
It's like not exactly, putting it from memory:
%\USB&VID=0x045E&PID=0x643&MI_00%.DeviceDesc = \USB&VID=0x045E&PID=0x643&MI_00
And later in the file:
\USB&VID=0x045E&PID=0x643&MI_00.DeviceDesc = "Lame kin driver mfker!"
It's just pasting and customizing two lines (like i posted) and it will be labeled as "Windows CE devices" (even not working or being hacked in a wrong file).
I did this with all driver modes, just for fun. Nothing worked, but may worth a try with newer drivers or OS or pc's.
So, this isn't about the Galaxy Nexus per-se, but I know many of you are scared of the change to MTP and the interaction with the computer, especially those of you coming from Gingerbread directly through to the Galaxy Nexus.
I've had a Motorola Xoom (which doesn't support USB mass storage mode) for a while. Simply put, there is _no_ native support for MTP in OS X (10.7 or lower). If you plug your Galaxy Nexus into your Mac, nothing will happen at all. OS X won't see it, DoubleTwist doesn't see it, Songbird won't and iTunes (obviously) won't see it. As far as I know, there's no way of enabling your Mac to see the device natively, and all of the software designed for other MTP devices that I've tried doesn't work.
In fact, the only way your Mac will ever see it is if you download Google's Android File Helper software. This program, once installed, runs in the background, and whenever you plug in your Honeycomb (or ICS) device, it pops up a window showing the contents of the phone's memory. From here (and only from that window), you can pull files from the phone/tablet or put them onto it.
This works acceptably, but with a few hangups. First, unlike a normal finder window, only one transfer can occur at once, and there's no queueing. So, if you drop one folder on to copy, you're not able to move anything else onto or off of the card until it's finished. Also, large transfers (~10 GB) don't work particularly reliably, and may fail partway through, so you may consider dragging files in in groups. Finally, and most frustratingly, it will often not be up to date with what files are on the device, especially if you've recently deleted them. So, folders or files may still show up that you've recently deleted. Maybe this has been changed in ICS (I hope so!), but that's my experience.
That's your primary way on or off the device. I've had limited success using DDMS for transferring files on and off of the device, and although it's clunky and requires USB debugging mode, it's the most reliable way I've found for transfers that fail in the Transfer client. In practice, I'd recommend using something like SwiFTP to copy (smaller) files to and from your device, and avoiding the hassle when you can.
In short, you definitely CAN use OS X to transfer files onto and off of your Galaxy Nexus, but it's not as easy as it was for Gingerbread Devices, and tools like DoubleTwist and Songbird can no longer access your device at all (in their current versions). You can get around this using AirSync for DoubleTwist to load music, or doing so manually, but it's kludgey. It's unlikely that Apple will choose to support MTP in future versions of OS X (it's a Microsoft protocol now used mostly by Android), but hopefully Google will improve the tool as time goes on.
Sorry if this is all well known and obvious, but if you were on the fence about the GNex because of this, don't be. The MTP switch is annoying, but nothing showstopping, even for OS X. Just FYI.
wanderfowl said:
I've had a Motorola Xoom (which doesn't support USB host mode) for a while.
Click to expand...
Click to collapse
Which doesn't have USB Mass Storage mode (not USB Host - this is USB OTG where you can plug in other USB peripherals into the Xoom). Sorry just a pet peeve watching people confuse the two.
Thanks for an informative post. MTP looks like it is going to cause headaches to every non-Windows device by the looks of it. Ironic for a Linux based device ; ).
Jebus99 said:
Which doesn't have USB Mass Storage mode (not USB Host - this is USB OTG where you can plug in other USB peripherals into the Xoom). Sorry just a pet peeve watching people confuse the two.
Thanks for an informative post. MTP looks like it is going to cause headaches to every non-Windows device by the looks of it. Ironic for a Linux based device ; ).
Click to expand...
Click to collapse
Whoops! Edited
So WiFi File Explorer outta work though if your other ftp type app did?
Thanks for the info. I remember using the app on my MacBook when I had the Xoom. I didn't mind it too much, but it was a tad annoying having to open the app rather than just pop open 'finder' and go. FWIW it DID work just fine for my couple months with the Xoom.
So WiFi File Explorer outta work though if your other ftp type app did?
Click to expand...
Click to collapse
Yeah, FTP apps of all sorts work fine. I use Transmit on the Mac to access the phone via FTP, and that works like a charm.
martonikaj said:
Thanks for the info. I remember using the app on my MacBook when I had the Xoom. I didn't mind it too much, but it was a tad annoying having to open the app rather than just pop open 'finder' and go. FWIW it DID work just fine for my couple months with the Xoom.
Click to expand...
Click to collapse
It works fine to the internal storage. Maybe I should've said explicitly that I had more issues using the Android File Transfer app with the SD Card in the Xoom.
I'm glad Google gave this a thought, now they should make one for linux too, but they probably won't.
wanderfowl said:
iTunes (obviously) won't see it.
Click to expand...
Click to collapse
My post is pointless, but hell will freeze over before iTunes recognizes a Samsung device, lol. If it wasn't for laws and standard, they wouldn't allow their PC to recognize Samsung devices either.
eksasol said:
I'm glad Google gave this a thought, now they should make one for linux too, but they probably won't.
Click to expand...
Click to collapse
That's the nice part about Linux. The people working on Linux have an active incentive to add this functionality, as it improves the experience. With OS X, they have an active (marketing) reason to not add it, anti-competitive behavior. Don't give up hope
wanderfowl said:
It's unlikely that Apple will choose to support MTP in future versions of OS X (it's a Microsoft protocol now used mostly by Android), but hopefully Google will improve the tool as time goes on.
Click to expand...
Click to collapse
It's a protocol native to the USB standard since 2008 so if Apple want to be standards compliant they should implement it. There are lots of other devices that use it as well.
wanderfowl said:
As far as I know, there's no way of enabling your Mac to see the device natively, and all of the software designed for other MTP devices that I've tried doesn't work.
Click to expand...
Click to collapse
Those apps probably just need an update to libmtp.. for some reason that library has the device ID of every device it supports hardcoded in, rather than working out whether a device supports mtp in other ways as things like windows do.
If anyone has ported mtpfs to OSX you should be able to get that going (will probably do that myself when I get time.. Android File Transfer is OK but a bit quirky).
blunden said:
It's a protocol native to the USB standard since 2008 so if Apple want to be standards compliant they should implement it. There are lots of other devices that use it as well.
Click to expand...
Click to collapse
Trust me, I'm not defending it, but I can't imagine Apple in its current state implementing a change which would help in supporting a competitor's product (especially Android) just to be open and compliant. Given how willing Apple as a company is to cut off its nose to spite its face, I doubt that they'll rush to help their users here. Prove me wrong, Apple.
TonyHoyle said:
Those apps probably just need an update to libmtp.. for some reason that library has the device ID of every device it supports hardcoded in, rather than working out whether a device supports mtp in other ways as things like windows do.
If anyone has ported mtpfs to OSX you should be able to get that going (will probably do that myself when I get time.. Android File Transfer is OK but a bit quirky).
Click to expand...
Click to collapse
I've tried working with the existing mtpfs ports, but wasn't able to get very far at all. I'm hoping that ICS will spur people to develop further on that, maybe pulling it into MacFUSE.
wanderfowl said:
Trust me, I'm not defending it, but I can't imagine Apple in its current state implementing a change which would help in supporting a competitor's product (especially Android) just to be open and compliant. Given how willing Apple as a company is to cut off its nose to spite its face, I doubt that they'll rush to help their users here. Prove me wrong, Apple.
Click to expand...
Click to collapse
You certainly have a point and is the primary reason I dispise Apple as a company.
My main point was that it's not to be considered a "Microsoft protocol" as it's been part of the USB standard for years now. Nothing is stopping any OS from implementing it and as a standard they really should as it brings some nice improvements like not requiring the OS on the PC to have support for the filesystem used on the device. Considering FAT32 and exFAT are basically the only filesystems that work in all major OSes, the former being old and having severe limitations and the latter requiring a license it's nice to be able to use something like ext2/3/4 or any other filesystem of choice and still maintain compability.
Apple hasn't typically been particularly resistant to implementing standards and protocols used to communicate with 3rd party devices. Also, the major force behind Apple's resistance to just about everything is gone now... We'll see if they continue the trend without him.
Just bumping this again for the new crop of ICS users
So I've just gotten my VZW Gnex, and unfortunately, Android file transfer seems to have the same problems with not refreshing the files in the folder as it did on the Xoom.
That said, if you're trying to get into a given folder and your Android File Transfer can't see the contents (or the folder itself), just reboot the phone and when it comes back up, the new folder should be there and right as rain.
wanderfowl said:
OS X won't see it, DoubleTwist doesn't see it, Songbird won't and iTunes (obviously) won't see it.
Click to expand...
Click to collapse
If syncing with iTunes is your goal, you left out iSyncr. Our app can sync Android 3.0 and 4.0 devices with iTunes on a Mac over USB (and WiFi). If your Android device is supported by Android File Transfer, it is supported by iSyncr.
As always, you can shoot me an email if you are having an issue with this.
-Justin
I seem to be having a new issue. All of a sudden, I can't sync anything to my XOOM. I had to unlock, and re-unroot it to install ICS on it. I don't know why, but everytime I begin a transfer to my XOOM Android File Transfer instantly says that my my device is locked and I need unlock the screen and/or it can't access the media storage device. It's really frustrating. I can't push the SU.zip bc it gets lost in between the "Ext SD Card" and the "Internal SD Card." Long story short... my Xoom boots into ICS and runs perfectly fine, but I can't finish the root process. Any help?!
Android File Transfer supports files up to 4gb in size. This may be why you are having trouble transferring files that are 10 gb. At least this is the case in OS X Lion
Sent from my Galaxy Nexus using xda premium
Hi, I was wondering if anybody had compiled any information on MTPZ in regards to its usage on Windows Phone 7. Based on preliminary review of the Mac OS X Connector application, the authentication process for MTPZ + Zune is at least somewhat different for MTPZ + WP7.
I've essentially reverse engineered the Zune variety of the MTPZ protocol (which you can read about if you head over to my blog), and I was planning to look into MTPZ on Windows Phone since that might have a larger target audience, but I was hoping to gather some information first:
How is MTPZ used on WP7? Is it what allows one to move files back and forth to the device? In addition, what is an MTPZ session with a Windows Phone device like? Is it just MTPZ authentication operations initially followed by regular MTP (as is the case for Zune devices), or are there MTPZ operations used throughout a session?
What does the Zune software allow you to do with Windows Phone devices? I don't have one of my own.
Has anybody captured a USB/MTP session of the Zune software's communication with a Windows Phone device?
Also just for when/if I begin looking into the protocol:
Do the WP7 emulator images include MTPZ implementations?
Would it somehow be possible to use the emulator image to simulate an actual USB Windows Phone device?
Thanks so much for any information.
Sounds like a great project! I can't answer all your questions right now, but a few of them certainly...
MTPZ allows syncing media files (music, video, picture) to and from WP7. I believe it is also used for changing certain phone settings. In this way, it is very similar to Zune players.
I believe MTPZ is also involved in both the official dev-unlock procedure (the Microsoft developer registration tool requires that Zune be running and have connected with the phone) and app deployment (same restriction). I'm not sure about those - it miht be something else that Zune does - but it seems likely.
There are some other possibilities of things you might do with access to the phone (check it for update availability, wipe the phone, configure WiFi sync, rename it, etc.) It also might be possible to change other settings not visible int he GUI, or to access information that is normally hidden (one awesome possibility would be the encryption key used for the backups, though that's a long shot).
Honestly, just finding a way to run the WiFi sync on-demand would be brilliant. Another very cool option would be to directly modify the artist background images and such on the phone.
As for the emulator, it does support app deployment, but I think that's the only thing from the above list that is supported on it. I don't know how much, if any, of MTPZ is implemented in it. It's probably worth trying (it's free, after all) and considering that it's a VM, it's entirely possible that it does use a virtual USB connection (or some other link that you can tap).
Good luck!
Thanks for the reply.
Okay, so MTPZ is at least used for syncing the media files and all that? That's good to know, do you know if those are transferred via regular MTP commands?
Ah, based on the information there about requiring the Zune software running and connected, I'd also venture to say that it's likely, especially considering the plethora of MTPZ and other non-standard MTP opcodes, like "MTPZ_OPCODE_MARKETPLACE_SET_CREDENTIALS".
So it definitely seems that MTPZ was amended to include a bunch of WP7-specific operations, contrary to the handshake-only operations that comprised MTPZ for the Zune.
If the emulator supports app deployment, and that seems to require an MTPZ connection (and therefore the MTPZ authentication), so I think it would be fair to say that I would at least be able to debug a live authentication session. That being said, I'm still unsure of how I would go about using the emulator image to imitate a real, physical WP7 device connected over USB (much the same way that ISO disc images can be used to imitate physical discs) so that the Zune/Mac Connector software believes it is connected to a device. Hopefully somebody can shed some light on if that's possible and how to go about it.
Currently I'm doing a static analysis of the Mac OS X Windows Phone 7 Connector application to get some preliminary notes on the authentication process.
KBHomes said:
Hi, I was wondering if anybody had compiled any information on MTPZ in regards to its usage on Windows Phone 7. Based on preliminary review of the Mac OS X Connector application, the authentication process for MTPZ + Zune is at least somewhat different for MTPZ + WP7.
I've essentially reverse engineered the Zune variety of the MTPZ protocol (which you can read about if you head over to my blog), and I was planning to look into MTPZ on Windows Phone since that might have a larger target audience, but I was hoping to gather some information first:
How is MTPZ used on WP7? Is it what allows one to move files back and forth to the device? In addition, what is an MTPZ session with a Windows Phone device like? Is it just MTPZ authentication operations initially followed by regular MTP (as is the case for Zune devices), or are there MTPZ operations used throughout a session?
What does the Zune software allow you to do with Windows Phone devices? I don't have one of my own.
Has anybody captured a USB/MTP session of the Zune software's communication with a Windows Phone device?
Also just for when/if I begin looking into the protocol:
Do the WP7 emulator images include MTPZ implementations?
Would it somehow be possible to use the emulator image to simulate an actual USB Windows Phone device?
Thanks so much for any information.
Click to expand...
Click to collapse
Hi, there were some work on MTPz done by biktor_gj, donpromillo and me on the Nokia Lumia 800 Full Unlock thread (discussion started around page 76, tryouts around page 78-80).
So far, we know that Zune performs operating system backup and restore, send applications and software updates (cab and xaps) and flash updates (FFUs).
donpromillo and biktor_gj have sniffed USB traffic for the backup process.
Thanks for your work on MTPz reverse-engineering!