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

Reply via email to