Re: Problems compiling hacked szap.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux