hi All, sorry that last months i don't follow Linux trouble reports in the forum, but i'm just spending all my time on Linux driver development for the upcoming products - that doesn't mean i'm undermining or even that i'm ignoring Linux trouble reports - exactly the contrary, every trouble report that gets to me (e.g. via e-mail from a customer send to our support e-mail addresses) i investigate and if it turned out to be real problem (i.e. not customer mistake, but problem that i can reproduce) then i fix it. anyway, again my attention to the last posts in this forum thread was drawn to me by a customer that sent e-mail to our support e-mail addresses and so i want to comment, because it seems not only the last posts here are misleading and incorrect, but there is in general some misunderstanding - for example why we kept 'ir_core' instead updating to 'rc_core', etc.
so, let me first start with "veehexx" post stating "TBS drivers are built very poorly" apparently based his statement on what Jarod Wilson told him which is quoted in "veehexx" post. since i'm not sure if there is (full) understanding among all Linux users about that particular matter which Jarod Wilson mentioned and "veehexx" quoted i want once again in very short to try and clarify it further: Jarod Wilson took the not-easy-task to replace existing remote control infrastructure in the Linux kernel with better one and i'm sure we all and by "all" i mean the Linux community appreciate his work. so, in the latest Linux kernels remote control infrastructure was replaced with the new one - the old one was called 'ir_core' and the new one is called 'rc_core'. however, we kept in our Linux driver package the old 'ir_core', but did that solely on purpose - in order to provide reliable and stable working driver and thus better user-experience, because the new 'rc_core' remote control infrastructure causes 'cx23885' driver to crash, which means completely unreliable work for all CX23885-based products (and in case of TBS products that means TBS 6980, 6981, 6920, 6921,...). also, as far as i can tell Jarod Wilson is well aware of that same issue:
http://www.mail-archive.com/linux-media ... 33737.htmlso, i believe calling the stable and reliable working code in the TBS Linux driver package "broken" or "TBS drivers are built very poorly" is not only unfair, but misleading to Linux users and even ridiculous - to call the crashing code good and the good working code - "broken". i believe Jarod might be on a wrong track with fixing that issue, because the code in TBS Linux driver package doesn't disable explicitly MSI (Message Signaled Interrupts) capability of cx23885 (even that it use legacy IRQs in the code), but 'cx23885' is still working reliable without crashes as far as the old remote control infrastructure 'ir_core' is used instead Jarod's new remote control infrastructure 'rc_core'. also, don't get me wrong - if i could fix the problem with 'rc_core' then i would have helped Jarod and contribute the fix to the community, but after i spent some time on it i can't figure it out and i'm not as familiar as he is with 'rc_core' - it could be related to combination of 'cx23885' with 'rc_core' and not entirely to 'rc_core' and i will investigate that further for sure.
anyway, i guess for regular users these are more details than they need, but in short 'rc_core' doesn't seem mature enough at the moment and at least for use with CX23885-based products (BTW, if you're wondering CX23885 is the PCI-Express bridge chip on the boards). so, there is no problem for us to release Linux driver package with Jarod's new remote control infrastructure 'rc_core' even at the moment, but then there will be constant crashes and freezes of the Linux kernel with all CX23885-based products and that is what then we all will call "broken". so, we will update to 'rc_core' only when it's proven to be mature and reliable working and for the time being the old 'ir_core' provides the reliable and stable work that at least majority of our customer need and demand from us.
second series of posts i want to comment are about ArchLinux support - there is no problem and TBS Linux driver package is working perfectly even with the latest ArchLinux with kernel 2.6.39 - it seems though on ArchLinux you need to do one extra step before 'make install':
# rm -rf /lib/modules/<kernel_version>/kernel/drivers/media/
for example:
# rm -rf /lib/modules/2.6.39-ARCH/kernel/drivers/media/
because otherwise the existing V4L modules in ArchLinux mixed up in a wrong way with the one installed by TBS Linux driver package. anyway, that is partially related to the first matter - that we kept 'ir_core' in order to provide reliable work of 'cx23885' driver and thus ignoring all changes that happen in the V4L tree after introduction of 'rc_core'.
i hope you can get better understanding about the status from my explanations - even if they are not enough clear, but the main point is that in short there is no reason for panic (or for complaining), because you can use TBS hardware even in the latest Linux kernels like 2.6.39 without any stability issues. also, in the future we will update to new remote control infrastructure 'rc_core' as far as the stability issues when 'rc_core' in use together with 'cx23885' driver are sorted out.