# Crash after crash, begging for help [Solved]

## jpalan

Ok, a while I go I had a problem with my tv card, Hauppauge WinTV Go, which seems to have some problems with my VIA mother board which has Apollo MVP3 chipset.

As far as I know, bttv contains some quirks to avoid problems. Back then with Mandrake 8.0 I had no problems with the card and later with another distros when I had problems they were solved simply by giving bttv parameter triton1=1.

But now...

Tried triton1=1, doesn't help.

Tried vsfx=1, doesn't help.

Ide dma is off, doesn't help.

Disabling pci write buffer doesn't help.

I have also compiled the chipset support to kernel (2.6.10) and have loaded i2c-via and i2c-viapro without success and I have tried compiling kernel with and without ide dma support or irq sharing, but no.

I've also collected a number of advices from net, that suggest  trying some of the following:

* setting latency timer to <=12

* setting pci master bus timeout from disabled to 001

But I have absolutely no idea how to do neither of those, at least I didn't found pci master bus timeout from bios.

I also thought, while going through lspci and dmesg, that perhaps changing irq's could help (I guess irqtune is the tool for this), but I really don't know much about the subject, what irq I can and should choose and how safe it is to change those, as I really don't want to kill my computer.

There must be some solution. It worked before and it worked back then with win98se so there pretty damn sure is a way to get it work now too.

For reference, my lspci and dmesg, just in case somebody figures out something:

```

0000:00:00.0 Host bridge: VIA Technologies, Inc. VT82C598 [Apollo MVP3] (rev 04)

        Flags: bus master, medium devsel, latency 16

        Memory at d0000000 (32-bit, prefetchable) [size=64M]

        Capabilities: [a0] AGP version 1.0

0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP] (prog-if 00 [Normal decode])

        Flags: bus master, 66MHz, medium devsel, latency 0

        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0

        Memory behind bridge: d4000000-d5ffffff

        Prefetchable memory behind bridge: d6000000-d7ffffff

0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C586/A/B PCI-to-ISA [Apollo VP] (rev 47)

        Subsystem: VIA Technologies, Inc. MVP3 ISA Bridge

        Flags: bus master, stepping, medium devsel, latency 0

0000:00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])

        Flags: bus master, medium devsel, latency 32

        I/O ports at e000 [size=16]

0000:00:07.3 Host bridge: VIA Technologies, Inc. VT82C586B ACPI (rev 10)

        Flags: medium devsel, IRQ 5

0000:00:08.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

        Subsystem: Realtek Semiconductor Co., Ltd. RT8139

        Flags: bus master, medium devsel, latency 32, IRQ 11

        I/O ports at e800 [size=256]

        Memory at d8000000 (32-bit, non-prefetchable) [size=256]

        Capabilities: [50] Power Management version 2

0000:00:09.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)

        Subsystem: Hauppauge computer works Inc. WinTV Series

        Flags: bus master, medium devsel, latency 32, IRQ 10

        Memory at d8001000 (32-bit, prefetchable) [size=4K]

        Capabilities: [44] Vital Product Data

        Capabilities: [4c] Power Management version 2

0000:00:09.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)

        Subsystem: Hauppauge computer works Inc. WinTV Series

        Flags: bus master, medium devsel, latency 32, IRQ 10

        Memory at d8002000 (32-bit, prefetchable) [size=4K]

        Capabilities: [44] Vital Product Data

        Capabilities: [4c] Power Management version 2

0000:00:0a.0 Multimedia audio controller: Ensoniq 5880 AudioPCI (rev 02)

        Subsystem: Ensoniq Creative Sound Blaster AudioPCI128

        Flags: bus master, slow devsel, latency 32, IRQ 12

        I/O ports at ec00 [size=64]

        Capabilities: [dc] Power Management version 1

0000:01:00.0 VGA compatible controller: nVidia Corporation NV5M64 [RIVA TNT2 Model 64/Model 64 Pro] (rev 15) (prog-if 00 [VGA])

        Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 11

        Memory at d4000000 (32-bit, non-prefetchable) [size=16M]

        Memory at d6000000 (32-bit, prefetchable) [size=32M]

        Capabilities: [60] Power Management version 1

        Capabilities: [44] AGP version 2.0

```

