View Issue Details

IDProjectCategoryView StatusLast Update
0008926MMW v4Synchronizationpublic2012-12-22 23:48
ReporterLudek Assigned To 
PriorityurgentSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version4.1 
Target Version4.1Fixed in Version4.1 
Summary0008926: Ability to pair USB and Wireless key of Android device
DescriptionCurrently there are several situations in which we should ensure the correct detection of Android device profile:

1. User that already uses MM4 with an Android phone syncing via USB upgrades to MM4.1 and connect his phone wirelessly
=> MM should detect the wireless device as the same that was synced via USB previously

2. User installed MM4.1 and has never connected the phone via USB, but he tries to connect wirelessly
=> New device profile should be created and on subsequent USB connect the profile should be used.

3. User installed MM4.1 and connect the phone via USB with the MM for Android installed
=> MM should get the wireless key from the android install folder so that subsequent wireless connection uses that profile.
TagsNo tags attached.
Fixed in build1608

Relationships

related to 0008610 closedLudek Wireless sync with android devices 
related to 0008923 closedLudek Write/Read metadata from/to the database of 'MediaMonkey for Android' (when syncing via USB) 
related to 0009013 closedLudek Option to use media server as sync server 
related to 0010092 closedLudek MMW Crashes when deleting Device Profile 
related to 0010104 closedLudek Issues with device profiles created over WiFi subsequently connected via USB 
related to 0009877 closedLudek Initial sync sometimes fails to trigger accept connection dialog on MMW 

Activities

Ludek

2012-01-05 15:34

developer   ~0029734

Last edited: 2012-01-05 15:36

Re: 1) We would need the ability of the Android app to get USB VID (Vendor ID) and PID (Product ID) and send these values on the first wireless connect

Re: 2&3) We would need the Android app to store its wireless key in the android install folder so that the desktop MediaMonkey can get it when connecting via USB.

Ludek

2012-07-01 13:53

developer   ~0031506

Re 1) Instead of USB VID/PID we are using SN.
Technically: Since API level 9, android.os.Build.SERIAL is offered. This serial number is however part of many USB IDs - specifically, if the device has already been connected to a PC over USB, it's stored in registry in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_04E8&PID_6860\{serial_number_here} key! I.e., if we browse the whole HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB key, we can find the correct VID and PID. It works well for my Galaxy S2 and also Asus Transformer, i.e. it looks like a method that could be useful for a lot of devices.

Ludek

2012-07-01 15:18

developer   ~0031507

Implemented pairing based on Serial Number, works fine with my Galaxy Nexus

Ludek

2012-09-11 09:33

developer   ~0031910

This can be resolved, all have been implemented.

a) MM4.1 stores the pairing key into the StorageInfo.xml for MMA
b) MMA also stores the pairing key into the StorageInfo.xml for MM4.1
c) in case of WiFi sync MMA uses Serial Number as key so that existing profiles are properly matched as described in the above note.

rusty

2012-10-30 17:32

administrator   ~0032837

Per offline discussion, if an unpaired device that has connected over USB with pre-4.1 versions of MM, attempts to connect to MM wirelessly, MMW won't be able to automatically match the device to an existing profile. Consequently, the following approach is proposed:

"An unknown device is attempting to access the MediaMonkey library. Since you already have numerous device profiles, it's recommended that you physically connect your device for the first time over USB.
Grant remote sync / access rights to the MediaMonkey library ?

[Yes] [No] [I'm not sure. I'll connect the device via USB instead.]

Ludek

2012-11-01 10:43

developer   ~0032860

Last edited: 2012-11-01 12:57

What is the difference between [No] and [I'm not sure. I'll connect the device via USB instead.] ?

I would suggest something like this (note that we know the device name as MMA sends it over WiFi):


"Samsung Galaxy Nexus - Internal Storage is attempting to access the MediaMonkey Library, but corresponding device profile was not found. It's recommended that you physically connect your device for the first time over USB.
Would you like to create new profile and grant remote sync / access rights anyway?

[Create new] [I'll connect the device via USB instead]

rusty

2012-11-01 20:12

administrator   ~0032872

Upon further discussion:
1) For cases where the device exists but hasn't been granted access:
"Samsung Galaxy Nexus - Internal Storage" is attempting to sync with the MediaMonkey Library over WiFi. Do you want to allow it to proceed?

[Yes] [No]

2) For cases where the device doesn't exist OR can't be found:
"Samsung Galaxy Nexus - Internal Storage" is attempting to sync with the MediaMonkey Library for the first time. Do you want to allow it to proceed?

Note: If you've previously synced this device with earlier versions of MediaMonkey, it's recommended that you initially sync over USB to preserve your existing sync configuration.

[Yes] [No / I'll sync over USB instead]

Ludek

2012-11-01 21:30

developer   ~0032876

Last edited: 2012-11-01 21:30

Added to 1604

peke

2012-11-11 01:04

developer   ~0033060

Verified 1605

rusty

2012-11-27 18:36

administrator   ~0033415

Last edited: 2012-11-27 19:29

Small wording changes to make it consistent with 0009013:

1) For cases where the device exists but hasn't been granted access:
"Samsung Galaxy Nexus - Internal Storage" is attempting to sync with the MediaMonkey Library over WiFi.

Details:
 MAC address: xx-xx-xx-xx-xx-xx
 IP address: xxx.yyy.zzz.aaa [This is an external IP address!]

Do you want to grant it access?

[Yes] [No]

2) For cases where the device doesn't exist OR can't be found:
"Samsung Galaxy Nexus - Internal Storage" is attempting to sync with the MediaMonkey Library for the first time.

Details:
 MAC address: xx-xx-xx-xx-xx-xx
 IP address: xxx.yyy.zzz.aaa [This is an external IP address!]

Do you want to grant it access?

Note: If you've previously synced this device with earlier versions of MediaMonkey, it's recommended that you initially sync over USB to preserve your existing sync configuration.

[Yes] [No / I'll sync over USB instead]

Ludek

2012-11-27 19:28

developer   ~0033420

Added in 1608.

peke

2012-12-09 00:06

developer   ~0033781

Verified 75