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

Commit c27510c0 authored by Steve French's avatar Steve French
Browse files
parents ab997aae 9f02d6b7
Loading
Loading
Loading
Loading
+28 −104
Original line number Diff line number Diff line
@@ -13,14 +13,17 @@ different way: With the help of a dvb-usb-framework.
The framework provides generic functions (mostly kernel API calls), such as:

- Transport Stream URB handling in conjunction with dvb-demux-feed-control
  (bulk and isoc (TODO) are supported)
  (bulk and isoc are supported)
- registering the device for the DVB-API
- registering an I2C-adapter if applicable
- remote-control/input-device handling
- firmware requesting and loading (currently just for the Cypress USB
  controller)
  controllers)
- other functions/methods which can be shared by several drivers (such as
  functions for bulk-control-commands)
- TODO: a I2C-chunker. It creates device-specific chunks of register-accesses
  depending on length of a register and the number of values that can be
  multi-written and multi-read.

The source code of the particular DVB USB devices does just the communication
with the device via the bus. The connection between the DVB-API-functionality
@@ -36,93 +39,18 @@ the dvb-usb-lib.
TODO: dynamic enabling and disabling of the pid-filter in regard to number of
feeds requested.

Supported devices USB1.1
Supported devices
========================

Produced and reselled by Twinhan:
---------------------------------
- TwinhanDTV USB-Ter DVB-T Device (VP7041)
	http://www.twinhan.com/product_terrestrial_3.asp
See the LinuxTV DVB Wiki at www.linuxtv.org for a complete list of
cards/drivers/firmwares:

- TwinhanDTV Magic Box (VP7041e)
	http://www.twinhan.com/product_terrestrial_4.asp

- HAMA DVB-T USB device
	http://www.hama.de/portal/articleId*110620/action*2598

- CTS Portable (Chinese Television System) (2)
	http://www.2cts.tv/ctsportable/

- Unknown USB DVB-T device with vendor ID Hyper-Paltek


Produced and reselled by KWorld:
--------------------------------
- KWorld V-Stream XPERT DTV DVB-T USB
	http://www.kworld.com.tw/en/product/DVBT-USB/DVBT-USB.html

- JetWay DTV DVB-T USB
	http://www.jetway.com.tw/evisn/product/lcd-tv/DVT-USB/dtv-usb.htm

- ADSTech Instant TV DVB-T USB
	http://www.adstech.com/products/PTV-333/intro/PTV-333_intro.asp?pid=PTV-333


Others:
-------
- Ultima Electronic/Artec T1 USB TVBOX (AN2135, AN2235, AN2235 with Panasonic Tuner)
	http://82.161.246.249/products-tvbox.html

- Compro Videomate DVB-U2000 - DVB-T USB (2)
	http://www.comprousa.com/products/vmu2000.htm

- Grandtec USB DVB-T
	http://www.grand.com.tw/

- AVerMedia AverTV DVBT USB
	http://www.avermedia.com/

- DiBcom USB DVB-T reference device (non-public)


Supported devices USB2.0-only
=============================
- Twinhan MagicBox II
	http://www.twinhan.com/product_terrestrial_7.asp

- TwinhanDTV Alpha
	http://www.twinhan.com/product_terrestrial_8.asp

- DigitalNow TinyUSB 2 DVB-t Receiver
	http://www.digitalnow.com.au/DigitalNow%20tinyUSB2%20Specifications.html

- Hanftek UMT-010
	http://www.globalsources.com/si/6008819757082/ProductDetail/Digital-TV/product_id-100046529


Supported devices USB2.0 and USB1.1
=============================
- Typhoon/Yakumo/HAMA/Yuan DVB-T mobile USB2.0
	http://www.yakumo.de/produkte/index.php?pid=1&ag=DVB-T
	http://www.yuan.com.tw/en/products/vdo_ub300.html
	http://www.hama.de/portal/articleId*114663/action*2563
	http://www.anubisline.com/english/articlec.asp?id=50502&catid=002

