On Sun, Jan 29, 2012 at 07:11:22PM +0100, LEVAI Daniel wrote: > On v, jan 29, 2012 at 20:40:35 +1100, Jonathan Gray wrote: > > On Sun, Jan 29, 2012 at 08:27:16AM +0100, LEVAI Daniel wrote: > > > Hi! > > > > > > > > > I'm trying to use an USB serial device with qemu on a OpenBSD host and a > > > winxp guest. I presume the first step would be to recognize this device > > > under OpenBSD as some kind of ucom(4). Currently this is printed in > > > dmesg when I plug in the stuff: > > > > > > ugen1 at uhub1 port 2 "Atmel E85 USB Serial" rev 2.00/1.00 addr 2 > > > > > > Eventually I would like to use cu(1) or minicom thru a /dev/cuaU? > > > device. > > > The vendor_id:product_id is 03eb:6119. > > > > > > Is it possible to somehow use/probe the existing usb serial drivers to > > > see if it attaches/works with one of them? > > > > It is apparently CDC compliant, so try this: > > Thank you very much! It is working perfectly. > It will be the icing on the cake if I can setup qemu to somehow utilize > this device... but that will another issue. > Now I can access and configure my car's bio-ethanol fuel converter with > OpenBSD (and I'm not forced to use its win* GUI). > > > Thanks again, > Daniel
Can you try the following? It would be interesting to know why it doesn't match the class test. Index: sys/dev/usb/umodem.c =================================================================== RCS file: /cvs/src/sys/dev/usb/umodem.c,v retrieving revision 1.44 diff -u -p -r1.44 umodem.c --- sys/dev/usb/umodem.c 3 Jul 2011 15:47:17 -0000 1.44 +++ sys/dev/usb/umodem.c 31 Jan 2012 02:35:49 -0000 @@ -226,6 +226,11 @@ umodem_match(struct device *parent, void return (ret); ret = UMATCH_NONE; + + if (UGETW(dd->idVendor) == USB_VENDOR_ATMEL && + UGETW(dd->idProduct) == 0x6119) + ret = UMATCH_VENDOR_PRODUCT; + if (UGETW(dd->idVendor) == USB_VENDOR_KYOCERA && UGETW(dd->idProduct) == USB_PRODUCT_KYOCERA_AHK3001V && id->bInterfaceNumber == 0) @@ -236,6 +241,9 @@ umodem_match(struct device *parent, void id->bInterfaceSubClass == UISUBCLASS_ABSTRACT_CONTROL_MODEL && id->bInterfaceProtocol == UIPROTO_CDC_AT) ret = UMATCH_IFACECLASS_IFACESUBCLASS_IFACEPROTO; + + printf("class 0x%x subclass 0x%x protocol 0x%x\n", id->bInterfaceClass, + id->bInterfaceSubClass, id->bInterfaceProtocol); if (ret == UMATCH_NONE) return (ret);