CPU : PXA255
Kernel : linux-2.4.18
PWC : pwc-8.11(2.4.21)
USB Camera : QuickCam 4000 , Samsung MPC-C10
USB Host Controller : Philips ISP1160
HC Driver : hc_isp116x
‘Troy Kisky’ patch(BoundaryDevice.com) - Enable DMA, Isochronous
Transfer

I don't use DMA. With Troy's driver and pwc-8.11(2.4.21), when I
operated the USB camera using "cat /dev/video0",
that printed nothing only interrupts increase. So, Troy said to me "My
Isp116x driver uses the 2.5, 2.6
series way of doing things instead of the 2.4.  I do not automatically
resubmit isochronous urbs. 
You can work around this by modifying pwc-if.c to resubmit in the
completion handler as 2.6 does. 
I suggest you compare your pwc-if.c with the 2.6 version and apply the
needed changes to resubmit within the completion handler."
I inserted "handler_end" into pwc-8.11(2.4.21) like 2.6 version.
Now, when I operated the USB camera using "cat /dev/video0", frames
printed well. Good operation.
But, when I stop the camera(plugged) using "Ctrl+c", unlinking is
failed and kernel panic.
A cause of oops is that when I stop the operation of camera(plugged),
the driver recognized as the camera is unplugged.
So, that driver tried to assign a device again at used device number.
That caused kernel oops. At the same time, breaking the operation using
(Ctrl+C) and disconnecting(unplugging) USB cable,
the kernel oops is not happened. And when I try to connect the device
again, then also happened.
I suspect pwc_video_close() and pwc_isoc_cleanup() in pwc-if.c and
hci_unlink_urb() in hc_simple116x.c.
Which part do you suspect? How can I correct that problem?

[Result]
usb.c: registered new driver Philips webcam

pwc Logitech QuickCam 4000 Pro USB webcam detected.

pwc Registered as /dev/video0.

(cat /dev/video0)
pwc This Logitech QuickCam Pro 4000 camera is equipped with a Sony CCD
sensor +.
pwc Dumping frame 66.

pwc Dumping frame 67.

pwc Dumping frame 68.

pwc Dumping frame 69.

pwc Dumping frame 70.

pwc Dumping frame 71.

pwc Dumping frame 72.

pwc Dumping frame 73.

pwc Dumping frame 74.

pwc Dumping frame 75.

pwc Dumping frame 76.

pwc Dumping frame 77.

pwc Dumping frame 78.

pwc Dumping frame 79.

pwc Dumping frame 80.

pwc Dumping frame 81.

pwc Dumping frame 82.

pwc Dumping frame 83.

pwc Dumping frame 84.

pwc Dumping frame 85 (last message).
(Ctrl+C and unplugged USB Cable at the same time)
pwc Frame buffer underflow (21825 bytes); discarded.

pwc Closing video device: 229 frames received, dumped 158 frames, 1
frames with.
pwc Frame buffer underflow (6693 bytes); discarded.

pxa-dmaWork.c: improper unlink

hc_isp116x.c: ITL BufferDone but not on EOT, bstat:10 tp:0
eot_pc:c001bb54      
hc_isp116x.c:x  state:0, preq:8, prsp:300, req:8, rsp:300 full:2,
done:10, fmRe0
hc_isp116x.c: * state:0, preq:8, prsp:300, req:8, rsp:300 full:1,
done:8, fmRem0
hc_isp116x.c:   state:1, preq:8, prsp:8, req:0, rsp:0 full:4, done:20,
fmRemRsp2
: HcuPInterrupt read history, elapsed time in usec, value, + bottom
half entry/t
  124   17    5    0  848  120   12   15    0  859  124   17    5    0
854  122
    4    4   BH    X    1   BH   14    4    X   11    4    4   BH    X
11    1
    2    3             11         1    3         a    2    3
11    0
hc_isp116x.c: USB HC reset_hc usb-: ctrl = 0x80 ;

hc_isp116x.c: reset device

pxa-dmaWork.c: improper unlink

hc_isp116x.c: ITL BufferDone but not on EOT, bstat:0 tp:0
eot_pc:c00e8f38       
hc_isp116x.c: * state:0, preq:8, prsp:300, req:8, rsp:300 full:3,
done:18, fmRe0
hc_isp116x.c:x  state:0, preq:8, prsp:300, req:8, rsp:300 full:3,
done:18, fmRe0
hc_isp116x.c:   state:1, preq:8, prsp:8, req:0, rsp:0 full:4, done:20,
fmRemRsp2
: HcuPInterrupt read history, elapsed time in usec, value, + bottom
half entry/t
    0  849  119   12   15    0  853  120   12   15    0  859  124   17
5    6
    X    1   BH   14    4    X    1   BH   14    4    X   11    4    4
BH    1
        11         1    3         a         2    3        11    1    3
0
hc_isp116x.c: USB HC reset_hc usb-: ctrl = 0x80 ;

hc_isp116x.c: reset device

err: a:2, ep:0, pid:0, t:1,slow:0,iso:0,last:1, len:2, maxps:8, cc:5
act:0      
pxa-dmaWork.c: urb status -110, cc:5, good bytes before error: 0 of 2

pwc Failed to set LED on/off time.

[EMAIL PROTECTED] /]$
(Plugged Cable of USB Camera Again)
[EMAIL PROTECTED] /]$hub.c: USB new device connect on bus1/1, assigned
device number 2  <- Already assigned number before replug
Unable to handle kernel paging request at virtual address 00400000

pgd = c0004000

*pgd = 00000000, *pmd = 00000000

Internal error: Oops: ffffffff

CPU: 0
………




-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to