Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: New Skystar2 drivers release
On Tue, 24 Jun 2003, Holger Waechtler wrote:
> Holger Kiehl wrote:
> >
> > I did try the driver and everything does work up to szap part, but when
> > I try to call dvbnet the following error happens:
> >
> > [root@dwdsat2 dvbnet]# ./dvbnet -p 100
> >
> > DVB Network Interface Manager
> > Version 1.1.0-TVF (Build Fri Jun 13 03:53:02 PM 2003)
> > Copyright (C) 2003, TV Files S.p.A
> >
> > Device: /dev/dvb/adapter0/net0
> > Error: couldn't open device /dev/dvb/adapter0/net0, aborting...
> >
> > Any idea what I am doing wrong? The device /dev/dvb/adapter0/net0 does
> > exist.
>
> The driver has to call dvb_net_init() and dvb_net_release() in order to
> register a DVB network device. Pretty trivial to implement, take one of
> the other drivers as example.
>
Pretty trivial to implement.... Maybe for someone who does this every day
but not for a beginner like me ;)
I did put in a dvb_net_init() and a dvb_net_release() and a
./dvbnet -p 100 works correctly. But as soon as I want to give this
interface an IP it hangs the pc hard and only a reset brings it back
to live.
Attached you will find the patch what I did. Most properly the places
where I put in the dvb_net code is not correct, so please someone with more
inside tell me what I am doing wrong.
Thanks,
Holger (Kiehl)
--- skystar2.c.original 2003-06-24 10:13:24.000000000 +0000
+++ skystar2.c 2003-06-24 09:19:42.000000000 +0000
@@ -34,6 +34,7 @@
#include "../dvb_filter.h"
#include "../dvbdev.h"
#include "../demux.h"
+#include "../dvb_net.h"
int debug = 1;
#define dprintk if(debug == 1) printk
@@ -41,6 +42,8 @@
#define SizeOfBufDMA1 0x3AC00
#define SizeOfBufDMA2 0x758
+struct dvb_net dvb_net;
+
struct DmaQ {
u32 bus_addr;
@@ -78,6 +81,9 @@
struct dvb_adapter * dvb_adapter;
struct dvb_demux demux;
+/*
+ struct dvb_net dvb_net;
+*/
dmxdev_t dmxdev;
dmx_frontend_t hw_frontend;
dmx_frontend_t mem_frontend;
@@ -2625,6 +2631,11 @@
ret = dvbdemux->dmx.connect_frontend(&dvbdemux->dmx, &adapter->hw_frontend);
if (ret < 0) return ret;
+/*
+ dvb_net_init(adapter->dvb_adapter, &adapter->dvb_net, &dvbdemux->dmx);
+*/
+ dvb_net_init(adapter->dvb_adapter, &dvb_net, &dvbdemux->dmx);
+
return 0;
}
@@ -2640,6 +2651,11 @@
if ( adapter != NULL )
{
+/*
+ dvb_net_release(&adapter->dvb_net);
+*/
+ dvb_net_release(&dvb_net);
+
dvbdemux = &adapter->demux;
dvbdemux->dmx.close(&dvbdemux->dmx);
Home |
Main Index |
Thread Index