- Artec T1 USB TVBOX (FX2) (2)

- Hauppauge WinTV NOVA-T USB2
	http://www.hauppauge.com/

- KWorld/ADSTech Instant DVB-T USB2.0 (DiB3000M-B)

- DiBcom USB2.0 DVB-T reference device (non-public)

- AVerMedia AverTV A800 DVB-T USB2.0

1) It is working almost - work-in-progress.
2) No test reports received yet.
http://www.linuxtv.org/wiki/index.php/DVB_USB

0. History & News:
  2005-06-30 - added support for WideView WT-220U (Thanks to Steve Chang)
  2005-05-30 - added basic isochronous support to the dvb-usb-framework
               added support for Conexant Hybrid reference design and Nebula DigiTV USB
  2005-04-17 - all dibusb devices ported to make use of the dvb-usb-framework
  2005-04-02 - re-enabled and improved remote control code.
  2005-03-31 - ported the Yakumo/Hama/Typhoon DVB-T USB2.0 device to dvb-usb.
@@ -137,7 +65,7 @@ Supported devices USB2.0 and USB1.1
  2005-01-31 - distorted streaming is gone for USB1.1 devices
  2005-01-13 - moved the mirrored pid_filter_table back to dvb-dibusb
             - first almost working version for HanfTek UMT-010
             - found out, that Yakumo/HAMA/Typhoon are predessors of the HanfTek UMT-010
             - found out, that Yakumo/HAMA/Typhoon are predecessors of the HanfTek UMT-010
  2005-01-10 - refactoring completed, now everything is very delightful
             - tuner quirks for some weird devices (Artec T1 AN2235 device has sometimes a
               Panasonic Tuner assembled). Tunerprobing implemented. Thanks a lot to Gunnar Wittich.
@@ -187,25 +115,13 @@ Supported devices USB2.0 and USB1.1
1. How to use?
1.1. Firmware

Most of the USB drivers need to download a firmware to start working.

for USB1.1 (AN2135) you need: dvb-usb-dibusb-5.0.0.11.fw
for USB2.0 HanfTek: dvb-usb-umt-010-02.fw
for USB2.0 DiBcom: dvb-usb-dibusb-6.0.0.8.fw
for USB2.0 AVerMedia AverTV DVB-T USB2: dvb-usb-avertv-a800-01.fw
for USB2.0 TwinhanDTV Alpha/MagicBox II: dvb-usb-vp7045-01.fw

The files can be found on http://www.linuxtv.org/download/firmware/ .
Most of the USB drivers need to download a firmware to the device before start
working.

We do not have the permission (yet) to publish the following firmware-files.
You'll need to extract them from the windows drivers.
Have a look at the Wikipage for the DVB-USB-drivers to find out, which firmware
you need for your device:

You should be able to use "get_dvb_firmware dvb-usb" to get the firmware:

for USB1.1 (AN2235) (a few Artec T1 devices): dvb-usb-dibusb-an2235-01.fw
for USB2.0 Hauppauge: dvb-usb-nova-t-usb2-01.fw
for USB2.0 ADSTech/Kworld USB2.0: dvb-usb-adstech-usb2-01.fw
for USB2.0 Yakumo/Typhoon/Hama: dvb-usb-dtt200u-01.fw
http://www.linuxtv.org/wiki/index.php/DVB_USB

1.2. Compiling

@@ -289,6 +205,9 @@ Patches, comments and suggestions are very very welcome.
   Gunnar Wittich and Joachim von Caron for their trust for providing
    root-shells on their machines to implement support for new devices.

   Allan Third and Michael Hutchinson for their help to write the Nebula
    digitv-driver.

   Glen Harris for bringing up, that there is a new dibusb-device and Jiun-Kuei
    Jung from AVerMedia who kindly provided a special firmware to get the device
    up and running in Linux.
