Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Hardware => Téma založeno: vlabra 23 Února 2011, 00:18:05
-
Zdravím,
dostal se mi do ruky NoName USB TV tuner, který jsem se pokoušel zprovoznit. Bohužel marně. Našel jsem návody (http://wiki.ubuntu.cz/Karty%20s%20chipsetem%20AF9015%20a%20tunerem%20TDA18218 (http://wiki.ubuntu.cz/Karty%20s%20chipsetem%20AF9015%20a%20tunerem%20TDA18218) a http://forum.ubuntu.cz/index.php?topic=42853.0 (http://forum.ubuntu.cz/index.php?topic=42853.0)) jak ručně přeložit ovladač z V4L, ale narazil jsem na problém který nejsem schopen vyřešit.
Pořát to hlásí chyby implicit declaration of function 'XXXX'.
Problém s kfree a kzalloc jsem vyřešil přidáním
#include <linux/slab.h>
do souboru compat.h (vypadá že je includovaný většinou ostatních)
Problém s usb_buffer_free a usb_buffer_alloc jsem vyřešil přidáním maker
#define usb_buffer_alloc(a, b, c, d) usb_alloc_coherent(a, b, c, d)
#define usb_buffer_free(a, b, c, d) usb_free_coherent(a, b, c, d)
do téhož souboru.
Bohužel s následující chybou už si nevím rady:
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c:1178: warning: 'struct dev_mc_list' declared inside parameter list
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c:1178: warning: its scope is only this definition or declaration, which is probably not what you want
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c: In function 'dvb_set_mc_filter':
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c:1185: error: dereferencing pointer to incomplete type
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c: In function 'wq_set_multicast_list':
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c:1225: error: 'struct net_device' has no member named 'mc_count'
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c:1229: error: 'struct net_device' has no member named 'mc_count'
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c:1235: error: 'struct net_device' has no member named 'mc_list'
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c:1236: error: 'struct net_device' has no member named 'mc_count'
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c:1237: error: dereferencing pointer to incomplete type
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c:1237: warning: left-hand operand of comma expression has no effect
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c:1237: warning: value computed is not used
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c:1238: warning: passing argument 2 of 'dvb_set_mc_filter' from incompatible pointer type
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c:1178: note: expected 'struct dev_mc_list *' but argument is of type 'struct dev_mc_list *'
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c: In function 'dvb_net_setup':
/home/vlabra/usbtv/tda18218.build/tda18218/v4l/dvb_net.c:1362: error: 'struct net_device' has no member named 'mc_count'
Tady jsou nějaké technické informace:
uname -a
Linux nb-bredlinka 2.6.35-25-generic #44-Ubuntu SMP Fri Jan 21 17:40:48 UTC 2011 i686 GNU/Linux
lsusb
Bus 003 Device 003: ID 0b05:1712 ASUSTek Computer, Inc. BT-183 Bluetooth 2.0+EDR adapter
Bus 003 Device 002: ID 046d:c03e Logitech, Inc. Premium Optical Wheel Mouse (M-BT58)
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 007: ID 15a4:9016 Afatech Technologies, Inc. AF9015 DVB-T USB2.0 stick
Bus 001 Device 006: ID 0bda:0116 Realtek Semiconductor Corp. Mass Storage Device
Bus 001 Device 004: ID 174f:6a31 Syntek Web Cam - Asus A8J, F3S, F5R, VX2S, V1S
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
dmesg|grep -i -e dvb -e AF9015 -e TDA18218
[ 1.222434] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[ 1.222753] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:03.3/usb1/1-1/1-1:1.1/input/input5
[ 1.222890] generic-usb 0003:15A4:9016.0001: input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:03.3-1/input1
[ 21.115509] WARNING: You're using an experimental version of the DVB stack. As the driver
[ 21.613541] af9015: tuner NXP TDA18218 not supported yet
[ 21.613616] usbcore: registered new interface driver dvb_usb_af9015
[14513.100158] af9015: recv bulk message failed:-110
[14513.100171] af9015: eeprom read failed:-1
[14513.100195] dvb_usb_af9015: probe of 1-1:1.0 failed with error -1
[14513.106199] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[14513.106821] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:03.3/usb1/1-1/1-1:1.1/input/input10
[14513.107260] generic-usb 0003:15A4:9016.0003: input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:03.3-1/input1
Zdrojáky V4L jsem stáhl z repozitáře pomocí hg clone http://linuxtv.org/hg/~anttip/tda18218/
Díky předem za radu.
-
Zdravím,
tak se mi nakonec povedlo ty ovladače přeložit, nějak jsem ve skriptu z http://wiki.ubuntu.cz/Karty%20s%20chipsetem%20AF9015%20a%20tunerem%20TDA18218 (http://wiki.ubuntu.cz/Karty%20s%20chipsetem%20AF9015%20a%20tunerem%20TDA18218) zapoměl na patch. me-tv už ten tuner najde ale bohužel mi nefunguje ladění :-( Navíc ho to zobrazuje jako AF9013.
Mám funkční tuner ještě i na desktopu, kde používám taky me-tv. Nevíte jak z toho dostat channels.conf abych to mohl tu naimportovat?
-
Tak už jsem to rozchodil. Ale je to takové neohrabané ve stylu Plug&Pray.
- Při instalaci těch přeložených ovladačů (make install) musí být tuner připojený
- Když chci tuner používat tak musí být připojen při bootu systému
- Tuner musí být připojen vždy ve stejném USB portu jako při instalaci
Doufám že v ubuntu 11.04 už to bude podporované out of the box (mělo by podle toho co jsem se dočetl)
Howgh
-
Zdravím,
no name tuner myslíš tenhle?
http://www.dealextreme.com/p/usb-dvb-t-tv-dongle-with-remote-8309
Ladění třeba pomocí w-scan:
http://wiki.ubuntu.cz/Digit%C3%A1ln%C3%AD%20TV/channels.conf
Možná máš stejný tuner, já řeším DO.
http://forum.ubuntu.cz/index.php/topic,52974.0.html