Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0da36b34 authored by Jeff Garzik's avatar Jeff Garzik
Browse files

Merge branch 'master'

parents 8006fdd6 cd52d1ee
Loading
Loading
Loading
Loading
+29 −0
Original line number Original line Diff line number Diff line
@@ -133,3 +133,32 @@ hardware and it is important to prevent the kernel from attempting to directly
access these devices too, as if the array controller were merely a SCSI 
access these devices too, as if the array controller were merely a SCSI 
controller in the same way that we are allowing it to access SCSI tape drives.
controller in the same way that we are allowing it to access SCSI tape drives.


SCSI error handling for tape drives and medium changers
-------------------------------------------------------

The linux SCSI mid layer provides an error handling protocol which
kicks into gear whenever a SCSI command fails to complete within a
certain amount of time (which can vary depending on the command).
The cciss driver participates in this protocol to some extent.  The
normal protocol is a four step process.  First the device is told
to abort the command.  If that doesn't work, the device is reset.
If that doesn't work, the SCSI bus is reset.  If that doesn't work
the host bus adapter is reset.  Because the cciss driver is a block
driver as well as a SCSI driver and only the tape drives and medium
changers are presented to the SCSI mid layer, and unlike more 
straightforward SCSI drivers, disk i/o continues through the block
side during the SCSI error recovery process, the cciss driver only
implements the first two of these actions, aborting the command, and
resetting the device.  Additionally, most tape drives will not oblige 
in aborting commands, and sometimes it appears they will not even 
obey a reset coommand, though in most circumstances they will.  In
the case that the command cannot be aborted and the device cannot be 
reset, the device will be set offline.

In the event the error handling code is triggered and a tape drive is
successfully reset or the tardy command is successfully aborted, the 
tape drive may still not allow i/o to continue until some command
is issued which positions the tape to a known position.  Typically you
must rewind the tape (by issuing "mt -f /dev/st0 rewind" for example)
before i/o can proceed again to a tape drive which was reset.
+52 −12
Original line number Original line Diff line number Diff line
How to get the Nebula, PCTV and Twinhan DST cards working
How to get the Nebula, PCTV, FusionHDTV Lite and Twinhan DST cards working
=========================================================
==========================================================================


This class of cards has a bt878a as the PCI interface, and
This class of cards has a bt878a as the PCI interface, and
require the bttv driver.
require the bttv driver.
@@ -26,27 +26,31 @@ Furthermore you need to enable


In general you need to load the bttv driver, which will handle the gpio and
In general you need to load the bttv driver, which will handle the gpio and
i2c communication for us, plus the common dvb-bt8xx device driver.
i2c communication for us, plus the common dvb-bt8xx device driver.
The frontends for Nebula (nxt6000), Pinnacle PCTV (cx24110) and
The frontends for Nebula (nxt6000), Pinnacle PCTV (cx24110), TwinHan (dst),
TwinHan (dst) are loaded automatically by the dvb-bt8xx device driver.
FusionHDTV DVB-T Lite (mt352) and FusionHDTV5 Lite (lgdt330x) are loaded
automatically by the dvb-bt8xx device driver.


3a) Nebula / Pinnacle PCTV
3a) Nebula / Pinnacle PCTV / FusionHDTV Lite
--------------------------
---------------------------------------------


   $ modprobe bttv (normally bttv is being loaded automatically by kmod)
   $ modprobe bttv (normally bttv is being loaded automatically by kmod)
   $ modprobe dvb-bt8xx (or just place dvb-bt8xx in /etc/modules for automatic loading)
   $ modprobe dvb-bt8xx

(or just place dvb-bt8xx in /etc/modules for automatic loading)




3b) TwinHan and Clones
3b) TwinHan and Clones
--------------------------
--------------------------


   $ modprobe bttv i2c_hw=1 card=0x71
   $ modprobe bttv card=0x71
   $ modprobe dvb-bt8xx
   $ modprobe dvb-bt8xx
   $ modprobe dst
   $ modprobe dst


The value 0x71 will override the PCI type detection for dvb-bt8xx,
The value 0x71 will override the PCI type detection for dvb-bt8xx,
which  is necessary for TwinHan cards.
which  is necessary for TwinHan cards. Omission of this parameter might result
in a system lockup.


If you're having an older card (blue color circuit) and card=0x71 locks
If you're having an older card (blue color PCB) and card=0x71 locks up
your machine, try using 0x68, too. If that does not work, ask on the
your machine, try using 0x68, too. If that does not work, ask on the
mailing list.
mailing list.


@@ -64,11 +68,47 @@ verbose=0 means complete disabling of messages
dst_addons takes values 0 and 0x20. A value of 0 means it is a FTA card.
dst_addons takes values 0 and 0x20. A value of 0 means it is a FTA card.
0x20 means it has a Conditional Access slot.
0x20 means it has a Conditional Access slot.


The autodected values are determined bythe cards 'response
The autodetected values are determined by the cards 'response string'
string' which you can see in your logs e.g.
which you can see in your logs e.g.


dst_get_device_id: Recognise [DSTMCI]
dst_get_device_id: Recognise [DSTMCI]


If you need to sent in bug reports on the dst, please do send in a complete
log with the verbose=4 module parameter. For general usage, the default setting
of verbose=1 is ideal.


4) Multiple cards
--------------------------

If you happen to be running multiple cards, it would be advisable to load
the bttv module with the card id. This would help to solve any module loading
problems that you might face.

For example, if you have a Twinhan and Clones card along with a FusionHDTV5 Lite

	$ modprobe bttv card=0x71 card=0x87

Here the order of the card id is important and should be the same as that of the
physical order of the cards. Here card=0x71 represents the Twinhan and clones
and card=0x87 represents Fusion HDTV5 Lite. These arguments can also be
specified in decimal, rather than hex:

	$ modprobe bttv card=113 card=135

Some examples of card-id's

Pinnacle Sat		0x5e  (94)
Nebula Digi TV		0x68  (104)
PC HDTV			0x70  (112)
Twinhan			0x71  (113)
FusionHDTV DVB-T Lite	0x80  (128)
FusionHDTV5 Lite	0x87  (135)

For a full list of card-id's, see the V4L Documentation within the kernel
source:  linux/Documentation/video4linux/CARDLIST.bttv

If you have problems with this please do ask on the mailing list.


--
--
Authors: Richard Walker, Jamie Honan, Michael Hunold, Manu Abraham
Authors: Richard Walker, Jamie Honan, Michael Hunold, Manu Abraham
+37 −0
Original line number Original line Diff line number Diff line
@@ -41,6 +41,12 @@ o Frontends drivers:
   - dib3000mb	: DiBcom 3000-MB demodulator
   - dib3000mb	: DiBcom 3000-MB demodulator
  DVB-S/C/T:
  DVB-S/C/T:
   - dst		: TwinHan DST Frontend
   - dst		: TwinHan DST Frontend
  ATSC:
   - nxt200x		: Nxtwave NXT2002 & NXT2004
   - or51211		: or51211 based (pcHDTV HD2000 card)
   - or51132		: or51132 based (pcHDTV HD3000 card)
   - bcm3510		: Broadcom BCM3510
   - lgdt330x		: LG Electronics DT3302 & DT3303




o Cards based on the Phillips saa7146 multimedia PCI bridge chip:
o Cards based on the Phillips saa7146 multimedia PCI bridge chip:
@@ -62,6 +68,10 @@ o Cards based on the Conexant Bt8xx PCI bridge:
  - Nebula Electronics DigiTV
  - Nebula Electronics DigiTV
  - TwinHan DST
  - TwinHan DST
  - Avermedia DVB-T
  - Avermedia DVB-T
  - ChainTech digitop DST-1000 DVB-S
  - pcHDTV HD-2000 TV
  - DViCO FusionHDTV DVB-T Lite
  - DViCO FusionHDTV5 Lite


o Technotrend / Hauppauge DVB USB devices:
o Technotrend / Hauppauge DVB USB devices:
  - Nova USB
  - Nova USB