@@ -296,7 +215,12 @@ Patches, comments and suggestions are very very welcome.
   Jennifer Chen, Jeff and Jack from Twinhan for kindly supporting by
	writing the vp7045-driver.

   Some guys on the linux-dvb mailing list for encouraging me
   Steve Chang from WideView for providing information for new devices and
	firmware files.

   Michael Paxton for submitting remote control keymaps.

   Some guys on the linux-dvb mailing list for encouraging me.

   Peter Schildmann >peter.schildmann-nospam-at-web.de< for his
    user-level firmware loader, which saves a lot of time
@@ -305,4 +229,4 @@ Patches, comments and suggestions are very very welcome.
   Ulf Hermenau for helping me out with traditional chinese.

   André Smoktun and Christian Frömmel for supporting me with
    hardware and listening to my problems very patient.
    hardware and listening to my problems very patiently.
+34 −45
Original line number Diff line number Diff line
How to get the Nebula, PCTV and Twinhan DST cards working
=========================================================
How to get the Nebula Electronics DigiTV, Pinnacle PCTV Sat, Twinhan DST + clones working
=========================================================================================

This class of cards has a bt878a as the PCI interface, and
require the bttv driver.
1) General information
======================

Please pay close attention to the warning about the bttv module
options below for the DST card.
This class of cards has a bt878a chip as the PCI interface.
The different card drivers require the bttv driver to provide the means
to access the i2c bus and the gpio pins of the bt8xx chipset.

1) General informations
=======================
2) Compilation rules for Kernel >= 2.6.12
=========================================

These drivers require the bttv driver to provide the means to access
the i2c bus and the gpio pins of the bt8xx chipset.
Enable the following options:

Because of this, you need to enable
"Device drivers" => "Multimedia devices"
 => "Video For Linux" => "BT848 Video For Linux"

Furthermore you need to enable
"Device drivers" => "Multimedia devices" => "Digital Video Broadcasting Devices"
 => "DVB for Linux" "DVB Core Support" "Nebula/Pinnacle PCTV/TwinHan PCI Cards"

2) Loading Modules
==================
3) Loading Modules, described by two approaches
===============================================

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.
The frontends for Nebula (nxt6000), Pinnacle PCTV (cx24110) and
TwinHan (dst) are loaded automatically by the dvb-bt8xx device driver.
i2c communication for us, plus the common dvb-bt8xx device driver,
which is called the backend.
The frontends for Nebula DigiTV (nxt6000), Pinnacle PCTV Sat (cx24110),
TwinHan DST + clones (dst and dst-ca) are loaded automatically by the backend.
For further details about TwinHan DST + clones see /Documentation/dvb/ci.txt.

3a) Nebula / Pinnacle PCTV
--------------------------
3a) The manual approach
-----------------------

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

Unloading modules:
modprobe -r dvb-bt8xx
modprobe -r bttv

3b) TwinHan and Clones
3b) The automatic approach
--------------------------

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

The value 0x71 will override the PCI type detection for dvb-bt8xx,
which is necessary for TwinHan cards.

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

The DST module takes a couple of useful parameters:
If not already done by installation, place a line either in
/etc/modules.conf or in /etc/modprobe.conf containing this text:
alias char-major-81	bttv

a. verbose takes values 0 to 5. These values control the verbosity level.
b. debug takes values 0 and 1. You can either disable or enable debugging.
c. dst_addons takes values 0 and 0x20:
- A value of 0 means it is a FTA card.
- A value of 0x20 means it has a Conditional Access slot.
Then place a line in /etc/modules containing this text:
dvb-bt8xx

The autodetected values are determined by the "response string"
of the card, which you can see in your logs:
e.g.: dst_get_device_id: Recognize [DSTMCI]
Reboot your system and have fun!

--
Authors: Richard Walker, Jamie Honan, Michael Hunold, Manu Abraham, Uwe Bugla
+16 −0
Original line number Diff line number Diff line
@@ -119,3 +119,19 @@ Why: Match the other drivers' name for the same function, duplicate names
	will be available until removal of old names.
Who:	Grant Coady <gcoady@gmail.com>

---------------------------

What:	PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl])
When:	November 2005
Files:	drivers/pcmcia/: pcmcia_ioctl.c
Why:	With the 16-bit PCMCIA subsystem now behaving (almost) like a
	normal hotpluggable bus, and with it using the default kernel
	infrastructure (hotplug, driver core, sysfs) keeping the PCMCIA
	control ioctl needed by cardmgr and cardctl from pcmcia-cs is
	unnecessary, and makes further cleanups and integration of the
	PCMCIA subsystem into the Linux kernel device driver model more
	difficult. The features provided by cardmgr and cardctl are either
	handled by the kernel itself now or are available in the new
	pcmciautils package available at
	http://kernel.org/pub/linux/utils/kernel/pcmcia/
Who:	Dominik Brodowski <linux@brodo.de>
+69 −0
Original line number Diff line number Diff line
USERSPACE VERBS ACCESS

  The ib_uverbs module, built by enabling CONFIG_INFINIBAND_USER_VERBS,
  enables direct userspace access to IB hardware via "verbs," as
  described in chapter 11 of the InfiniBand Architecture Specification.

  To use the verbs, the libibverbs library, available from
  <http://openib.org/>, is required.  libibverbs contains a
  device-independent API for using the ib_uverbs interface.
  libibverbs also requires appropriate device-dependent kernel and
  userspace driver for your InfiniBand hardware.  For example, to use
  a Mellanox HCA, you will need the ib_mthca kernel module and the
  libmthca userspace driver be installed.

User-kernel communication

  Userspace communicates with the kernel for slow path, resource
  management operations via the /dev/infiniband/uverbsN character
  devices.  Fast path operations are typically performed by writing
  directly to hardware registers mmap()ed into userspace, with no
  system call or context switch into the kernel.

  Commands are sent to the kernel via write()s on these device files.
  The ABI is defined in drivers/infiniband/include/ib_user_verbs.h.
  The structs for commands that require a response from the kernel
  contain a 64-bit field used to pass a pointer to an output buffer.
  Status is returned to userspace as the return value of the write()
  system call.

Resource management

  Since creation and destruction of all IB resources is done by
  commands passed through a file descriptor, the kernel can keep track
  of which resources are attached to a given userspace context.  The
  ib_uverbs module maintains idr tables that are used to translate
  between kernel pointers and opaque userspace handles, so that kernel
  pointers are never exposed to userspace and userspace cannot trick
  the kernel into following a bogus pointer.

  This also allows the kernel to clean up when a process exits and
  prevent one process from touching another process's resources.

Memory pinning

  Direct userspace I/O requires that memory regions that are potential
  I/O targets be kept resident at the same physical address.  The
  ib_uverbs module manages pinning and unpinning memory regions via
  get_user_pages() and put_page() calls.  It also accounts for the
  amount of memory pinned in the process's locked_vm, and checks that
  unprivileged processes do not exceed their RLIMIT_MEMLOCK limit.

  Pages that are pinned multiple times are counted each time they are
  pinned, so the value of locked_vm may be an overestimate of the
  number of pages pinned by a process.

/dev files

  To create the appropriate character device files automatically with
  udev, a rule like

    KERNEL="uverbs*", NAME="infiniband/%k"

  can be used.  This will create device nodes named

    /dev/infiniband/uverbs0

  and so on.  Since the InfiniBand userspace verbs should be safe for
  use by non-privileged processes, it may be useful to add an
  appropriate MODE or GROUP to the udev rule.
+3 −0
Original line number Diff line number Diff line
@@ -758,6 +758,9 @@ running once the system is up.
	maxcpus=	[SMP] Maximum number of processors that	an SMP kernel
			should make use of

	max_addr=[KMG]	[KNL,BOOT,ia64] All physical memory greater than or
			equal to this physical address is ignored.

	max_luns=	[SCSI] Maximum number of LUNs to probe
			Should be between 1 and 2^32-1.

Loading