```

Linux version 2.6.10 (root@matolaatikko) (gcc version 3.3.5 (Debian 1:3.3.5-5)) 

#3 Mon Jan 10 18:19:14 EET 2005

BIOS-provided physical RAM map:

 BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)

 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)

 BIOS-e820: 0000000000100000 - 000000000fff0000 (usable)

 BIOS-e820: 000000000fff0000 - 000000000fff3000 (ACPI NVS)

 BIOS-e820: 000000000fff3000 - 0000000010000000 (ACPI data)

 BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)

255MB LOWMEM available.

On node 0 totalpages: 65520

  DMA zone: 4096 pages, LIFO batch:1

  Normal zone: 61424 pages, LIFO batch:14

  HighMem zone: 0 pages, LIFO batch:1

DMI not present.

Built 1 zonelists

Kernel command line: auto BOOT_IMAGE=Linux ro root=302

Initializing CPU#0

PID hash table entries: 1024 (order: 10, 16384 bytes)

Detected 501.200 MHz processor.

Using tsc for high-res timesource

Console: colour VGA+ 80x25

Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)

Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)

Memory: 256128k/262080k available (1813k kernel code, 5388k reserved, 573k data,

 344k init, 0k highmem)

Checking if this processor honours the WP bit even in supervisor mode... Ok.

Calibrating delay loop... 987.13 BogoMIPS (lpj=493568)

Mount-cache hash table entries: 512 (order: 0, 4096 bytes)

CPU: After generic identify, caps: 008021bf c08029bf 00000000 00000000 00000000 

00000000

CPU: After vendor identify, caps: 008021bf c08029bf 00000000 00000000 00000000 0

0000000

CPU: L1 I Cache: 32K (32 bytes/line), D cache 32K (32 bytes/line)

CPU: L2 Cache: 128K (32 bytes/line)

CPU: After all inits, caps: 008021bf c08029bf 00000000 00000002 00000000 0000000

0

CPU: AMD-K6(tm)-III Processor stepping 04

Checking 'hlt' instruction... OK.

NET: Registered protocol family 16

PCI: PCI BIOS revision 2.10 entry at 0xfb370, last bus=1

PCI: Using configuration type 1

mtrr: v2.0 (20020519)

PCI: Probing PCI hardware

PCI: Probing PCI hardware (bus 00)

PCI: Using IRQ router VIA [1106/0586] at 0000:00:07.0

apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac)

NTFS driver 2.1.22 [Flags: R/O].

Initializing Cryptographic API

Activating ISA DMA hang workarounds.

serio: i8042 AUX port at 0x60,0x64 irq 12

serio: i8042 KBD port at 0x60,0x64 irq 1

Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled

ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

io scheduler noop registered

io scheduler anticipatory registered

RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx

VP_IDE: IDE controller at PCI slot 0000:00:07.1

VP_IDE: chipset revision 6

VP_IDE: not 100% native mode: will probe irqs later

VP_IDE: VIA vt82c586b (rev 47) IDE UDMA33 controller on pci0000:00:07.1

    ide0: BM-DMA at 0xe000-0xe007, BIOS settings: hda:DMA, hdb:pio

    ide1: BM-DMA at 0xe008-0xe00f, BIOS settings: hdc:DMA, hdd:DMA

Probing IDE interface ide0...

hda: WDC WD200EB-00BHF0, ATA DISK drive

elevator: using anticipatory as default io scheduler

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14

Probing IDE interface ide1...

hdc: SONY CDU4811, ATAPI CD/DVD-ROM drive

hdd: HP CD-Writer+ 7200, ATAPI CD/DVD-ROM drive

ide1 at 0x170-0x177,0x376 on irq 15

Probing IDE interface ide2...

ide2: Wait for ready failed before probe !

Probing IDE interface ide3...

ide3: Wait for ready failed before probe !

Probing IDE interface ide4...

ide4: Wait for ready failed before probe !

Probing IDE interface ide5...

ide5: Wait for ready failed before probe !

hda: max request size: 128KiB

hda: 39102336 sectors (20020 MB) w/2048KiB Cache, CHS=38792/16/63, UDMA(33)

hda: cache flushes not supported

 hda: hda1 hda2 hda3

hdc: ATAPI 48X CD-ROM drive, 120kB Cache

Uniform CD-ROM driver Revision: 3.20

hdd: ATAPI 6X CD-ROM CD-R/RW drive, 768kB Cache

mice: PS/2 mouse device common for all mice

input: AT Translated Set 2 keyboard on isa0060/serio0

NET: Registered protocol family 2

IP: routing cache hash table of 2048 buckets, 16Kbytes

TCP: Hash tables configured (established 16384 bind 32768)

Initializing IPsec netlink socket

EXT3-fs: INFO: recovery required on readonly filesystem.

EXT3-fs: write access will be enabled during recovery.

EXT3-fs: hda2: orphan cleanup on readonly fs

ext3_orphan_cleanup: deleting unreferenced inode 143431

kjournald starting.  Commit interval 5 seconds

ext3_orphan_cleanup: deleting unreferenced inode 143432

ext3_orphan_cleanup: deleting unreferenced inode 143433

EXT3-fs: hda2: 3 orphan inodes deleted

EXT3-fs: recovery complete.

EXT3-fs: mounted filesystem with ordered data mode.

VFS: Mounted root (ext3 filesystem) readonly.

Freeing unused kernel memory: 344k freed

NET: Registered protocol family 1

hda: DMA disabled

Adding 243896k swap on /dev/hda1.  Priority:-1 extents:1

EXT3 FS on hda2, internal journal

Linux agpgart interface v0.100 (c) Dave Jones

agpgart: Detected VIA Apollo MVP3 chipset

agpgart: Maximum main memory to use for agp memory: 203M

agpgart: AGP aperture is 64M @ 0xd0000000

PCI: Found IRQ 11 for device 0000:00:0a.0

IRQ routing conflict for 0000:00:0a.0, have irq 12, want irq 11

8139too Fast Ethernet driver 0.9.27

PCI: setting IRQ 11 as level-triggered

PCI: Assigned IRQ 11 for device 0000:00:08.0

eth0: RealTek RTL8139 at 0xd0876000, 00:0a:cd:00:30:86, IRQ 11

eth0:  Identified 8139 chip type 'RTL-8100B/8139D'

Linux video capture interface: v1.00

bttv: driver version 0.9.15 loaded

bttv: using 8 buffers with 2080k (520 pages) each for capture

bttv: Bt8xx card found (0).

PCI: Found IRQ 10 for device 0000:00:09.0

PCI: Sharing IRQ 10 with 0000:00:09.1

bttv0: Bt878 (rev 17) at 0000:00:09.0, irq: 10, latency: 32, mmio: 0xd8001000

bttv0: detected: Hauppauge WinTV [card=10], PCI subsystem ID is 0070:13eb

bttv0: using: Hauppauge (bt878) [card=10,autodetected]

bttv0: gpio: en=00000000, out=00000000 in=00ffffdb [init]

bttv0: Hauppauge/Voodoo msp34xx: reset line init [5]

bttv0: Hauppauge eeprom: model=44806, tuner=Philips FI1216MF MK2 (3), radio=no

bttv0: using tuner=3

bttv0: i2c: checking for MSP34xx @ 0x80... not found

bttv0: i2c: checking for TDA9875 @ 0xb0... not found

bttv0: i2c: checking for TDA7432 @ 0x8a... not found

tvaudio: TV audio decoder + audio/video mux driver

tvaudio: known chips: tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea642

0,tda8425,pic16c54 (PV951),ta8874z

bttv0: i2c: checking for TDA9887 @ 0x86... not found

tuner: chip found at addr 0xc2 i2c-bus bt878 #0 [sw]

tuner: type set to 3 (Philips (SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF)) by 

bt878 #0 [sw]

bttv0: registered device video0

bttv0: registered device vbi0

bttv0: PLL: 28636363 => 35468950 .. ok

kjournald starting.  Commit interval 5 seconds

EXT3 FS on hda3, internal journal

EXT3-fs: mounted filesystem with ordered data mode.

NET: Registered protocol family 17

eth0: link up, 10Mbps, half-duplex, lpa 0x0000

```

