From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47783) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <109lozanoi@gmail.com>) id 1arkrS-0007mz-Eb for qemu-devel@nongnu.org; Sun, 17 Apr 2016 07:27:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <109lozanoi@gmail.com>) id 1arkrO-0005Np-EJ for qemu-devel@nongnu.org; Sun, 17 Apr 2016 07:27:30 -0400 Received: from mail-pa0-x22b.google.com ([2607:f8b0:400e:c03::22b]:34712) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <109lozanoi@gmail.com>) id 1arkrO-0005Nj-74 for qemu-devel@nongnu.org; Sun, 17 Apr 2016 07:27:26 -0400 Received: by mail-pa0-x22b.google.com with SMTP id r5so14359986pag.1 for ; Sun, 17 Apr 2016 04:27:25 -0700 (PDT) From: Isaac Lozano <109lozanoi@gmail.com> Date: Sun, 17 Apr 2016 04:29:53 -0700 Message-Id: <1460892593-5908-1-git-send-email-109lozanoi@gmail.com> Subject: [Qemu-devel] [PATCH] usb-mtp: fix usb_mtp_get_device_info so that libmtp on the guest doesn't complain List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kraxel@redhat.com, Isaac Lozano <109lozanoi@gmail.com> If an application uses libmtp on the guest system, it will complain with the warning message: LIBMTP WARNING: VendorExtensionID: ffffffff LIBMTP WARNING: VendorExtensionDesc: (null) LIBMTP WARNING: this typically means the device is PTP (i.e. a camera) but not a MTP device at all. Trying to continue anyway. This is because libmtp expects a MTP Vendor Extension ID of 0x00000006 and a MTP Version of 0x0064. These numbers are taken from Microsoft's MTP Vendor Extension Identification Message page and are what most physical devices show. Signed-off-by: Isaac Lozano <109lozanoi@gmail.com> --- hw/usb/dev-mtp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c index bda84a6..1be85ae 100644 --- a/hw/usb/dev-mtp.c +++ b/hw/usb/dev-mtp.c @@ -788,8 +788,8 @@ static MTPData *usb_mtp_get_device_info(MTPState *s, MTPControl *c) trace_usb_mtp_op_get_device_info(s->dev.addr); usb_mtp_add_u16(d, 100); - usb_mtp_add_u32(d, 0xffffffff); - usb_mtp_add_u16(d, 0x0101); + usb_mtp_add_u32(d, 0x00000006); + usb_mtp_add_u16(d, 0x0064); usb_mtp_add_wstr(d, L""); usb_mtp_add_u16(d, 0x0000); -- 2.8.0