bnl wrote:
Unplugging/replugging the fireDTV is a no go. Tried it, does not work.
Sometimes I get an OOPS doing that, sometimes nothing happens.
I make a mental note to try hot-unplug myself; that oops deserves to be fixed. (At least in the new stack, if it happens with old and new stack alike.)
Quote:
Thinking of it, when I compile a kernel, I have the choice of using the new or the old firewire stack. I compile both, but is any prefered over the other?
(2.6.32-9)
There is no real preference if FireDTV or FloppyDTV is the only FireWire hardware that you are using. In that case there is no difference regarding features. There seemed to be a tiny decrease in CPU utilization with the new stack, but I haven't taken proper measurements yet to be sure.
However, for FireDTV/FloppyDTV users the new drivers are only an alternative since kernel 2.6.33, because 2.6.33(-rc1) is the first mainline kernel which contains the firedtv driver updates that allow firedtv to run on top of the new firewire-core + firewire-ohci, alternatively to the old ieee1394 + ohci1394. In stock 2.6.32, firedtv only works with the latter two.
On the CA issues:
Quote:
Is there any logs I should catch,
The firedtv module has a "debug" parameter which lets you enable verbose logging into the kernel log (dmesg output, typically received by syslogd and written into /var/log/messages). Since kernel 2.6.32, this parameter accepts several numeric flags to choose which kinds of traffic should be logged. Show a short help on it:
Code:
# modinfo firedtv
Switch on debug logging while loading the driver, here with flags that enable HOST2CA and CA2HOST transactions logging with transaction payloads:
Code:
# modprobe firedtv debug=0x8180
The same but after the fact, when firedtv was already loaded:
Code:
# echo 0x8180 > /sys/module/firedtv/parameters/debug
To switch verbose logging off again when no longer needed:
Code:
# echo 0 > /sys/module/firedtv/parameters/debug
So this is how you can collect some data on what is going on during live usage. But I can't tell you what to actually do with that data as I am not familiar with any of this. You could try to get in touch with the one guy who submitted all of the CA related updates during the past year, Henrik Kurelid (via mail, and ideally Cc the linux-media mailinglist also; you don't need to subscribe there).
Quote:
if I peek into the code myself, is there a good starting point? I'd guess where the CA handling is coded, but where is that...
- CA related interface between DVB core and firedtv:
all of firedtv-ci.c - encapsulation of CA messages into FireWire transactions:
avc_ca_* functions in firedtv-avc.c