Moderator Control Panel ]

Future of the Linux-Driver

Re: Future of the Linux-Driver

Postby hda » Wed Jun 08, 2011 6:03 pm

Tried again today with the newer linux-tbs-drivers_110531.rar drivers.
Still same error when trying to insert the module.

Code: Select All Code
# modprobe cx23885
FATAL: Error inserting cx23885 (/lib/modules/2.6.38-ARCH/kernel/drivers/media/video/cx23885/cx23885.ko): Unknown symbol in module, or unknown parameter (see dmesg)


Code: Select All Code
# dmesg|tail -n1
[  242.835294] cx23885: Unknown symbol v4l2_i2c_new_subdev_cfg (err 0)
hda
 
Posts: 42
Joined: Thu Dec 09, 2010 2:21 am

Re: Future of the Linux-Driver

Postby Meindert » Wed Jun 08, 2011 7:41 pm

Hello,

Does someone tried the new drivers of TBS in combination with 2.6.38 kernel and sasc-ng ?
The last one is compiling without errors on linux-2.6.32 and the TBS drivers of last year, but with update to the new TBS driver i become compilation errors/warnings. After applying a patch, from a Russian site !?!?, it compiles, but in MythTV it is not working at all.

Meindert
Meindert
 
Posts: 21
Joined: Mon Feb 14, 2011 4:16 am

Re: Future of the Linux-Driver

Postby hda » Wed Jun 08, 2011 8:30 pm

Sorry Meindert can't help you I'm afraid.

After asking on the Arch Linux forums I got a reply regarding v4l2_i2c_new_subdev_cfg.

v4l2_i2c_new_subdev_cfg was defined in v4l2-common.c of v4l-utils/libv4l. It was deleted in January.

You may have to downgrad v4l-utils or modify your patch like this: http://www.mail-archive.com/linux-media@vger.kernel.org/msg27593.html


Any help appreciated.
hda
 
Posts: 42
Joined: Thu Dec 09, 2010 2:21 am

Re: Future of the Linux-Driver

Postby veehexx » Thu Jun 09, 2011 12:44 am

im not sure if anyone else agrees, understands, or has put forward the idea, but i've been speaking with some users & developers outside of this forums/TBS specific circle, and they've come to the conclusion that the TBS drivers are built very poorly.

since this has been writen in the Public domain, i've re-quoted what Jarod Wilson (LIRC developer it seems) has posted in the mythtv mailing list:
The vendor really needs to upstream their driver, or
they're going to keep breaking people's systems when they upgrade to newer
kernels. From the dmesg output:

[ 8.354806] rc_core: exports duplicate symbol ir_raw_handler_unregister (owned by ir_core)

It looks like their driver would probably work fine with circa 2.6.36 code,
but is broken on .37 and on, as ir_core became rc_core. Your system currently
has two competing eras of kernel code from drivers/media/ trying to run at
the same time.

So yes, this is the vendor who needs to fix things, either by taking on the
burden of supporting their supplied code properly on more recent kernels, or
by doing the RIGHT thing and getting their driver code merged into the kernel
itself.


that dmesg output error is from my mythbuntu 11.04 iso-install (no updates), with just the TBS6980/1 31052011 dated drivers installed. i've sent off an email to tbs-european support and I'm awaiting a response.

i'm not very well linux educated, but to me, from what little i do know, upstream compliancy (correct term?) can only be a good thing for everyone. less work for the devs in the long term, a more future-proof and stable driver for us, and a bunch of happy customers who recommend TBS products.


my exact problem is when the tbs drivers are installed, it breaks LIRC. To me, that doesn't classify as linux compatible drivers if it serverily breaks another area of the OS - so i hope i've found a bug and the driver team can fix quickly.

Cody - are you around to comment on this, even if it's just a nod in acceptance?
veehexx
 
Posts: 31
Joined: Mon Feb 28, 2011 10:03 pm

Re: Future of the Linux-Driver

Postby hda » Thu Jun 09, 2011 4:33 am

I have exact same problem but I disabled rc_core stuff in my kernel config (don't care about remote control until I can get the tv side of things working) but then I ran into the v4l2_i2c_new_subdev_cfg error and apparently this has been removed from v4l-utils since January.

I really hope TBS can get this sorted out. Really starting to wish I had bought a different card.
hda
 
Posts: 42
Joined: Thu Dec 09, 2010 2:21 am

Re: Future of the Linux-Driver

Postby hda » Tue Jun 14, 2011 4:40 am

Just tried building with 2.6.39.

Wont compile at all now.

Code: Select All Code
/tmp/linux-tbs-drivers_110531/linux-tbs-drivers/v4l/cx88-input.c: In function 'cx88_ir_irq':
/tmp/linux-tbs-drivers_110531/linux-tbs-drivers/v4l/cx88-input.c:509:23: warning: variable 'toggle' set but not used [-Wunused-but-set-variable]
  CC [M]  /tmp/linux-tbs-drivers_110531/linux-tbs-drivers/v4l/dvbdev.o
/tmp/linux-tbs-drivers_110531/linux-tbs-drivers/v4l/dvbdev.c:36:28: fatal error: linux/smp_lock.h: No such file or directory
compilation terminated.
make[3]: *** [/tmp/linux-tbs-drivers_110531/linux-tbs-drivers/v4l/dvbdev.o] Error 1
make[2]: *** [_module_/tmp/linux-tbs-drivers_110531/linux-tbs-drivers/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.39-ARCH'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/tmp/linux-tbs-drivers_110531/linux-tbs-drivers/v4l'
make: *** [all] Error 2


With Linux 3.0 just round the corner I can't Imagine things are going to get any better for us regarding this driver :(
hda
 
Posts: 42
Joined: Thu Dec 09, 2010 2:21 am

Re: Future of the Linux-Driver

Postby cody » Tue Jul 05, 2011 10:01 pm

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.html

so, 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.
cody
 
Posts: 627
Joined: Tue Apr 13, 2010 11:20 pm

Re: Future of the Linux-Driver

Postby stevellion » Fri Jul 15, 2011 4:32 pm

Cody - first of all, good to have you back!

Just an FYI - I upgraded my Ubuntu kernel through the normal repositories a day or so ago to 2-6-38.10 ({from 2-6-38.8)

First of all, I forgot to recompile the tbs drivers, meaning I just spotted in MythTV that the cards were not active.

Then, I tried to remake the drivers and they were still trying to use the 38.8 headers.

I then found a .version file in drivers/v4l which linked to the 38.8 headers only.
Once I changed the .version file - it compiled fine and after a reboot, all is good.

Hope that helps!
PS - Cody - if there was a better way for me to have done that, please let us all know.
stevellion
 
Posts: 20
Joined: Tue May 10, 2011 4:03 am

Re: Future of the Linux-Driver

Postby daverob » Fri Jul 15, 2011 7:52 pm

I had the same issue with the upgrade from 2.6.38-8 to 2.6.38-10, for me the solution was to do a...

Code: Select All Code
make distclean
make
sudo make install


... and then reboot.

Not sure if it's the right way of doing it, but it's worked with other drivers in the past and seems to have worked here.
daverob
 
Posts: 1
Joined: Fri Jul 15, 2011 7:45 pm

Re: Future of the Linux-Driver

Postby stevellion » Sun Jul 24, 2011 5:52 am

I'm sure yours is a better solution! - I'll do that next time, much easier :)
stevellion
 
Posts: 20
Joined: Tue May 10, 2011 4:03 am

PreviousNext

Return to Linux

Who is online

Users browsing this forum: No registered users and 10 guests

cron