Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | |
| 2 | If the box freezes hard with bttv ... |
| 3 | ===================================== |
| 4 | |
| 5 | It might be a bttv driver bug. It also might be bad hardware. It also |
| 6 | might be something else ... |
| 7 | |
| 8 | Just mailing me "bttv freezes" isn't going to help much. This README |
| 9 | has a few hints how you can help to pin down the problem. |
| 10 | |
| 11 | |
| 12 | bttv bugs |
| 13 | --------- |
| 14 | |
| 15 | If some version works and another doesn't it is likely to be a driver |
| 16 | bug. It is very helpful if you can tell where exactly it broke |
| 17 | (i.e. the last working and the first broken version). |
| 18 | |
| 19 | With a hard freeze you probably doesn't find anything in the logfiles. |
| 20 | The only way to capture any kernel messages is to hook up a serial |
| 21 | console and let some terminal application log the messages. /me uses |
| 22 | screen. See Documentation/serial-console.txt for details on setting |
| 23 | up a serial console. |
| 24 | |
| 25 | Read Documentation/oops-tracing.txt to learn how to get any useful |
| 26 | information out of a register+stack dump printed by the kernel on |
| 27 | protection faults (so-called "kernel oops"). |
| 28 | |
| 29 | If you run into some kind of deadlock, you can try to dump a call trace |
Jesper Juhl | 62a07e6 | 2005-11-07 01:01:03 -0800 | [diff] [blame] | 30 | for each process using sysrq-t (see Documentation/sysrq.txt). |
| 31 | This way it is possible to figure where *exactly* some process in "D" |
| 32 | state is stuck. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 | |
| 34 | I've seen reports that bttv 0.7.x crashes whereas 0.8.x works rock solid |
| 35 | for some people. Thus probably a small buglet left somewhere in bttv |
| 36 | 0.7.x. I have no idea where exactly, it works stable for me and alot of |
| 37 | other people. But in case you have problems with the 0.7.x versions you |
| 38 | can give 0.8.x a try ... |
| 39 | |
| 40 | |
| 41 | hardware bugs |
| 42 | ------------- |
| 43 | |
| 44 | Some hardware can't deal with PCI-PCI transfers (i.e. grabber => vga). |
| 45 | Sometimes problems show up with bttv just because of the high load on |
| 46 | the PCI bus. The bt848/878 chips have a few workarounds for known |
| 47 | incompatibilities, see README.quirks. |
| 48 | |
| 49 | Some folks report that increasing the pci latency helps too, |
| 50 | althrought I'm not sure whenever this really fixes the problems or |
| 51 | only makes it less likely to happen. Both bttv and btaudio have a |
| 52 | insmod option to set the PCI latency of the device. |
| 53 | |
| 54 | Some mainboard have problems to deal correctly with multiple devices |
| 55 | doing DMA at the same time. bttv + ide seems to cause this sometimes, |
| 56 | if this is the case you likely see freezes only with video and hard disk |
| 57 | access at the same time. Updating the IDE driver to get the latest and |
| 58 | greatest workarounds for hardware bugs might fix these problems. |
| 59 | |
| 60 | |
| 61 | other |
| 62 | ----- |
| 63 | |
| 64 | If you use some binary-only yunk (like nvidia module) try to reproduce |
| 65 | the problem without. |
| 66 | |
| 67 | IRQ sharing is known to cause problems in some cases. It works just |
| 68 | fine in theory and many configurations. Neverless it might be worth a |
| 69 | try to shuffle around the PCI cards to give bttv another IRQ or make |
| 70 | it share the IRQ with some other piece of hardware. IRQ sharing with |
| 71 | VGA cards seems to cause trouble sometimes. I've also seen funny |
| 72 | effects with bttv sharing the IRQ with the ACPI bridge (and |
| 73 | apci-enabled kernel). |
| 74 | |