Last edited by jpalan on Thu Jan 13, 2005 10:45 am; edited 3 times in total

----------

## NeddySeagoon

jpalan,

You could try the TV card in another slot. Not all PCI slots are created equal. Some have unshareable IRQs others don't. Also priority is allocated in slot order. See you motherboard manual for which end is PCI slot 1 (or try it at both ends).

```
less /proc/interrupts
```

 which show you what interups are allocated where and how things share.

----------

## jpalan

Thanks, it says:

```

           CPU0       

  0:    7733270  XT-PIC  timer

  1:      11817     XT-PIC  i8042

  2:          0          XT-PIC  cascade

  4:      94224     XT-PIC  serial

 10:          3         XT-PIC  bttv0

 11:     428079   XT-PIC  eth0

 12:          0         XT-PIC  Ensoniq AudioPCI

 14:      74122    XT-PIC  ide0

 15:         79        XT-PIC  ide1

NMI:        0

ERR:        0

```

which doesn't say much. I'll try changing the slots (to be honest, I really think x86 platform sucks, big time).

I also figured out that I can change the latency with powertweak, if I just have the guts to try that, as I don't know what is the worst case scenario with that.

Not to mention that even if it works, it more like a "solution" than actual solution as powertweakd has to be run every boot to keep the tweaks.

