From: Ahmed A. <ahm...@gm...> - 2012-02-28 15:41:36
|
Sorry , Your sequence is exactly right except that the repetition happens due to the wrong size of Packet size I set -I guess- Now I fixed it but I get the dmesg output : *config 1 has 0 interface different from the descriptor value : 1 * On 28 February 2012 17:25, Alan Stern <st...@ro...> wrote: > On Tue, 28 Feb 2012, Ahmed Abdelfattah wrote: > > > Hello , > > > > I have a ques not related to libusb but to USB generally . > > > > I have an ISP1362 usb chip on a development kit , I modified its firmware > > to act as as HID and I added some printfs to debug the code . > > During the enumeration this happens : > > > > 1 - the host issues a getdescriptor request > > 2- the device sends the descriptor > > 3 - the host sets the address of the device > > 4 - the host does a bus reset > > 5 - the host issues a getdescriptor request > > 6 - the device writes the descriptor to the endpoint buffer > > *7 - the host does a bus reset and then repeat from 1 to 7 infinitely > > > > Anyone knows what could the problem be ?* > > That sequence of events is very unlikely. You probably are missing > something. Furthermore, the repeats you see in step 7 are not normal; > they are the result of errors in your device. > > Under Linux (and under Windows too, I believe) the actual sequence of > events is this: > > 1: The host does a bus reset > 2: The host sends a Get-Device-Descriptor request > 3: The device sends the descriptor > 4: The host does another bus reset > 5: The host sends a Set-Address request > 6: The host sends a Get-Device-Descriptor request > and so on... > > Notice there are no bus resets after the Set-Address. > > By the way, timing is not very critical. The device is allowed up to 5 > seconds to respond to the Get-Descriptor and Set-Address requests. > > > > Thank you , > > > > I removed all printfs and tried to connect it again but to linux to see > the > > output of dmesg and it behaves exactly the same I said before it loops > > infintely but it only loops for 4 times on windows or linux . > > > > dmesg output : > > > > > > 1. [ 229.190020] usb 6-1: new full speed USB device using uhci_hcd > and > > address 6 > > 2. [ 229.339036] usb 6-1: device descriptor read/all, error -75 > > This indicates that your device is not sending its device descriptor > correctly. Error -75 is -EOVERFLOW, which means the device sent a > packet that was too large. > > What is your device's bMaxPacketSize0? > > Alan Stern > > -- regards , Ahmed Abdelfattah |