Hello, all. I just wanted to post a success/bug report on MediaGX hardware, integrated OHCI controller, using two OV511 cameras (D-Link). Basically, I have a shell script grabbing a 640x480 frame every 8 or so seconds from two different cameras. It's serious overkill, but I regard it as a sort of "stress test" of the setup. In the past, the level of success with this hardware was limited at best, but now with kernel 2.4.9 and Mark's v1.46 OV511 driver, I'm elated to report that the bulk of the oddness and problems have vanished. Admittedly, I've been swamped with other things, and hadn't tried anything since 2.4.5, but I digress. Below is my ksymoops decode output. One thing I noted, that I haven't seen before, was a warning about a symbol mismatch. Can anyone tell me what I did wrong, or what that's about? At the loading of my script I cat /proc/modules and /proc/ksyms to files to be sure I have an accurate picture for ksymoops even after a reboot, hence the deviation from the defaults. ksymoops 2.4.1 on i586 2.4.9. Options used -V (default) -k ksyms.txt (specified) -l modules.txt (specified) -o /lib/modules/2.4.9/ (default) -m /usr/src/linux/System.map (default) Warning (compare_maps): mismatch on symbol usb_devfs_handle , usbcore says c48180c0, /lib/modules/2.4.9/kernel/drivers/usb/usbcore.o says c4817be0. Ignoring /lib/modules/2.4.9/kernel/drivers/usb/usbcore.o entry kernel BUG at usb-ohci.h:464! invalid operand: 0000 CPU: 0 EIP: 0010:[<c481c404>] Using defaults from ksymoops -t elf32-i386 -a i386 EFLAGS: 00010092 eax: 0000001e ebx: 00000000 ecx: 00000000 edx: 00000082 esi: c332d800 edi: c332d8b4 ebp: c3017670 esp: c0285ef8 ds: 0018 es: 0018 ss: 0018 Process swapper (pid: 0, stackpage=c0285000) Stack: c481dc66 c481dd21 000001d0 c332d800 00000001 c4820000 00000004 03056600 c332d8d4 c3d53b80 c3056600 c332d8b4 00000000 00000000 00000000 c3017678 00000002 00000296 c481d6ed c332d800 00000000 c3d80860 04000001 0000000b Call Trace: [<c481dc66>] [<c481dd21>] [<c481d6ed>] [<c0107dfd>] [<c0107f67>] [<c01051a0>] [<c0106c40>] [<c01051a0>] [<c01051c3>] [<c010521a>] [<c0105000>] [<c0105027>] Code: 0f 0b 83 c4 0c 8d b4 26 00 00 00 00 8b 1b 89 5c 24 1c 8b 55 >>EIP; c481c404 <[usb-ohci]dl_del_list+88/630> <===== Trace; c481dc66 <[usb-ohci].rodata.start+26/5ac> Trace; c481dd21 <[usb-ohci].rodata.start+e1/5ac> Trace; c481d6ed <[usb-ohci]hc_interrupt+e5/128> Trace; c0107dfd <handle_IRQ_event+31/5c> Trace; c0107f67 <do_IRQ+6b/a8> Trace; c01051a0 <default_idle+0/28> Trace; c0106c40 <ret_from_intr+0/7> Trace; c01051a0 <default_idle+0/28> Trace; c01051c3 <default_idle+23/28> Trace; c010521a <cpu_idle+32/48> Trace; c0105000 <_stext+0/0> Trace; c0105027 <rest_init+27/28> Code; c481c404 <[usb-ohci]dl_del_list+88/630> 00000000 <_EIP>: Code; c481c404 <[usb-ohci]dl_del_list+88/630> <===== 0: 0f 0b ud2a <===== Code; c481c406 <[usb-ohci]dl_del_list+8a/630> 2: 83 c4 0c add $0xc,%esp Code; c481c409 <[usb-ohci]dl_del_list+8d/630> 5: 8d b4 26 00 00 00 00 lea 0x0(%esi,1),%esi Code; c481c410 <[usb-ohci]dl_del_list+94/630> c: 8b 1b mov (%ebx),%ebx Code; c481c412 <[usb-ohci]dl_del_list+96/630> e: 89 5c 24 1c mov %ebx,0x1c(%esp,1) Code; c481c416 <[usb-ohci]dl_del_list+9a/630> 12: 8b 55 00 mov 0x0(%ebp),%edx Kernel panic: Aiee, killing interrupt handler! 1 warning issued. Results may not be reliable. My shell script has some debugging logging in it, initially put in to catch the "infinite interrupt" that occurred many kernels ago, and shows that grabbing started at 9/10/01 16:36: [root@allwell-devel /root]# head intdualstat.txt **Start Record** Mon Sep 10 16:36:54 CDT 2001 Interrupt status, pre-capture: 11: 726 XT-PIC usb-ohci Interrupt status, post-capture /dev/video0: 11: 2473 XT-PIC usb-ohci Interrupt status, post-capture /dev/video1: 11: 4067 XT-PIC usb-ohci Interrupt status, post-capture, post file copy: 11: 4067 XT-PIC usb-ohci And ended (with a hard lockup) at 09/14/01 02:52: [root@allwell-devel /root]# tail intdualstat.txt Interrupt status, post-capture, post file copy: 11: 111766523 XT-PIC usb-ohci -rw-r--r-- 1 root root 115937 Sep 14 02:52 test1.jpg -rw-r--r-- 1 root root 118183 Sep 14 02:52 test2.jpg **End Record** **Start Record** Fri Sep 14 02:52:07 CDT 2001 Interrupt status, pre-capture: 11: 111766523 XT-PIC usb-ohci A tail of /var/log/messages shows nothing odd at all, outside one warning of "unlink URB timeout" on 09/11/01 14:22: Sep 10 16:34:30 localhost kernel: CS5530: not 100%% native mode: will probe irqs later Sep 10 16:34:30 localhost kernel: ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:pio Sep 10 16:34:30 localhost kernel: ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio Sep 10 16:34:30 localhost kernel: hda: TOSHIBA MK2104MAV, ATA DISK drive Sep 10 16:34:31 localhost kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Sep 10 16:34:31 localhost kernel: hda: 4233600 sectors (2168 MB), CHS=525/128/63 Sep 10 16:34:31 localhost kernel: Partition check: Sep 10 16:34:31 localhost kernel: hda: hda1 hda2 Sep 10 16:34:31 localhost kernel: FDC 0 is a National Semiconductor PC87306 Sep 10 16:34:32 localhost kernel: NET4: Linux TCP/IP 1.0 for NET4.0 Sep 10 16:34:32 localhost kernel: IP Protocols: ICMP, UDP, TCP, IGMP Sep 10 16:34:32 localhost kernel: IP: routing cache hash table of 512 buckets, 4 Kbytes Sep 10 16:34:32 localhost kernel: TCP: Hash tables configured (established 4096 bind 4096) Sep 10 16:34:32 localhost kernel: klips_info:ipsec_init: KLIPS startup, FreeS/WAN IPSec version: snap2001sep10b Sep 10 16:34:32 localhost kernel: NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. Sep 10 16:34:32 localhost kernel: VFS: Mounted root (ext2 filesystem) readonly. Sep 10 16:34:32 localhost kernel: Freeing unused kernel memory: 184k freed Sep 10 16:34:32 localhost kernel: 8139too Fast Ethernet driver 0.9.18a Sep 10 16:34:32 localhost kernel: PCI: Found IRQ 3 for device 00:0a.0 Sep 10 16:34:32 localhost kernel: eth0: RealTek RTL8139 Fast Ethernet at 0xc4804000, 00:30:00:03:a2:86, IRQ 3 Sep 10 16:34:33 localhost kernel: eth0: Setting 100mbps half-duplex based on auto-negotiated partner ability 40a1. Sep 10 16:34:34 localhost httpd: httpd startup succeeded Sep 10 16:34:34 localhost kernel: hda: DMA disabled Sep 10 16:35:30 localhost PAM_pwdb[561]: (login) session opened for user bradg by (uid=0) Sep 10 16:36:21 localhost PAM_pwdb[584]: (su) session opened for user root by bradg(uid=501) Sep 10 16:36:30 localhost kernel: usb.c: registered new driver usbdevfs Sep 10 16:36:30 localhost kernel: usb.c: registered new driver hub Sep 10 16:36:30 localhost kernel: PCI: Found IRQ 11 for device 00:13.0 Sep 10 16:36:30 localhost kernel: usb-ohci.c: USB OHCI at membase 0xc4820000, IRQ 11 Sep 10 16:36:30 localhost kernel: usb-ohci.c: usb-00:13.0, Compaq Computer Corporation USB Open Host Controller Sep 10 16:36:30 localhost kernel: usb.c: new USB bus registered, assigned bus number 1 Sep 10 16:36:30 localhost kernel: hub.c: USB hub found Sep 10 16:36:30 localhost kernel: hub.c: 2 ports detected Sep 10 16:36:30 localhost kernel: Linux video capture interface: v1.00 Sep 10 16:36:30 localhost kernel: usb.c: registered new driver ov511 Sep 10 16:36:30 localhost kernel: ov511.c: OV511 USB Camera Driver v1.42 Sep 10 16:36:30 localhost kernel: hub.c: USB new device connect on bus1/1, assigned device number 2 Sep 10 16:36:30 localhost kernel: ov511.c: USB OV511 camera found Sep 10 16:36:30 localhost kernel: ov511.c: camera: D-Link DSB-C300 Sep 10 16:36:31 localhost kernel: ov511.c: Sensor is an OV7610 Sep 10 16:36:31 localhost kernel: hub.c: USB new device connect on bus1/2, assigned device number 3 Sep 10 16:36:31 localhost kernel: ov511.c: USB OV511 camera found Sep 10 16:36:31 localhost kernel: ov511.c: camera: D-Link DSB-C300 Sep 10 16:36:31 localhost kernel: ov511.c: Sensor is an OV7610 Sep 11 14:22:13 localhost kernel: usb-ohci.c: unlink URB timeout Sep 14 21:02:43 localhost syslogd 1.3-3: restart. (Forced restart via power cycle) Over the course of the days it was continuously running, it did successfully grab over 66000 frames from two cameras. A quick check of my simple log file shows: [root@allwell-devel /root]# cat intdualstat.txt|grep "/dev/video1"|wc -l 33225 [root@allwell-devel /root]# cat intdualstat.txt|grep "/dev/video0"|wc -l 33225 One last note, that some will catch in the logfile is that the kernel was patched with FreeSWAN snapshot from 09/10/01. Other than that, it's a stock kernel. I haven't attached the kernel config to keep this somewhat short, but I'd be happy to provide it if anyone wants it or thinks it would be useful. If I can be of any help, or anyone has insight on this, or additional debugging steps, let me know. In all, I was flatly amazed at the progress this hardware combination has made in the last few kernel releases, and I thank all that have obviously put enormous efforts into the development of drivers for USB controllers and devices! Brad _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel