INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: How does jriver know which handheld is connected?  (Read 5038 times)

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4276
How does jriver know which handheld is connected?
« on: December 26, 2015, 04:00:08 pm »

handheld device appear to be purely path based but devices may not have the same path every time you plug them in, does jriver handle this? e.g. by using the usb id of the device

If not, how do you edit (or even see) the path to a particular handheld device?
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: How does jriver know which handheld is connected?
« Reply #1 on: December 26, 2015, 04:57:12 pm »

Please explain what is the problem you are trying to solve.
Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4276
Re: How does jriver know which handheld is connected?
« Reply #2 on: December 26, 2015, 05:02:49 pm »

Please explain what is the problem you are trying to solve.

well the immediate issue is I have a bunch of children who each have their own device(s) and an associated set of playlists to hold what they want on those devices. It would be nice if sync'ing these "just worked" so that the job boils down to "edit playlist, plug device in, hit sync, done". However the device selection is path based and as far as I can see, on windows, this path is not deterministic as it just picks a drive letter. If the path isn't deterministic then the sync doesn't "just work" (unless I operate it).
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: How does jriver know which handheld is connected?
« Reply #3 on: December 26, 2015, 05:19:27 pm »

I still don't understand you. The remote devices are not "path related" nor are they identified by a "drive letter". Each device is identified by its own network computer name, which does not change.
Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

RoderickGI

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 8186
Re: How does jriver know which handheld is connected?
« Reply #4 on: December 26, 2015, 05:33:23 pm »

Each device is identified by its own network computer name, which does not change.

That would be true when the device is being used on the network. However, when it is plugged in to automatically sync with MC, maybe it does indeed get identified by the USB port that it is plugged into?

Here is a little tool that Glynor recently shared to solve the USB drive, drive letter assignment issue. Maybe you could use it to assign a different drive letter to each child's device, and hence each would be identified by a different path, and maybe then the sync would happen immediately when the device is plugged in? Worth a try. Free.
http://www.uwe-sieber.de/usbdlm_e.html
Logged
What specific version of MC you are running:MC27.0.27 @ Oct 27, 2020 and updating regularly Jim!                        MC Release Notes: https://wiki.jriver.com/index.php/Release_Notes
What OS(s) and Version you are running:     Windows 10 Pro 64bit Version 2004 (OS Build 19041.572).
The JRMark score of the PC with an issue:    JRMark (version 26.0.52 64 bit): 3419
Important relevant info about your environment:     
  Using the HTPC as a MC Server & a Workstation as a MC Client plus some DLNA clients.
  Running JRiver for Android, JRemote2, Gizmo, & MO 4Media on a Sony Xperia XZ Premium Android 9.
  Playing video out to a Sony 65" TV connected via HDMI, playing digital audio out via motherboard sound card, PCIe TV tuner

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4276
Re: How does jriver know which handheld is connected?
« Reply #5 on: December 26, 2015, 05:35:02 pm »

I still don't understand you. The remote devices are not "path related" nor are they identified by a "drive letter". Each device is identified by its own network computer name, which does not change.
well that makes two of us (who don't understand) :)

I plug in a device (a sansa clip+) and it shows up in windows as drives D and E (because it is in MSC mode rather than MTP as then it can be plugged into many devices and "look the same").
I go to the jriver handheld options and it presents a dropdown that includes "Sansa Clip (D:)" (the internal storage) and "Sansa Clip (E:)" (its external storage).
Alternatively I can go to "device management/add device" and the "device" is simply a path picked via an explorer file selection dialog

I have multiple physical instances of these devices and they present the same way.

Note that when I reference them being identified by a "drive letter", I am referring to how windows presents the device. I plug it in and it shows up as D and E and jrmc exposes just that. For better or worse, for a jrmc user, I don't use windows much so have no real idea how it selects drive letters/paths other than it appears to be "use the next one" (unless it's a mapped drive). My mindset here is linux based (e.g. fiddling udev rules to do stuff when you plug things in, a deeply unfriendly thing to deal with but still)
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: How does jriver know which handheld is connected?
« Reply #6 on: December 27, 2015, 12:14:29 am »

I guess the title of your thread is confusing. It seemed to be a question about "handheld devices", whereas your actual question is about "USB drives". Right??

Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

RoderickGI

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 8186
Re: How does jriver know which handheld is connected?
« Reply #7 on: December 27, 2015, 04:09:10 am »

It is a hand held music player Andrew.

Sansa Clip+
Logged
What specific version of MC you are running:MC27.0.27 @ Oct 27, 2020 and updating regularly Jim!                        MC Release Notes: https://wiki.jriver.com/index.php/Release_Notes
What OS(s) and Version you are running:     Windows 10 Pro 64bit Version 2004 (OS Build 19041.572).
The JRMark score of the PC with an issue:    JRMark (version 26.0.52 64 bit): 3419
Important relevant info about your environment:     
  Using the HTPC as a MC Server & a Workstation as a MC Client plus some DLNA clients.
  Running JRiver for Android, JRemote2, Gizmo, & MO 4Media on a Sony Xperia XZ Premium Android 9.
  Playing video out to a Sony 65" TV connected via HDMI, playing digital audio out via motherboard sound card, PCIe TV tuner

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4276
Re: How does jriver know which handheld is connected?
« Reply #8 on: December 27, 2015, 05:53:16 am »

I guess the title of your thread is confusing. It seemed to be a question about "handheld devices", whereas your actual question is about "USB drives". Right??
It is about how the "handheld sync" feature manages "devices". I am using jriver's terminology here btw as I thought that would make it more obvious what I'm talking about :)

The devices I am using do present to the OS as USB mass storage devices though yes. If I plug them into linux then I see the following output which shows that an OS can be aware that there are different physical instances of the same type of device. On linux,, one can write a udev rule based on that serial number to mount the device to the same path every time.

Ultimately the Q is whether MC provides similar functionality or whether I'm just better off doing this on linux and using udev rules to provide that deterministic path.

device 1
Code: [Select]
[170902.826183] usb 2-1: new high-speed USB device number 3 using ehci-pci
[170905.526920] usb 2-1: new high-speed USB device number 4 using ehci-pci
[170905.660562] usb 2-1: New USB device found, idVendor=0781, idProduct=74d1
[170905.660567] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[170905.660570] usb 2-1: Product: SanDisk Sansa Clip+
[170905.660572] usb 2-1: Manufacturer: SanDisk
[170905.660574] usb 2-1: SerialNumber: 2A12F0096004C7A80000000000000000
[170905.666599] usb-storage 2-1:1.0: USB Mass Storage device detected
[170905.666679] scsi host9: usb-storage 2-1:1.0
[170905.791886] usbcore: registered new interface driver uas
[170906.664114] scsi 9:0:0:0: Direct-Access     SanDisk  Sansa Clip+ 8GB  v01. PQ: 0 ANSI: 0
[170906.664752] scsi 9:0:0:1: Direct-Access     SanDisk  Sansa Clip+ 8GB  v01. PQ: 0 ANSI: 0
[170906.665621] sd 9:0:0:0: Attached scsi generic sg6 type 0
[170906.665888] sd 9:0:0:1: Attached scsi generic sg7 type 0
[170906.665922] sd 9:0:0:0: [sdf] 15462400 512-byte logical blocks: (7.91 GB/7.37 GiB)
[170906.666796] sd 9:0:0:0: [sdf] Write Protect is off
[170906.666800] sd 9:0:0:0: [sdf] Mode Sense: 04 00 00 00
[170906.668462] sd 9:0:0:1: [sdg] 31291392 512-byte logical blocks: (16.0 GB/14.9 GiB)
[170906.669056] sd 9:0:0:0: [sdf] No Caching mode page found
[170906.669061] sd 9:0:0:0: [sdf] Assuming drive cache: write through
[170906.669821] sd 9:0:0:1: [sdg] Write Protect is off
[170906.669825] sd 9:0:0:1: [sdg] Mode Sense: 04 00 00 00
[170906.670684] sd 9:0:0:1: [sdg] No Caching mode page found
[170906.670688] sd 9:0:0:1: [sdg] Assuming drive cache: write through

device 2
Code: [Select]
[170916.389572] usb 2-1: USB disconnect, device number 4
[170927.276811] usb 2-1: new high-speed USB device number 6 using ehci-pci
[170927.410424] usb 2-1: New USB device found, idVendor=0781, idProduct=74d1
[170927.410432] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[170927.410436] usb 2-1: Product: SanDisk Sansa Clip+
[170927.410439] usb 2-1: Manufacturer: SanDisk
[170927.410443] usb 2-1: SerialNumber: 2125EE054392C5A80000000000000000
[170927.416475] usb-storage 2-1:1.0: USB Mass Storage device detected
[170927.417047] scsi host10: usb-storage 2-1:1.0
[170928.418081] scsi 10:0:0:0: Direct-Access     SanDisk  Sansa Clip+ 8GB  v01. PQ: 0 ANSI: 0
[170928.418590] scsi 10:0:0:1: Direct-Access     SanDisk  Sansa Clip+ 8GB  v01. PQ: 0 ANSI: 0
[170928.419062] sd 10:0:0:0: Attached scsi generic sg6 type 0
[170928.419356] sd 10:0:0:1: Attached scsi generic sg7 type 0
[170928.420153] sd 10:0:0:0: [sdf] 15462400 512-byte logical blocks: (7.91 GB/7.37 GiB)
[170928.421029] sd 10:0:0:0: [sdf] Write Protect is off
[170928.421035] sd 10:0:0:0: [sdf] Mode Sense: 04 00 00 00
[170928.422787] sd 10:0:0:1: [sdg] 31291392 512-byte logical blocks: (16.0 GB/14.9 GiB)
[170928.423851] sd 10:0:0:0: [sdf] No Caching mode page found
[170928.423858] sd 10:0:0:0: [sdf] Assuming drive cache: write through
[170928.424411] sd 10:0:0:1: [sdg] Write Protect is off
[170928.424416] sd 10:0:0:1: [sdg] Mode Sense: 04 00 00 00
[170928.425290] sd 10:0:0:1: [sdg] No Caching mode page found
[170928.425296] sd 10:0:0:1: [sdg] Assuming drive cache: write through
Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4276
Re: How does jriver know which handheld is connected?
« Reply #9 on: December 27, 2015, 10:41:43 am »

Here is a little tool that Glynor recently shared to solve the USB drive, drive letter assignment issue. Maybe you could use it to assign a different drive letter to each child's device, and hence each would be identified by a different path, and maybe then the sync would happen immediately when the device is plugged in? Worth a try. Free.
http://www.uwe-sieber.de/usbdlm_e.html
that looks like it will do the job on windows, thanks.
Logged

RoderickGI

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 8186
Re: How does jriver know which handheld is connected?
« Reply #10 on: December 27, 2015, 05:02:06 pm »

that looks like it will do the job on windows, thanks.

Excellent. I thought it might.

Ultimately the Q is whether MC provides similar functionality

I would have expected MC to identify each physical device by type (which is why JRiver have been asking for information about devices) and serial number, so that each is unique. Therefore, the automatic sync would work every time the device is connected.

I suspect part of the problem is that you are using MSC (Mass Storage [device] Class) rather than MTP (Media Transfer Protocol), so it is just seen as drives by MC. Is there anything useful in the MC log when you connect the devices? I would have thought MC would go through a similar identification process to what you have shown on the Linux output.

I guess it doesn't matter, as long as there is a good solution.
Logged
What specific version of MC you are running:MC27.0.27 @ Oct 27, 2020 and updating regularly Jim!                        MC Release Notes: https://wiki.jriver.com/index.php/Release_Notes
What OS(s) and Version you are running:     Windows 10 Pro 64bit Version 2004 (OS Build 19041.572).
The JRMark score of the PC with an issue:    JRMark (version 26.0.52 64 bit): 3419
Important relevant info about your environment:     
  Using the HTPC as a MC Server & a Workstation as a MC Client plus some DLNA clients.
  Running JRiver for Android, JRemote2, Gizmo, & MO 4Media on a Sony Xperia XZ Premium Android 9.
  Playing video out to a Sony 65" TV connected via HDMI, playing digital audio out via motherboard sound card, PCIe TV tuner
Pages: [1]   Go Up