Hi, In Troy Kisky's driver there is a comment:
//this chip (isp116x) gives a pulse of 167ns on the interrupt, pxa250 requires 1000ns //so you must use level triggered for pxa250 or extra hardware to extend the pulse I am using an Advantech PCM-7210 which is based on the CerfBoard PXA Reference Board and uses a Intel XScale-PXA250 rev 4. It appears to use an edge triggered interrupt on irq 49 in the modified driver that comes with its kernel package: set_GPIO_IRQ_edge(27, GPIO_FALLING_EDGE); irq = IRQ_GPIO(27); Just modifying the driver to use level triggered operation (removing InterruptPinTrigger) on irq 49 (irq=49) does not work. It can no longer correctly assign addresses to newly connected devices. Whilst using EDGE triggering (which is what I was using before), it seems to be able to assign addresses to devices ok and find the rights drivers for the device etc. But during ISOC operation "bulk_msg:timeout" happens a lot and packets are lost. As seen in my previous 'vidcat' problem. -----Original Message----- From: okazaki [mailto:[EMAIL PROTECTED] Sent: 04 September 2004 00:11 To: Dominic Evans Subject: Re: isp1161 ISOC timeout problems I meet same message as below today in my system. Tango:/usr/local/bin# ./vidcat -b -s 320x240 -f ppm ov511.c: Forcing packet size to 769 vid 1 vid 2 vid 3 get_image get 1 get 3 bstat =a hp->itl0_len=780 bstat =a hp->itl0_len=780 bstat =8 hp->itl0_len=780 So Please change code in hc_isp116x.c shown as below & test. // if ((bstat & ITL1BufferFull) && (bstat & ITL1BufferDone)) { if (bstat & ITL1BufferDone) { hp->itl1_len = READ_REG16 (hci, HcReadBackITL1Length); if (hp->itl1_len > 0) { //printk("bstat =%x hp->itl1_len=%d\n",bstat,hp->itl1_len);HERE //printk("%x %d\n",bstat,hp->itl1_len);HERE printk("%x\n",bstat); HERE WRITE_REG16 (hci, hp->itl1_len, HcTransferCounter); ****** hp->itl0_len = READ_REG16 (hci, HcReadBackITL0Length); //printk("bstat =%x hp->itl0_len=%d\n",bstat,hp->itl0_len);HERE //printk("%x %d\n",bstat,hp->itl0_len);HERE printk("%x \n",bstat); HERE You will see these print on console. 11 a 11 a 11 a Adsynori -----Original Message----- From: okazaki [mailto:[EMAIL PROTECTED] Sent: 04 September 2004 00:11 To: Dominic Evans Subject: Re: isp1161 ISOC timeout problems Hi Dominic Evans It seems that same problem of ov511.c: ERROR: urb->status=-75: Babble (bad cable?), We wonder if lost interrupt. I think EDGE interrupt or linux version cause this situaion. But some member denied. This problem is not resolved yet. bstat =a hp->itl0_len=408 bstat =a hp->itl0_len=408 bstat =8 hp->itl0_len=408 bstat is shown sequence is not right. You can find these sequence when capture image v(^o^) First usb_submit_urb set Second usb_submit_urb set HC set ITL0Buffer as these lines WRITE_REG16 (hci, hp->tlp, HcTransferCounter); WRITE_REGn16 (hci, HcITLBufferPort, hp->tlp, hp->tl); *After 1frame(1ms) isp1161 set ITL0BufferFull bit to 1 HC set ITL1Buffer *After 1frame(1ms) isp1161 set ITL0BufferDone bit to 1 isp1161 set ITL1BufferFull bit to 1 HC set ITL0Buffer *After 1frame(1ms) isp1161 set ITL1BufferDone bit to 1 isp1161 set ITL0BufferFull bit to 1 HC set ITL1Buffer ----- Original Message ----- From: "Dominic Evans" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, September 03, 2004 7:48 PM Subject: isp1161 ISOC timeout problems Hi, I have heard you are good with isp1161 related linux usb issues and I was recommended to e-mail you with my problems. After just plugging in the webcam (Logitech QuickCam Pro 4000 - pwc driver) and typing vidcat command I get this: node7:~ # ./vidcat -p y -d /dev/v4l/video0 bstat =a hp->itl0_len=408 bstat =a hp->itl0_len=408 bstat =8 hp->itl0_len=408 VIDIOCMCAPTURE: Connection timed out args: width=320 height=240 palette=15 Error: Can't get image ISOC transfer seems to be working. /proc/interrupts increases in number a lot. Once I've tried this once. The next time I try I will only get: node7:~ # ./vidcat -p y -d /dev/v4l/video0 usb_control/bulk_msg: timeout pwc Failed to set video mode [EMAIL PROTECTED] fps; return code = -110 cam type = 740 usb_control/bulk_msg: timeout pwc Failed to set video mode [EMAIL PROTECTED] fps; return code = -110 cam type = 740 usb_control/bulk_msg: timeout pwc Failed to set video mode [EMAIL PROTECTED] fps; return code = -110 cam type = 740 usb_control/bulk_msg: timeout pwc Failed to set video mode [EMAIL PROTECTED] fps; return code = -110 cam type = 740 usb_control/bulk_msg: timeout Etc. until I rmmod/insmod again. Board is an Advantech PCM-7210 Intel Xscale PXA250 ISP116x type is: hc_isp116x.c: USB ISP116x at c6a51000/c6a51004,0 IRQ 49 Rev. 10 ChipID: 6122 hc_isp116x driver is 0.95 version with 'Tango' changes plus modifications required for specific hardware. (AnalogOCEnable, IRQ=49 etc.) Do you have any ideas? Many thanks Dominic Evans ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_idP47&alloc_id808&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel