abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 00:22 | Komunita

V Norimberku probíhá do pátku ownCloud conference 2018, tj. konference vývojářů a uživatelů open source systému ownCloud (Wikipedie) umožňujícího provoz vlastního cloudového úložiště. Přednášky lze sledovat online. Videozáznamy jsou k dispozici na YouTube. Při této příležitosti byl vydán ownCloud Server 10.0.10. Z novinek lze zdůraznit podporu PHP 7.2. Vydán byl také ownCloud Desktop Client 2.5.0. Vyzkoušet lze online demo ownCloudu.

Ladislav Hagara | Komentářů: 0
dnes 00:11 | Pozvánky

Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.

xkucf03 | Komentářů: 0
včera 16:11 | Komunita

Vývojáři relačního databázového systému PostgreSQL oznámili, že schválili svůj Code of Conduct (CoC) aneb kodex chování vývojářů PostgreSQL.

Ladislav Hagara | Komentářů: 14
včera 14:44 | Nová verze

Byla vydána verze 1.0 poštovního serveru Courier (Wikipedie). Aktualizovány byly také související balíčky jako Courier authentication library, Courier-IMAP, SqWebMail, maildrop nebo Cone.

Ladislav Hagara | Komentářů: 0
včera 02:22 | Zajímavý software

Společnost ​Versity Software otevřela svůj archivační souborový systém ScoutFS. Zdrojové kódy jsou k dispozici na GitHubu (kernel space, user space) pod licencí GPLv2.

Ladislav Hagara | Komentářů: 21
včera 00:44 | Nová verze

Byla vydána verze 4.2 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu. Ke stažení jsou oficiální binární balíčky pro Ubuntu 18.04, Ubuntu 16.04 a Ubuntu 14.04. Přehled novinek ve videozáznamu přednášky z WWDC 2018.

Ladislav Hagara | Komentářů: 3
17.9. 17:55 | Nová verze

Po třech a půl letech od vydání verze 3.4.1 byla vydána nová verze 3.4.2 programu pro filtrování spamu Apache SpamAssassin (Wikipedie). Z novinek lze zmínit 4 nové pluginy. Pravidla budou ověřována pomocí SHA-256 a SHA-512 místo SHA-1. Řešeny jsou také 4 bezpečnostní chyby. Například chyba CVE-2018-11780 v pluginu PDFInfo zneužitelná ke vzdálenému spuštění kódů (RCE).

Ladislav Hagara | Komentářů: 0
17.9. 16:22 | Pozvánky

Díky openSUSE Video Teamu lze sledovat živý přenos většiny prezentací z letošní SUSE Labs Conference. Záznamy proběhlých prezentací budou postupně přidávány na kanál SUSE Labs na YouTube.

Michal Kubeček | Komentářů: 0
17.9. 10:22 | Pozvánky

Na webových stránkách konference LinuxDays byl zveřejněn program přednášek a workshopů. Současně byla spuštěna registrace. Konference proběhne o víkendu 6. a 7. října 2018 v Praze v areálu ČVUT v Dejvicích na Fakultě informačních technologií.

Ladislav Hagara | Komentářů: 0
17.9. 02:22 | Komunita

Linus Torvalds se v oznámení o vydání 4. rc verze Linuxu 4.19 omlouvá za své chování. Posledním commitem před zvýšením rc3 na rc4 bylo odstranění souboru s Code of Conflict a přidání souboru s Contributor Covenant Code of Conduct vycházejícího z Contributor Covenant. Vývoj Linuxu 4.19 dokončí Greg Kroah-Hartman. Linus Torvalds si bere volno a bude pracovat na svém chování. Pravděpodobně vylepší svého poštovního klienta, aby mu nedovolil odesílat emaily obsahující nadávky.

Ladislav Hagara | Komentářů: 51
Na optické médium (CD, DVD, BD aj.) jsem naposledy vypaloval(a) data před méně než
 (13%)
 (15%)
 (21%)
 (23%)
 (24%)
 (4%)
 (1%)
Celkem 356 hlasů
 Komentářů: 33, poslední 16.9. 11:55
Rozcestník
Nástroje

07ca:0337 AVerMedia A867 DVB-T dongle

Podpora: částečná
Ovladač: dodává výrobce
Adresa ovladače: http://avertv.avermedia.com/Support/DownloadCoun..
Zastaralý: ano

Identifikace pod Linuxem

Bus 001 Device 006: ID 07ca:0337 AVerMedia Technologies, Inc. A867 DVB-T dongle

Postup zprovoznění pod Linuxem

Ovladač je značně zastaralý a nelze zkompilovat na jádrech 3.5 a vyšší. Povedlo se mi napsat patch pro zprovoznění na Linux Mint 17 resp. Ubuntu 14.04 s jádrem 3.13. Nezkoušel jsem dálkový ovladač, proto uvádím částečná podpora.

  1. Nainstalujte zdrojové a hlavičkové soubory jádra:
    sudo apt-get install linux-source
    sudo apt-get install linux-headers-`uname -r`
    
  2. Zdrojové soubory rozbalte
    cd /usr/src
    tar -xjvf linux-source-XYZ
  3. Vytvořte symbolický odkaz v /lib/modules/jádro/source na zdrojové soubory jádra
    ln -s /usr/src/linux-source-XYZ /lib/modules/`uname -r`/source
  4. Ze stránek výrobce si stáhněte originální ovladač a rozbalte do adresáře /usr/local/src/a867_drv_v1.0.29
  5. Vytvořte patch soubor a867_v1.0.29.patch a uložte do adresáře a867_drv_v1.0.29

    Aplikujte patch

    patch -p1 -i a867_v1.0.29.patch
  6. Kompilace a instalace ovladače
    make
    make install 
  7. Pokud vše proběhlo jak má, vytvořil se soubor a867.ko, který se zkopíroval do adresáře /lib/modules/j`uname -r`/kernel/drivers/media/usb/dvb-usb
    Po instalaci doporučuji aktualizovat informace o modulech
    depmod -a

Poznámka

a867_v1.0.29.patch

diff -rupBN a867_drv_v1.0.29/af903x-fe.c a867_drv_v1.0.29_new/af903x-fe.c
--- a867_drv_v1.0.29/af903x-fe.c	2012-05-22 15:45:29.000000000 +0200
+++ a867_drv_v1.0.29_new/af903x-fe.c	2014-08-11 19:36:41.181953750 +0200
@@ -6,15 +6,18 @@
 #include 
 #include 
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0))
+#include 
+#endif
+
 #include "af903x.h"
 #include "dvb_frontend.h"
 #include "standard.h"
-
+#include 
 #define A333_FREQ_MIN	44250000
 #define A333_FREQ_MAX	867250000
 
 
-
 static int alwayslock; // default to 0
 module_param(alwayslock, int, 0644);
 MODULE_PARM_DESC(alwayslock, "Whether to always report channel as locked (default:no).");
