Rebooting problems with /dev/cxm0

R. B. Riddick arne_woerner at
Sat Apr 22 06:55:15 UTC 2006

--- Erin E Conn <econn at> wrote:
> > I had a similar problem with my Pentium 133MHz:
> > When I used "cat /dev/cxm0" and piped it via a NIC to another box,
> > the pvr box halted without rebooting (at least for some minutes -
> > then i pushed the reset button). Somehow it felt like the read
> > requests from /dev/cxm0 must be issued quite often and regularily
> > and the read requests from /dev/cxm0 should not be limited in
> > size (1MB works fine, while 1 byte crashes almost immediately
> > (e. g. "dd if=/dev/cxm0 of=/dev/null bs=1 count=1000"))...
> >
Maybe your hardware configuration is more stable... I did not try it again (I
have more than 64 days of uptime now... (-:), but I am still quite sure that
this "dd" command with a block size of 1 byte crashed the box almost

Did you select a channel before doing the test?

> > Furthermore the power saving features should be disabled in
> > my box, I think (I did not test it thoroughly - at least whenever
> > the power saving started the box crashed, when I read from
> > /dev/cxm0 at that time)... :-) 
> >
Do you still have the problem with spontaneous crashes/reboots after some
minutes? Have you checked your BIOS settings about power saving stuff?

> > Since I split the reading from cxm0 and transfering to hard disc (partially
> > via network) in two processes, that use 8 or about 8 buffers (each 2MB
> > or about 2MB), I do not have this problem (61 days uptime... :-)) And
> > each day at least 3h of reading from /dev/cxm0 - at most days much
> > more: 6h or so).
> >
I wrote a little C program, that uses "fork" (for creating another process) and
"mmap" (for getting shared memory for inter process communication). But most
likely this is not needed in your case, since there is no big latency, when u
write to ur local harddisc.

I could send u the two C programs (one for gathering+marshalling and one for
> > Maybe that helps (e. g.: just try to do "dd if=/dev/cxm0 of=/dev/null bs=1m
> > count=1000").
> How are you splitting the reading into 2 processes, and are
> you able to watch live TV using this method?
And for how long could you do this test? I mean: If it crashed every 2-5
minutes with "cat", when does it crash, when you use "dd"?

When the network transfer works fast enough, I can watch live TV...

> I'm not quite sure I understand what is meant here. My machine does not 
> crash when I try the above dd command, but that may also be simply 
> because at a count of 1000 it's not accessing my card long enough for 
> whatever condition is causing my machine to lock up to occur. I'm trying 
> a longer count now and it has not crashed so far, but I'm not sure how 
> to apply this to practical viewing. 
Are you talking of the command wirth bs=1 or bs=1m?

> Another thing I've noticed, although it may be unrelated, is that my
> video decoder always fails to lock on the first try when I try to set
> the channel to the svideo input. Can this be safely ignored?
I ignore most cxm error messages until they come one of another... :-) But that
happened the last time before I rebooted my pvr box, because I did not realize
that the antenna plug is unplugged...


Arne likes "Not Another Teenie Movie"
(mr. "who thinks no antenna plug is needed" thinks no antenna plug is needed...)

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the freebsd-multimedia mailing list