#99 Jiayu devices suppport

v1.0_(example)
wont-fix
Linus Walleij
None
1
2014-08-17
2013-12-27
Alessio Gaeta
No

Hello, I'm an owner of a Jiayu G3S phone, an MTK6589 (1.2GHz quad-core) device.
Trying to make it work with libmtp, I seen that the support to its VID/PID has been disabled with a comment saying

This had to be commented out - the same VID+PID is used also for other modes than MTP, so we need to let mtp-detect do its job on this device instead of adding it to the database.

I added my own rules to udev and Gnome works quite good, but Rhythmbox does not, because it checks against libmtp device list, so there is no point to use MTP at all to me (I'd use it just to sync my music with a proper playlist support).

So here I am to report all VID/PID combination for this device (and likely all MTK6589/MTK6577 devices, at least from Jiayu):

UMS    : 0bb4:0001
CDR    : 0bb4:0001
UMS+ADB: 0bb4:0c03
CDR+ADB: 0bb4:0c03

MTP    : 0bb4:2008
MTP+ADB: 0bb4:0c02

PTP    : 0bb4:200b
PTP+ADB: 0bb4:200c

I hope this will be enough to add support in libmtp for these devices. Please consider to not disable them because there could be other buggy devices reporting the very same VID/PID for different modes: IMHO it is unfair penalize good working devices to protect bad working ones (i.e. one should blacklist his buggy device, not whitelist the good one).

Thanks!

Discussion

  • Linus Walleij
    Linus Walleij
    2014-06-02

    You have seen the comments in the code I guess?

    if 0

    /
    * This had to be commented out - the same VID+PID is used also for
    * other modes than MTP, so we need to let mtp-probe do its job on this
    * device instead of adding it to the database.

    /
    { "HTC", 0x0bb4, "Android Device ID1 (Zopo, HD2, Bird...)", 0x0c02,
    DEVICE_FLAGS_ANDROID_BUGS },

    endif

    (...)

    if 0

    /
    * This had to be commented out - the same VID+PID is used also for
    * other modes than MTP, so we need to let mtp-probe do its job on this
    * device instead of adding it to the database.


    * Apparently also used by a clone called Jiayu G2S
    * with the MTK6577T chipset
    * http://www.ejiayu.com/en/Product-19.html
    * Wiko Cink Peax 2
    */
    { "HTC", 0x0bb4, "Android Device ID2 (Zopo, HD2...)", 0x2008,
    DEVICE_FLAGS_ANDROID_BUGS },

    endif

    As it says, mtp-probe needs to identify these devices. They will work, you just get the warning about it not being known. Are you using mtp-probe?

     
    • Alessio Gaeta
      Alessio Gaeta
      2014-06-03

      You have seen the comments in the code I guess?

      Yes, of course, and I posted VID/PID of my device, which are distinct for each mode.

      As it says, mtp-probe needs to identify these devices. They will work, you just get the warning about it not being known. Are you using mtp-probe?

      I don't know for sure, but I guess yes: mtp-probe binary exists and it should be called as fallback at the end of /lib/udev/rules.d/69-libmtp.rules (I'm on Debian Sid):

      # Autoprobe vendor-specific, communication and PTP devices
      ENV{ID_MTP_DEVICE}!="1", ENV{MTP_NO_PROBE}!="1", ENV{COLOR_MEASUREMENT_DEVICE}!="1", ENV{libsane_matched}!="yes", ATTR{bDeviceClass}=="00|02|06|ef|ff", PROGRAM="mtp-probe /sys$env{DEVPATH} $attr{busnum} $attr{devnum}", RESULT=="1", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
      

      The phone does not get recognized as MTP device.

       


Anonymous


Cancel   Add attachments