Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) .. SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) Idea behind the dvb-usb-framework
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) =================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) .. note::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8)    #) This documentation is outdated. Please check at the DVB wiki
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9)       at https://linuxtv.org/wiki for more updated info.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11)    #) **deprecated:** Newer DVB USB drivers should use the dvb-usb-v2 framework.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) In March 2005 I got the new Twinhan USB2.0 DVB-T device. They provided specs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) and a firmware.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) Quite keen I wanted to put the driver (with some quirks of course) into dibusb.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) After reading some specs and doing some USB snooping, it realized, that the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) dibusb-driver would be a complete mess afterwards. So I decided to do it in a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) different way: With the help of a dvb-usb-framework.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) The framework provides generic functions (mostly kernel API calls), such as:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) - Transport Stream URB handling in conjunction with dvb-demux-feed-control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24)   (bulk and isoc are supported)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) - registering the device for the DVB-API
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) - registering an I2C-adapter if applicable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) - remote-control/input-device handling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) - firmware requesting and loading (currently just for the Cypress USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29)   controllers)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) - other functions/methods which can be shared by several drivers (such as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31)   functions for bulk-control-commands)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) - TODO: a I2C-chunker. It creates device-specific chunks of register-accesses
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33)   depending on length of a register and the number of values that can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34)   multi-written and multi-read.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) The source code of the particular DVB USB devices does just the communication
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) with the device via the bus. The connection between the DVB-API-functionality
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) is done via callbacks, assigned in a static device-description (struct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) dvb_usb_device) each device-driver has to have.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) For an example have a look in drivers/media/usb/dvb-usb/vp7045*.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) Objective is to migrate all the usb-devices (dibusb, cinergyT2, maybe the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) ttusb; flexcop-usb already benefits from the generic flexcop-device) to use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) the dvb-usb-lib.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) TODO: dynamic enabling and disabling of the pid-filter in regard to number of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) feeds requested.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) Supported devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) -----------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) See the LinuxTV DVB Wiki at https://linuxtv.org for a complete list of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) cards/drivers/firmwares:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) https://linuxtv.org/wiki/index.php/DVB_USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 0. History & News:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59)   2005-06-30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61)   - added support for WideView WT-220U (Thanks to Steve Chang)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63)   2005-05-30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65)   - added basic isochronous support to the dvb-usb-framework
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66)   - added support for Conexant Hybrid reference design and Nebula
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	       DigiTV USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69)   2005-04-17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71)   - all dibusb devices ported to make use of the dvb-usb-framework
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73)   2005-04-02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75)   - re-enabled and improved remote control code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77)   2005-03-31
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79)   - ported the Yakumo/Hama/Typhoon DVB-T USB2.0 device to dvb-usb.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81)   2005-03-30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83)   - first commit of the dvb-usb-module based on the dibusb-source.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84)     First device is a new driver for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85)     TwinhanDTV Alpha / MagicBox II USB2.0-only DVB-T device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86)   - (change from dvb-dibusb to dvb-usb)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88)   2005-03-28
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90)   - added support for the AVerMedia AverTV DVB-T USB2.0 device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91)     (Thanks to Glen Harris and Jiun-Kuei Jung, AVerMedia)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93)   2005-03-14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95)   - added support for the Typhoon/Yakumo/HAMA DVB-T mobile USB2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97)   2005-02-11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99)   - added support for the KWorld/ADSTech Instant DVB-T USB2.0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)     Thanks a lot to Joachim von Caron
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)   2005-02-02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)   - added support for the Hauppauge Win-TV Nova-T USB2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)   2005-01-31
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)   - distorted streaming is gone for USB1.1 devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)   2005-01-13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)   - moved the mirrored pid_filter_table back to dvb-dibusb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)     first almost working version for HanfTek UMT-010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)     found out, that Yakumo/HAMA/Typhoon are predecessors of the HanfTek UMT-010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)   2005-01-10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)   - refactoring completed, now everything is very delightful
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)   - tuner quirks for some weird devices (Artec T1 AN2235 device has sometimes a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)     Panasonic Tuner assembled). Tunerprobing implemented.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)     Thanks a lot to Gunnar Wittich.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122)   2004-12-29
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)   - after several days of struggling around bug of no returning URBs fixed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)   2004-12-26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128)   - refactored the dibusb-driver, split into separate files
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)   - i2c-probing enabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)   2004-12-06
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)   - possibility for demod i2c-address probing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)   - new usb IDs (Compro, Artec)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)   2004-11-23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138)   - merged changes from DiB3000MC_ver2.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)   - revised the debugging
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140)   - possibility to deliver the complete TS for USB2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)   2004-11-21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144)   - first working version of the dib3000mc/p frontend driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146)   2004-11-12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)   - added additional remote control keys. Thanks to Uwe Hanke.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)   2004-11-07
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)   - added remote control support. Thanks to David Matthews.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)   2004-11-05
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156)   - added support for a new devices (Grandtec/Avermedia/Artec)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)   - merged my changes (for dib3000mb/dibusb) to the FE_REFACTORING, because it became HEAD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158)   - moved transfer control (pid filter, fifo control) from usb driver to frontend, it seems
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159)     better settled there (added xfer_ops-struct)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)   - created a common files for frontends (mc/p/mb)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162)   2004-09-28
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)   - added support for a new device (Unknown, vendor ID is Hyper-Paltek)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166)   2004-09-20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)   - added support for a new device (Compro DVB-U2000), thanks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169)     to Amaury Demol for reporting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)   - changed usb TS transfer method (several urbs, stopping transfer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171)     before setting a new pid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173)   2004-09-13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)   - added support for a new device (Artec T1 USB TVBOX), thanks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176)     to Christian Motschke for reporting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178)   2004-09-05
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)   - released the dibusb device and dib3000mb-frontend driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181)     (old news for vp7041.c)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183)   2004-07-15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185)   - found out, by accident, that the device has a TUA6010XS for PLL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187)   2004-07-12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189)   - figured out, that the driver should also work with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190)     CTS Portable (Chinese Television System)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192)   2004-07-08
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194)   - firmware-extraction-2.422-problem solved, driver is now working
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195)     properly with firmware extracted from 2.422
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196)   - #if for 2.6.4 (dvb), compile issue
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197)   - changed firmware handling, see vp7041.txt sec 1.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199)   2004-07-02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201)   - some tuner modifications, v0.1, cleanups, first public
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203)   2004-06-28
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205)   - now using the dvb_dmx_swfilter_packets, everything runs fine now
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207)   2004-06-27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209)   - able to watch and switching channels (pre-alpha)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210)   - no section filtering yet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212)   2004-06-06
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214)   - first TS received, but kernel oops :/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216)   2004-05-14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218)   - firmware loader is working
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220)   2004-05-11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222)   - start writing the driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) How to use?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) Firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) ~~~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) Most of the USB drivers need to download a firmware to the device before start
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) working.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) Have a look at the Wikipage for the DVB-USB-drivers to find out, which firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) you need for your device:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) https://linuxtv.org/wiki/index.php/DVB_USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) Compiling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) ~~~~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) Since the driver is in the linux kernel, activating the driver in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) your favorite config-environment should sufficient. I recommend
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) to compile the driver as module. Hotplug does the rest.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) If you use dvb-kernel enter the build-2.6 directory run 'make' and 'insmod.sh
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) load' afterwards.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) Loading the drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) ~~~~~~~~~~~~~~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) Hotplug is able to load the driver, when it is needed (because you plugged
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) in the device).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) If you want to enable debug output, you have to load the driver manually and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) from within the dvb-kernel cvs repository.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) first have a look, which debug level are available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) .. code-block:: none
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) 	# modinfo dvb-usb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) 	# modinfo dvb-usb-vp7045
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) 	etc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) .. code-block:: none
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) 	modprobe dvb-usb debug=<level>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) 	modprobe dvb-usb-vp7045 debug=<level>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) 	etc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) should do the trick.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) When the driver is loaded successfully, the firmware file was in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) the right place and the device is connected, the "Power"-LED should be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) turned on.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) At this point you should be able to start a dvb-capable application. I'm use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) (t|s)zap, mplayer and dvbscan to test the basics. VDR-xine provides the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) long-term test scenario.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) Known problems and bugs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) -----------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) - Don't remove the USB device while running an DVB application, your system
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286)   will go crazy or die most likely.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) Adding support for devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) ~~~~~~~~~~~~~~~~~~~~~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) TODO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) USB1.1 Bandwidth limitation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) ~~~~~~~~~~~~~~~~~~~~~~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) A lot of the currently supported devices are USB1.1 and thus they have a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) maximum bandwidth of about 5-6 MBit/s when connected to a USB2.0 hub.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) This is not enough for receiving the complete transport stream of a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) DVB-T channel (which is about 16 MBit/s). Normally this is not a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) problem, if you only want to watch TV (this does not apply for HDTV),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) but watching a channel while recording another channel on the same
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) frequency simply does not work very well. This applies to all USB1.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) DVB-T devices, not just the dvb-usb-devices)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) The bug, where the TS is distorted by a heavy usage of the device is gone
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) definitely. All dvb-usb-devices I was using (Twinhan, Kworld, DiBcom) are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) working like charm now with VDR. Sometimes I even was able to record a channel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) and watch another one.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) Comments
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) ~~~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) Patches, comments and suggestions are very very welcome.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) 3. Acknowledgements
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) -------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318)    Amaury Demol (Amaury.Demol@parrot.com) and Francois Kanounnikoff from DiBcom for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319)    providing specs, code and help, on which the dvb-dibusb, dib3000mb and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320)    dib3000mc are based.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322)    David Matthews for identifying a new device type (Artec T1 with AN2235)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323)    and for extending dibusb with remote control event handling. Thank you.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325)    Alex Woods for frequently answering question about usb and dvb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326)    stuff, a big thank you.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328)    Bernd Wagner for helping with huge bug reports and discussions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330)    Gunnar Wittich and Joachim von Caron for their trust for providing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331)    root-shells on their machines to implement support for new devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333)    Allan Third and Michael Hutchinson for their help to write the Nebula
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334)    digitv-driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336)    Glen Harris for bringing up, that there is a new dibusb-device and Jiun-Kuei
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337)    Jung from AVerMedia who kindly provided a special firmware to get the device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338)    up and running in Linux.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340)    Jennifer Chen, Jeff and Jack from Twinhan for kindly supporting by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341)    writing the vp7045-driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343)    Steve Chang from WideView for providing information for new devices and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344)    firmware files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346)    Michael Paxton for submitting remote control keymaps.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348)    Some guys on the linux-dvb mailing list for encouraging me.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350)    Peter Schildmann >peter.schildmann-nospam-at-web.de< for his
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351)    user-level firmware loader, which saves a lot of time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352)    (when writing the vp7041 driver)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354)    Ulf Hermenau for helping me out with traditional chinese.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356)    André Smoktun and Christian Frömmel for supporting me with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357)    hardware and listening to my problems very patiently.