Honestly i wouldnt know where to start in applying the patch you provided, if you could provide a little help on that part i would appreciate it as im not a seasoned linux user yet.
Thanks Andy Walls wrote: > Scott wrote: > >> i re downloaded and recompiled the drivers and still no /dev/video0, i >> still get the same invalid eeprom error. im beginning to think this is >> worthless on that particular machine and that i should put it on my >> desktop as the backend and then use the box for a frontend. >> > > >> but if there is anything else you can do to help, i would like to still try. >> > > Well, you're the second user, so far, that has reported the fix for > trying to correct the timing of I2C transitions did nothing. But you're > the only one so far who provided all the lspci and lsmod info > (thanks!). > > I'm going to take a harder look at the lspci and lsmod and dmesg output > you provided to see if there's something more subtle going on. If > another user with I2C problems can report the same sort of info, I (or > anyone else on the list who'd like) can start doing comparative & > differential analyses. > > > In the mean time I'd like you to try two more things: > > 1) Test that PCI bus latencies are *not* to blame for the I2C problems > by slowing the I2C bus SCL clock down significantly. The attached test > patch slows it down by a factor of 450 by modifying the CX18_SCL_PERIOD. > (That's the slowest my system will let cx18 run it without griping about > soft lockups in dmesg.) This patch is only for test. > > 2) Try and perform more aggressive initialization of the HVR-1600's I2C > buses. The attached patch has this change in the form of two new > functions, each called to initialize each I2C bus on the HVR-1600. > > > If the attached patch works for you, we can start to narrow down what > actually helped. If it doesn't, I can start to look at other potential > problem sources (e.g. debugging from i2c-algo-bit, PCI bus error > reporting to the cx18 driver, PCI chipset errata, CX23418 hardware block > initialization, etc.). > > > Again your feedback, both positive and negative, helps. > > > Regards, > Andy > > >> and here is the memory info in case anyone wants to debug the memory >> problem. >> >> # free >> total used free shared buffers cached >> Mem: 385604 285472 100132 0 6716 137176 >> -/+ buffers/cache: 141580 244024 >> Swap: 1124508 32328 1092180 >> >> # cat /proc/meminfo >> MemTotal: 385604 kB >> MemFree: 99992 kB >> Buffers: 6752 kB >> Cached: 137192 kB >> SwapCached: 2000 kB >> Active: 186208 kB >> Inactive: 66876 kB >> HighTotal: 0 kB >> HighFree: 0 kB >> LowTotal: 385604 kB >> LowFree: 99992 kB >> SwapTotal: 1124508 kB >> SwapFree: 1092180 kB >> Dirty: 0 kB >> Writeback: 0 kB >> AnonPages: 107140 kB >> Mapped: 40304 kB >> Slab: 17184 kB >> SReclaimable: 7220 kB >> SUnreclaim: 9964 kB >> PageTables: 1640 kB >> NFS_Unstable: 0 kB >> Bounce: 0 kB >> CommitLimit: 1317308 kB >> Committed_AS: 427720 kB >> VmallocTotal: 638968 kB >> VmallocUsed: 27512 kB >> VmallocChunk: 562556 kB >> >> >> >> Andy Walls wrote: >> >>> Scott wrote: >>> >>> >>> >>>> I have the following pci devices, >>>> >>>> nvidia vga card fx5500 >>>> audio card >>>> tv tuner >>>> ethernet >>>> >>>> the motherboard has no onboard video sound or ethernet, at the most i >>>> could get rid of the sound and ethernet, but im afraid that card that >>>> uses the most of the pci bus is the graphics card. >>>> >>>> when i boot up into recovery mode which is hopefully runlevel 2, i >>>> tried to modprobe cx18 and checked for video0 in /dev/ and it was >>>> nonexistant still. >>>> >>>> >>> While in a text only mode, did you >>> >>> # modporbe -r nvidia >>> >>> first, before trying to >>> >>> # modprobe cx18 >>> >>> ? >>> >>> >>> >>> >>>> i havent removed any of the pci cards because the computer is useless >>>> without them. >>>> >>>> >>> Sorry for my miscommunication. I didn't intend to ask you to remove >>> cards, just modules (i.e. modporbe -r foo). I meant to say unload >>> *modules*. >>> >>> >>> >>> >>>> i hope this helps. >>>> >>>> >>> It does. Thanks for the detailed output. Discussion is in-line below. >>> >>> >>> >>>> lspci -tv >>>> ----------------------- >>>> -[0000:00]-+-00.0 Intel Corporation 82850 850 (Tehama) Chipset Host >>>> Bridge (MCH) >>>> +-01.0-[0000:01]-- >>>> >>>> >>> I note no card on the AGP bridge. >>> >>> >>> >>>> +-1e.0-[0000:02]--+-09.0 nVidia Corporation NV34 [GeForce >>>> FX >>>> 5500] >>>> | +-0b.0 Conexant CX23418 Single-Chip >>>> MPEG-2 >>>> Encoder with Integrated Analog Video/Broadcast Audio Decoder >>>> | +-0c.0 Aureal Semiconductor Vortex 2 >>>> | \-0d.0 Realtek Semiconductor Co., Ltd. >>>> RTL-8169 Gigabit Ethernet >>>> >>>> >>> Most of the heavy hitters, expcept for the IDE controller, are on bus >>> segment [0000:02] behind the PCI-PCI bridge at 1e.0. If you have no >>> heavy traffic USB devices bus segment [0000:02] will be the busiest in >>> the system unless disk activity is going on. >>> >>> >>> >>>> +-1f.0 Intel Corporation 82801BA ISA Bridge (LPC) >>>> +-1f.1 Intel Corporation 82801BA IDE U100 Controller >>>> +-1f.2 Intel Corporation 82801BA/BAM USB Controller #1 >>>> +-1f.3 Intel Corporation 82801BA/BAM SMBus Controller >>>> \-1f.4 Intel Corporation 82801BA/BAM USB Controller #1 >>>> >>>> >>>> >>>> 02:09.0 VGA compatible controller: nVidia Corporation NV34 [GeForce >>>> FX >>>> 5500] (rev a1) (prog-if 00 [VGA]) >>>> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- >>>> ParErr- Stepping- SERR- FastB2B- >>>> Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >>>> >>>> >>>>> TAbort- >>>>> >>>>> >>>> <TAbort- <MAbort- >SERR- <PERR- >>>> Latency: 248 (1250ns min, 250ns max) >>>> >>>> >>> Here we go. Latency of 248 clock cycles at 33 MHz. This card can stay >>> on the bus for a maximum of 7.5 usecs at a time. And if nothing is >>> waiting for the bus when it finishes, it can grab it again immediately >>> for another 7.5 usec. >>> >>> I2C bus transactions on the HVR-1600, with the cx18 driver from a few >>> days ago, are running with a clock period of 20 usec. Transitions of >>> SCL and SDA lines are commanded on 1/4 period intervals (roughly 5 usec >>> intervals). >>> >>> You should try the latest cx18 driver at: >>> >>> http://linuxtv.org/hg/~hverkuil/cx18/archive/tip.tar.bz2 >>> >>> Hans has started to incorporate changes to properly time I2C SCL and SDA >>> line transitions on the cx23418. Please try it and see if the "Huh, no >>> EEPROM" and the "(ret=-121)" messages go away. >>> >>> >>> >>> >>>> Interrupt: pin A routed to IRQ 11 >>>> Region 0: Memory at fd000000 (32-bit, non-prefetchable) >>>> [size=16M] >>>> Region 1: Memory at e0000000 (32-bit, prefetchable) >>>> [size=128M] >>>> [virtual] Expansion ROM at dc600000 [disabled] [size=128K] >>>> Capabilities: [60] Power Management version 2 >>>> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA >>>> PME(D0-,D1-,D2-,D3hot-,D3cold-) >>>> Status: D0 PME-Enable- DSel=0 DScale=0 PME- >>>> 00: de 10 26 03 07 00 b0 02 a1 00 00 03 00 f8 00 00 >>>> 10: 00 00 00 fd 08 00 00 e0 00 00 00 00 00 00 00 00 >>>> 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> 30: 00 00 00 00 60 00 00 00 00 00 00 00 0b 01 05 01 >>>> 40: 00 00 00 00 02 00 30 00 17 02 00 1f 00 00 00 00 >>>> 50: 01 00 00 00 01 00 00 00 ce d6 23 00 0f 00 00 00 >>>> 60: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> >>>> 02:0b.0 Multimedia video controller: Conexant CX23418 Single-Chip >>>> MPEG-2 >>>> Encoder with Integrated Analog Video/Broadcast Audio Decoder >>>> Subsystem: Hauppauge computer works Inc. Unknown device 7444 >>>> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- >>>> ParErr- Stepping- SERR+ FastB2B- >>>> Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >>>> >>>> >>>>> TAbort- >>>>> >>>>> >>>> <TAbort- <MAbort- >SERR- <PERR- >>>> Latency: 64 (500ns min, 50000ns max), Cache Line Size: 16 >>>> bytes >>>> Interrupt: pin A routed to IRQ 9 >>>> Region 0: Memory at f8000000 (32-bit, non-prefetchable) >>>> [size=64M] >>>> Capabilities: [44] Vital Product Data >>>> Capabilities: [4c] Power Management version 2 >>>> Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA >>>> PME(D0-,D1-,D2-,D3hot-,D3cold-) >>>> Status: D0 PME-Enable- DSel=0 DScale=0 PME- >>>> 00: f1 14 7a 5b 16 01 90 02 00 00 00 04 04 40 00 00 >>>> 10: 00 00 00 f8 00 00 00 00 00 00 00 00 00 00 00 00 >>>> 20: 00 00 00 00 00 00 00 00 00 00 00 00 70 00 44 74 >>>> 30: 00 00 00 00 44 00 00 00 00 00 00 00 09 01 02 c8 >>>> 40: 7b 1f 00 01 03 4c 00 00 00 00 00 00 01 00 22 00 >>>> 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> >>>> >>> So the latencies on PCI bus segment 0000:02, excluding the cx23418 are: >>> >>> PCI-PCI bridge = 32 >>> Nvidia = 248 >>> Sound card = 32 >>> Ethernet = 64 >>> >>> That's a worst case wait for the cx23418 of 11.4 usecs, but >>> realistically, only the nvidia card's 7.5 usecs probably matters. >>> >>> The older versions of the cx18 driver probably weren't accounting for >>> this time properly for I2C bus transactions. >>> >>> >>> >>> >>> >>>> lsmod >>>> -------------------------- >>>> Module Size Used by >>>> nfs 246124 1 >>>> lockd 67592 2 nfs >>>> sunrpc 172412 3 nfs,lockd >>>> af_packet 24840 2 >>>> ipv6 273892 16 >>>> container 5504 0 >>>> sbs 19592 0 >>>> ac 6148 0 >>>> dock 10656 0 >>>> video 18060 0 >>>> button 8976 0 >>>> battery 11012 0 >>>> lp 12580 0 >>>> snd_au8830 53556 1 >>>> gameport 16776 2 snd_au8830 >>>> snd_ac97_codec 100644 1 snd_au8830 >>>> snd_pcm_oss 44672 0 >>>> snd_mixer_oss 17664 1 snd_pcm_oss >>>> snd_pcm 80388 3 snd_au8830,snd_ac97_codec,snd_pcm_oss >>>> snd_page_alloc 11400 1 snd_pcm >>>> ac97_bus 3200 1 snd_ac97_codec >>>> snd_mpu401_uart 9600 1 snd_au8830 >>>> snd_seq_dummy 4740 0 >>>> snd_seq_oss 33152 0 >>>> s5h1409 10244 0 >>>> snd_seq_midi 9600 0 >>>> snd_rawmidi 25728 2 snd_mpu401_uart,snd_seq_midi >>>> snd_seq_midi_event 8448 2 snd_seq_oss,snd_seq_midi >>>> snd_seq 53232 6 >>>> snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event >>>> snd_timer 24324 2 snd_pcm,snd_seq >>>> snd_seq_device 9228 5 >>>> snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq >>>> lirc_atiusb 19360 0 >>>> nvidia 3932108 8 >>>> >>>> >>> Hmmm. nvidia's 3932108 is an order of magnitude more memory than any >>> other module in the list. ipv6 and nfs are the others that come close, >>> for comparison. >>> >>> >>> >>>> lirc_dev 15860 1 lirc_atiusb >>>> parport_pc 37412 1 >>>> snd 54660 13 >>>> snd_au8830,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_mpu401_uart,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device >>>> cs5345 4948 0 >>>> tuner 27724 0 >>>> tea5767 8324 1 tuner >>>> tda8290 14340 1 tuner >>>> tda18271 33416 1 tda8290 >>>> tda827x 11396 1 tda8290 >>>> tuner_xc2028 22704 1 tuner >>>> xc5000 11396 1 tuner >>>> tda9887 11908 1 tuner >>>> tuner_simple 16400 1 tuner >>>> tuner_types 14976 1 tuner_simple >>>> mt20xx 13704 1 tuner >>>> tea5761 6276 1 tuner >>>> parport 37448 2 lp,parport_pc >>>> pcspkr 4224 0 >>>> serio_raw 8068 0 >>>> psmouse 39952 0 >>>> soundcore 8800 1 snd >>>> cx18 91200 0 >>>> dvb_core 80796 1 cx18 >>>> i2c_algo_bit 7428 1 cx18 >>>> cx2341x 13572 1 cx18 >>>> v4l2_common 12672 4 cs5345,tuner,cx18,cx2341x >>>> videodev 34560 2 tuner,cx18 >>>> v4l1_compat 16004 2 cx18,videodev >>>> tveeprom 13572 1 cx18 >>>> i2c_core 26112 17 >>>> s5h1409,cs5345,tuner,tea5767,tda8290,tda18271,tda827x,tuner_xc2028,xc5000,tda9887,tuner_simple,mt20xx,tea5761,cx18,i2c_algo_bit,v4l2_common,tveeprom >>>> iTCO_wdt 11940 0 >>>> iTCO_vendor_support 4868 1 iTCO_wdt >>>> shpchp 34580 0 >>>> pci_hotplug 32704 1 shpchp >>>> intel_agp 25620 1 >>>> agpgart 35016 2 nvidia,intel_agp >>>> evdev 11136 3 >>>> ext3 133896 1 >>>> jbd 60456 1 ext3 >>>> mbcache 9732 1 ext3 >>>> sg 36764 0 >>>> sr_mod 17828 0 >>>> cdrom 37536 1 sr_mod >>>> sd_mod 30336 3 >>>> floppy 60004 0 >>>> uhci_hcd 26640 0 >>>> usbcore 138632 3 lirc_atiusb,uhci_hcd >>>> ata_piix 17540 2 >>>> ata_generic 8452 0 >>>> libata 125168 2 ata_piix,ata_generic >>>> scsi_mod 147084 4 sg,sr_mod,sd_mod,libata >>>> r8169 32260 0 >>>> thermal 14344 0 >>>> processor 32072 1 thermal >>>> fan 5764 0 >>>> fuse 47124 1 >>>> apparmor 40728 0 >>>> commoncap 8320 1 apparmor >>>> >>>> >>>> >>>> >>>> Andy Walls wrote: >>>> >>>>>> Scott wrote: >>>>>> >>>>>>> (1 MB) >>>>>>> [ 32.536768] cx18-0: Registered device radio0 for encoder radio >>>>>>> [ 32.537246] cx18-0: Error -12 registering devices >>>>>>> [ 32.537719] tda9887 1-0043: destroying instance >>>>>>> [ 32.539445] cx18-0: Error -12 on initialization >>>>>>> [ 32.539458] cx18: probe of 0000:02:0b.0 failed with error -12 >>>>>>> >>>>>>> >>>>>>> >>>>> Ack I missed this. -12 is -ENOMEM. You may need to add a line >>>>> >>>>> >>>> similar >>>> >>>> >>>>> to the following to /etc/sysctl.conf: >>>>> >>>>> vm.min_free_kbytes = 16384 >>>>> >>>>> To get rid of the ENOMEM problem. >>>>> >>>>> >>> Hmmm. You have a system level memory shortage problem, which I'm >>> probably not the best person to have help solve. I can tell your system >>> is 256 kB shy of 384 MB physical memory. I don't know how to tell what >>> modules are consuming what size dynamic memory allocations. >>> >>> However, specifically for the cx18 driver, you may want to try >>> >>> # modprobe -r cx18 >>> # echo 65535 > /proc/sys/vm/min_free_kbytes >>> # modprobe cx18 enc_mpg_buffers=1 enc_ts_buffers=0 enc_yuv_buffers=0 >>> enc_vbi_buffers=0 enc_pcm_buffers=0 >>> >>> just to see if you can get the driver to load. >>> >>> Regards, >>> Andy >>> >>> >>> >>> >>>>> That still won't fix the I2C problem that gives you the EEPROM >>>>> >>>>> >>>> messages >>>> >>>> >>>>> (-121 is -EREMOTEIO, refering to the remote I2C on the HVR-1600). >>>>> >>>>> -Andy >>>>> > > > ------------------------------------------------------------------------ > > _______________________________________________ > ivtv-users mailing list > [email protected] > http://ivtvdriver.org/mailman/listinfo/ivtv-users _______________________________________________ ivtv-users mailing list [email protected] http://ivtvdriver.org/mailman/listinfo/ivtv-users
