Alan Stern <stern <at> rowland.harvard.edu> writes: > > On Wed, 21 Mar 2007, nesta wrote: > > > thanks a lot Alan for your help but > > i wanna tell u somthing: > > it is about usb.c did u take a look at this file? u will find in the function > > named by > > autoconfig, > > that > > it does not contain any case for omap_udc but it only contains cases for > > net2280, pxa2xx_udc, goku_udc and sh_udc > > so i have increased a case for omap_udc as follows: > > > > ********************************* > > else if (stat (DEVNAME = "omap_udc", &statb) == 0) { > > > > HIGHSPEED = 0; > > > > device_desc.bcdDevice = __constant_cpu_to_le16 (0x0106), > > > > fs_source_desc.bEndpointAddress = USB_DIR_IN | 1; > > > > EP_IN_NAME = "ep1in"; > > > > > > fs_sink_desc.bEndpointAddress = USB_DIR_OUT | 2; > > > > EP_OUT_NAME = "ep1out"; > > > > source_sink_intf.bNumEndpoints = 3; > > > > fs_status_desc.bEndpointAddress = USB_DIR_IN | 3; > > > > EP_STATUS_NAME = "ep3in"; > > > > > > } > > > > *************************************************************** > > > > do u have any suggestion about above part that i have increased? > > You must have gotten hold of an old version of usb.c. The version I have > and the version available on the web site: > > http://www.linux-usb.org/gadget/usb.c > > both contain this code in autoconfig(): > > /* OMAP 1610 and newer devices, full speed only, fifo mode 0 or 3 */ > } else if (stat (DEVNAME = "omap_udc", &statb) == 0) { > HIGHSPEED = 0; > device_desc.bcdDevice = __constant_cpu_to_le16 (0x0106), > > fs_source_desc.bEndpointAddress = USB_DIR_IN | 1; > EP_IN_NAME = "ep1in-bulk"; > fs_sink_desc.bEndpointAddress = USB_DIR_OUT | 2; > EP_OUT_NAME = "ep2out-bulk"; > > source_sink_intf.bNumEndpoints = 3; > fs_status_desc.bEndpointAddress = USB_DIR_IN | 3; > EP_STATUS_NAME = "ep3in-int"; > > Alan Stern >
Dear Alan, sorry for being late,i have tried the new version that u sent me, finally the endpoint files have been created but still have the following problem: now if i want to send any data to the host, i should open the in-endpoint file then write the data to this file, right? this is done in the function named by simple_source_thread: where the writing is done by the following line: status = write (source_fd, buf, len); when i put the previous line between 2 printf's i.e as follows: printf("1\n"); status = write (source_fd, buf, len); printf("2\n"); printing number 1 is done but number 2 is not printed. so why this happen? is it waiting for Acknowledge or what? if so, should i read these data at the host side or what? thanks in advacne ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel