Portál AbcLinuxu, 1. května 2025 19:04

PCTV nanoStick 290e (DVB-T2)

Podpora: částečná
Ovladač: v jádře

Technické parametry

Identifikace pod Linuxem

# lsusb -v
Bus 001 Device 002: ID 2013:024f
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x2013
  idProduct          0x024f
  bcdDevice            1.00
  iManufacturer           1 PCTV Systems
  iProduct                2 PCTV 290e
  iSerial                 3 00000006NF2Q
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           55
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03ac  1x 940 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03ac  1x 940 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

#dmesg
[    6.654752] em28xx 1-4:1.0: usb_probe_interface
[    6.654760] em28xx 1-4:1.0: usb_probe_interface - got id
[    6.654767] em28xx: New device PCTV Systems PCTV 290e @ 480 Mbps (2013:024f, interface 0, class 0)
[    6.654957] em28xx #0: chip ID is em28174
[    6.779024] intel8x0_measure_ac97_clock: measured 50192 usecs (2419 samples)
[    6.779030] intel8x0: clocking to 48000
[    6.910537] IR JVC protocol handler initialized
[    6.950648] em28xx #0: Identified as PCTV Systems nanoStick T2 290e (card=78)
[    6.950768] em28xx #0: Config register raw data: 0x9b
[    6.951521] em28xx #0: AC97 vendor ID = 0xa004a004
[    6.951920] em28xx #0: AC97 features = 0xa004
[    6.951925] em28xx #0: Unknown AC97 audio processor detected!
[    6.976898] em28xx #0: v4l2 driver version 0.1.2
[    7.006508] em28xx #0: V4L2 video device registered as video0
[    7.006546] usbcore: registered new interface driver em28xx
[    7.006550] em28xx driver loaded
[    7.075233] IR Sony protocol handler initialized
[    7.096035] lirc_dev: IR Remote Control driver registered, major 250
[    7.122448] IR LIRC bridge handler initialized
[    7.200862] tda18271 2-0060: creating new instance
[    7.202977] TDA18271HD/C2 detected @ 2-0060
[    7.366434] tda18271 2-0060: attaching existing instance
[    7.366441] DVB: registering new adapter (em28xx #0)
[    7.366457] DVB: registering adapter 0 frontend 0 (Sony CXD2820R (DVB-T/T2))...
[    7.367225] DVB: registering adapter 0 frontend 1 (Sony CXD2820R (DVB-C))...
[    7.369285] em28xx #0: Successfully loaded em28xx-dvb
[    7.369293] Em28xx: Initialized (Em28xx dvb Extension) extension

Postup zprovoznění pod Linuxem

Update 2012-01-20: Ovladač je v kernelu 3.0 a vyšším, bohužel v současné době v ČR žádné DVB-T2 nevysílá. :)

Update 2011-05-07: Nová verze ovladače je v Git repozitáři. Tato verze již nepoužívá parametr dvbt2_freq, místo toho automaticky detekuje, zda jde o DVB-T, nebo DVB-T2.

V tuto chvíli (2011-04-24) probíhá vývoj linuxového ovladače. Je hotový první prototyp ovladače, pomocí kterého je možné přijímat vysílání. Ale po odpojení přijímače od USB není možné modul vyjmout z jádra a je třeba restart PC (jediný bezpečný způsob odebrání je vyjmutí modulů em28xx_dvb a em28xx před odpojením zařízení.) Vývoj stále probíhá, podrobnosti se objevují na stránce: http://stevekerrison.com/290e/

Protože není hotové API ani userspace pro normu DVB-T2,...(platí pro původní verzi ovladače, nová verze modulaci automaticky detekuje) přidal autor ovladače pro demodulátor parametr modulu cxd2820r zvaný dvbt2_freq. Do něj je možno vyplnit frekvence, na kterých je při ladění namísto DVB-T modulace hledána DVB-T2 modulace. Pro pražský DVB-T2 experiment na 25. kanále zavedeme modul s parametrem:
modprobe cxd2820r dvbt2_freq=506
Nebo, zapíšeme do již zavedeného modulu:
echo 506 > /sys/module/cxd2820r/parameters/dvbt2_freq
Následně prohledáme daný kmitočet stejným postupem, jako v případě DVB-T. Já vytvořil následující init soubor pro (dvb)scan:
# DVB-T Praha (Prague, Czech Republic)
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
# DVB-T2 experiment K25
T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO NONE
# MUX 1 Ceska televize K53
T 730000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
# MUX 2 Ceske radiokomunikace K41
T 634000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
# MUX 3 Czech Digital Group K59
T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
# MUX 4 Telefonica O2 K64
T 818000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE

Poznámka

I přes rané stádium vývoje ovladače je již zcela použitelný pro příjem DVB-T i DVB-T2. Úspěšně jsem vyzkoušel příjem pražského DVB-T2 pomocí tzap a VLC i streamování po síti pomocí DVBlast. Dá se čekat, že časem budou do S2API doplněny parametry vysílání DVB-T2, tím se možná paradoxně všechno trochu zesložití, protože bude potřeba uživatelské programy přepsat pro podporu DVB-T2.

Patch s ovladačem pro vanilkové jádro 2.6.38 je ke stažení zde - stará verze s parametrem a zde - nová verze s autodetekcí .

Dokument vytvořil: Oskar, 24.4.2011 20:04 | Poslední úprava: Oskar, 20.1.2012 14:38 | Historie změn | Zobrazeno: 1866×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.