Template:PCI Device Data: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
Line 198: Line 198:
| device=[[DVBWorld DVB-S2 PCIE2006|DVB-S2 PCIE2006]]
| device=[[DVBWorld DVB-S2 PCIE2006|DVB-S2 PCIE2006]]
| standard=DVB-S, DVB-S2
| standard=DVB-S, DVB-S2
| supported={{Supported in External|url=www.linuxtv.org/wiki/index.php/S2-liplianin}}
| supported={{Supported_in_External|url=www.linuxtv.org/wiki/index.php/S2-liplianin}}
| pic=
| pic=
| url=
| url=

Revision as of 14:26, 15 February 2014


Introduction to this page

Note: This template is based on Template:USB_Device_Data and some of the explanations and how-to need to be updated.

The data contained in this template is slowly replacing the collection of tables in the different PCI Devices article.

The main purpose is to collect the available information on devices that now is scattered around on device/chipset/driver pages, and at the same time make it accessible from all those places. Having a "single copy" will hopefully ease updating information on devices and drivers.

How do I add a new device?

Note: Hints: Go to your my preferences page (visible on the top row of every page when you are logged in). Click on the Editing tab and make sure you have checked the Enable section editing via [edit] links option. Also select an adequate size for your editing window (I use 80x25) and maybe activate the Widen the edit box to fill the entire screen option.

First open two more browser tabs. One tab with this page, so that you can read up on the instructions while you are editing, and one tap with PCI_Devices_ListData/Helper, a reference page where there is a List of all the devices that are stored on this page. There you can check on how data will be shown in the tables.

Second identify a section where your device would fit in. This is not technically needed but it will help you when using an existing device as template for your new device.

Click on the [edit] link on the right of that section's title.

Look at the data of a device that is already there, and look at the reference page and the instructions to make sure you understand what the fields mean and where they show up.

Now either copy an existing device's data or copy the cut'n paste template from the instructions and fill in your device's data.

The most important field is the did as it will allow you to select that specific device on your device page. Having the did repeated in the subsection header will allow your browser to jump to the right place if you click the edit icon in a table.

Note: If you edit the data below, you may have to outsmart your browser-cache and the rendering cache of the wiki. Otherwise your changes might not appear in the table renderings.

How do I show the data on a Device/Vendor/... page ?

Note: The mental crutch that I use to visualize the data in my head is a simple spread sheet with one row per device and one column per property (like Vendor, Name, support status ...).

Keeping all the information in one place of course means that there will be lots of details that most users don't care about. Using some minor template voodoo, it is possible to select a limited subset of data fields per device and thus construct tables with a small subset of columns. If you think of it as a spread sheet you may have only a couple of columns shown. (Some examples are currently shown on HLPlayground2 (Warning: HUGE Page!..but look at how tiny the source is.))

Still, usually you will not want to have all the devices listed.

With some more template voodoo and the help of the ParserFunctions/StringFunctions extension it is possible to select subsets of the data by their content. Think of it as only showing rows in your spread sheet if they contain certain elements. E.g. Only show devices that use a certain tuner or only show devices by a certain vendor. ( If you are interested in the Details, go to Template:List of Device List Templates )

Some examples are currently shown on HLPlayground2/rowselection and HLPlayground2/doubleselection and in the next section...

Usage Examples on device pages

Low detail:

{{Device_List_Low_Detail/Header
| content = 
{{PCI_Device_Data
|renderwith=Device_List_Low_Detail/Row
|selatt1=did
|selval1=msi-digivox-mini-ii-v3
}}
}}
Note: As you can see did is set as selection attribute and msi-digivox-mini-ii-v3 as selection value. This used to be a simple device but the vendor started selling a completely different device with the same name and a different USB ID. We changed the existing device's did by appending the USB ID and since the selection is done by searching for a substring, that table above will now produce both, the old and the new device. Neat, isn't it?

If you want to show some more detail you can change Low to Medium in both template names. (The /Header and /Row template.)

{{Device_List_Medium_Detail/Header
| content = 
{{PCI_Device_Data
|renderwith=Device_List_Medium_Detail/Row
|selatt1=did
|selval1=msi-digivox-mini-ii-v3
}}
}}

There is also a set of templates for Full details if you want to get the fields that are meant for filtering only, like the did field itself.

Syntax and Semantics

Here is a cut'n paste template for new devices. (Don't forget use the same XxXxXxXxXxXxX in all three places.)

</includeonly><noinclude>
==== XxXxXxXxXxXxX ====
{{DeviceDisplayMedium|XxXxXxXxXxXxX}}
</noinclude><includeonly>
{{{{{renderwith}}}|src=PCI_Device_Data|selatt1={{{selatt1|}}}|selval1={{{selval1|}}}|selatt2={{{selatt2|}}}|selval2={{{selval2|}}}|selatt3={{{selatt3|}}}|selval3={{{selval3|}}}|selatt4={{{selatt4|}}}|selval4={{{selval4|}}}
| did=XxXxXxXxXxXxX
| vendor=
| device=
| standard=
| supported=
| pic=
| url=
| hostinterface=
| pciid=
| hw=
| tuner=
| demodulator=
| usbbridge=
| fw=
| comment=
}}

