handdator

Visa fullständig version : HTPC med Ubuntu MytTV och Cardsharing klient



_age_
2007-11-23, 17:29
Jag försökte mig på guiden för att konfigurera CS på mythTV, men gick åt helv....

Jag har en Ubuntu maskin konfigurerad och klar, vill ha in Cardsharing klient på den, några tips?

jsvens
2008-05-28, 07:28
Jobbar själv på det...
Har mythbuntu 8.04 installerad.
Kommer att lägga ut en howto när jag har det fungerande.

pelle_ag
2008-05-28, 09:58
Gör du en från grunden då?

/Pelle

jsvens
2008-05-28, 21:39
Japp det var tanken...

Har just nu lite problem med att få sasc-ng kompilerad.

Får masse felmeddelanden, men jag ger inte upp, tipps mottages tacksamt!

timerx
2008-05-31, 13:11
du kan ju posta vad du får för felmeddelande när du kompilerar, så kan man se om man kan luska på vad som kan vara för fel som uppstår.

Orka
2008-06-01, 23:49
sasc-ng har slutat att utvecklas.

Kör istället med open-sasc-ng. Det är sasc-ng's senaste kod som någon forsätter att utveckla. Inte ursprunglige utvecklaren alltså.

Själv har jag bytt från sasc-ng till trunk-versionen av open-sasc-ng.

open-sasc-ng hittas här:
https://opensvn.csie.org/traccgi/opensascng/browser

Stöd för fler kernels bl.a.

skapa en passande katalog, gå in i den och ta hem med
# svn co http://opensvn.csie.org/opensascng/trunk
# cd trunk
# cd open-sasc-ng
# ./configure
# make module
# make

Vissa behöver köras som root. Jag körde allt. :)
Glöm inte att du behöver källkoden till kerneln tillgänglig annars får du fan när du ska kompilera. :)

timerx
2008-07-22, 13:43
hur går det med denna guiden btw?
Är nämligen ute efter htpc lösning som kan koppla sig till min DB och hämta koderna från den så man kan se på sina kanaler från den.

LocalHero
2008-07-27, 22:44
Hej

