Terratec Cinergy T USB XS (non hybrid)
Inviato: dom 11 giu 2006, 21:38
Ciao a tutti...
Ho comprato la scheda DVB-T in oggetto, seguito tutti i passi suggeriti sul wiki(http://www.linuxtv.org/v4lwiki/index.php/Em2880) ma mi rimane un problema che ho visto essere abbastanza comune: non riesco a creare i device ...Anche seguendo tutti i consigli trovati con google (anche quello ufficiale terratec) ma nulla... ho anche spulciato nei parametri per abilitare il debug e questo è il mio dmesg:
Linux video capture interface: v1.00
em28xx v4l2 driver version 0.0.1 loaded
usbcore: registered new driver em28xx
usb 1-2: new high speed USB device using ehci_hcd and address 6
usb 1-2: configuration #1 chosen from 1 choice
em28xx new video device (0ccd:0043): interface 0, class 255
em28xx #0: Alternate settings: 8
em28xx #0: Alternate setting 0, max size= 0
em28xx #0: Alternate setting 1, max size= 0
em28xx #0: Alternate setting 2, max size= 1448
em28xx #0: Alternate setting 3, max size= 2048
em28xx #0: Alternate setting 4, max size= 2304
em28xx #0: Alternate setting 5, max size= 2580
em28xx #0: Alternate setting 6, max size= 2892
em28xx #0: Alternate setting 7, max size= 3072
tuner 0-0060: Chip ID is not zero. It is not a TEA5767
tuner 0-0060: chip found @ 0xc0 (em28xx #0)
attach inform: detected I2C address c0
xc3028-tuner.c: I'm suffering device specifications, please call Xceive and ask them to send specifications to a V4L maintainer
xc3028-tuner.c: sincerly,
xc3028-tuner.c: your xc3028-tuner module
DIGITAL MODE!
i2c: V4L2_TUNER_DIGITAL_T request!
i2c: V4L2_TUNER_DIGITAL_T request!
xc3028-tuner.c: Firmware uploaded
tuner 0-0060: type set to 71 (Xceive xc3028)
em28xx #0: i2c eeprom 00: 1a eb 67 95 cd 0c 43 00 c0 12 81 00 6a 24 8e 34
em28xx #0: i2c eeprom 10: 00 00 06 57 02 0c 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 20: 44 00 00 00 f0 10 01 00 00 00 00 00 5b 00 00 00
em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 00 00 3b 09 7c 4a
em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 24 03 43 00 69 00
em28xx #0: i2c eeprom 70: 6e 00 65 00 72 00 67 00 79 00 20 00 54 00 20 00
em28xx #0: i2c eeprom 80: 55 00 53 00 42 00 20 00 58 00 53 00 00 00 34 03
em28xx #0: i2c eeprom 90: 54 00 65 00 72 00 72 00 61 00 54 00 65 00 63 00
em28xx #0: i2c eeprom a0: 20 00 45 00 6c 00 65 00 63 00 74 00 72 00 6f 00
em28xx #0: i2c eeprom b0: 6e 00 69 00 63 00 20 00 47 00 6d 00 62 00 48 00
em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
EEPROM ID= 0x9567eb1a
Vendor/Product ID= 0ccd:0043
No audio on board.
500mA max power
Table at 0x06, strings=0x246a, 0x348e, 0x0000
em28xx #0: Found Terratec Cinergy T XS
DVB Init
em2880-dvb.c: DVB-T modulator not reachable (maybe try "modprobe em28xx device_mode=1")
Ho provato anche con il parametro device_mode=1 ma nulla..
Ho anche spulciato nei sorgenti e questa mi pare la porzione di codice dove si genera l'errore:
Il file: /tmp/v4l-dvb/v4l/em2880-dvb.c lines 443-477/601 77%
...E il codice:
static int em2880_dvb_init(struct em28xx *dev)
{
struct em2880_dvb *dvb_dev;
int err;
printk("DVB Init\n");
if(NULL == dev){
dprintk(1,"em2880-dvb.c: no device attached?\n");
return -ENOMEM;
}
dev->em28xx_write_regs_req(dev,0x02,0x1e,"\x00",1);
if(0 != dev->em28xx_read_reg(dev,0x05)){
dprintk(1,"em2880-dvb.c: DVB-T modulator not reachable (maybe try \"modprobe em28xx device_mode=1\")\n");
return -1;
}
dev->em28xx_write_regs_req(dev,0x00,0x48,"\x00",1);
dev->em28xx_write_regs_req(dev,0x00,0x12,"\x37",1);
if(!(dvb_dev = kzalloc(sizeof(struct em2880_dvb), GFP_KERNEL))){
dprintk(1,"out of memory!\n");
return -ENOMEM;
}
mutex_init(&dvb_dev->sem);
switch(dev->model){
case EM2870_BOARD_PINNACLE_PCTV_DVB:
dvb_dev->frontend = zl10353_attach(&em2880_pinnacle_pctvstick_dev,&dev->i2c_adap);
break;
case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900:
case EM2880_BOARD_TERRATEC_HYBRID_XS:
case EM2880_BOARD_TERRATEC_HYBRID_XS_FR:
case EM2880_BOARD_TERRATEC_XS:
case EM2881_BOARD_PINNACLE_HYBRID_PRO:
case EM2881_BOARD_DNT_DA2_HYBRID:
dvb_dev->frontend = zl10353_attach(&em2880_zl10353_dev,&dev->i2c_adap);
break;
default:
printk("em2880-dvb.c: unsupported device\n");
}
La mia scheda è la EM2880_BOARD_TERRATEC_XS...
Il tutto su una slack 10.2(current) con udev&hotplug abilitato
Ho anche guardato laconfigurazione di udev... esiste già una sezione per il caricamento DVB che lancia uno script... ma tale script invece non viene mai lanciato...grazie!
Ho comprato la scheda DVB-T in oggetto, seguito tutti i passi suggeriti sul wiki(http://www.linuxtv.org/v4lwiki/index.php/Em2880) ma mi rimane un problema che ho visto essere abbastanza comune: non riesco a creare i device ...Anche seguendo tutti i consigli trovati con google (anche quello ufficiale terratec) ma nulla... ho anche spulciato nei parametri per abilitare il debug e questo è il mio dmesg:
Linux video capture interface: v1.00
em28xx v4l2 driver version 0.0.1 loaded
usbcore: registered new driver em28xx
usb 1-2: new high speed USB device using ehci_hcd and address 6
usb 1-2: configuration #1 chosen from 1 choice
em28xx new video device (0ccd:0043): interface 0, class 255
em28xx #0: Alternate settings: 8
em28xx #0: Alternate setting 0, max size= 0
em28xx #0: Alternate setting 1, max size= 0
em28xx #0: Alternate setting 2, max size= 1448
em28xx #0: Alternate setting 3, max size= 2048
em28xx #0: Alternate setting 4, max size= 2304
em28xx #0: Alternate setting 5, max size= 2580
em28xx #0: Alternate setting 6, max size= 2892
em28xx #0: Alternate setting 7, max size= 3072
tuner 0-0060: Chip ID is not zero. It is not a TEA5767
tuner 0-0060: chip found @ 0xc0 (em28xx #0)
attach inform: detected I2C address c0
xc3028-tuner.c: I'm suffering device specifications, please call Xceive and ask them to send specifications to a V4L maintainer
xc3028-tuner.c: sincerly,
xc3028-tuner.c: your xc3028-tuner module
DIGITAL MODE!
i2c: V4L2_TUNER_DIGITAL_T request!
i2c: V4L2_TUNER_DIGITAL_T request!
xc3028-tuner.c: Firmware uploaded
tuner 0-0060: type set to 71 (Xceive xc3028)
em28xx #0: i2c eeprom 00: 1a eb 67 95 cd 0c 43 00 c0 12 81 00 6a 24 8e 34
em28xx #0: i2c eeprom 10: 00 00 06 57 02 0c 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 20: 44 00 00 00 f0 10 01 00 00 00 00 00 5b 00 00 00
em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 00 00 3b 09 7c 4a
em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 24 03 43 00 69 00
em28xx #0: i2c eeprom 70: 6e 00 65 00 72 00 67 00 79 00 20 00 54 00 20 00
em28xx #0: i2c eeprom 80: 55 00 53 00 42 00 20 00 58 00 53 00 00 00 34 03
em28xx #0: i2c eeprom 90: 54 00 65 00 72 00 72 00 61 00 54 00 65 00 63 00
em28xx #0: i2c eeprom a0: 20 00 45 00 6c 00 65 00 63 00 74 00 72 00 6f 00
em28xx #0: i2c eeprom b0: 6e 00 69 00 63 00 20 00 47 00 6d 00 62 00 48 00
em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
EEPROM ID= 0x9567eb1a
Vendor/Product ID= 0ccd:0043
No audio on board.
500mA max power
Table at 0x06, strings=0x246a, 0x348e, 0x0000
em28xx #0: Found Terratec Cinergy T XS
DVB Init
em2880-dvb.c: DVB-T modulator not reachable (maybe try "modprobe em28xx device_mode=1")
Ho provato anche con il parametro device_mode=1 ma nulla..
Ho anche spulciato nei sorgenti e questa mi pare la porzione di codice dove si genera l'errore:
Il file: /tmp/v4l-dvb/v4l/em2880-dvb.c lines 443-477/601 77%
...E il codice:
static int em2880_dvb_init(struct em28xx *dev)
{
struct em2880_dvb *dvb_dev;
int err;
printk("DVB Init\n");
if(NULL == dev){
dprintk(1,"em2880-dvb.c: no device attached?\n");
return -ENOMEM;
}
dev->em28xx_write_regs_req(dev,0x02,0x1e,"\x00",1);
if(0 != dev->em28xx_read_reg(dev,0x05)){
dprintk(1,"em2880-dvb.c: DVB-T modulator not reachable (maybe try \"modprobe em28xx device_mode=1\")\n");
return -1;
}
dev->em28xx_write_regs_req(dev,0x00,0x48,"\x00",1);
dev->em28xx_write_regs_req(dev,0x00,0x12,"\x37",1);
if(!(dvb_dev = kzalloc(sizeof(struct em2880_dvb), GFP_KERNEL))){
dprintk(1,"out of memory!\n");
return -ENOMEM;
}
mutex_init(&dvb_dev->sem);
switch(dev->model){
case EM2870_BOARD_PINNACLE_PCTV_DVB:
dvb_dev->frontend = zl10353_attach(&em2880_pinnacle_pctvstick_dev,&dev->i2c_adap);
break;
case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900:
case EM2880_BOARD_TERRATEC_HYBRID_XS:
case EM2880_BOARD_TERRATEC_HYBRID_XS_FR:
case EM2880_BOARD_TERRATEC_XS:
case EM2881_BOARD_PINNACLE_HYBRID_PRO:
case EM2881_BOARD_DNT_DA2_HYBRID:
dvb_dev->frontend = zl10353_attach(&em2880_zl10353_dev,&dev->i2c_adap);
break;
default:
printk("em2880-dvb.c: unsupported device\n");
}
La mia scheda è la EM2880_BOARD_TERRATEC_XS...
Il tutto su una slack 10.2(current) con udev&hotplug abilitato
Ho anche guardato laconfigurazione di udev... esiste già una sezione per il caricamento DVB che lancia uno script... ma tale script invece non viene mai lanciato...grazie!