Solution to IVTV drivers: ivtv0 warning: ENC: (0) DMA Error 0×0000000b ?
Update: The author of IVTV has just released a patch that may resolve these problems once and for all
I think that I may have found a solution to this problem. The problem is detailed in this post. I made 3 recent changes to my system, and I am not sure which has led to everything working. (I made some other changes that I will not detail here at the moment; however, they did not resolve the problem. These are the only large changes that I have made in the past week.) The system has only been up for 7 hours 30 minutes with these changes; however, it has been rock solid.
The first 2 changes are changes in the kernel settings:
- In General Settings I removed Optimize for size
- I had not realized that this option was selected in the first place. It very clearly notes that it may cause problems with certain compilers.
- In Bus Options and then PCI Support I removed Unordered IO Mapping
- I had also not realized that this was selected. The help text clearly notes that it is experimental code, and will only work properly for drivers that have been coded for specific platforms.
The final change was for Cool N’ Quiet. I had been using the userspace program Cpudyn to change the frequency of my processor. I thought that it might be better to do this all in kernelspace. The different governors were already compiled into my kernel, so I added the following to my /etc/conf.d/local.start (I believe this is a Gentoo-specific location):
echo "--------------------------------" echo "Enabling Cool N' Quiet using kernel ondemand governor" echo "*** No longer using cpudyn userspace program***" echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo "Setting ondemand governor to increase cpu speed for niced processes" echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore_nice_load echo "--------------------------------"
Then I made sure to disable cpudyn from coming up on system startup by issuing this command: rc-update del cpudyn (Gentoo-specific command).
I learned the information about Cool N’ Quiet from the HOWTO: PowerNow! page on Gentoo-wiki.com.I hope that you have found this information useful and that it works for you. Please leave a comment to let me know whether this did or did not work for you.
UPDATE:
The machine has now been up for slightly more than 17 hours. There are 10 successful recordings. I am able to watch TV with both tuners.
The dmesg output has two ivtv0 warning: ENC: (0) DMA Error 0×0000000b errors. I would prefer not to have any; however, normally there would have been a lot more at this point. I also would normally have the ivtv0 warning: ENC: REG_DMAXFER 2 wait failed error. That error usually indicates that at least one of the tuners is no longer functioning properly.
This looks to be a fix for the problem that I was encountering. I have tried to post this information at http://ivtvdriver.org/trac/ticket/48; however, it won’t seem to let me.
If you have any idea which of the changes made this drastic difference, please let me know. My bet is on using the kernelspace support for Cool N’ Quiet instead of the userspace cpudyn program.