Har du fått open-sasc-ng att fungera? Själv får jag inte igång nyare sasc än r170. Lite surt då man är fast i gamla versioner :(

Ollan
2008-07-28, 07:38
Japp det var tanken...

Har just nu lite problem med att få sasc-ng kompilerad.

Får masse felmeddelanden, men jag ger inte upp, tipps mottages tacksamt!

Har oxå stött på patrull när det gäller att kompilera open-sasc-ng med senaste v4l-drivrutinerna.
Vore mer än glad om ngn skrev en howto om hur de kompilerar open-sasc-ng med senaste MythUbuntu.

banen
2008-07-28, 20:07
Det verkar som om (open-)sasc-ng större än r170 hänger sig i funktionen read_nit() (Vad gör den?)

Jag gjorde följande ändring i filen plugin_getsid.c:

I funktionen read_pat() nästan sist, tog jag bort raden

pat->has_nit = pid

Då fungerar det, men jag har inte märkt någon skillnad på alla nya
sasc-versioner och r169, som fungerar bra. Jag har däremot inte fått
multirec med mythtv 0.21 att fungera med någon version av sasc-ng. Jag har
comhem och fc9.

dust79
2008-08-06, 09:54
Jag kör också med comhem, mythtv och sasc r169 som dig bananen fast på debian. Fungerar fint och jag funderar på att köpa ett dvb-c kort till för att kunna spela in på en kanal och titta på en annan samtidigt. Är det det du har problem med? Vad får du för fel?

banen
2008-08-06, 20:08
Nej, allt fungerar bra förutom multirec-funktionen i mythtv 0.21 (dvs att kunna avkoda flera kanaler på samma multiplex samtidigt med bara ett dvb-kort). Är det någon som fått detta att fungera (med någon version av sasc-ng öht)?

Ollan
2008-08-07, 07:26
Nej, allt fungerar bra förutom multirec-funktionen i mythtv 0.21 (dvs att kunna avkoda flera kanaler på samma multiplex samtidigt med bara ett dvb-kort). Är det någon som fått detta att fungera (med någon version av sasc-ng öht)?

Nej, däremot har jag lyckats kompilera senaste open-sasc-ng med hg v4l-dvb och därmed fått mitt Hauppauge WinTV-NOVA-T-Stick att rulla fint mot NewCS. Hemligheten låg i att man är tvungen att patcha lite filer (jag gjorde det manuellt) med följande:



diff -urN sasc-ng/dvbloopback/module/config-dvb/chkdvb-2.6.v4l.c sasc-ng.woohoo/dvbloopback/module/config-dvb/chkdvb-2.6.v4l.c
--- sasc-ng/dvbloopback/module/config-dvb/chkdvb-2.6.v4l.c 1969-12-31 17:00:00.000000000 -0700
+++ sasc-ng.woohoo/dvbloopback/module/config-dvb/chkdvb-2.6.v4l.c 2008-04-19 13:02:39.000000000 -0600
@@ -0,0 +1,14 @@
+ #include "dvbdev.h"
+ int test(void) {
+ struct dvb_adapter *adap = NULL;
+ const char *name = NULL;
+ struct module *module = NULL;
+ struct device *device = NULL;
+ int ret;
+ adap = adap;
+ name = name;
+ module = module;
+ device = device;
+ret = dvb_register_adapter(adap, name, module, device,1);
+return ret;
+}
diff -urN sasc-ng/dvbloopback/module/config_dvb.pl sasc-ng.woohoo/dvbloopback/module/config_dvb.pl
--- sasc-ng/dvbloopback/module/config_dvb.pl 2008-04-19 13:42:17.000000000 -0600
+++ sasc-ng.woohoo/dvbloopback/module/config_dvb.pl 2008-04-19 13:36:55.000000000 -0600
@@ -46,13 +46,14 @@
$uname = `uname -r`;
if($uname =~ /2\.6\.23/ ||
$uname =~ /2\.6\.22/) {
- system("ln -sf ../dvbdev-2.6.22.h config-dvb/dvbdev.h");
- system("ln -sf chkdvb-2.6.22.c config-dvb/chkdvb.c");
+ system("ln -sf ../dvbdev-2.6.v4l.h config-dvb/dvbdev.h");
+ system("ln -sf chkdvb-2.6.v4l.c config-dvb/chkdvb.c");
if(system("$cmd") == 0) {
print "Found 2.6.22 or later kernel, but no dvbdev.h\n";
print "Using canned header\n";
- `echo "#define wrap_dvb_reg_adapter(a, b, c) dvb_register_adapter(a, b, c, &dvblb_basedev->dev)" >> dvbdevwrap.h`;
- system("ln -sf dvbdev-2.6.22.h dvbdev.h");
+ `echo "DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);" >> dvbdevwrap.h`;
+ `echo "#define wrap_dvb_reg_adapter(a, b, c) dvb_register_adapter(a, b, c, &dvblb_basedev->dev, adapter_nr)" >> dvbdevwrap.h`;
+ system("ln -sf dvbdev-2.6.v4l.h dvbdev.h");
return 0;
}
}
diff -urN sasc-ng/dvbloopback/module/dvbdev-2.6.v4l.h sasc-ng.woohoo/dvbloopback/module/dvbdev-2.6.v4l.h
--- sasc-ng/dvbloopback/module/dvbdev-2.6.v4l.h 1969-12-31 17:00:00.000000000 -0700
+++ sasc-ng.woohoo/dvbloopback/module/dvbdev-2.6.v4l.h 2008-04-19 13:38:42.000000000 -0600
@@ -0,0 +1,138 @@
+/*
+ * dvbdev.h
+ *
+ * Copyright (C) 2000 Ralph Metzler & Marcus Metzler
+ * for convergence integrated media GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Lesser Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifndef _DVBDEV_H_
+#define _DVBDEV_H_
+
+#include <linux/types.h>
+#include <linux/poll.h>
+#include <linux/fs.h>
+#include <linux/list.h>
+#include <linux/smp_lock.h>
+
+#define DVB_MAJOR 212
+
+#define DVB_MAX_ADAPTERS 8
+
+#define DVB_UNSET (-1)
+
+
+#define DVB_DEVICE_VIDEO 0
+#define DVB_DEVICE_AUDIO 1
+#define DVB_DEVICE_SEC 2
+#define DVB_DEVICE_FRONTEND 3
+#define DVB_DEVICE_DEMUX 4
+#define DVB_DEVICE_DVR 5
+#define DVB_DEVICE_CA 6
+#define DVB_DEVICE_NET 7
+#define DVB_DEVICE_OSD 8
+
+#define DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr) \
+ static short adapter_nr[] = \
+ {[0 ... (DVB_MAX_ADAPTERS - 1)] = DVB_UNSET }; \
+ module_param_array(adapter_nr, short, NULL, 0444); \
+ MODULE_PARM_DESC(adapter_nr, "DVB adapter numbers")
+
+struct dvb_adapter {
+ int num;
+ struct list_head list_head;
+ struct list_head device_list;
+ const char *name;
+ u8 proposed_mac [6];
+ void* priv;
+
+ struct device *device;
+
+ struct module *module;
+};
+
+
+struct dvb_device {
+ struct list_head list_head;
+ struct file_operations *fops;
+ struct dvb_adapter *adapter;
+ int type;
+ u32 id;
+
+ /* in theory, 'users' can vanish now,
+ but I don't want to change too much now... */
+ int readers;
+ int writers;
+ int users;
+
+ wait_queue_head_t wait_queue;
+ /* don't really need those !? -- FIXME: use video_usercopy */
+ int (*kernel_ioctl)(struct inode *inode, struct file *file,
+ unsigned int cmd, void *arg);
+
+ void *priv;
+};
+
+
+extern int dvb_register_adapter (struct dvb_adapter *adap, const char *name, struct module *module, struct device *device,short *adapter_nums);
+extern int dvb_unregister_adapter (struct dvb_adapter *adap);
+
+extern int dvb_register_device (struct dvb_adapter *adap,
+ struct dvb_device **pdvbdev,
+ const struct dvb_device *template,
+ void *priv,
+ int type);
+
+extern void dvb_unregister_device (struct dvb_device *dvbdev);
+
+extern int dvb_generic_open (struct inode *inode, struct file *file);
+extern int dvb_generic_release (struct inode *inode, struct file *file);
+extern int dvb_generic_ioctl (struct inode *inode, struct file *file,
+ unsigned int cmd, unsigned long arg);
+
+/* we don't mess with video_usercopy() any more,
+we simply define out own dvb_usercopy(), which will hopefully become
+generic_usercopy() someday... */
+
+extern int dvb_usercopy(struct inode *inode, struct file *file,
+ unsigned int cmd, unsigned long arg,
+ int (*func)(struct inode *inode, struct file *file,
+ unsigned int cmd, void *arg));
+
+/** generic DVB attach function. */
+#ifdef CONFIG_DVB_CORE_ATTACH
+#define dvb_attach(FUNCTION, ARGS...) ({ \
+ void *__r = NULL; \
+ typeof(&FUNCTION) __a = symbol_request(FUNCTION); \
+ if (__a) { \
+ __r = (void *) __a(ARGS); \
+ if (__r == NULL) \
+ symbol_put(FUNCTION); \
+ } else { \
+ printk(KERN_ERR "DVB: Unable to find symbol "#FUNCTION"()\n"); \
+ } \
+ __r; \
+})
+
+#else
+#define dvb_attach(FUNCTION, ARGS...) ({ \
+ FUNCTION(ARGS); \
+})
+
+#endif
+
+#endif /* #ifndef _DVBDEV_H_ */
Observera att $uname =~ /2\.6\.23/ kan behöva bytas ut mot din egen version kärnan. Jag behövde det då senaste Mythubuntu-kärnan heter 2.6.24-XX. Kan också nämna att jag körde trunk-versionen av open-sasc-ng nedladdad med svn.

Threo
2008-08-16, 09:20
Nej, allt fungerar bra förutom multirec-funktionen i mythtv 0.21 (dvs att kunna avkoda flera kanaler på samma multiplex samtidigt med bara ett dvb-kort). Är det någon som fått detta att fungera (med någon version av sasc-ng öht)?

Om man kör sasc-ng med parametern "--sid-filt <antal multirec-kanaler>" så funkar det.

banen
2008-08-24, 20:26
Om man kör sasc-ng med parametern "--sid-filt <antal multirec-kanaler>" så funkar det.

Nej, jag provade precis med opensascng (fixes/trunk) r29 utan framgång. sid-filt är ju default 2 så att ställa in mythtv för 2 multirec skulle ju fungera i så fall. Men det enda som händer är att pågående inspelning bryts när jag försöker titta på ytterligare en kodad kanal på samma mux. Jag kör comhem. Har du också comhem?

Threo
2008-08-26, 13:56
Jag kör sasc-ng (ej open-sasc-ng) r149 med CH och multirec och det funkar utmärkt.

wetwilly
2008-09-08, 23:43
tips om ett tv-kort fær dvb-c som funkar fint i Linux mottages gærna :)

Tudor79
2008-09-17, 16:09
Nån som har lyckats kompilera open-sasc-ng med kärnan 2.6.27?

Jag testade och efter att jag ändrat i filen: dvbloopback/module/config_dvb.pl rad 47

från:
if($uname =~ /2\.6\.26/ ||
till
if($uname =~ /2\.6\.27/ || #/2\.6\.26/

så kompileras modulen men gnäller om att den använder en gammal dvbdev.h (canned) och jag får ett segmentation fault när jag försöker köra sudo insmod dvbloopback.ko och dmesg ger



[ 3505.666227] Pid: 12423, comm: insmod Tainted: P (2.6.27-3-generic #1)
[ 3505.666231] EIP: 0060:[<f8bd841c>] EFLAGS: 00010246 CPU: 1
[ 3505.666245] EIP is at dvb_register_adapter+0x2c/0x140 [dvb_core]
[ 3505.666249] EAX: f8beab08 EBX: f3ec0000 ECX: 00000000 EDX: f906bb8b
[ 3505.666253] ESI: f620c778 EDI: 00000001 EBP: f637fef8 ESP: f637fed8
[ 3505.666256] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[ 3505.666261] Process insmod (pid: 12423, ti=f637e000 task=f3d4cb60 task.ti=f637e000)
[ 3505.666264] Stack: c02c1c04 f47c5144 00000000 f906bb8b f3ec0000 f3ec0000 00000000 00000000
[ 3505.666277] f637ff18 f888e1cb f47c5008 00000001 00000000 00000000 f888e000 00000000
[ 3505.666289] f637ff8c c01012fb 00000000 00000000 00000000 0000028f 00000000 00000000
[ 3505.666300] Call Trace:
[ 3505.666308] [<c02c1c04>] ? device_initialize+0x34/0xb0
[ 3505.666328] [<f888e1cb>] ? dvblb_init+0x1cb/0x296 [dvbloopback]
[ 3505.666338] [<f888e000>] ? dvblb_init+0x0/0x296 [dvbloopback]
[ 3505.666347] [<c01012fb>] ? do_one_initcall+0x2b/0x170
[ 3505.666367] [<c015beb8>] ? sys_init_module+0x88/0x1b0
[ 3505.666376] [<c01b154f>] ? sys_close+0x7f/0xd0
[ 3505.666383] [<c0103f6b>] ? sysenter_do_call+0x12/0x2f
[ 3505.666393] =======================
[ 3505.666396] Code: 89 e5 57 56 53 83 ec 14 0f 1f 44 00 00 8b 7d 0c 89 45 f0 b8 08 ab be f8 89 4d e8 89 55 ec e8 ec b2 7b c7 8b 35 00 ab be f8 31 c9 <0f> bf 1c 4f 83 fb 07 0f 87 c4 00 00 00 89 f0 eb 0e 8d 76 00 3b
[ 3505.666462] EIP: [<f8bd841c>] dvb_register_adapter+0x2c/0x140 [dvb_core] SS:ESP 0068:f637fed8
[ 3505.666484] ---[ end trace 3f7d83320c164276 ]---



visst känns det som det har ändrats nått i dvbdev.c och jag skulle behöva dvbdev.h för version 2.6.27 för kärnan, vart hittar man det?

Plow
2008-09-23, 08:03
Någon som testat att patcha sasc/opensasc för att kunna connecta mot cccamd ?

jsvens
2008-10-06, 07:54
Någon som testat att patcha sasc/opensasc för att kunna connecta mot cccamd ?

Läste att senaste versionerna av sasc-ng inte skall behöva patchas.

Behöver dock själv veta var jag skall lägga in cccam för att få det att rulla.

Någon som vet?

Mvh

Johan

Plow
2008-10-06, 13:35
Annars finns det en patch här: http://www.japie.deserver.nl/ftp/freevo/sasc-ng/

dust79
2008-10-07, 08:11
Nån som har lyckats kompilera open-sasc-ng med kärnan 2.6.27?

Jag testade och efter att jag ändrat i filen: dvbloopback/module/config_dvb.pl rad 47

från:
if($uname =~ /2\.6\.26/ ||
till
if($uname =~ /2\.6\.27/ || #/2\.6\.26/

så kompileras modulen men gnäller om att den använder en gammal dvbdev.h (canned) och jag får ett segmentation fault när jag försöker köra sudo insmod dvbloopback.ko och dmesg ger



[ 3505.666227] Pid: 12423, comm: insmod Tainted: P (2.6.27-3-generic #1)
[ 3505.666231] EIP: 0060:[<f8bd841c>] EFLAGS: 00010246 CPU: 1
[ 3505.666245] EIP is at dvb_register_adapter+0x2c/0x140 [dvb_core]
[ 3505.666249] EAX: f8beab08 EBX: f3ec0000 ECX: 00000000 EDX: f906bb8b
[ 3505.666253] ESI: f620c778 EDI: 00000001 EBP: f637fef8 ESP: f637fed8
[ 3505.666256] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[ 3505.666261] Process insmod (pid: 12423, ti=f637e000 task=f3d4cb60 task.ti=f637e000)
[ 3505.666264] Stack: c02c1c04 f47c5144 00000000 f906bb8b f3ec0000 f3ec0000 00000000 00000000
[ 3505.666277] f637ff18 f888e1cb f47c5008 00000001 00000000 00000000 f888e000 00000000
[ 3505.666289] f637ff8c c01012fb 00000000 00000000 00000000 0000028f 00000000 00000000
[ 3505.666300] Call Trace:
[ 3505.666308] [<c02c1c04>] ? device_initialize+0x34/0xb0
[ 3505.666328] [<f888e1cb>] ? dvblb_init+0x1cb/0x296 [dvbloopback]
[ 3505.666338] [<f888e000>] ? dvblb_init+0x0/0x296 [dvbloopback]
[ 3505.666347] [<c01012fb>] ? do_one_initcall+0x2b/0x170
[ 3505.666367] [<c015beb8>] ? sys_init_module+0x88/0x1b0
[ 3505.666376] [<c01b154f>] ? sys_close+0x7f/0xd0
[ 3505.666383] [<c0103f6b>] ? sysenter_do_call+0x12/0x2f
[ 3505.666393] =======================
[ 3505.666396] Code: 89 e5 57 56 53 83 ec 14 0f 1f 44 00 00 8b 7d 0c 89 45 f0 b8 08 ab be f8 89 4d e8 89 55 ec e8 ec b2 7b c7 8b 35 00 ab be f8 31 c9 <0f> bf 1c 4f 83 fb 07 0f 87 c4 00 00 00 89 f0 eb 0e 8d 76 00 3b
[ 3505.666462] EIP: [<f8bd841c>] dvb_register_adapter+0x2c/0x140 [dvb_core] SS:ESP 0068:f637fed8
[ 3505.666484] ---[ end trace 3f7d83320c164276 ]---



visst känns det som det har ändrats nått i dvbdev.c och jag skulle behöva dvbdev.h för version 2.6.27 för kärnan, vart hittar man det?

Fick du det att fungera med 2.6.27? Vad gjorde du?

Plow
2008-10-07, 11:18
jag hade också problem med 2.6.26 men tog bort -werror i makefilen

LocalHero
2008-10-07, 20:53
Någon som fått opensasc-ng att fungera med ubuntu 8.10, 2.6.27?

tvtvå
2008-10-20, 08:59
Jag har även jag haft problem med att kompilera sasc-ng/open-sasc-ng med kärna: 2.6.24-21-generic. Om jag pekar ut v4..(vad det nu heter) i configure så kan jag kompilera, men får segmentation fault när jag skall "insmod".
Jag tycker att jag testat allt nu och är nära att ge upp. Finns det någon anna klient jag kan använda till newcs? Och vet någon om det finns någon guide för hur jag bygger/installerar den?

tvtvå
2008-10-20, 09:00
-Plow, Vilka probelm hade du innan du tog bort -werror i makefilen?
-Funkade det sen?

Plow
2008-10-20, 10:51
den gick inte igenom kompileringen...
jo nu fungear både open-sasc ocn sasc
köre du make install på nya v4l och sedan reboot?

tvtvå
2008-10-20, 12:16
Jag vet inte om jag rebootade därimellan, dvs efter v4/make +make install och sasc-ng/[conf make etc..], men jag tar och testar igen..

tvtvå
2008-10-20, 12:38
Tack för att bryr dig Plow..
Jag ändrade i Makefilen(open-sasc-ng/Makefile)
CXXFLAGS ?= -Wall -Werror -> CXXFLAGS ?= -Wall
Min kernel:
uname -r
2.6.24-21-generic

Körde sen:
1.
v4l:
=====================================
/usr/src/v4l-dvb$ sudo make
[ok...]
/usr/src/v4l-dvb$ sudo make install
[ok...]
=====================================
reboot
=====================================
2.
OPENSASC-NG
=====================================
/usr/src/open-sasc-ng$ sudo ./configure --dvb-dir=/usr/src/v4l-dvb
[ok...]
/usr/src/open-sasc-ng$ sudo make #sasc-ng
[ok...]
/usr/src/open-sasc-ng$ sudo make module #dvbloopback module
[ok...]
/usr/src/open-sasc-ng$ sudo insmod dvbloopback.ko
Segmentation fault

Har du någon idé? Skiljer sig mina byggmål från dina?

Plow
2008-10-20, 14:31
hej

testa att söka i detta forum: http://www.dvbn.happysat.org/