Home » Digital Everywhere FireDTV S2 AV/C Tuner Use the links on this page to download the latest version of Digital Everywhere FireDTV S2 AV/C Tuner drivers. All drivers available for download have been scanned by antivirus program. Do I need to install the drivers for the FireDTV before the firmware updater will see them? And if so, will I be able to use Win8 or will I need an older OS? I've read in some posts about the Windows Firewire driver and how 'legacy' is preferred etc etc.
![Firedtv Drivers Firedtv Drivers](/uploads/1/2/5/7/125701350/956554303.jpg)
Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Sign up Find file Copy path
Cannot retrieve contributors at this time
// SPDX-License-Identifier: GPL-2.0-or-later |
/* |
* FireDTV driver (formerly known as FireSAT) |
* |
* Copyright (C) 2004 Andreas Monitzer <[email protected]> |
* Copyright (C) 2008 Henrik Kurelid <[email protected]> |
*/ |
#include<linux/bitops.h> |
#include<linux/device.h> |
#include<linux/errno.h> |
#include<linux/kernel.h> |
#include<linux/module.h> |
#include<linux/mutex.h> |
#include<linux/types.h> |
#include<media/dmxdev.h> |
#include<media/dvb_demux.h> |
#include<media/dvbdev.h> |
#include<media/dvb_frontend.h> |
#include'firedtv.h' |
staticintalloc_channel(struct firedtv *fdtv) |
{ |
int i; |
for (i = 0; i < 16; i++) |
if (!__test_and_set_bit(i, &fdtv->channel_active)) |
break; |
return i; |
} |
staticvoidcollect_channels(struct firedtv *fdtv, int *pidc, u16 pid[]) |
{ |
int i, n; |
for (i = 0, n = 0; i < 16; i++) |
if (test_bit(i, &fdtv->channel_active)) |
pid[n++] = fdtv->channel_pid[i]; |
*pidc = n; |
} |
staticinlinevoiddealloc_channel(struct firedtv *fdtv, int i) |
{ |
__clear_bit(i, &fdtv->channel_active); |
} |
intfdtv_start_feed(struct dvb_demux_feed *dvbdmxfeed) |
{ |
struct firedtv *fdtv = dvbdmxfeed->demux->priv; |
int pidc, c, ret; |
u16 pids[16]; |
switch (dvbdmxfeed->type) { |
case DMX_TYPE_TS: |
case DMX_TYPE_SEC: |
break; |
default: |
dev_err(fdtv->device, 'can't start dmx feed: invalid type %un', |
dvbdmxfeed->type); |
return -EINVAL; |
} |
if (mutex_lock_interruptible(&fdtv->demux_mutex)) |
return -EINTR; |
if (dvbdmxfeed->type DMX_TYPE_TS) { |
switch (dvbdmxfeed->pes_type) { |
case DMX_PES_VIDEO: |
case DMX_PES_AUDIO: |
case DMX_PES_TELETEXT: |
case DMX_PES_PCR: |
case DMX_PES_OTHER: |
c = alloc_channel(fdtv); |
break; |
default: |
dev_err(fdtv->device, |
'can't start dmx feed: invalid pes type %un', |
dvbdmxfeed->pes_type); |
ret = -EINVAL; |
goto out; |
} |
} else { |
c = alloc_channel(fdtv); |
} |
if (c > 15) { |
dev_err(fdtv->device, 'can't start dmx feed: busyn'); |
ret = -EBUSY; |
goto out; |
} |
dvbdmxfeed->priv = (typeof(dvbdmxfeed->priv))(unsignedlong)c; |
fdtv->channel_pid[c] = dvbdmxfeed->pid; |
collect_channels(fdtv, &pidc, pids); |
if (dvbdmxfeed->pid8192) { |
ret = avc_tuner_get_ts(fdtv); |
if (ret) { |
dealloc_channel(fdtv, c); |
dev_err(fdtv->device, 'can't get TSn'); |
goto out; |
} |
} else { |
ret = avc_tuner_set_pids(fdtv, pidc, pids); |
if (ret) { |
dealloc_channel(fdtv, c); |
dev_err(fdtv->device, 'can't set PIDsn'); |
goto out; |
} |
} |
out: |
mutex_unlock(&fdtv->demux_mutex); |
return ret; |
} |
intfdtv_stop_feed(struct dvb_demux_feed *dvbdmxfeed) |
{ |
struct dvb_demux *demux = dvbdmxfeed->demux; |
struct firedtv *fdtv = demux->priv; |
int pidc, c, ret; |
u16 pids[16]; |
if (dvbdmxfeed->type DMX_TYPE_TS && |
!((dvbdmxfeed->ts_type & TS_PACKET) && |
(demux->dmx.frontend->source != DMX_MEMORY_FE))) { |
if (dvbdmxfeed->ts_type & TS_DECODER) { |
if (dvbdmxfeed->pes_type >= DMX_PES_OTHER || |
!demux->pesfilter[dvbdmxfeed->pes_type]) |
return -EINVAL; |
demux->pids[dvbdmxfeed->pes_type] |= 0x8000; |
demux->pesfilter[dvbdmxfeed->pes_type] = NULL; |
} |
if (!(dvbdmxfeed->ts_type & TS_DECODER && |
dvbdmxfeed->pes_type < DMX_PES_OTHER)) |
return0; |
} |
if (mutex_lock_interruptible(&fdtv->demux_mutex)) |
return -EINTR; |
c = (unsignedlong)dvbdmxfeed->priv; |
dealloc_channel(fdtv, c); |
collect_channels(fdtv, &pidc, pids); |
ret = avc_tuner_set_pids(fdtv, pidc, pids); |
mutex_unlock(&fdtv->demux_mutex); |
return ret; |
} |
DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr); |
intfdtv_dvb_register(struct firedtv *fdtv, constchar *name) |
{ |
int err; |
err = dvb_register_adapter(&fdtv->adapter, name, |
THIS_MODULE, fdtv->device, adapter_nr); |
if (err < 0) |
goto fail_log; |
/*DMX_TS_FILTERING | DMX_SECTION_FILTERING*/ |
fdtv->demux.dmx.capabilities = 0; |
fdtv->demux.priv = fdtv; |
fdtv->demux.filternum = 16; |
fdtv->demux.feednum = 16; |
fdtv->demux.start_feed = fdtv_start_feed; |
fdtv->demux.stop_feed = fdtv_stop_feed; |
fdtv->demux.write_to_decoder = NULL; |
err = dvb_dmx_init(&fdtv->demux); |
if (err) |
goto fail_unreg_adapter; |
fdtv->dmxdev.filternum = 16; |
fdtv->dmxdev.demux = &fdtv->demux.dmx; |
fdtv->dmxdev.capabilities = 0; |
err = dvb_dmxdev_init(&fdtv->dmxdev, &fdtv->adapter); |
if (err) |
goto fail_dmx_release; |
fdtv->frontend.source = DMX_FRONTEND_0; |
err = fdtv->demux.dmx.add_frontend(&fdtv->demux.dmx, &fdtv->frontend); |
if (err) |
goto fail_dmxdev_release; |
err = fdtv->demux.dmx.connect_frontend(&fdtv->demux.dmx, |
&fdtv->frontend); |
if (err) |
goto fail_rem_frontend; |
err = dvb_net_init(&fdtv->adapter, &fdtv->dvbnet, &fdtv->demux.dmx); |
if (err) |
goto fail_disconnect_frontend; |
fdtv_frontend_init(fdtv, name); |
err = dvb_register_frontend(&fdtv->adapter, &fdtv->fe); |
if (err) |
goto fail_net_release; |
err = fdtv_ca_register(fdtv); |
if (err) |
dev_info(fdtv->device, |
'Conditional Access Module not enabledn'); |
return0; |
fail_net_release: |
dvb_net_release(&fdtv->dvbnet); |
fail_disconnect_frontend: |
fdtv->demux.dmx.close(&fdtv->demux.dmx); |
fail_rem_frontend: |
fdtv->demux.dmx.remove_frontend(&fdtv->demux.dmx, &fdtv->frontend); |
fail_dmxdev_release: |
dvb_dmxdev_release(&fdtv->dmxdev); |
fail_dmx_release: |
dvb_dmx_release(&fdtv->demux); |
fail_unreg_adapter: |
dvb_unregister_adapter(&fdtv->adapter); |
fail_log: |
dev_err(fdtv->device, 'DVB initialization failedn'); |
return err; |
} |
voidfdtv_dvb_unregister(struct firedtv *fdtv) |
{ |
fdtv_ca_release(fdtv); |
dvb_unregister_frontend(&fdtv->fe); |
dvb_net_release(&fdtv->dvbnet); |
fdtv->demux.dmx.close(&fdtv->demux.dmx); |
fdtv->demux.dmx.remove_frontend(&fdtv->demux.dmx, &fdtv->frontend); |
dvb_dmxdev_release(&fdtv->dmxdev); |
dvb_dmx_release(&fdtv->demux); |
dvb_unregister_adapter(&fdtv->adapter); |
} |
Copy lines Copy permalink
Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Sign upHave a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
commented Sep 18, 2018
added help wantedgood first issue[BUG] linuxlow priority-Wconstant-conversion labels Sep 18, 2018
self-assigned this Oct 18, 2018
commented Oct 18, 2018
Patch sent: https://lore.kernel.org/lkml/[email protected]/ |
added [PATCH] Submitted and removed good first issue labels Oct 18, 2018
pushed a commit to 0day-ci/linux that referenced this issue Oct 18, 2018
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
commented Dec 5, 2018
Patch accepted: https://git.linuxtv.org/media_tree.git/commit/?id=b2e9a4eda11fd2cb1e6714e9ad3f455c402568ff |
added [PATCH] Accepted and removed [PATCH] Submitted labels Dec 5, 2018
pushed a commit to 0day-ci/linux that referenced this issue Dec 6, 2018
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
commented Dec 27, 2018
Merged into mainline: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b2e9a4eda11fd2cb1e6714e9ad3f455c402568ff |
added [FIXED][LINUX] 5.0 and removed [PATCH] Acceptedlow priority labels Dec 27, 2018
pushed a commit to woodsts/linux-stable that referenced this issue Jan 26, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
pushed a commit to Whissi/linux-stable that referenced this issue Jan 26, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
pushed a commit to Whissi/linux-stable that referenced this issue Jan 26, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
pushed a commit to woodsts/linux-stable that referenced this issue Jan 26, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
pushed a commit to woodsts/linux-stable that referenced this issue Jan 26, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
pushed a commit to Whissi/linux-stable that referenced this issue Jan 26, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to archlinux-jerry/Amlogic_s905-kernel that referenced this issue Jan 26, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
This commit was signed with a verified signature.
GPG key ID: 9D9CE43650FF2BAALearn about signing commits
added a commit to bananafunction/android_kernel_sony_msm8994 that referenced this issue Jan 26, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to TwistedKernel/Twisted-Beryllium-Old- that referenced this issue Jan 26, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to TwistedKernel/Twisted-Beryllium-Old- that referenced this issue Jan 26, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to miraclestars/android_kernel_samsung_msm8996 that referenced this issue Mar 14, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to miraclestars/android_kernel_samsung_msm8996 that referenced this issue Mar 14, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to miraclestars/android_kernel_samsung_msm8996 that referenced this issue Mar 15, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to miraclestars/android_kernel_samsung_msm8996 that referenced this issue Mar 16, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to miraclestars/android_kernel_samsung_msm8996 that referenced this issue Mar 19, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to 00day0/idle_kernel_xiaomi_msm8996 that referenced this issue Mar 20, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to miraclestars/android_kernel_samsung_msm8996 that referenced this issue Mar 25, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to followmsi/android_kernel_samsung_exynos7870 that referenced this issue Mar 26, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to Sohamlad7/android_kernel_motorola_msm8937 that referenced this issue Mar 31, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to curtisy1/NX606J_O_kernel that referenced this issue Mar 31, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to C3LT1C/C3LT1C_Kernel_5-T that referenced this issue Mar 31, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
pushed a commit to WindRiver-Labs/linux-yocto-4.18 that referenced this issue Apr 1, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to FraEgg/android_kernel_samsung_msm8996 that referenced this issue Apr 3, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to XENT-Project/android_kernel_xiaomi_perseus that referenced this issue Apr 11, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to randomblame/android_kernel_xiaomi_sm8150 that referenced this issue Apr 12, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to UtsavisGreat/immensity_kernel_motorola_msm8953 that referenced this issue Apr 12, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to Dil3mm4/labyrinth_kernel_prague that referenced this issue Apr 15, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to randomblame/android_kernel_xiaomi_sm8150 that referenced this issue Apr 20, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to YordiDR/android_kernel_samsung_universal7880 that referenced this issue Apr 21, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to randomblame/android_kernel_xiaomi_sm8150 that referenced this issue Apr 27, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to XENT-Project/android_kernel_xiaomi_perseus that referenced this issue Apr 30, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to Ante0/CarbonKernel that referenced this issue May 2, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to Staars/linux-stable that referenced this issue May 11, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to C3LT1C/C3LT1C_Kernel_5-T that referenced this issue May 12, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to C3LT1C/C3LT1C_Kernel_5-T that referenced this issue May 18, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to C3LT1C/C3LT1C_Kernel_5-T that referenced this issue May 18, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to mhdzumair/MhDzMR--woods that referenced this issue May 21, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
pushed a commit to crimsonthunder/Crystal_Kernel_OP6T that referenced this issue Jun 5, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to freeza-inc/bm-galaxy-note9-exynos that referenced this issue Jun 5, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
added a commit to ZVNexus/android_kernel_google_bonito that referenced this issue Jun 6, 2019
media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment