[KIN Two Software Development] johnkussack:
Hi there!

As i said on a thread (bit long time ago), i had the intention of making an opensource file manager for the kin.

So i have been working on for two days, and i'm reserving this thread for its releases and descriptions.

It will be given as donationware, which means that you can take it for free and donate if you wish (or not to... )

SECURITY DISCLAIMER

- As you can imagine, by using this tool you have not guaranteed the operational state with your device and is provided "as is". You are the only responsable on the effects if could have on your device, even though i tested locally all the options for hours. Like you do for 3rd party non-certified software.

-

DO NOT, i repeat DO NOT unplug

the device nor close the program while writing or reading from the device. Errors states are unknown and you may scr3w up your flash memory.

- If during the usage, it takes long, WAIT for the transmission to end. Errors are handled by the program and in the last cases there are 2 to 3 levels of error treatment, notificating you in the info box and storing a brief description on the "error.log" file when it's ultra. (I'm still human, new errors can appear).

- IF during this usage the kin gets a "Connected" window and the program is clossed without closing that window, then it's the time where you can unplug and it will reset the device communication values, pluggin again. If you reach this state without doing magic, notify it to solve the bug.

Characteristics

- Libusb driver given for the kin (needs to remove the Zune one)

- Windows (XP,7) 32/64 bits. Linux (through Mono), Mac Osx(through Mono Framework) Compatibility

- Developed in pure c# (using libusbdotnet)

- Developped in layers:

----> Usb

----> Mtp Functions

----> Mtp<->Interface manager

----> Interface

Images V0.01

Requirements

- OS:

---> Windows

------->Net Framework 2.0

------->Libusb-win32 driver(provided below)

---> Linux

------->Root mode to access the devices.

------->Mono

------->Libusb 1-0 components

---> Mac OsX (Checked with Snow Leopard, PAIN IN THE ASS)

-------> Mono framework

-------> Libusb-1.0 source (sourceforge)

----------> Modern OSX compile for 64 bits. Mono needs 32 bits. Compile (as root) with:

sudo su
./configure CC="gcc -m32"
make CC="gcc -m32"
make CC="gcc -m32" install

*Note: it takes a looooooooooooooooooong time to load the first time. be patient

*Note2: if mono yells about needing X11 for Winforms, download Wireshark for OSX, which has X11 easy installation inside (needed for it).

Download links

Kin Driver (libusb-win32): (Create one with InfWizard for the kin PID and VID)

32 bit version: http://www.mediafire.com/?0nhrdn7f5je6dcx

64 bit version: (please use above version)

Source: ***Still needs a bit more documentation, cleaning and binary testing for errors ;) ***

* Note that i DONT have a 64 bit hardware, so i based its compatibility on the failed running in my Windows 7 (aka "this is for other architecture error")

** Note that to use this driver you MUST remove the Zune driver. I recommend to test it on a clean virtual machine first

Functions

- TreeView Kin Storage explorer (Auto Resyncs after each operation)

---> Select one or multiple items with the checkboxes next to them.

- Batch upload to the kin (to the root of the tree)

---> Select one ore more files from the selection dialog and go go go. Any file, anytime

-------> **Danger** pressing twice will upload files twice, be patient.

- Multiple file download from the kin

----> Mark any file from the tree and press "Download". The file will be downloaded to a subfolder "Downloads" next to the exe, where the tree storage has been replicated.

-------> **Danger** Folder and Playlists and other files are just logical, and have no size, so program deals with them as folders (and are created emptied in the local system at the pc)

- Multiple file delete

-------> Mark any file from the tree and press "Delete". After confirmation, the files selected will be removed from the device.

-------> **Danger** Folders are not deleted. Infobox at the bottom will inform you if a file could not be deleted.

-------> **Danger** I trickied it so the storage root could not be deleted... ahhh smart little fellas.. you were already thinking in that huh! rofl.

Known issues

- During my random tests around, i found that sometimes (dunno why exactly), the kin <-> Kino communication skips a step, messing up the mtp communication schema. The solution i used in this release was to show the root storage without children nodes. As this case is an error, you should tell me if you know a repeatable way to get it so i can retest and solve it.

To keep going with the kin, close Kino, and unlock the Connected window (slide your finger over it) and unplug & plug the usb again.

F.A.Q.

- Q: No donation button in the end?

- A: Nope. Just when it proves to be useful ;).

- Q: This works with Kin One devices?

- A: No. I only have access to Two (bricked) and TwoM devices, so cannot test for the little round turtle.

- Q: Do you provide a driver for Kin?

- A: Yes. It is only a bridge from the programs to the libusb-win32 functions. Unfortunately, you would have to remove the zune driver (Hardware manager) before using this one.

- Q: This bricks kin devices?

- A: At all.

- Q: This can hack the device?

- A: No. This is only a tool to upload and download files to your kin. If later it's used to hack, good anyway ;)

- Q: Can this upload *any* file to the kin storage?

- A: Yes, binary files like exe, cab,pdf, ... will be labeled as 0x3000 (undefined filetype) for the kin.

- Q: Can i take the code and make my version called OmgKinManager?

- A: Yup. It would be a nice detail to include a little text in "about..." regarding me though ;)