TJ wrote:
> Revision 2.
>
> I realised I'd made a major programming boo-boo despite knowing better -
> requesting an allocation of memory in the host USB file-system scan
> function, forgetting that the function isn't just called once but
> repeatedly. That would have led to orphaned memory allocations each time
> a USB scan or open operation occurred - baaad!
>
> I've also changed the logic so it only scans for the USB file-system
> type the first time. After that it works off stored values.
>
>
Perhaps there is more work to do with this patch, or there are other
pieces still pending?
I tried out the patch because it looked reasonably interesting on ubuntu
7.10 64bit, and looked like a nice way to attach a local USB device, but
it did not quite work.
IE:
(qemu) info usbhost
Device 3.2, speed 12 Mb/s
Class 00: USB device 067b:2303, USB-Serial Controller
The first thing I tried was using it with the vendor/product id and it
failed immediately.
qemu ... -usb -usbdevice host:067b:2303
Warning: could not add USB device host:067b:2303
Then I tried using it with bus.addr syntax:
qemu ... -usb -usbdevice host:003.002
husb: open device 3.2
husb: opened /dev/bus/usb/003/002
husb: config #1 need -1
husb: 1 interfaces claimed for configuration -1
husb: grabbed usb device 3.2
usb_linux_update_endp_table: Broken pipe
Warning: could not add USB device host:003.002
It turns out that it is failing on the ioctl in usb-linux.c
541 ct.bRequestType = USB_DIR_IN | USB_RECIP_INTERFACE;
542 ct.bRequest = USB_REQ_GET_INTERFACE;
543 ct.wValue = 0;
544 ct.wIndex = interface;
545 ct.wLength = 1;
546 ct.data = &alt_interface;
547 ct.timeout = 50;
548
549 ret = ioctl(s->fd, USBDEVFS_CONTROL, &ct);
550 if (ret < 0) {
551 perror("usb_linux_update_endp_table");
552 return 1;
553 }
I can see that some of the ioctls succeed so perhaps it is partially
working. Any ideas around why this might be failing? I had not ever
looked at the qemu usb code before, but the -1 for the configuration did
look a bit suspicious .
Cheers,
Jason.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html