Hi,
anbei eine alphaversion von dvbloop als dkms.
Ich konnte das ganze zur Zeit nur in einer VM testen, also sozusagen eine Trockenübung (ich hab hier noch kein Vlan an die VM weitergereicht)
Bekannte Probleme oder Hinweise:
- getestet nur unter Ubuntu (kein yavdr, kein debian)
- Fehler beim entladen des Moduls unter Ubuntu >10.04 (bzw > Kernel 2.6.32) siehe weiter unten im Text.
- es werden die Kernelheader benötigt (liegen unter /usr/src/linux-header-*, wenn nicht, dann gebt ein: "sudo apt-get install linux-headers-$(uname -r)" )
Diese dvbloop Version ist aus dem vdr-plugin vom mcli mit Version R188, das bedeutet, solltet ihr das ganze mit dem Netceiver testen wollen, muss seit version R187 dvbloop mit der option netceiver=1 gestartet werden (siehe auch modinfo dvbloop)
Was muss getan werden? (Alles als root oder sudo vorneweg eingeben)
1. beide Dateien runterladen und in den Ordner /usr/src legen und darin wechseln
2. da das Forum nur bestimmte Anhänge erlaubt, muss die *.dsc.gz unbenannt werden
3. Den Quellcode mit dpkg-source entpacken
4. den nun erstellten Ordner umbennen (warum wird eigentlich bei dkms mkdeb oder mktarball der Ordner umbenannt?)
5. Die Quellen an dkms melden, bauen und installiern.
So sollte es dann aussehen
cd /usr/src
mv dvbloop-dkms_0.9.4.dsc.gz dvbloop-dkms_0.9.4.dsc
dpkg-source -x dvbloop-dkms_0.9.4.dsc
mv dvbloop-dkms-0.9.4 dvbloop-0.9.4
dkms add -m dvbloop -v 0.9.4
dkms build -m dvbloop -v 0.9.4
dkms install -m dvbloop -v 0.9.4
Anschließend sollte man das Module mittels
laden bzw. mit
entladen können. Letzteres führt bei Kernel >2.6.32 zu einem Kernel tainted. Hier fände ich es Klasse, wenn jemand mit Erfahrung sagen könnte, woran das liegt. Angeblich soll dvbloop auch mit Kernel >=3 funktionieren, kompilieren und laden geht auch, aber beim entladen, knallt es.
[ 343.737337] BUG: unable to handle kernel NULL pointer dereference at 0000000000000039
[ 343.737701] IP: [<ffffffff811d84af>] sysfs_delete_link+0x3f/0x80
[ 343.737999] PGD 7b7e4067 PUD 789b8067 PMD 0
[ 343.738286] Oops: 0000 [#1] SMP
[ 343.738512] CPU 0
[ 343.738592] Modules linked in: dvbloop(-) dvb_ttpci dvb_core saa7146_vv videodev v4l2_compat_ioctl32 saa7146 videobuf_dma_sg videobuf_core ttpci_eeprom snd_ens1371 gameport snd_rawmidi snd_seq_device snd_ac97_codec btusb bluetooth ac97_bus snd_pcm ppdev snd_timer joydev vmw_balloon snd psmouse soundcore snd_page_alloc serio_raw parport_pc i2c_piix4 lp shpchp parport usbhid hid mptspi mptscsih e1000 mptbase floppy
[ 343.741382]
[ 343.741482] Pid: 6823, comm: modprobe Not tainted 3.0.0-12-server #20-Ubuntu VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform
[ 343.742002] RIP: 0010:[<ffffffff811d84af>] [<ffffffff811d84af>] sysfs_delete_link+0x3f/0x80
[ 343.742314] RSP: 0018:ffff88007b44dd08 EFLAGS: 00010282
[ 343.742486] RAX: ffff8800796397d0 RBX: ffff88007b7d7818 RCX: 0100000000000000
[ 343.742752] RDX: 0000000000000000 RSI: ffff88007a8b0c10 RDI: ffffffff81eecfc0
[ 343.742960] RBP: ffff88007b44dd28 R08: ffffffff811d6f7e R09: 0000000000000161
[ 343.743168] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
[ 343.743376] R13: ffff88007a80f108 R14: 0000000000000000 R15: ffff88007b44de30
[ 343.743607] FS: 00007f3d9977e720(0000) GS:ffff88007fa00000(0000) knlGS:0000000000000000
[ 343.743869] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 343.744049] CR2: 0000000000000039 CR3: 000000007a659000 CR4: 00000000000406f0
[ 343.744279] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 343.744507] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 343.744715] Process modprobe (pid: 6823, threadinfo ffff88007b44c000, task ffff88007b254560)
[ 343.744977] Stack:
[ 343.745086] ffff88007a8b0c00 ffff88007a8b0c10 ffff88007a8b0c00 0000000000000000
[ 343.745503] ffff88007b44dd48 ffffffff813ca71d ffff88007a8b0c00 0000000000000000
[ 343.745919] ffff88007b44dd78 ffffffff813cb185 ffff88007a8b0c10 ffff88007a8b0c00
[ 343.746335] Call Trace:
[ 343.746473] [<ffffffff813ca71d>] device_remove_class_symlinks+0x6d/0x80
[ 343.746675] [<ffffffff813cb185>] device_del+0x85/0x1b0
[ 343.746848] [<ffffffff813cb2c6>] device_unregister+0x16/0x30
[ 343.747030] [<ffffffff813cb31b>] device_destroy+0x3b/0x50
[ 343.747210] [<ffffffffa024bd45>] dvblo_chardev_release+0xa5/0x170 [dvbloop]
[ 343.747419] [<ffffffffa024d7dc>] dvblo_char_exit+0xdc/0x2b0 [dvbloop]
[ 343.747629] [<ffffffff81132e0d>] ? unmap_region+0x10d/0x130
[ 343.747811] [<ffffffffa024e7ac>] dvblo_cleanup+0x24/0xa2 [dvbloop]
[ 343.748004] [<ffffffffa024e835>] dvblo_exit+0xb/0x7d6 [dvbloop]
[ 343.748200] [<ffffffff8109e7ce>] sys_delete_module+0x18e/0x250
[ 343.748389] [<ffffffff81134143>] ? do_munmap+0x1f3/0x2f0
[ 343.748582] [<ffffffff81606c02>] system_call_fastpath+0x16/0x1b
[ 343.748855] Code: 66 66 66 66 90 49 89 f4 48 89 fb 48 c7 c7 c0 cf ee 81 49 89 d5 e8 82 63 42 00 49 8b 44 24 30 45 31 e4 48 85 c0 74 0e 48 8b 53 30
[ 343.753465] 7a 39 00 74 04 4c 8b 60 20 48 c7 c7 c0 cf ee 81 e8 8b a4 e5
[ 343.754798] RIP [<ffffffff811d84af>] sysfs_delete_link+0x3f/0x80
[ 343.755045] RSP <ffff88007b44dd08>
[ 343.755184] CR2: 0000000000000039
[ 343.755436] ---[ end trace a5b477e61dfd3494 ]---
Alles anzeigen
Was mir recht wäre, wenn jemand das ganze mal mit dem mcli-dämon testen könnte (auch bei Kernel >2.6.32) damit ich sehen kann, ob es überhaupt läuft.
WICHTIG: DIES IST ALPHA. FÜR ZERSTÖRTE SYSTEME UND DARAUS RESULTIERENDE EHEPROBLEME ÜBERNEHME ICH KEINE HAFTUNG
MfG
kris