hi there
i'm trying to get a usb video camera running under linux with an arm cpu
that has built-in usb 1.1 ports. i successfully tested the cam with an
intel processor and usb 2.0.
the userspace application initializes the v4l2 thing. i think the camera
then sends interrupts, that are handled by the video camera kernel
module (em28xx-core.c) written by markus rechberger.
the kernel module's interrupt service routine looks like this:
--- snip ---
void em28xx_isocIrq(struct urb *urb, struct pt_regs *regs)
{
...
struct em28xx *dev = urb->context;
if (dev->stream == STREAM_ON) {
for (i = 0; i < urb->number_of_packets; i++) {
...
unsigned char *buf = urb->transfer_buffer +
urb->iso_frame_desc[i].offset;
int len = urb->iso_frame_desc[i].actual_length;
if (urb->iso_frame_desc[i].status) {
em28xx_isocdbg("data error: [%d] len=%d, status=%d\n", i,
urb->iso_frame_desc[i].actual_length,
urb->iso_frame_desc[i].status);
...
}
...
}
...
}
}
--- snip ---
the problem is, that this routine works perfectly on intel p4 with usb
2.0 but not with arm and usb 1.1.
i get these errors:
em28xx #0 em28xx_isocIrq :packet 0 is empty
em28xx #0 em28xx_isocIrq :packet 1 is empty
em28xx #0 em28xx_isocIrq :data error: [2] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [3] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 4 is empty
em28xx #0 em28xx_isocIrq :data error: [5] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [6] len=0, status=-110
...
and after 4 times [38] packets the error changes from -110 to
em28xx #0 em28xx_isocIrq :data error: [0] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [1] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [2] len=1016, status=-114
em28xx #0 em28xx_isocIrq :data error: [3] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [4] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [5] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [6] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [7] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [8] len=0, status=-18
a more detailed error log is appended to this mail.
asm-generic/errno.h:
#define ETIMEDOUT 110 /* Connection timed out */
#define EALREADY 114 /* Operation already in progress */
asm-generic/errno-base.h:
#define EXDEV 18 /* Cross-device link */
i suggest that the usb core initially cant connect to the cam and thus
gives me the error 110. but the errors after that are suspect to me. can
anyone explain what error 18 and error 114 mean?
well, i think that there errors come from the usb subsystem, am i right?
thanks for any help! regards, armin.
--
armin langhofer
snail: fischer von erlachstr. 29
snail: a-5020 salzburg
phone: +43 699 11648495
email: [EMAIL PROTECTED]
gnupg: http://langhofer.at/pubkey.txt
armin: em28xx_init_isoc
em28xx #0 em28xx_request_buffers :requested 4 buffers with size 155648<6>em28xxq
em28xx #0 em28xx_isocIrq :packet 0 is empty
em28xx #0 em28xx_isocIrq :packet 1 is empty
em28xx #0 em28xx_isocIrq :data error: [2] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [3] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 4 is empty
em28xx #0 em28xx_isocIrq :data error: [5] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [6] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 7 is empty
em28xx #0 em28xx_isocIrq :packet 8 is empty
em28xx #0 em28xx_isocIrq :data error: [9] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [10] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 11 is empty
em28xx #0 em28xx_isocIrq :data error: [12] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 13 is empty
em28xx #0 em28xx_isocIrq :packet 14 is empty
em28xx #0 em28xx_isocIrq :data error: [15] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 16 is empty
em28xx #0 em28xx_isocIrq :data error: [17] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 18 is empty
em28xx #0 em28xx_isocIrq :data error: [19] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 20 is empty
em28xx #0 em28xx_isocIrq :data error: [21] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [22] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 23 is empty
em28xx #0 em28xx_isocIrq :packet 24 is empty
em28xx #0 em28xx_isocIrq :data error: [25] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 26 is empty
em28xx #0 em28xx_isocIrq :data error: [27] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [28] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [29] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 30 is empty
em28xx #0 em28xx_isocIrq :packet 31 is empty
em28xx #0 em28xx_isocIrq :data error: [32] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 33 is empty
em28xx #0 em28xx_isocIrq :data error: [34] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [35] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 36 is empty
em28xx #0 em28xx_isocIrq :packet 37 is empty
em28xx #0 em28xx_isocIrq :data error: [38] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 39 is empty
armin: em28xx_isocIrq
em28xx #0 em28xx_isocIrq :packet 0 is empty
em28xx #0 em28xx_isocIrq :data error: [1] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [2] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 3 is empty
em28xx #0 em28xx_isocIrq :packet 4 is empty
em28xx #0 em28xx_isocIrq :data error: [5] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 6 is empty
em28xx #0 em28xx_isocIrq :data error: [7] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [8] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 9 is empty
em28xx #0 em28xx_isocIrq :packet 10 is empty
em28xx #0 em28xx_isocIrq :data error: [11] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [12] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 13 is empty
em28xx #0 em28xx_isocIrq :packet 14 is empty
em28xx #0 em28xx_isocIrq :data error: [15] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 16 is empty
em28xx #0 em28xx_isocIrq :packet 17 is empty
em28xx #0 em28xx_isocIrq :data error: [18] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 19 is empty
em28xx #0 em28xx_isocIrq :packet 20 is empty
em28xx #0 em28xx_isocIrq :data error: [21] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [22] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 23 is empty
em28xx #0 em28xx_isocIrq :packet 24 is empty
em28xx #0 em28xx_isocIrq :data error: [25] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 26 is empty
em28xx #0 em28xx_isocIrq :data error: [27] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [28] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 29 is empty
em28xx #0 em28xx_isocIrq :packet 30 is empty
em28xx #0 em28xx_isocIrq :data error: [31] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 32 is empty
em28xx #0 em28xx_isocIrq :packet 33 is empty
em28xx #0 em28xx_isocIrq :data error: [34] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [35] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 36 is empty
em28xx #0 em28xx_isocIrq :packet 37 is empty
em28xx #0 em28xx_isocIrq :data error: [38] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 39 is empty
armin: em28xx_isocIrq
em28xx #0 em28xx_isocIrq :packet 0 is empty
em28xx #0 em28xx_isocIrq :data error: [1] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 2 is empty
em28xx #0 em28xx_isocIrq :packet 3 is empty
em28xx #0 em28xx_isocIrq :data error: [4] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [5] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 6 is empty
em28xx #0 em28xx_isocIrq :data error: [7] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [8] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 9 is empty
em28xx #0 em28xx_isocIrq :data error: [10] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [11] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [12] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 13 is empty
em28xx #0 em28xx_isocIrq :data error: [14] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 15 is empty
em28xx #0 em28xx_isocIrq :data error: [16] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [17] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [18] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 19 is empty
em28xx #0 em28xx_isocIrq :data error: [20] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [21] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 22 is empty
em28xx #0 em28xx_isocIrq :data error: [23] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [24] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 25 is empty
em28xx #0 em28xx_isocIrq :packet 26 is empty
em28xx #0 em28xx_isocIrq :data error: [27] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [28] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 29 is empty
em28xx #0 em28xx_isocIrq :data error: [30] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [31] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 32 is empty
em28xx #0 em28xx_isocIrq :data error: [33] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [34] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 35 is empty
em28xx #0 em28xx_isocIrq :packet 36 is empty
em28xx #0 em28xx_isocIrq :data error: [37] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [38] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 39 is empty
armin: em28xx_isocIrq
em28xx #0 em28xx_isocIrq :data error: [0] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [1] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [2] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 3 is empty
em28xx #0 em28xx_isocIrq :data error: [4] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 5 is empty
em28xx #0 em28xx_isocIrq :data error: [6] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [7] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 8 is empty
em28xx #0 em28xx_isocIrq :packet 9 is empty
em28xx #0 em28xx_isocIrq :data error: [10] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [11] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 12 is empty
em28xx #0 em28xx_isocIrq :data error: [13] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [14] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 15 is empty
em28xx #0 em28xx_isocIrq :data error: [16] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [17] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 18 is empty
em28xx #0 em28xx_isocIrq :packet 19 is empty
em28xx #0 em28xx_isocIrq :data error: [20] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 21 is empty
em28xx #0 em28xx_isocIrq :packet 22 is empty
em28xx #0 em28xx_isocIrq :data error: [23] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [24] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 25 is empty
em28xx #0 em28xx_isocIrq :data error: [26] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [27] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 28 is empty
em28xx #0 em28xx_isocIrq :packet 29 is empty
em28xx #0 em28xx_isocIrq :data error: [30] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 31 is empty
em28xx #0 em28xx_isocIrq :data error: [32] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [33] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [34] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 35 is empty
em28xx #0 em28xx_isocIrq :data error: [36] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [37] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 38 is empty
em28xx #0 em28xx_isocIrq :data error: [39] len=0, status=-110
armin: em28xx_isocIrq
em28xx #0 em28xx_isocIrq :data error: [0] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 1 is empty
em28xx #0 em28xx_isocIrq :packet 2 is empty
em28xx #0 em28xx_isocIrq :data error: [3] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 4 is empty
em28xx #0 em28xx_isocIrq :packet 5 is empty
em28xx #0 em28xx_isocIrq :data error: [6] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [7] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 8 is empty
em28xx #0 em28xx_isocIrq :data error: [9] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [10] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 11 is empty
em28xx #0 em28xx_isocIrq :packet 12 is empty
em28xx #0 em28xx_isocIrq :data error: [13] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 14 is empty
em28xx #0 em28xx_isocIrq :data error: [15] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [16] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [17] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 18 is empty
em28xx #0 em28xx_isocIrq :data error: [19] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [20] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 21 is empty
em28xx #0 em28xx_isocIrq :data error: [22] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [23] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 24 is empty
em28xx #0 em28xx_isocIrq :packet 25 is empty
em28xx #0 em28xx_isocIrq :data error: [26] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 27 is empty
em28xx #0 em28xx_isocIrq :packet 28 is empty
em28xx #0 em28xx_isocIrq :data error: [29] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [30] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 31 is empty
em28xx #0 em28xx_isocIrq :data error: [32] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [33] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [34] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 35 is empty
em28xx #0 em28xx_isocIrq :data error: [36] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 37 is empty
em28xx #0 em28xx_isocIrq :data error: [38] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [39] len=0, status=-110
armin: em28xx_isocIrq
em28xx #0 em28xx_isocIrq :data error: [0] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [1] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [2] len=1016, status=-114
em28xx #0 em28xx_isocIrq :data error: [3] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [4] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [5] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [6] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [7] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [8] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [9] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [10] len=984, status=-114
em28xx #0 em28xx_isocIrq :data error: [11] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [12] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [13] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [14] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [15] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [16] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [17] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [18] len=952, status=-114
em28xx #0 em28xx_isocIrq :data error: [19] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [20] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [21] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [22] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [23] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [24] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [25] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [26] len=920, status=-114
em28xx #0 em28xx_isocIrq :data error: [27] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [28] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [29] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [30] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [31] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [32] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [33] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [34] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [35] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [36] len=0, status=-110
em28xx #0 em28xx_isocIrq :packet 37 is empty
em28xx #0 em28xx_isocIrq :data error: [38] len=0, status=-110
em28xx #0 em28xx_isocIrq :data error: [39] len=0, status=-110
armin: em28xx_isocIrq
em28xx #0 em28xx_isocIrq :data error: [0] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [1] len=1020, status=-114
em28xx #0 em28xx_isocIrq :data error: [2] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [3] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [4] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [5] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [6] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [7] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [8] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [9] len=988, status=-114
em28xx #0 em28xx_isocIrq :data error: [10] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [11] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [12] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [13] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [14] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [15] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [16] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [17] len=956, status=-114
em28xx #0 em28xx_isocIrq :data error: [18] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [19] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [20] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [21] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [22] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [23] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [24] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [25] len=924, status=-114
em28xx #0 em28xx_isocIrq :data error: [26] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [27] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [28] len=0, status=-18
em28xx #0 em28xx_isocIrq :data error: [29] len=0, status=-18
...
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel