Hi all.
I decided to try to look at my old dvb-t tuner AVerMedia Volar HX, which
sensitivity I am missig. Replacement I purchased is way too worse. The
manufacturer support was for me a disappointment (no more new
AVerMedia), however the hardware performance for my purposes was fine,
so I decided to try to make it once more working. I followed the tips
from here:
http://www.linuxtv.org/wiki/index.php/AVerMedia_AverTV_Hybrid_Volar_HX_%28A827%29
I have applied all the patches up to 3.2.0 and looking what is missing
to. Based on various unrelated patches found for similar issues i did
following modificatons:
-----------------------------------------
in aver/osdep_vbuf.h I defined following to satisfy the code
aver/osdep_vbuf.c:
-----------------------------------------
#ifndef VM_RESERVED
#define VM_RESERVED (VM_DONTEXPAND | VM_DONTDUMP)
#endif
-----------------------------------------
in aver/osdep_th2.c instead of:
-----------------------------------------
int SysKernelThread(void (*func)(void *),void *thObj)
{
return kernel_thread((int (*)(void *))func,thObj,0);
}
-----------------------------------------
i used following code instead:
-----------------------------------------
int SysKernelThread(void (*func)(void *),void *thObj)
{
struct task_struct *tsk;
tsk = kthread_run((int (*)(void *))func , thObj, "h826_thread");
return get_pid(task_pid(tsk));
}
-----------------------------------------
in aver/osdep_v4l2.c I aligned section:
-----------------------------------------
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26)
cont->vfd->parent = (struct device *)dev;
cont->vfd->release = video_device_release;
#elif LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
cont->vfd->dev = (struct device *)dev;
cont->vfd->release = video_device_release;
#endif
-----------------------------------------
to
-----------------------------------------
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26)
cont->vfd->v4l2_dev = (struct v4l2_device *)dev;
cont->vfd->release = video_device_release;
#elif LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
cont->vfd->dev = (struct device *)dev;
cont->vfd->release = video_device_release;
#endif
The driver compiles okay (with few warnings which may not be the issue),
but when the device is inserted I am getting errors in kernel log and I
am not sure how to identify the cause (my skills are limited):
[41529.658175] usb 2-5: Product: AVerTV
[41529.658182] usb 2-5: Manufacturer: AVerMedia
[41529.658190] usb 2-5: SerialNumber: 000000000000
[41529.745958] Linux video capture interface: v2.00
[41529.752878] AVerMedia USB Wrapper for H826D version 0.28 loaded
[41529.768494] AVerTV Volar HX AX MAX version 0.10 loaded
[41529.860156] usb 2-1.1: new high-speed USB device number 55 using ehci-pci
[41530.123389] SysKernelThread, before kthread_run ffffffffa0c265e0
ffff88022ff50330
[41530.123962] BUG: unable to handle kernel paging request at
00000000040001f3
[41530.123988] IP: [<00000000040001f3>] 0x40001f3
[41530.124007] PGD 1a2c5a067 PUD 1a621a067 PMD 0
[41530.124031] Oops: 0010 [#1] SMP
[41530.124047] Modules linked in: h826d(POF+) averusbh826d(OF) videodev
rc_it913x_v1 it913x_fe dvb_usb_it913x dvb_usb_v2 dvb_core rc_core hidp
pci_stub vboxpci(OF) vboxnetadp(OF) vboxnetflt(OF) vboxdrv(OF) dm_crypt
eeepc_wmi asus_wmi sparse_keymap video bnep rfcomm binfmt_misc kvm_amd
kvm dm_multipath scsi_dh psmouse serio_raw cdc_acm btusb bluetooth
snd_seq_midi snd_seq_midi_event fglrx(POF) snd_hda_codec_realtek
snd_rawmidi k10temp snd_hda_codec_hdmi snd_hda_intel snd_hda_codec
snd_hwdep snd_seq snd_pcm snd_seq_device sp5100_tco snd_page_alloc
i2c_piix4 snd_timer snd soundcore parport_pc amd_iommu_v2 ppdev mac_hid
lp parport dm_mirror dm_region_hash dm_log hid_generic usbhid hid
usb_storage firewire_ohci firewire_core r8169 crc_itu_t mii ahci libahci wmi
[41530.124194] CPU: 1 PID: 2829 Comm: h826_thread Tainted: PF O
3.13.0-24-generic #46-Ubuntu
[41530.124204] Hardware name: System manufacturer System Product
Name/E35M1-M, BIOS 0401 02/16/2011
[41530.124212] task: ffff8800363417f0 ti: ffff8801d43cc000 task.ti:
ffff8801d43cc000
[41530.124219] RIP: 0010:[<00000000040001f3>] [<00000000040001f3>] 0x40001f3
[41530.124232] RSP: 0018:ffff8801d43cdeb0 EFLAGS: 00010246
[41530.124239] RAX: ffff880200000101 RBX: ffff88022ff50330 RCX:
ffff880209e54cc0
[41530.124245] RDX: ffffffffffffffff RSI: ffff88022edce048 RDI:
ffff88022ecabe00
[41530.124252] RBP: ffff8801d43cdec8 R08: ffff8801d43cc000 R09:
0000000000000000
[41530.124258] R10: 0000000000000000 R11: ffffffff81c27ea0 R12:
ffff88022ff50330
[41530.124263] R13: ffffffffa0c265e0 R14: 0000000000000000 R15:
0000000000000000
[41530.124272] FS: 00007f86c63ff880(0000) GS:ffff88023ed00000(0000)
knlGS:0000000000000000
[41530.124278] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[41530.124284] CR2: 00000000040001f3 CR3: 00000001d43d8000 CR4:
00000000000007e0
[41530.124290] Stack:
[41530.124295] ffffffffa0c26608 ffff88022ff50330 ffff8800962c3740
ffff8801d43cdf48
[41530.124307] ffffffff8108b312 0000000000000000 ffff8801d43cdef8
ffff88022ff50330
[41530.124318] ffff880200000000 ffff880100000000 ffff8801d43cdf00
ffff8801d43cdf00
[41530.124329] Call Trace:
[41530.124471] [<ffffffffa0c26608>] ?
_ZN11CThread2Lnx16StaticThreadFuncEPv+0x28/0x50 [h826d]
[41530.124486] [<ffffffff8108b312>] kthread+0xd2/0xf0
[41530.124498] [<ffffffff8108b240>] ? kthread_create_on_node+0x1d0/0x1d0
[41530.124510] [<ffffffff8172637c>] ret_from_fork+0x7c/0xb0
[41530.124520] [<ffffffff8108b240>] ? kthread_create_on_node+0x1d0/0x1d0
[41530.124526] Code: Bad RIP value.
[41530.124532] RIP [<00000000040001f3>] 0x40001f3
[41530.124545] RSP <ffff8801d43cdeb0>
[41530.124550] CR2: 00000000040001f3
[41530.124559] ---[ end trace 9b73b3a6421194b4 ]---
[41530.126783] usbcore: registered new interface driver AVerTV Volar HX
AX MAX
Thanks in advance for any hint.
Martin
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html