--- Makefile 2007-03-30 11:53:05.000000000 +0200 +++ Makefile.my 2008-06-07 15:51:49.000000000 +0200 @@ -14,7 +14,7 @@ removing = atsc_psip_section.c atsc_psip_section.h -CPPFLAGS += -I/usr/include -DDATADIR=\"$(prefix)/share\" +CPPFLAGS += -I../multiproto/linux/include -DDATADIR=\"$(prefix)/share\" .PHONY: all @@ -27,8 +27,6 @@ atsc_psip_section.c atsc_psip_section.h: perl section_generate.pl atsc_psip_section.pl -include ../../Make.rules - install:: @echo installing scan files @mkdir -p $(DESTDIR)$(sharedir)/dvb/atsc --- scan.c 2008-06-07 16:04:49.000000000 +0200 +++ scan.c.my 2008-06-07 16:02:43.000000000 +0200 @@ -1673,38 +1673,22 @@ return -1; } - struct dvbfe_info fe_info1; - - // a temporary hack, need to clean - memset(&fe_info1, 0, sizeof (struct dvbfe_info)); - - if(t->modulation_system == 0) - fe_info1.delivery = DVBFE_DELSYS_DVBS; - else if(t->modulation_system == 1) - fe_info1.delivery = DVBFE_DELSYS_DVBS2; + enum dvbfe_delsys delsys; + if(t->modulation_system == 0) { + delsys = DVBFE_DELSYS_DVBS;info("using DVB-S");} + else if(t->modulation_system == 1) { + delsys = DVBFE_DELSYS_DVBS2;info("using DVB-S2");} + else { + info("unsupported modulation system: %d\n", t->modulation_system); + return -1; + } - int result = ioctl(frontend_fd, DVBFE_GET_INFO, &fe_info1); + int result = ioctl(frontend_fd, DVBFE_SET_DELSYS, &delsys); if (result < 0) { - perror("ioctl DVBFE_GET_INFO failed"); + perror("ioctl DVBFE_SET_DELSYS failed"); t->last_tuning_failed = 1; return -1; } - - switch (fe_info1.delivery) { - case DVBFE_DELSYS_DVBS: - info("----------------------------------> Using '%s' DVB-S\n", fe_info.name); - break; - case DVBFE_DELSYS_DSS: - info("----------------------------------> Using '%s' DSS\n", fe_info.name); - break; - case DVBFE_DELSYS_DVBS2: - info("----------------------------------> Using '%s' DVB-S2\n", fe_info.name); - break; - default: - info("Unsupported Delivery system (%d)!\n", fe_info1.delivery); - t->last_tuning_failed = 1; - return -1; - } if (__tune_to_transponder (frontend_fd, t) == 0) return 0;