----------

## NeddySeagoon

jpalan,

That shows that bttv is on its own on irq 10 and has generated 3 interrupts so far.

What CPU do you have and how good is the cooling now?

the Apollo MPV3 is a super socket 7 chipset for AMD K6-2s mostly.

Does the cooling still work? 

An overheating CPU can produce the symptoms you report. It would be worth checking the CPU fan and removing the grot from the heatsink fins with a stiff brush.

----------

## jpalan

yes, I noticed that irq 10.

My cpu is K6-3 and and working fine.

I have oiled all the fans two times as I have made a complete dismantling, checking and cleaning for the machine, first time when one of the fans started making funny sound.

However, even though I have my doubts about the fans and I have plans to replace them plus putting a 4" or 5" fan to the front panel to push air in, I don't think it's a heat problem since the computer can be running day and night without any problems (not even when watching a movie, which puts cpu load to 67% or so, watching tv is pretty much 0%) and the problems occur only with the tv.

I have noticed, that the bttv seems to be particularly allergic to net programs so I thought that it could be some hardware conflict.

And no, there is no way I can put network card to another slot as all the pci slots are full and any other cards are higher and would cover the gpu fan totally.

All I can do is to change Hauppauge and SB 128PCI and see if that helps (as soon as I turn off the machine, I should boot with my new kernel configuration anyway).

----------

## jpalan

Ok, the problem was just too simple and (unobvious) to me: enable ACPI from bios and compile ACPI support to kernel. So, there went the irq routing conflicts and all.

I also changed the tv card to another slot, but I guess that wasn't necessary in the first place.

----------

## jpalan

I'll take it back, situation is not solved, it crashed when changing to fullscreen while other programs (gtk-gnutella, irssi) were running.

dmesg | grep irq says:

