I am using the following drivers for P2 7/8/15 4.0.3.7 for WWAN and 2.1.2.0 for QPST COM port.
When we issue this commands we create a composite device with 4 functions
PHP:
diag.diag -> /config/usb_gadget/g1/configs/b.1/f1 USB Diagnostic
cser.dun.0 -> /config/usb_gadget/g1/configs/b.1/f2 USB Modem
gsi.rmnet -> /config/usb_gadget/g1/configs/b.1/f3 RMNet
ffs.adb -> /config/usb_gadget/g1/configs/b.1/f4 . ADB
This is quite important could you please compare the hardware IDs.
&MI_00 at the end of HW ID should belong to the Diag COM Port.
May be Windows is trying to assign the drivers to the wrong subfunctions.
Could you try to do one trick. you need terminal emulator on you Phone for that.
1) login to adb shell.
2) setprop sys.usb.configfs 1
3) setprop sys.usb.config none
After that the ADB connection should be dropped.
4) from the terminal emulator
5) su
6) setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
adb connection should be available again.
7) Go to /config/usb_gadget/g1/configs/b.1/ on the phone and do
ls -lart
8) send the output to me.
Also can you send me the entire output of the "dmesg" command from you device.
Logcat could be quite useful. just type "adb logcat" in console and reboot the phone.