Date: Wed, 14 May 2008 21:47:03 +0200 From: Hans Petter Selasky <hselasky@c2i.net> To: Steve Clark <sclark@netwolves.com> Cc: freebsd-usb@freebsd.org Subject: Re: In on control endpoint Message-ID: <200805142147.06261.hselasky@c2i.net> In-Reply-To: <482B1E6B.3070309@netwolves.com> References: <4828AA64.7060306@netwolves.com> <200805141739.48185.hselasky@c2i.net> <482B1E6B.3070309@netwolves.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Steve, Try this: static void ubsa_sierra_unlock(struct usbd_device *udev) { usb_device_request_t req; req.bmRequestType = UT_WRITE_VENDOR_DEVICE; req.bRequest = 0x0b; USETW(req.wValue, 0x0001); req.wIndex[0] = 0; req.wIndex[1] = 0; USETW(req.wLength, 0); if (usbd_do_request_flags (udev, NULL, &req, NULL, 0, NULL, 1000)) { /* ignore any errors */ } return; } static int ubsa_probe(device_t dev) { struct usb_attach_arg *uaa = device_get_ivars(dev); const struct ubsa_product *up = ubsa_products; if (uaa->usb_mode != USB_MODE_HOST) { return (UMATCH_NONE); } if (uaa->iface) { return (UMATCH_NONE); } if ( uaa->vendor == USB_VENDOR_SIERRA && uaa->product == 0xfff ) { ubsa_sierra_unlock(uaa->device); return (UMATCH_NONE); } while (up->vendor) { if ((up->vendor == uaa->vendor) && (up->product == uaa->product)) { return (UMATCH_VENDOR_PRODUCT); } up++; } return (UMATCH_NONE); } If it works, maybe you can send a complete patch including those entries you added to usbdevs ? --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805142147.06261.hselasky>