did a device ID that makes it possible to render just this one device in a table and to jump directly to the device on this page. As matching in the selection templates is done on substrings you need to make sure that the did's are unique and disjoint. Also try to only use lowercase letters, numbers, and the dash "-". The did is not meant to be shown to average reading-only users of the wiki but rather be used by editors. So we can dispense with nice form and concentrate on function
   msi-digivox-mini-ii-v3-15a4-9016 
vendor the device manufacturer/vendor. E.g. DVBSky. Feel free to make it a link to the vendor page in the wiki. E.g. by writing
   [[DVBSky]] 
device the device name. E.g. Cinergy T XXS. This is also the place to put a link to a device page. Since most device pages contain the vendor in the page title, you may have to give the page title and the device name separately like this
   [[TerraTec Cinergy T USB XXS|Cinergy T XXS]] 
standard the broadcasting standard or standards that the device supports E.g. Possible values would be the analog encodings "ANALOG-PAL" "ANALOG-NTSC" "ANALOG-SECAM" as well as digital encodings "DVB-T" "DVB-C" "DVB-C2" "DVB-S" "DVB-S2" "DVB-H" "DVB-SH" "ATSC" "ATSC-M/H" "ISDB-S" "ISDB-T" "1seg" "ISDB-C" "SBTVD/ISDB-Tb" "DMB-T/H" "ADTB-T" "CMMB" "DMB-T" "T-DMB" "S-DMB" "MediaFLO". Even "FM-RADIO" and "AM-RADIO" could be included in this list.

Im most cases however it will simply be

   DVB-T 
supported support status.
   {{yes}} or {{no}} 

if there is no further detail but I'd prefer something like

    {{Supported in Kernel|since=2.6.25|file=drivers/media/dvb/dvb-usb/dib0700_devices.c}} 

if supported by vanilla kernel since version 2.6.25 (the entry will be linked to the kernel source repository)

   {{Supported in HG|since=2009-01-31}} 

for support in main line mercurial repository

   {{Supported in HG Branch|since=2009-01-31|branchurl=http://linuxtv.org/hg/~anttip/af9015/}} 

for support in certain branch

   {{Supported in External|since=2009-01-31|url=http://mcentral.de/wiki/index.php5/Em2880}} 

for support somewhere else

pic preferably an image uploaded to the wiki (using 120px width). Like this:
[[image:Dvb-t-usb-msi-digivox-ii-rev3-001.jpg|120px]]
Links to (not embedding of) external pictures are OK in a pinch, but those might disappear any time as some vendors only keep the current devices on their page and every older Device vanishes. Please, please, please, if you own a device that doesn't have a picture yet, take one and upload it. Even a blurry picture taken with a mobile phone camera is better than nothing. However, do not upload pictures that you downloaded from a vendor page without asking for permission to use it here. Taking a picture of a device that you own is the better choice and other users will greatly benefit from it.
url link to the manufacturers/vendors page for that device. but also links to linux user experience pages, forum articles or mailing list achives regarding this device.
hostinterface interface supported. E.g. "USB1.1" and "USB2.0" but also "ISA" "PCI32" "PCI64" "PCI-X" "PCIe" "PCCARD" "CardBus" "ExpressCard" "IEEE1394" Currently most devices have
   USB2.0 
hw summary of the hardware (human readable). this field holds the hardware data during transition from older tables of devices also also allows to add hw related information beyond tuner, demodulator and usb bridge.
pciid pci id. 4 hex digits, colon, 4 hex digits. lower case. e.g.
   12ba:f001 

If your device changes its PCI ID after having its firmware uploaded please only add the "cold" id. The one shown before firmware upload. The warm id should go the the device's page.

  • tuner
  • demodulator
  • usbbridge
machine readable component names for implementing filters based on this. E.g. af9015, vt7045, mt2060. Check out the Afatech AF9015 page for a table that filters for usbbridge == af9015
fw firmware file name. a link if it isn't included with most linux distributions.
comment human readable comments. if those comments stretch several lines, it is time to make a device page. :-)

Data

Click on Edit to see the data.

unsupported devices

conexant-cx23885 devices

dvbsky-s850

The data for the device dvbsky-s850 is right here. You just can't see it because it is meant to be used in a template 'transclusion'. If you are logged in you can click on the [edit] link to the right to change the data for this device. If you are not logged in, you can click on the view source tab at the top of this page to at least see how data is stored here.

It's probably best if you open the edit link in a separate tab. That way you can use this tab to read the explanation of the syntax above or jump back to the place where you came from and see how your changes look there. (Don't forget that your browser cache or the wiki's rendering cache might need some time or persuasion to catch up with the new content.)

wip-new-devices