Hi Is there a mechanism to save log messages at boot time? I tested again and found that ehci_wait_td function timeouts in all execution of for loop including first. which registers you want to know? i got these information from log messages:
pipe->qh.current = 0x1eff8d80 pipe->qh.token = 0x00400141 pipe->qh.qtd_next = 0x1efff140 td->token = 0x00400c80 pipe->qh.info1 = 0x00400202 pipe->qh.info2 = 0x00400202 for uhci i used vmware workstation and it works perfectly and i can send and receive data from hid device, but my real hardware does not have uhci controller , instead it has 2 EHCI controller with rate matching hub, so i should use ehci driver for this kind of controller. On Sun, Mar 15, 2015 at 7:03 PM, Kevin O'Connor <[email protected]> wrote: > On Sun, Mar 15, 2015 at 12:32:04PM +0330, Navid Movahedi wrote: > > Hi > > I have a usb 1 HID device with 2 endpoints, 1 in, 1 out, and i want to > > enumerate this usb device with seabios at boot time, so i hacked > > seabios hid source code and add needed codes for this device. now > > device is full functional with uhci driver in vmware and i have no > > problem with read and write to device . the problem is for machines > > with ehci controllers that don't have companion uhci controller and > > uses rate matching hub to connect to this usb 1 device. The currewnt > > status for this kind of controller is that the device is detected and > > configured and 2 endpoints and corresponding 2 interrupt pipes are > > allocated and initialized but when i use usb_send_pipe function to > > write to device , error occurs . error is Timeout in ehci_wait_td > > function in this section of code: > > > > for (i=0, td=tds; i<STACKQTDS; i++, td++) { > > ret = ehci_wait_td(pipe, td, end); > > if (ret) > > return -1; > > } > > > > timeout occurs for second td. i called usb_send_pipe function in this > way: > > > > usb_send_pipe(out_pipe, USB_DIR_OUT , NULL , data, 64); > > > > is it correct? > > > > How can i solve this problem? > > We'd need to see the full seabios log in order to help. When the EHCI > controller complains, it should also print out some ehci registers > which give further information on what the controller was doing at the > time of the error. > > Was this second ehci setup also on vmware or on some other > emulator/real hardware? > > -Kevin >
_______________________________________________ SeaBIOS mailing list [email protected] http://www.seabios.org/mailman/listinfo/seabios