```

** workaround, the "pci=routeirq" argument restores the old

serio: i8042 AUX port at 0x60,0x64 irq 12

serio: i8042 KBD port at 0x60,0x64 irq 1

ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

VP_IDE: not 100% native mode: will probe irqs later

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14

ide1 at 0x170-0x177,0x376 on irq 15

bttv0: Bt878 (rev 17) at 0000:00:0a.0, irq: 12, latency: 32, mmio: 0xd8001000

```

Some other thingy uses the same irq 12 or so it seems looking that, but /proc/interrupts indicates nothing like that.

How I can assign another irq to device, or is it even possible? Or is there some workaround for this?

Or should I just, once again, open the case, switch the card back to the slot where it used to be and see what happens?

God, I wish I could afford to get PowerPC or something and get rid of crappy x86s...

----------

## NeddySeagoon

jpalan,

All that looks quite normal. When you shuffle PCI cards around, you need to get the BIOS to autodetect them again.

On the screen in the BIOS, where you can reserve resources for ISA cards (when set to manual) there is another option set to disable.

Its a one time option. You set it to enable whenever you move or add card and it detects and allocates resources (DM, I/O Ports and IRQs) on the next boot. 

Give that a try. 

You cannot manually allocate resouces to PCI cards. They are fully plug and play that way by design and have been since inception.

If its video activity related crashes, turn off all AGP acceleration. Some combination of AGP cards and motherbpards have problems like that - its normally due to design errors in the motherboard North Bridge.

----------

## jpalan

Ok, I've set from BIOS Display Init First (or something like that) to AGP (used to be PCI), propably makes no difference, whatsoever.

And since it worked before, I'm not too convinced that the problem has anything to do with AGP.

I also set disabled the whole thing, where you can set IRQ's to primary, secondary or disabled.

And set IDE UDMAs from auto to disabled. Didn't touch the PIO stuff anyway, as it seems to have multiple choises, like auto and something between 1-4.

However, I didn't notice any ISA stuff in the BIOS, which seem quite odd.

Should I dare to touch the memory settings, since I bought extra 128Mb PC133 (I have now 256Mb) and BIOS provides choises like 10ns, 20ns, normal, fast and so on?

----------

## jpalan

Ok, I take some of that back (once again).

It's Award Modular BIOS 4.51PG and after changes it says "Updating ESCD... succes" so I guess everything is registered and fine.

I found "Resources Controlled By" and changed it from auto to manual, which revelealed a whole lot of new options, everything was by default set to "PCI/ISA PnP" instead of "Legacy ISA".

I also enabled the "Reset Configuration Data" and IDE UDMA transfers (they were enabled by default before I disabled them just to test)

The memory options on the other hand, I remembered a bit wrong (annoying to boot just to check and write down), it offers Bank 0/1 and 2/3 Dram Timing with options 10ns, 8ns, normal, medium, fast and turbo.

Now, if I only have to try to crash this machine on purpose with changing tv from window to fullscreen and back with multiple net programs running, just to check if anything has changed.

----------

## jschellhaass

Are you sure it is the WinTV board causing the problems?  Have you tried running the system without the card?   Playing a DVD or other video full screen and windowed?

jeff

----------

## jpalan

Well, if problems occur only when tv is on, I'm pretty sure it is at least part of the problem.

On the other hand my VIA motherboard is known to cause problems with it, but I don't know what else to do anymore, I do have chipset support compiled in.

Back then with 2.4 kernel simple triton1=1 (well-known quirk) parameter solved it, but it doesnt seem to do that with 2.6. 

Don't know why.

----------

## jpalan

Jesus... Of course this was one of those problems that were just too simple: I updated from 2.4 to 2.6 and while 2.4 uses modules.conf, 2.6 wants modprobe.conf.

Guess what file I hadn't set up... No wonder the bttv option didn't work.  :Embarassed: 

*Bangs his head to a wall*  :Confused: 

Let's think positive: kernel is now well configured and compiled (many many times) and I learnt new things about it, about hw, and about BIOS.

----------