@@ -83,3 +93,30 @@ o DiBcom DVB-T USB based devices:
  - DiBcom USB2.0 DVB-T reference device (non-public)
  - DiBcom USB2.0 DVB-T reference device (non-public)


o Experimental support for the analog module of the Siemens DVB-C PCI card
o Experimental support for the analog module of the Siemens DVB-C PCI card

o Cards based on the Conexant cx2388x PCI bridge:
  - ADS Tech Instant TV DVB-T PCI
  - ATI HDTV Wonder
  - digitalnow DNTV Live! DVB-T
  - DViCO FusionHDTV DVB-T1
  - DViCO FusionHDTV DVB-T Plus
  - DViCO FusionHDTV3 Gold-Q
  - DViCO FusionHDTV3 Gold-T
  - DViCO FusionHDTV5 Gold
  - Hauppauge Nova-T DVB-T
  - KWorld/VStream XPert DVB-T
  - pcHDTV HD3000 HDTV
  - TerraTec Cinergy 1400 DVB-T
  - WinFast DTV1000-T

o Cards based on the Phillips saa7134 PCI bridge:
  - Medion 7134
  - Pinnacle PCTV 300i DVB-T + PAL
  - LifeView FlyDVB-T DUO
  - Typhoon DVB-T Duo Digital/Analog Cardbus
  - Philips TOUGH DVB-T reference design
  - Philips EUROPA V3 reference design
  - Compro Videomate DVB-T300
  - Compro Videomate DVB-T200
  - AVerMedia AVerTVHD MCE A180
+17 −0
Original line number Original line Diff line number Diff line
@@ -75,5 +75,22 @@ Ernst Peinlich <e.peinlich@inode.at>
Peter Beutner <p.beutner@gmx.net>
Peter Beutner <p.beutner@gmx.net>
  for the IR code for the ttusb-dec driver
  for the IR code for the ttusb-dec driver


Wilson Michaels <wilsonmichaels@earthlink.net>
  for the lgdt330x frontend driver, and various bugfixes

Michael Krufky <mkrufky@m1k.net>
  for maintaining v4l/dvb inter-tree dependencies

Taylor Jacob <rtjacob@earthlink.net>
  for the nxt2002 frontend driver

Jean-Francois Thibert <jeanfrancois@sagetv.com>
  for the nxt2004 frontend driver

Kirk Lapray <kirk.lapray@gmail.com>
  for the or51211 and or51132 frontend drivers, and
  for merging the nxt2002 and nxt2004 modules into a
  single nxt200x frontend driver.

(If you think you should be in this list, but you are not, drop a
(If you think you should be in this list, but you are not, drop a
 line to the DVB mailing list)
 line to the DVB mailing list)
+18 −1
Original line number Original line Diff line number Diff line
@@ -22,7 +22,7 @@ use File::Temp qw/ tempdir /;
use IO::Handle;
use IO::Handle;


@components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t",
@components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t",
		"dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002",
		"dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004",
		"or51211", "or51132_qam", "or51132_vsb");
		"or51211", "or51132_qam", "or51132_vsb");


# Check args
# Check args
@@ -252,6 +252,23 @@ sub nxt2002 {
    $outfile;
    $outfile;
}
}


sub nxt2004 {
    my $sourcefile = "AVerTVHD_MCE_A180_Drv_v1.2.2.16.zip";
    my $url = "http://www.aver.com/support/Drivers/$sourcefile";
    my $hash = "111cb885b1e009188346d72acfed024c";
    my $outfile = "dvb-fe-nxt2004.fw";
    my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);

    checkstandard();

    wgetfile($sourcefile, $url);
    unzip($sourcefile, $tmpdir);
    verify("$tmpdir/3xHybrid.sys", $hash);
    extract("$tmpdir/3xHybrid.sys", 465304, 9584, $outfile);

    $outfile;
}

sub or51211 {
sub or51211 {
    my $fwfile = "dvb-fe-or51211.fw";
    my $fwfile = "dvb-fe-or51211.fw";
    my $url = "http://linuxtv.org/downloads/firmware/$fwfile";
    my $url = "http://linuxtv.org/downloads/firmware/$fwfile";
Loading