@@ -22,7 +25,7 @@ MODULE_PARM_DESC(alwayslock, "Whether to
 
 struct af903xm_state {
 	struct dvb_frontend demod;
-	fe_bandwidth_t current_bandwidth;
+	u32 current_bandwidth;
 	uint32_t current_frequency;
 
 	struct completion thread_exit;
@@ -305,22 +308,28 @@ static int af903x_identify(struct af903x
 	return 0;
 }
 
-static int af903x_get_frontend(struct dvb_frontend* fe,
-				struct dvb_frontend_parameters *fep)
+
+static int af903x_get_frontend(struct dvb_frontend* fe)
 {
+	struct dtv_frontend_properties *fep = &fe->dtv_property_cache;	
 	struct af903xm_state *state = fe->demodulator_priv;
+	u32 delsys;
 
 	deb_data("- Enter %s Function -\n",__FUNCTION__);
+
+	delsys = fep->delivery_system;
 	memset(fep, 0, sizeof(*fep));
+	fep->delivery_system = delsys;
+
 	fep->frequency = state->current_frequency;
 	fep->inversion = INVERSION_AUTO;
-	fep->u.ofdm.bandwidth = state->current_bandwidth;
+	fep->bandwidth_hz = state->current_bandwidth;
 	return 0;
 }
 
-static int af903x_set_frontend(struct dvb_frontend* fe,
-				struct dvb_frontend_parameters *fep)
+static int af903x_set_frontend(struct dvb_frontend* fe)
 {
+	struct dtv_frontend_properties *fep = &fe->dtv_property_cache;
 	struct af903xm_state *state = fe->demodulator_priv;
 	struct af903x_ofdm_channel ch;
 	u16 bw=0;
@@ -338,15 +347,15 @@ static int af903x_set_frontend(struct dv
 		return -EINVAL;
 	}
 
-	switch(fep->u.ofdm.bandwidth) {
-	case BANDWIDTH_8_MHZ: bw=8; break;
-	case BANDWIDTH_7_MHZ: bw=7; break;
-	case BANDWIDTH_6_MHZ: bw=6; break;
+	switch(fep->bandwidth_hz) {
+	case 8000000: bw=8; break;
+	case 7000000: bw=7; break;
+	case 6000000: bw=6; break;
 
 	case 6: 
 	case 7:
 	case 8:
-		bw = fep->u.ofdm.bandwidth;
+		bw = fep->bandwidth_hz;
 		deb_data("- %s wrong bw value: %d -\n",__FUNCTION__, fep->u.ofdm.bandwidth);
 		break;
 	default:
@@ -360,7 +369,7 @@ static int af903x_set_frontend(struct dv
 	ch.Bw               = bw;
 	deb_data("- %s freq=%d KHz, bw=%d MHz -\n",__FUNCTION__, ch.RF_kHz,  ch.Bw);
 
-	state->current_bandwidth = fep->u.ofdm.bandwidth;
+	state->current_bandwidth = fep->bandwidth_hz;
 	state->current_frequency = fep->frequency;
 
 	ret = af903x_tune(fe, &ch);
@@ -371,6 +380,8 @@ static int af903x_set_frontend(struct dv
 	return ret;
 }
 
+
+
 static int af903x_read_status(struct dvb_frontend *fe, fe_status_t *stat)
 {
 	DWORD dwError;
@@ -539,9 +550,10 @@ static void af903x_release(struct dvb_fr
 }
 
 static struct dvb_frontend_ops af903x_ops = {
+	.delsys = { SYS_DVBT },
 	.info = {
 		.name = "A867 USB DVB-T",
-		.type = FE_OFDM,
+		//.type = FE_OFDM,
 		.frequency_min      = A333_FREQ_MIN,
 		.frequency_max      = A333_FREQ_MAX,
 		.frequency_stepsize = 62500,
@@ -590,7 +602,7 @@ struct dvb_frontend * af903x_attach(u8 t
 
 	return demod;
 }
-
+//EXPORT_SYMBOL(af903x_attach);
 
 static Dword Monitor_GPIO8(void)
 {
@@ -688,7 +700,10 @@ static int af903x_monitor_thread_func(vo
 	sigfillset(¤t->blocked);
 	sprintf(current->comm, "%s", thread_name);
 #else
+
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0))
 	daemonize("%s", thread_name);
+#endif
 	allow_signal(SIGTERM);
 #endif
 	siginitsetinv(¤t->blocked, sigmask(SIGKILL)|sigmask(SIGINT)|\
@@ -769,7 +784,11 @@ void af903x_start_monitor_thread(struct
 	if( atomic_add_unless(&st->thread_created, 1, 1) ) {
 		st->thread_should_stop = 0;
 		init_completion(&st->thread_exit); 
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0))
 		kernel_thread(af903x_monitor_thread_func, st, 0);
+#else
+                kthread_run(af903x_monitor_thread_func, st, "af903x_monitor");
+#endif
 	}
 #endif //USE_MONITOR_TH
 
diff -rupBN a867_drv_v1.0.29/af903x-tuner.c a867_drv_v1.0.29_new/af903x-tuner.c
--- a867_drv_v1.0.29/af903x-tuner.c	2010-11-10 04:46:22.000000000 +0100
+++ a867_drv_v1.0.29_new/af903x-tuner.c	2013-04-25 21:13:22.000000000 +0200
@@ -9,13 +9,15 @@
 #define IF2  36150       // IF2 frequency = 36.150 MHz
 #define FREF 16000       // Quartz oscillator 16 MHz
 
-static int tuner_set_params(struct dvb_frontend *fe, struct dvb_frontend_parameters *params)
+static int tuner_set_params(struct dvb_frontend *fe)
 {
+	struct dtv_frontend_properties *params = &fe->dtv_property_cache;
 	struct tuner_priv *priv=NULL;
 	DWORD dwError = Error_NO_ERROR;
 	DWORD freq = params->frequency ;// 1000; // Hz -> kHz
 	
-	priv->bandwidth = (fe->ops.info.type == FE_OFDM) ? params->u.ofdm.bandwidth : 0;
+	priv->bandwidth = (params->delivery_system == SYS_DVBT) ? params->bandwidth_hz : 0;
+	//priv->bandwidth = (fe->ops.info.type == FE_OFDM) ? params->bandwidth_hz : 0;
 
        deb_data("%s - freq : %d , bandwidth : %dn",__FUNCTION__, freq,priv->bandwidth);
 	   
@@ -24,6 +26,8 @@ static int tuner_set_params(struct dvb_f
 	
 	return 0;
 }
+
+
 static int tuner_get_frequency(struct dvb_frontend *fe, u32 *frequency)
 {
 	struct tuner_priv *priv = fe->tuner_priv;
@@ -70,6 +74,7 @@ static const struct dvb_tuner_ops tuner_
 	.sleep         = tuner_sleep,
 
 	.set_params    = tuner_set_params,
+
 	.get_frequency = tuner_get_frequency,
 	.get_bandwidth = tuner_get_bandwidth
 };
diff -rupBN a867_drv_v1.0.29/Makefile a867_drv_v1.0.29_new/Makefile
--- a867_drv_v1.0.29/Makefile	2010-11-10 04:46:22.000000000 +0100
+++ a867_drv_v1.0.29_new/Makefile	2014-08-11 19:20:29.137928544 +0200
@@ -1,7 +1,6 @@
 
 EXTRA_CFLAGS = -DEXPORT_SYMTAB
 
-BUILD_DEP = dvb-usb/dvb-usb-common.h dvb-usb/dvb-usb.h dvb-usb/dvb-usb-ids.h dvb-core/dvb_frontend.h dvb-core/dvbdev.h dvb-core/dmxdev.h dvb-core/dvb_demux.h dvb-core/dvb_net.h dvb-core/demux.h dvb-core/dvb_ringbuffer.h frontends/dvb-pll.h
 
 ifneq ($(KOBJ),)
 version := $(shell egrep -e '^VERSION ' $(KSRC)/Makefile | awk 'BEGIN{FS="="}{print $$2}' | tr -d ' ')
@@ -29,9 +28,24 @@ INSTALL := $(shell which install)
 DEPMOD  := $(shell which depmod || which /sbin/depmod || echo "true You should now run depmod")
 
 # SYSTEM DVB setting
+ifeq (,$(wildcard $(KSRC)/drivers/media/dvb/.))
+BUILD_DEP = dvb/dvb-usb/dvb-usb-common.h dvb/dvb-usb/dvb-usb.h dvb/dvb-usb/dvb-usb-ids.h dvb/dvb-core/dvb_frontend.h dvb/dvb-core/dvbdev.h dvb/dvb-core/dmxdev.h dvb/dvb-core/dvb_demux.h dvb/dvb-core/dvb_net.h dvb/dvb-core/demux.h dvb/dvb-core/dvb_ringbuffer.h dvb/frontends/dvb-pll.h
+
+MISSINGFILE := $(shell for i in $(BUILD_DEP); do if [ ! -f $(KSRC)/drivers/media/$$i ]; then echo $$i; fi; done)
+
 DVB_FLAGS += -I$(KSRC)/drivers/media/dvb/dvb-core/
 DVB_FLAGS += -I$(KSRC)/drivers/media/dvb/dvb-usb/
 DVB_FLAGS += -I$(KSRC)/drivers/media/dvb/frontends/
+else
+BUILD_DEP = usb/dvb-usb/dvb-usb-common.h usb/dvb-usb/dvb-usb.h dvb-core/dvb-usb-ids.h dvb-core/dvb_frontend.h dvb-core/dvbdev.h dvb-core/dmxdev.h dvb-core/dvb_demux.h dvb-core/dvb_net.h dvb-core/demux.h dvb-core/dvb_ringbuffer.h dvb-frontends/dvb-pll.h
+
+MISSINGFILE := $(shell for i in $(BUILD_DEP); do if [ ! -f $(KSRC)/drivers/media/$$i ]; then echo $$i; fi; done)
+
+DVB_FLAGS += -I$(KSRC)/drivers/media/dvb-core/
+DVB_FLAGS += -I$(KSRC)/drivers/media/usb/dvb-usb/
+DVB_FLAGS += -I$(KSRC)/drivers/media/dvb-frontends/
+endif
+
 EXTRA_CFLAGS += $(DVB_FLAGS)
 
 EXTRA_CFLAGS += -Wno-unused-value -Wno-unused-variable -Wno-unused-parameter \
@@ -41,20 +55,23 @@ a867-objs := af903x-core.o af903x-device
 			demodulator.o demodulatorextend.o usb2impl.o user.o mxl5007t.o Maxlinear_MXL5007.o Afa_AF9007.o
 obj-m += a867.o
 
-MISSINGFILE := $(shell for i in $(BUILD_DEP); do if [ ! -f $(KSRC)/drivers/media/dvb/$$i ]; then echo $$i; fi; done)
 
 ifeq ($(MISSINGFILE),)
 default:
 	make -C $(KSRC) O=$(KOBJ) SUBDIRS=`pwd` modules
 else
 default:
-	@echo Missing files that required to build driver: $(KSRC)/drivers/media/dvb/$(MISSINGFILE)
-	@echo Try to get kernel source closest to $(CURRENT) from www.kernel.org and then copy to $(KSRC)/drivers/media/dvb 
+	@echo Missing files that required to build driver: $(KSRC)/drivers/media/$(MISSINGFILE)
+	@echo Try to get kernel source closest to $(CURRENT) from www.kernel.org and then copy to $(KSRC)/drivers/media 
 endif
 
 install:
-	@install -d $(DESTDIR)/lib/modules/$(CURRENT)/kernel/drivers/media/dvb/a867
-	$(INSTALL) -c -D -m 644 -c a867.ko $(DESTDIR)/lib/modules/$(CURRENT)/kernel/drivers/media/dvb/a867/
+	if [ -d "$(DESTDIR)/lib/modules/$(CURRENT)/kernel/drivers/media/dvb" ];then  \
+             install -d $(DESTDIR)/lib/modules/$(CURRENT)/kernel/drivers/media/dvb/a867; \
+             install -c -D -m 644 -c a867.ko $(DESTDIR)/lib/modules/$(CURRENT)/kernel/drivers/media/dvb/a867/;    \
+        else \
+               install -c -D -m 644 -c a867.ko $(DESTDIR)/lib/modules/$(CURRENT)/kernel/drivers/media/usb/dvb-usb/;   \
+        fi 
 	/sbin/depmod -a
 
 remove:

Dokument vytvořil: Skokan, 11.8.2014 21:25 | Zobrazeno: 993×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.