From: Harald Welte Date: Wed, 4 Oct 2006 10:23:54 +0000 (+0000) Subject: - make openpcd driver work with most recent openpcd dumbreader firmware X-Git-Url: http://git.rot13.org/?p=librfid;a=commitdiff_plain;h=3b72d876b47a892bb890c0a7db6a99331196a9f4 - make openpcd driver work with most recent openpcd dumbreader firmware - make openpcd driver work if it is called after some other usb driver was initialized git-svn-id: https://svn.gnumonks.org/trunk/librfid@1893 e0336214-984f-0b4b-a45f-81c69e1f0ede --- diff --git a/src/rfid_reader_openpcd.c b/src/rfid_reader_openpcd.c index b964165..51852f0 100644 --- a/src/rfid_reader_openpcd.c +++ b/src/rfid_reader_openpcd.c @@ -116,12 +116,13 @@ static struct usb_device *find_opcd_device(void) struct usb_device *dev; for (dev = bus->devices; dev; dev = dev->next) { int i; + printf("usb: %4x:%4x\n", dev->descriptor.idVendor, + dev->descriptor.idProduct); for (i = 0; i < ARRAY_SIZE(opcd_usb_ids); i++) { const struct usb_id *id = &opcd_usb_ids[i]; + printf("%x:%x\n", id->vid, id->pid); if (dev->descriptor.idVendor == id->vid && - dev->descriptor.idProduct == id->pid && - dev->descriptor.bNumConfigurations == 1 && - dev->config->iConfiguration == 0) + dev->descriptor.idProduct == id->pid) return dev; } } @@ -321,9 +322,9 @@ openpcd_open(void *data) rcv_hdr = (struct openpcd_hdr *)rcv_buf; usb_init(); - if (!usb_find_busses()) + if (usb_find_busses() < 0) return NULL; - if (!usb_find_devices()) + if (usb_find_devices() < 0) return NULL; dev = find_opcd_device();