Hi, try with the attached patch : szap-multiproto-apiv33.diff This patch add support of dvb api v3.3 to szap. Regards, JLac 2008/4/2, Jens Krehbiel-Gräther <linux-dvb@xxxxxxxxxxxxxxx>: > Hi! > > I have problems compiling szap.c for multiproto. I use kernel 2.6.24 > I followed the instructions of Manu posted to the list a few months ago: > > > Make sure you have the updated headers (frontend.h, version.h in your include path) > > (You need the same headers from the multiproto tree) > > > > wget http://abraham.manu.googlepages.com/szap.c > > copy lnb.c and lnb.h from dvb-apps to the same folder where you downloaded szap.c > > > > cc -c lnb.c > > cc -c szap.c > > cc -o szap szap.o lnb.o > > > > That's it > > > > Manu > > but it won't work. > > I get the following error: > > dev:/usr/src/szap# cc -c szap.c > szap.c: In function 'zap_to': > szap.c:368: error: 'struct dvbfe_info' has no member named 'delivery' > szap.c:372: error: 'struct dvbfe_info' has no member named 'delivery' > szap.c:376: error: 'struct dvbfe_info' has no member named 'delivery' > szap.c:401: error: 'struct dvbfe_info' has no member named 'delivery' > szap.c:412: error: 'struct dvbfe_info' has no member named 'delivery' > dev:/usr/src/szap# > > lnb.c compiles without error. > > I have compiled szap under older kernel without error, but when I use > this compiled szap now (under 2.6.24) I get the following error: > > dev:~# szap ProSieben > reading channels from file '/root/.szap/channels.conf' > zapping to 208 'ProSieben': > sat 0, frequency = 12544 MHz H, symbolrate 22000000, vpid = 0x01ff, apid > = 0x0200 sid = 0x445d > Querying info .. Delivery system=DVB-S > using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' > ioctl DVBFE_GET_INFO failed: Operation not supported > dev:~# > > I've successfully compiled multiproto drivers with the compat.h patch > für 2.6.24 kernel. The modules load without errors, but I can not szap > to any channel. > > Can you help me?? > > Thanks, > Jens > > _______________________________________________ > linux-dvb mailing list > linux-dvb@xxxxxxxxxxx > http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
--- org/szap.c 2008-04-02 20:47:05.000000000 +0200 +++ new/szap.c 2008-04-02 20:46:30.000000000 +0200 @@ -351,6 +351,7 @@ uint32_t ifreq; int hiband, result; struct dvbfe_info fe_info; + enum dvbfe_delsys delivery; // a temporary hack, need to clean memset(&fe_info, 0, sizeof (&fe_info)); @@ -365,15 +366,15 @@ switch (delsys) { case DVBS: printf("Querying info .. Delivery system=DVB-S\n"); - fe_info.delivery = DVBFE_DELSYS_DVBS; + delivery = DVBFE_DELSYS_DVBS; break; case DSS: printf("Querying info .. Delivery system=DSS\n"); - fe_info.delivery = DVBFE_DELSYS_DSS; + delivery = DVBFE_DELSYS_DSS; break; case DVBS2: printf("Querying info .. Delivery system=DVB-S2\n"); - fe_info.delivery = DVBFE_DELSYS_DVBS2; + delivery = DVBFE_DELSYS_DVBS2; break; default: printf("Unsupported delivery system\n"); @@ -391,6 +392,8 @@ return FALSE; } + ioctl(fefd, DVBFE_SET_DELSYS, &delivery); //switch system + result = ioctl(fefd, DVBFE_GET_INFO, &fe_info); if (result < 0) { perror("ioctl DVBFE_GET_INFO failed"); @@ -398,7 +401,7 @@ return FALSE; } - switch (fe_info.delivery) { + switch (delivery) { case DVBFE_DELSYS_DVBS: printf("----------------------------------> Using '%s' DVB-S", fe_info.name); break; @@ -409,7 +412,7 @@ printf("----------------------------------> Using '%s' DVB-S2", fe_info.name); break; default: - printf("Unsupported Delivery system (%d)!\n", fe_info.delivery); + printf("Unsupported Delivery system (%d)!\n", delivery); close(fefd); return FALSE; }
_______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb