You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
(27) |
Dec
(9) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(2) |
Feb
(19) |
Mar
(13) |
Apr
(15) |
May
(11) |
Jun
(17) |
Jul
(31) |
Aug
(45) |
Sep
(10) |
Oct
(40) |
Nov
(39) |
Dec
(45) |
| 2005 |
Jan
(113) |
Feb
(45) |
Mar
(38) |
Apr
(53) |
May
(11) |
Jun
(42) |
Jul
(56) |
Aug
(50) |
Sep
(32) |
Oct
(32) |
Nov
(47) |
Dec
(22) |
| 2006 |
Jan
(19) |
Feb
(32) |
Mar
(40) |
Apr
(40) |
May
(41) |
Jun
(44) |
Jul
(37) |
Aug
(51) |
Sep
(30) |
Oct
(30) |
Nov
(51) |
Dec
(20) |
| 2007 |
Jan
(7) |
Feb
(20) |
Mar
(17) |
Apr
(67) |
May
(13) |
Jun
(73) |
Jul
(16) |
Aug
(58) |
Sep
(29) |
Oct
(5) |
Nov
(74) |
Dec
(9) |
| 2008 |
Jan
(17) |
Feb
(12) |
Mar
(65) |
Apr
(22) |
May
(40) |
Jun
(32) |
Jul
(11) |
Aug
(8) |
Sep
(3) |
Oct
(41) |
Nov
(34) |
Dec
(12) |
| 2009 |
Jan
(44) |
Feb
(33) |
Mar
(16) |
Apr
(109) |
May
(11) |
Jun
(22) |
Jul
(21) |
Aug
(37) |
Sep
(5) |
Oct
(23) |
Nov
(7) |
Dec
(7) |
| 2010 |
Jan
(36) |
Feb
(40) |
Mar
(35) |
Apr
(45) |
May
(42) |
Jun
(104) |
Jul
(135) |
Aug
(50) |
Sep
(65) |
Oct
(110) |
Nov
(129) |
Dec
(75) |
| 2011 |
Jan
(105) |
Feb
(48) |
Mar
(93) |
Apr
(166) |
May
(169) |
Jun
(188) |
Jul
(106) |
Aug
(33) |
Sep
(85) |
Oct
(46) |
Nov
(102) |
Dec
(105) |
| 2012 |
Jan
(81) |
Feb
(115) |
Mar
(56) |
Apr
(93) |
May
(56) |
Jun
(77) |
Jul
(88) |
Aug
(52) |
Sep
(72) |
Oct
(16) |
Nov
(70) |
Dec
(70) |
| 2013 |
Jan
(23) |
Feb
(85) |
Mar
(38) |
Apr
(48) |
May
(40) |
Jun
(49) |
Jul
(33) |
Aug
(28) |
Sep
(66) |
Oct
(28) |
Nov
(28) |
Dec
(16) |
| 2014 |
Jan
(33) |
Feb
(58) |
Mar
(17) |
Apr
(50) |
May
(16) |
Jun
(24) |
Jul
(19) |
Aug
(32) |
Sep
(10) |
Oct
(10) |
Nov
(4) |
Dec
(10) |
| 2015 |
Jan
(11) |
Feb
(2) |
Mar
(4) |
Apr
(14) |
May
(1) |
Jun
(6) |
Jul
(16) |
Aug
(29) |
Sep
(6) |
Oct
(26) |
Nov
(10) |
Dec
|
| 2016 |
Jan
|
Feb
(20) |
Mar
(6) |
Apr
|
May
(3) |
Jun
(3) |
Jul
|
Aug
(16) |
Sep
(6) |
Oct
|
Nov
(15) |
Dec
|
| 2017 |
Jan
(1) |
Feb
(2) |
Mar
(4) |
Apr
|
May
(1) |
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(1) |
| 2018 |
Jan
|
Feb
(8) |
Mar
(10) |
Apr
(16) |
May
|
Jun
(15) |
Jul
|
Aug
(3) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
|
Nov
|
Dec
|
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
(5) |
May
|
Jun
|
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2021 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(5) |
Jul
(3) |
Aug
|
Sep
(6) |
Oct
(2) |
Nov
(4) |
Dec
|
| 2022 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
(1) |
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2023 |
Jan
(5) |
Feb
(1) |
Mar
|
Apr
(3) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2024 |
Jan
|
Feb
(3) |
Mar
(1) |
Apr
(1) |
May
(11) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
(3) |
Dec
|
|
From: Stephan M. <ste...@we...> - 2007-08-08 19:05:32
|
Adding the feature should not be that difficult if you are familiar with Windows kernel driver programming. But I can't imagine any real world application that would benefit from such a feature. What are you planning to do? Stephan > Hello, > > I want to add asynchronous control submission to Libusb. does that can be simply done in the same > way as in Bulk, Interrupt and Isochronous submission or there are hidden synchronization problems > or any other problems that I did not notice??? > > > Thank you, > > Islam Beltagy > > ----------------------------------------------------------------- > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > > ----------------------------------------------------------------- > _______________________________________________ > Libusb-win32-devel mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel > _____________________________________________________________________ Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! http://smartsurfer.web.de/?mc=100071&distributionid=000000000066 |
|
From: Stephan M. <ste...@we...> - 2007-08-08 18:52:45
|
> > > Hello All! > > I'm developing gaming device for flight simulation. > Part of the device is HID joystick, another part is custom input(encoders, > DACs, rotary switches, etc) and output (LED displays, PWM controlled gauges, > lamps, etc). > > Originally it was pure HID device with input and output reports defind, but > I've found that I need more data to be transferred in and out. > > So my goal is to use Windows driver for HID part and LibUSB for custom part. > In host application I'm going to use bulk read and writes. > > The first (and major) question is - it is possible to write the inf file in > a way where the HID part(&MI_00) is served by windows driver and the custom > part is served by LibUSB? Yes that's possible. See http://msdn2.microsoft.com/en-us/library/ms791091.aspx for details. > > The second question is actually regarding bulk transfer. > The device(AT91SAM7S256) has 4 endpoints, 2 of them (planned to be used by > custom part) has size of 64 bytes. Also the endpoints support ping-pong > transfer. > > I plan to bulk transfer 256-512 bytes in one usb_bulk_write/read call so I > suppose that there will be 4-8 consequentive data out/in transactions. The > question is - will it work as expected or I can send no more than maximum > EP size in a time? The amount of data you can send or receive at once is only limited by the OS and/or your system's RAM. > > Thanks! > > Best regards, > Konstantin Klubnichkin > -- > View this message in context: http://www.nabble.com/Composite-device---HID-%2B-custom-tf4229374.html#a12031879 > Sent from the LibUSB Dev - Win32 mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Libusb-win32-devel mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel > ______________________________________________________________________________ Jetzt neu! Im riesigen WEB.DE Club SmartDrive Dateien freigeben und mit Freunden teilen! http://www.freemail.web.de/club/smartdrive_ttc.htm/?mc=021134 |
|
From: Stephan M. <ste...@we...> - 2007-08-08 18:43:08
|
transfer.c already has support for 'short packets'. The USBD=5FSHORT=5FTRANSFE= R=5FOK flag is explicitly set before submitting an URB. Stephan > Hello,=20 >=20 > I am working in Javax.Usb and trying to implement it for windows using L= ibusb but some features are=20 > missing from Libusb, I am working in the things that I can do but some o= thers I can not. >=20 > I need help in supporting "Short Packets" submission. All the changes wi= ll be in the file transfer.c .=20 > If anyone can do that or help me, I will really appreciate that. >=20 > Thanks >=20 > Bye >=20 > ----------------------------------------------------------------- > ------------------------------------------------------------------------= - > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems=3F Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ >=20 > ----------------------------------------------------------------- > =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F > Libusb-win32-devel mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel >=20 =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F Jetzt neu! Sch=FCtzen Sie Ihren PC mit McAfee und WEB.DE. 3 Monate kostenlos testen. http://www.pc-sicherheit.web.de/startseite/=3Fmc=3D022220 |
|
From: Islam B. <is...@gm...> - 2007-08-08 15:32:06
|
Hello, I want to add asynchronous control submission to Libusb. does that can be simply done in the same way as in Bulk, Interrupt and Isochronous submission or there are hidden synchronization problems or any other problems that I did not notice??? Thank you, Islam Beltagy |
|
From: Kitsok <ko...@ki...> - 2007-08-07 10:38:06
|
Hello All! I'm developing gaming device for flight simulation. Part of the device is HID joystick, another part is custom input(encoders, DACs, rotary switches, etc) and output (LED displays, PWM controlled gauges, lamps, etc). Originally it was pure HID device with input and output reports defind, but I've found that I need more data to be transferred in and out. So my goal is to use Windows driver for HID part and LibUSB for custom part. In host application I'm going to use bulk read and writes. The first (and major) question is - it is possible to write the inf file in a way where the HID part(&MI_00) is served by windows driver and the custom part is served by LibUSB? The second question is actually regarding bulk transfer. The device(AT91SAM7S256) has 4 endpoints, 2 of them (planned to be used by custom part) has size of 64 bytes. Also the endpoints support ping-pong transfer. I plan to bulk transfer 256-512 bytes in one usb_bulk_write/read call so I suppose that there will be 4-8 consequentive data out/in transactions. The question is - will it work as expected or I can send no more than maximum EP size in a time? Thanks! Best regards, Konstantin Klubnichkin -- View this message in context: http://www.nabble.com/Composite-device---HID-%2B-custom-tf4229374.html#a12031879 Sent from the LibUSB Dev - Win32 mailing list archive at Nabble.com. |
|
From: Islam B. <is...@gm...> - 2007-08-06 21:05:35
|
Hello, I am working in Javax.Usb and trying to implement it for windows using Libusb but some features are missing from Libusb, I am working in the things that I can do but some others I can not. I need help in supporting "Short Packets" submission. All the changes will be in the file transfer.c . If anyone can do that or help me, I will really appreciate that. Thanks Bye |
|
From: Xiaofan C. <xia...@gm...> - 2007-07-31 14:22:12
|
On 7/30/07, Xiaofan Chen <xia...@gm...> wrote: > I am in the process of writing a simple isochronous transfer firmware for > Microchip PICkit 2 (PIC18F2550). I need a host application to test it. > http://forum.microchip.com/tm.aspx?m=270049&mpage=2 > > Based on some of the examples Stephan posted here, I come out the > following test program and it seems to work. However, I do not quite > understand the code since I do not quite understand isochronous transfer. > Why we need three context? What is the benefit? Now three buffers > contain the same data. > Part of the problem is the lack of documentation for these functions. People like Staphano in the Microchip forum thread did not know that libusb-win32 supports isoc transfer. It would be nice that the libusb-win32 website to be updated to reflect the changes. Xiaofan |
|
From: Xiaofan C. <xia...@gm...> - 2007-07-31 01:56:48
|
I am in the process of writing a simple isochronous transfer firmware for Microchip PICkit 2 (PIC18F2550). I need a host application to test it. http://forum.microchip.com/tm.aspx?m=270049&mpage=2 Based on some of the examples Stephan posted here, I come out the following test program and it seems to work. However, I do not quite understand the code since I do not quite understand isochronous transfer. Why we need three context? What is the benefit? Now three buffers contain the same data. I know the firmware is not that useful yet since it does not implement double buffer. <code> #include <usb.h> #define VERSION "0.1.0" #define VENDOR_ID 0x04D8 #define PRODUCT_ID 0x0080 #define INTERFACE 0 #define BUFFER_SIZE 65 usb_dev_handle *find_pickit2_isoc(); usb_dev_handle* setup_libusb_access() { usb_dev_handle *pickit2_isoc; usb_set_debug(255); usb_init(); usb_find_busses(); usb_find_devices(); if(!(pickit2_isoc = find_pickit2_isoc())) { printf("Couldn't find the mouse, Exiting\n"); return NULL; } if (usb_set_configuration(pickit2_isoc, 1) < 0) { printf("Could not set configuration 1 : %s\n"); return NULL; } if (usb_claim_interface(pickit2_isoc, INTERFACE) < 0) { printf("Could not claim interface: %s\n"); return NULL; } return pickit2_isoc; } usb_dev_handle *find_pickit2_isoc() { struct usb_bus *bus; struct usb_device *dev; for (bus = usb_busses; bus; bus = bus->next) { for (dev = bus->devices; dev; dev = dev->next) { if (dev->descriptor.idVendor == VENDOR_ID && dev->descriptor.idProduct == PRODUCT_ID ) { usb_dev_handle *handle; printf("pickit2_isoc with Vendor Id: %x and Product Id: %x found.\n", VENDOR_ID, PRODUCT_ID); if (!(handle = usb_open(dev))) { printf("Could not open USB device\n"); return NULL; } return handle; } } } return NULL; } void test_isochronous_async(usb_dev_handle *dev) { unsigned char buf0[640]; unsigned char buf1[640]; unsigned char buf2[640]; int i; /* use three contexts for this example (more can be used) */ void *context0 = NULL; void *context1 = NULL; void *context2 = NULL; /* write transfer (stream) */ /* usb_isochronous_setup_async(dev, &context0, 0x01); usb_isochronous_setup_async(dev, &context1, 0x01); usb_isochronous_setup_async(dev, &context2, 0x01); usb_submit_async(context0, buf0, sizeof(buf0)); usb_submit_async(context1, buf1, sizeof(buf1)); usb_submit_async(context2, buf2, sizeof(buf2)); for(i = 0; i < 10; i++) { usb_reap_async(context0, 5000); usb_submit_async(context0, buf0, sizeof(buf0)); usb_reap_async(context1, 5000); usb_submit_async(context1, buf1, sizeof(buf1)); usb_reap_async(context2, 5000); usb_submit_async(context2, buf2, sizeof(buf2)); } usb_reap_async(context0, 5000); usb_reap_async(context1, 5000); usb_reap_async(context2, 5000); usb_free_async(&context0); usb_free_async(&context1); usb_free_async(&context2); */ /* read transfer (stream) */ usb_isochronous_setup_async(dev, &context0, 0x81,64); usb_isochronous_setup_async(dev, &context1, 0x81,64); usb_isochronous_setup_async(dev, &context2, 0x81,64); usb_submit_async(context0, buf0, sizeof(buf0)); usb_submit_async(context1, buf1, sizeof(buf1)); usb_submit_async(context2, buf2, sizeof(buf2)); for(i = 0; i < 10; i++) { usb_reap_async(context0, 5000); usb_submit_async(context0, buf0, sizeof(buf0)); usb_reap_async(context1, 5000); usb_submit_async(context1, buf1, sizeof(buf1)); usb_reap_async(context2, 5000); usb_submit_async(context2, buf2, sizeof(buf2)); } for(i = 0; i < 640; i++) { printf(" %02x, %02x, %02x ", buf0[i],buf1[i],buf2[i]); // printf(" %02x, %02x, %02x ", buf0[i]); } usb_reap_async(context0, 5000); usb_reap_async(context1, 5000); usb_reap_async(context2, 5000); usb_free_async(&context0); usb_free_async(&context1); usb_free_async(&context2); /* release interface */ usb_set_altinterface(dev, 0); usb_release_interface(dev, 0); } int main(void) { usb_dev_handle *pickit2_isoc; if ((pickit2_isoc = setup_libusb_access()) == NULL) { exit(-1); } test_isochronous_async(pickit2_isoc); usb_close(pickit2_isoc); return 0; } <device info> DLL version: 0.1.12.1 Driver version: 0.1.12.1 bus/device idVendor/idProduct bus-0/\\.\libusb0-0001--0x04d8-0x0080 04D8/0080 - Manufacturer : Microchip Technology Inc. - Product : PICDEM FS USB Demo Board (C) 2004 wTotalLength: 32 bNumInterfaces: 1 bConfigurationValue: 1 iConfiguration: 0 bmAttributes: 80h MaxPower: 50 bInterfaceNumber: 0 bAlternateSetting: 0 bNumEndpoints: 2 bInterfaceClass: 0 bInterfaceSubClass: 0 bInterfaceProtocol: 0 iInterface: 0 bEndpointAddress: 01h bmAttributes: 0dh wMaxPacketSize: 64 bInterval: 1 bRefresh: 0 bSynchAddress: 0 bEndpointAddress: 81h bmAttributes: 0dh wMaxPacketSize: 64 bInterval: 1 bRefresh: 0 bSynchAddress: 0 Regards, Xiaofan |
|
From: Mario I. <mar...@gm...> - 2007-07-29 17:21:41
|
Hi all,
I have problem with usb_buls_read( ) function.
I have custom device based on LPC2148 MCU and lpcusb USB stack. I'm =
using 2 endpoints:
#define BULK_IN_EP 0x82
#define BULK_OUT_EP 0x05
and send/receive packets of data, n * 64 bytes in size, where first 4 =
bytes of the first 64-byte-block are length of packet.
I can send data to device without problem, but reading is tricky, it =
greatly depends on timeout value and frequency of usb_bulk_read( ) call.
Sometimes it returns -116 and in next call return 64 bytes of data with =
one 64-bytes block skipped, sometimes it return 0.
It's essential not to lose data, because it brake synchronization. What =
can I do to fix it?
This is a function to receive packet. I call it in while loop until it =
returns 1 or timer-timedout event.
#define BULK_IN_EP 0x82
#define BULK_OUT_EP 0x05
#define RX_TIMEOUT 50
#define TX_TIMEOUT 2
#define MAX_MSG_SIZE 1024
int get_packet_internal(unsigned char *buf)
{
static unsigned char packet_buffer[2048];
static int head =3D 0;
static int start_of_packet =3D 1;
static unsigned int read_len =3D 0;
unsigned int read_out;
if(!buf) return -1;
read_more:
read_out =3D usb_bulk_read(handle, BULK_IN_EP, &packet_buffer[head], =
64, RX_TIMEOUT);
if((read_out < 0) && (read_out !=3D -ETIMEDOUT)) return -2; // error
=20
if(read_out =3D=3D 0) return 0; // no data yet
if(read_out =3D=3D -ETIMEDOUT) return 0; // no data yet
if(read_out !=3D 64) return -2; // error, broken block
head +=3D read_out;
if(start_of_packet)
{
read_len =3D *((unsigned int*) packet_buffer);
start_of_packet =3D 0;
if(read_len > MAX_MSG_SIZE) return -3; // error - packet too big
if((head - 4) > (int)read_len) goto ret_ok; // packet is in buffer, =
return OK
}
else
{
if((head - 4) > (int)read_len) goto ret_ok; // packet is in buffer, =
return OK
}
=20
goto read_more;
=20
// packet is in buffer, return OK
ret_ok:
memcpy(buf, packet_buffer, read_len + 4);
// re-init static data
start_of_packet =3D 1;
head =3D read_len =3D 0;
return 1; // OK
}
Best regards,
Mario |
|
From: Krakora, R. V <rob...@de...> - 2007-07-25 19:54:24
|
I had to fix the code that comprises the function create_urb() in the
file transfer.c for proper handling of the packet_size parameter for
isochronous reads (see below). Also, I added proper handling for
num_packets as well. I had previously neglected to fill in packet_size
prior to this fix and zero was being passed in as packet_size resulting
in a divide-by-zero error in the driver and the BSD.
static NTSTATUS create_urb(libusb_device_t *dev, URB **urb, int
direction,=20
int urb_function, int endpoint, int
packet_size,=20
MDL *buffer, int size)
{
USBD_PIPE_HANDLE pipe_handle =3D NULL;
int num_packets =3D 0;
int i, urb_size;
*urb =3D NULL;
=20
if(!get_pipe_handle(dev, endpoint, &pipe_handle))
{
DEBUG_ERROR("create_urb(): getting endpoint pipe failed");
return STATUS_INVALID_PARAMETER;
}
=20
/* isochronous transfer */
if(urb_function =3D=3D URB_FUNCTION_ISOCH_TRANSFER)
{
if (packet_size <=3D 0)
{
DEBUG_ERROR("create_urb(): invalid packet size =3D %d",
packet_size);
return STATUS_INVALID_PARAMETER;
}
num_packets =3D (size + packet_size - 1) / packet_size;
if (num_packets <=3D 0)
{
DEBUG_ERROR("create_urb(): invalid number of packets =3D %d",
num_packets);
return STATUS_INVALID_PARAMETER;
}
if(num_packets > 255)
{
DEBUG_ERROR("create_urb(): transfer size too large");
return STATUS_INVALID_PARAMETER;
}
=20
urb_size =3D sizeof(struct _URB_ISOCH_TRANSFER)
+ sizeof(USBD_ISO_PACKET_DESCRIPTOR) * num_packets;
}
else /* bulk or interrupt transfer */
{
urb_size =3D sizeof(struct _URB_BULK_OR_INTERRUPT_TRANSFER);
}
=20
*urb =3D ExAllocatePool(NonPagedPool, urb_size);
=20
if(!*urb)
{
DEBUG_ERROR("create_urb(): memory allocation error");
return STATUS_NO_MEMORY;
}
=20
memset(*urb, 0, urb_size);
=20
(*urb)->UrbHeader.Length =3D (USHORT)urb_size;
(*urb)->UrbHeader.Function =3D (USHORT)urb_function;
=20
/* isochronous transfer */
if(urb_function =3D=3D URB_FUNCTION_ISOCH_TRANSFER)
{
(*urb)->UrbIsochronousTransfer.PipeHandle =3D pipe_handle;
(*urb)->UrbIsochronousTransfer.TransferFlags=20
=3D direction | USBD_SHORT_TRANSFER_OK |
USBD_START_ISO_TRANSFER_ASAP;
(*urb)->UrbIsochronousTransfer.TransferBufferLength =3D size;
(*urb)->UrbIsochronousTransfer.TransferBufferMDL =3D buffer;
(*urb)->UrbIsochronousTransfer.NumberOfPackets =3D num_packets;
=20
for(i =3D 0; i < num_packets; i++)
{
(*urb)->UrbIsochronousTransfer.IsoPacket[i].Offset =3D i *
packet_size;
(*urb)->UrbIsochronousTransfer.IsoPacket[i].Length =3D
packet_size;
}
}
/* bulk or interrupt transfer */
else
{
(*urb)->UrbBulkOrInterruptTransfer.PipeHandle =3D pipe_handle;
(*urb)->UrbBulkOrInterruptTransfer.TransferFlags=20
=3D direction | USBD_SHORT_TRANSFER_OK;
(*urb)->UrbBulkOrInterruptTransfer.TransferBufferLength =3D size;
(*urb)->UrbBulkOrInterruptTransfer.TransferBufferMDL =3D buffer;
}
return STATUS_SUCCESS;
}
Rob Krakora
Software Engineer
Delphi Electronics & Safety
e-mail: rob...@de...
phone: 765-451-8574
-----Original Message-----
From: lib...@li...
[mailto:lib...@li...] On Behalf Of
lib...@li...
Sent: Wednesday, July 25, 2007 3:04 PM
To: lib...@li...
Subject: Libusb-win32-devel Digest, Vol 14, Issue 10
Send Libusb-win32-devel mailing list submissions to
lib...@li...
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
or, via email, send a message with subject or body 'help' to
lib...@li...
You can reach the person managing the list at
lib...@li...
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Libusb-win32-devel digest..."
Today's Topics:
1. Not working, vista32 (Carl Kenner)
----------------------------------------------------------------------
Message: 1
Date: Wed, 25 Jul 2007 22:08:39 +0930
From: "Carl Kenner" <car...@gm...>
Subject: [Libusb-win32-devel] Not working, vista32
To: lib...@li...
Message-ID:
<fab...@ma...>
Content-Type: text/plain; charset=3DISO-8859-1; format=3Dflowed
Installing the latest filter driver (0.1.12.1) on my vista32 laptop
gives no error, but causes HID devices in device manager to have error
39, and the test program gives version -1,-1,-1,-1 for the driver (but
gives the correct version for the dll).
Uninstalling the filter driver makes it go back to normal.
On the other hand, installing the device driver version (for the Sony
SIXAXIS) gives no error, everything looks right in device manager, and
the test program gives the right version. But it finds a single bus,
and no devices. Oh, and the inf file can't be installed by
right-clicking and choosing "install", it can only be installed with
Add New Hardware, All Devices, Have Disk.
In case you are wondering, the SIXAXIS is a HID joystick device which
doesn't describe itself correctly. It doesn't send any buttons or axis
data until you read a specific feature report, but that feature report
isn't listed as one it supports (although it does support/require it),
so trying to read that feature report in windows with HidD_GetFeature
always fails. Which is why I need libusb to work.
So... WHY isn't libusb-win32 working for me? There is, literally, zero
documentation, which doesn't help. I don't even know if it is supposed
to work on Vista.
And if you don't know how to fix the bugs in libusb-win32, do you know
of any other way to read a feature report from a USB HID device
without using HidD_GetFeature?
------------------------------
------------------------------------------------------------------------
-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
------------------------------
_______________________________________________
Libusb-win32-devel mailing list
Lib...@li...
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
End of Libusb-win32-devel Digest, Vol 14, Issue 10
**************************************************
***************************************************************************=
*************
Note: If the reader of this message is not the intended recipient, or an=
employee or agent responsible for delivering this message to the intended=
recipient, you are hereby notified that any dissemination, distribution or=
copying of this communication is strictly prohibited. If you have received=
this communication in error, please notify us immediately by replying to=
the message and deleting it from your computer. Thank you.=20
***************************************************************************=
*************
|
|
From: Carl K. <car...@gm...> - 2007-07-25 12:38:49
|
Installing the latest filter driver (0.1.12.1) on my vista32 laptop gives no error, but causes HID devices in device manager to have error 39, and the test program gives version -1,-1,-1,-1 for the driver (but gives the correct version for the dll). Uninstalling the filter driver makes it go back to normal. On the other hand, installing the device driver version (for the Sony SIXAXIS) gives no error, everything looks right in device manager, and the test program gives the right version. But it finds a single bus, and no devices. Oh, and the inf file can't be installed by right-clicking and choosing "install", it can only be installed with Add New Hardware, All Devices, Have Disk. In case you are wondering, the SIXAXIS is a HID joystick device which doesn't describe itself correctly. It doesn't send any buttons or axis data until you read a specific feature report, but that feature report isn't listed as one it supports (although it does support/require it), so trying to read that feature report in windows with HidD_GetFeature always fails. Which is why I need libusb to work. So... WHY isn't libusb-win32 working for me? There is, literally, zero documentation, which doesn't help. I don't even know if it is supposed to work on Vista. And if you don't know how to fix the bugs in libusb-win32, do you know of any other way to read a feature report from a USB HID device without using HidD_GetFeature? |
|
From: Dave H. <DAV...@ni...> - 2007-07-23 06:52:54
|
> -----Original Message----- > From: lib...@li...=20 > [mailto:lib...@li...] On=20 > Behalf Of Benedikt Sauter > Sent: 2007 July 23 07:45 > To: lib...@li... > Subject: [Libusb-win32-devel] bulk write is good but at bulk=20 > read:usb_reap_async: timeout error >=20 > Hello, >=20 > did anybody know an solution for this problem? >=20 > http://osdir.com/ml/lib.libusb.devel.windows/2006-07/msg00032.html >=20 > I have the same problem: >=20 > I can write to my device but can't read. (Bulkendpoint) >=20 > Libusb tells me this: >=20 > found 1 busses > usb_set_debug: Setting debugging level to 255 (on) > 3 Bytes written > LIBUSB_DLL error: usb_reap_async: timeout error > Error usb_bulk_read: -116 > usb_reap_async: timeout error (2) >=20 > My application works on linux without problems. Only on windows with > cygwin this problem occours. You have to set the MS bit of the endpoint address for input transfers when working with the Windows version of libusb. The Linux version takes care of this for you. Dave ***************************************************************************= ***************************************************************************= ***************************************************************************= **************** NICE CTI Systems UK Limited ("NICE") is registered in England under company= number, 3403044. The registered office of NICE is at Tollbar Way, Hedge E= nd, Southampton, Hampshire SO30 2ZP. Confidentiality: This communication and any attachments are intended for th= e above-named persons only and may be confidential and/or legally privilege= d. Any opinions expressed in this communication are not necessarily those o= f NICE. If this communication has come to you in error you must take no act= ion based on it, nor must you copy or show it to anyone; please delete/dest= roy and inform the sender by e-mail immediately. Monitoring: NICE may monitor incoming and outgoing e-mails. Viruses: Although we have taken steps toward ensuring that this e-mail and= attachments are free from any virus, we advise that in keeping with good c= omputing practice the recipient should ensure they are actually virus free. ***************************************************************************= ***************************************************************************= ***************************************************************************= ******************* =20 |
|
From: Benedikt S. <sa...@si...> - 2007-07-23 06:44:39
|
Hello, did anybody know an solution for this problem? http://osdir.com/ml/lib.libusb.devel.windows/2006-07/msg00032.html I have the same problem: I can write to my device but can't read. (Bulkendpoint) Libusb tells me this: found 1 busses usb_set_debug: Setting debugging level to 255 (on) 3 Bytes written LIBUSB_DLL error: usb_reap_async: timeout error Error usb_bulk_read: -116 usb_reap_async: timeout error (2) My application works on linux without problems. Only on windows with cygwin this problem occours. Regards Bene |
|
From: Xiaofan C. <xia...@gm...> - 2007-07-21 21:20:50
|
On 6/26/07, Stephan Meyer <ste...@we...> wrote:
> >
> > I built the new version with MinGW and it seems to run fine. I have two HID
> > device attached, a PICkit 2 USB programmer from Microchip and a Microsoft
> > Baisc Optical Mouse. Using the default system HID driver, I can still run the
> > test program. Can I assume that the HID backend is kind of working now?
> >
>
> It's only working partially. The backend is fully coded but has not been tested
> very much and I don't know if real data transfers actually work.
> What's still missing are more unit-tests (see tests/src folder) and a test firmware
> that's 100% compliant with the HID spec (see tests/firmware folder).
> It would be really nice if someone with good HID expertise would contribute
> to this backend.
>
It fails for interrupt transfer write.
C:\Myprog\pickit\pk2-3.00-alpha10>testpk2hid.exe -v
Found Microchip PICkit 2(TM) as device 'dev0003' on USB bus /bus0
Dev #3: Microchip Technology Inc. - PICkit 2 Microcontroller Programmer
- Serial Number: PIC18F2550
wTotalLength: 41
bNumInterfaces: 1
bConfigurationValue: 1
iConfiguration: 0
bmAttributes: 80h
MaxPower: 50
bInterfaceNumber: 0
bAlternateSetting: 0
bNumEndpoints: 2
bInterfaceClass: 3
bInterfaceSubClass: 0
bInterfaceProtocol: 0
iInterface: 0
bEndpointAddress: 81h
bmAttributes: 03h
wMaxPacketSize: 64
bInterval: 10
bRefresh: 0
bSynchAddress: 0
bEndpointAddress: 02h
bmAttributes: 03h
wMaxPacketSize: 64
bInterval: 10
bRefresh: 0
bSynchAddress: 0
C:\Myprog\pickit\pk2-3.00-alpha10>pk2 -on
PK2 version 3.00 alpha 10 - 2007/06/10
pk2 -on
Locating USB Microchip PICkit2 (vendor 0x04d8/product 0x0033)
LIBUSB-DLL - trace: usb_init(): dll version: 1.0.0.0
Found USB PICkit as device 'dev0003' on USB bus /bus0
USB> 76
Fatal error> sendUSB() PICkit USB write failed
Regards,
Xiaofan
|
|
From: Kjell E. A. <kje...@ta...> - 2007-07-11 09:36:27
|
Message: 1 Date: Tue, 10 Jul 2007 11:40:38 +0100 From: Dan Ellis <dan...@ne...> Subject: Re: [Libusb-win32-devel] Using libusb with two or more devices To: lib...@li... Message-ID: <469...@ne...> Content-Type: text/plain; charset=3DISO-8859-1; format=3Dflowed Kjell Eirik Andersen wrote: > > Looks like if I skip entering the IgnoreHWSerNum key, I don't get > reprompted when moving the same device from port to port. But in this > case I'm repromted when plugging in a new device with different serial > no. > > If I do enter the IgnoreHWSerNum key, I get reprompted when moving the > same device from port to port. But in this case I'm not repromted when > plugging in a new device with different serial no. > > Seems to me that I can't have it both ways ! (one and only one driver > install). > >>That's correct, the only way you can have it both ways is to get the=20 >>driver signed by Microsoft (which costs). You have to run the WHQL test=20 >>and submit the report - I'm not sure of the whole process. >>Dan. Well Dan, I think this concludes the topic. Thanks a lot for your responses, they are highly appreciated. Best regards, Kjell Eirik=20 |
|
From: Dan E. <dan...@ne...> - 2007-07-10 10:40:44
|
Kjell Eirik Andersen wrote: > > Looks like if I skip entering the IgnoreHWSerNum key, I don't get > reprompted when moving the same device from port to port. But in this > case I'm repromted when plugging in a new device with different serial > no. > > If I do enter the IgnoreHWSerNum key, I get reprompted when moving the > same device from port to port. But in this case I'm not repromted when > plugging in a new device with different serial no. > > Seems to me that I can't have it both ways ! (one and only one driver > install). > That's correct, the only way you can have it both ways is to get the driver signed by Microsoft (which costs). You have to run the WHQL test and submit the report - I'm not sure of the whole process. Dan. |
|
From: Kjell E. A. <kje...@ta...> - 2007-07-09 09:21:45
|
Kjell Eirik Andersen wrote: > > Thanks for your reply. > I now have libusb working perfectly with two equal devices > simoultanously (they have different serial numbers). > > I have done the following observations : > > 1. First install one device (which has not been installed before), and > WinXP prompts for driver. > > 2. After succesful driver installation, run this command in a dos box: > REG ADD HKLM\System\CurrentControlSet\Control\UsbFlags /v > IgnoreHWSerNum<yourVIDPID> /t REG_BINARY /d 01 > > 3. It is now possible to insert other equal devices in the same USB > port, and WinXP will not prompt for driver. > > 4. If I insert a device in a different USB port, WinXP prompts for > driver. > > I had no success in avoiding step 4 above, googling the subject hints > that it wont be possible. My serialnumber is 5 digits, language code is > 0x0409 (US English). > >>I'm surprised you get reprompted for a driver - you do have unique=20 >>serial numbers? >>I was referring to such statements as *http://tinyurl.com/ywb5dc >>*Is your serial number correctly formatted as UTF-8, i.e. every other=20 >>character zero? You should see your serial number in the registry ast=20 >>the position I detailed, or in the properties dialogue box for the=20 >>deivce in the device manager. >>Dan. My serial num's are unique and correctly formated, and I see them in the registry. Looks like if I skip entering the IgnoreHWSerNum key, I don't get reprompted when moving the same device from port to port. But in this case I'm repromted when plugging in a new device with different serial no. If I do enter the IgnoreHWSerNum key, I get reprompted when moving the same device from port to port. But in this case I'm not repromted when plugging in a new device with different serial no. Seems to me that I can't have it both ways ! (one and only one driver install). Best regards, Kjell Eirik |
|
From: Dan E. <dan...@ne...> - 2007-07-07 14:56:30
|
Kjell Eirik Andersen wrote: > > Thanks for your reply. > I now have libusb working perfectly with two equal devices > simoultanously (they have different serial numbers). > > I have done the following observations : > > 1. First install one device (which has not been installed before), and > WinXP prompts for driver. > > 2. After succesful driver installation, run this command in a dos box: > REG ADD HKLM\System\CurrentControlSet\Control\UsbFlags /v > IgnoreHWSerNum<yourVIDPID> /t REG_BINARY /d 01 > > 3. It is now possible to insert other equal devices in the same USB > port, and WinXP will not prompt for driver. > > 4. If I insert a device in a different USB port, WinXP prompts for > driver. > > I had no success in avoiding step 4 above, googling the subject hints > that it wont be possible. My serialnumber is 5 digits, language code is > 0x0409 (US English). > I'm surprised you get reprompted for a driver - you do have unique serial numbers? I was referring to such statements as *http://tinyurl.com/ywb5dc *Is your serial number correctly formatted as UTF-8, i.e. every other character zero? You should see your serial number in the registry ast the position I detailed, or in the properties dialogue box for the deivce in the device manager. Dan. |
|
From: Krakora, R. V <rob...@de...> - 2007-07-05 18:07:37
|
Has anyone done any work in regards to USB audio with libusb-win32? =20 Rob Krakora Software Engineer Delphi Electronics & Safety e-mail: rob...@de... phone: 765-451-8574 =20 ***************************************************************************= ************* Note: If the reader of this message is not the intended recipient, or an= employee or agent responsible for delivering this message to the intended= recipient, you are hereby notified that any dissemination, distribution or= copying of this communication is strictly prohibited. If you have received= this communication in error, please notify us immediately by replying to= the message and deleting it from your computer. Thank you.=20 ***************************************************************************= ************* |
|
From: Kjell E. A. <kje...@ta...> - 2007-07-05 13:31:31
|
Date: Wed, 04 Jul 2007 10:13:31 +0100 From: Dan Ellis <dan...@ne...> Subject: Re: [Libusb-win32-devel] Using libusb with two or more devices To: lib...@li... Message-ID: <468...@ne...> Content-Type: text/plain; charset=3DISO-8859-1; format=3Dflowed >Yes, no problem at all. >Note that Windows only reads serial numbers if they are encoded as US=20 >English. I had my serial numbers encoded as UK English for a long time=20 >and XP wouldn't read them. They've fixed it in Vista. Despite this=20 >libusb was fine with multiple devices with the same VID/PID and UK=20 >English serial numbers. >If you give your device a serial number (which is read by the OS!) then >you won't get prompted for drivers if you plug the device into a=20 >different port. >You should see your devices details added to the registry in=20 >HKLM/SYSTEM/CurrentControlSet/Enum/USB/Vid_xxxx&PID_xxxx/<serial_string > >Dan. Hi Dan ! Thanks for your reply. I now have libusb working perfectly with two equal devices simoultanously (they have different serial numbers). I have done the following observations : 1. First install one device (which has not been installed before), and WinXP prompts for driver. 2. After succesful driver installation, run this command in a dos box:=20 REG ADD HKLM\System\CurrentControlSet\Control\UsbFlags /v IgnoreHWSerNum<yourVIDPID> /t REG_BINARY /d 01 3. It is now possible to insert other equal devices in the same USB port, and WinXP will not prompt for driver. 4. If I insert a device in a different USB port, WinXP prompts for driver. I had no success in avoiding step 4 above, googling the subject hints that it wont be possible. My serialnumber is 5 digits, language code is 0x0409 (US English). Any comments, Best regards, Kjell Eirik |
|
From: Dan E. <dan...@ne...> - 2007-07-04 09:13:40
|
Kjell Eirik Andersen wrote: > > Hi ! > > Has anybody tried to use libusb to talk to two devices with equal > VID/PID but with different serialnumbers ? > Yes, no problem at all. Note that Windows only reads serial numbers if they are encoded as US English. I had my serial numbers encoded as UK English for a long time and XP wouldn't read them. They've fixed it in Vista. Despite this libusb was fine with multiple devices with the same VID/PID and UK English serial numbers. If you give your device a serial number (which is read by the OS!) then you won't get prompted for drivers if you plug the device into a different port. You should see your devices details added to the registry in HKLM/SYSTEM/CurrentControlSet/Enum/USB/Vid_xxxx&PID_xxxx/<serial_string> Dan. |
|
From: Kjell E. A. <kje...@ta...> - 2007-07-02 09:07:17
|
Hi ! Has anybody tried to use libusb to talk to two devices with equal VID/PID but with different serialnumbers ? Best regards, K.E.Andersen |
|
From: Spiro T. <an-...@sp...> - 2007-06-29 11:57:09
|
Gia sou Filippos, * On Fri, Jun 29, 2007 at 01:08:39PM +0300 Filippos Papadopoulos wrote: > I am developing an application that will provide access and info about > USB Mass Storage (and other USB class devices). The application must > recognize every USB Mass Storage device that the user will attach to > his PC. ... snipp ... What do you exactly want? Show any USB mass storage device attached via USB, even if it is not recognized (yet) from Windows, or show only the fully operational USB devices? If you want just the later, I think this should be able without libusb-win32, with the Windows API (but I may be wrong). I would start here: http://www.owad.de/check.php4?id=1839&choice=3&sid=1137029 and look up especially GetDriverType() and GetVolumeInformation(). You might also have a look if you find any information in the links on http://www.lvr.com/mass_storage.htm (section "Hosts", then "Windows specific"). Also the FAQ here might help you: http://www.lvr.com/mass_storage_faq.htm, as well as http://www.codeproject.com/w2k/usbdisks.asp. Especially the later seems to be a good candidate. HTH, Spiro. -- Spiro R. Trikaliotis http://opencbm.sf.net/ http://www.trikaliotis.net/ http://www.viceteam.org/ |
|
From: Filippos P. <psy...@gm...> - 2007-06-29 10:08:40
|
I am developing an application that will provide access and info about USB Mass Storage (and other USB class devices). The application must recognize every USB Mass Storage device that the user will attach to his PC. Right now i am developing the application on Vista and i use the Device Driver Installation. So the problem is that i have to install an .inf file (using the inf-wizard tool) for every USB device. On the other hand, when i install the INF file, Windows stops to "recognize" this device. I think that this is not acceptable for the end-user, because it will be difficult for him to install a driver for each device. So i want to ask if the filter driver (or the future winusb integration) solves these problems. Thanks, Filip. |
|
From: Robert M. <mar...@co...> - 2007-06-28 08:24:38
|
Dan Ellis schrieb: > Slightly off topic, there's also a MS app note stating that for a USB > mass storage device to have an executable autorun on it, then it must > have the removable bit clear in the response to the SCSI INQUIRY > command. Well I've been looking at a U3 flash stick here on the > analyzer, and it has that bit set! It has 2 luns, the main one for > writing to, and a subsidiary one which appears as a CDROM drive (it > fills the first byte of the SCSI INQUIRY command with a 5), and off > which loads some application software which runs automatically. Autostart is what the CDROM Lun is for. Watch out. Autostart and autorun are separate mechanisms. |