Hi,

I was using version of the ISP116x driver for XScale processors, but it was based on 
Roman's driver.
The problem I had was the way driver services ISO transfers. Drivesr used 2.6 kernel 
way that does not automatically re-submit ISO URBs, so you have to do it yourself in 
your webcam Rx interrupt routine.

Rudolf

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of David
Grab
Sent: Saturday, July 31, 2004 12:22 AM
To: [EMAIL PROTECTED]
Subject: [linux-usb-devel] ISP1161 ISO Support


Hello all,

i�m trying to get my Philips PCVC 690K webcam to functioning with ISP 1161A
on a MCF 5272 Coldfire uClinux 2.4.22-uc0 system. First of all USB keyboard
an mouse is functioning. If i�m right, then the ISP 1161 driver needs ISO
support for the webcam. I read some threads here in the list about this and
tried first Roman�s 0.95 driver. The camera get�s detected but with cat
/dev/video0 nothing happens. The communication theems not working. So i
changed following lines like in the Tango version:

in the hc_interrupt routine:

#ifdef HC_ENABLE_ISOC
        /* read itl1 first. if there is an buffer overflow HC will stop at itl1
           There will be a quirks in sh_done_list if this happens !!!!! */
                if (bstat & ITL1BufferDone) {
//if ((bstat & ITL1BufferFull) && (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);
                                WRITE_REG16 (hci, hp->itl1_len, HcTransferCounter);
                                READ_REGn16 (hci, HcITLBufferPort, hp->itl1_len, 
hp->tl);
                                hp->tlp = 0;
                                hci->td_array = &hci->i_td_array [1];
                                sh_done_list (hci);
                        }
                        iso_buffer_index = 1;
                }
                if (bstat & ITL0BufferDone) {
//if ((bstat & ITL0BufferFull) && (bstat & ITL0BufferDone)) {
                        hp->itl0_len = READ_REG16 (hci, HcReadBackITL0Length);
                        if (hp->itl0_len > 0) {
printk("bstat =%x hp->itl0_len=%d\n",bstat,hp->itl0_len);
                                WRITE_REG16 (hci, hp->itl0_len, HcTransferCounter);
                                READ_REGn16 (hci, HcITLBufferPort, hp->itl0_len, 
hp->tl);
                                hp->tlp = 0;
                                hci->td_array = &hci->i_td_array [0];
                                sh_done_list (hci);
                        }
                        iso_buffer_index = 0;
                }
                hp->tlp = 0;
                hci->td_array = &hci->i_td_array [iso_buffer_index];
                sh_scan_iso_urb_list (hci, &hci->iso_list, hci->frame_number + 1);
                if (hp->tlp >0) {
                        WRITE_REG16 (hci, hp->tlp, HcTransferCounter);
                        WRITE_REGn16 (hci, HcITLBufferPort, hp->tlp, hp->tl);
                }
#endif

With these lines i get some output like:
...
bstat = c hp->itl0_len=1480
bstat = c hp->itl0_len=1480
bstat = c hp->itl0_len=1480
bstat = c hp->itl0_len=1480
bstat = e hp->itl0_len=1480
bstat = c hp->itl0_len=1480
bstat = e hp->itl0_len=1480
bstat = c hp->itl0_len=1480
...

Without the printk�s i get with cat /dev/video0 after a short time a kernel
panig with following failure message:
In idle task - not syncing
<7> pwc_isoc_handler() called with status -75 [Babble (bad cable?)].

I think this is because of the iso transfer, right?

I tried also the tango and some other drivers, but there i�m getting also
trouble.

Is there anywhere a functioning implementation with ISO Transfer? Are there
other things that i�ve to look after?

Thx for any help,

David




-------------------------------------------------------
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


-------------------------------------------------------
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to