Bernhard Rosenkraenzer wrote: > Hi, > I've just tried the Mantis driver on a Twinhan DVB-S card (PCI ID 1822:4e35 > subsystem 1822:0014) > > The card is detected correctly: > Mantis Rev 1, irq: 19, latency: 64 > memory: 0xfdfff000, mmio: 0xdca7e000 > get_mac_address (1): MAC Address=[00:08:ca:19:9e:2d] > get_subvendor_id (1): Sub Vendor ID=[0x1822] > get_subdevice_id (1): Sub Device ID=[0x0014] > mantis_alloc_buffers (1): DMA=0x12520000 cpu=0xd2520000 size=65536 > mantis_alloc_buffers (1): RISC=0x124fb000 cpu=0xd24fb000 size=1000 > DVB: registering new adapter (Mantis dvb adapter). > mantis_frontend_init (1): Probing for MB86A16 (DVB-S/DSS) > mantis_frontend_init (1): found MB86A16 DVB-S/DSS frontend @0x08 > DVB: registering frontend 0 (Fujitsu MB86A16 DVB-S)... > > But trying to actually use it fails. strace-ing mplayer shows: > > open("/dev/dvb/adapter0/frontend0", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3 > open("/dev/dvb/adapter0/demux0", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 4 > open("/dev/dvb/adapter0/demux0", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 5 > open("/dev/dvb/adapter0/demux0", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 6 > open("/dev/dvb/adapter0/dvr0", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 7 > write(1, "dvb_tune Freq: 12188000\n", 24dvb_tune Freq: 12188000 > ) = 24 > ioctl(3, FE_GET_INFO, { name="Fujitsu MB86A16 DVB-S", type=FE_QPSK, > frequency_min=950000, frequency_max=2150000, frequency_stepsize=125, > frequency_tolerance=0, symbol_rate_min=1000000, symbol_rate_max=45000000, > symbol_rate_tolerance=500, caps=FE_CAN_INVERSION_AUTO|FE_CAN_FEC_1_2| > FE_CAN_FEC_2_3|FE_CAN_FEC_3_4|FE_CAN_FEC_5_6|FE_CAN_FEC_7_8|FE_CAN_FEC_AUTO| > FE_CAN_QPSK }) = 0 > ioctl(3, FE_SET_TONE, 0x1) = 0 > ioctl(3, FE_SET_VOLTAGE, 0x1) = 0 > nanosleep({0, 15000000}, NULL) = 0 > ioctl(3, FE_DISEQC_SEND_MASTER_CMD, 0xbfa09030) = 0 > nanosleep({0, 0}, NULL) = 0 > nanosleep({0, 15000000}, NULL) = 0 > ioctl(3, FE_DISEQC_SEND_BURST, 0) = 0 > nanosleep({0, 15000000}, NULL) = 0 > ioctl(3, FE_SET_TONE, 0) = 0 > nanosleep({0, 100000000}, NULL) = 0 > ioctl(3, FE_SET_FRONTEND, { frequency=1588000, inversion=2, symbol > rate=27500000, fec_inner: 9}) = 0 > time(NULL) = 1160916477 > poll([{fd=3, events=POLLPRI, revents=POLLPRI}], 1, 30000) = 1 > ioctl(3, FE_READ_STATUS, 0) = 0 [<------ This call takes a very > long time] > nanosleep({0, 10000000}, NULL) = 0 > time(NULL) = 1160916494 > poll([{fd=3, events=POLLPRI, revents=POLLPRI}], 1, 30000) = 1 > ioctl(3, FE_READ_STATUS, 0) = 0 > > > Looks like the lock status is not being returned correctly. > > dmesg shows: > mb86a16_write: writing to [0x08],Reg[0x20],Data[0x04] > mb86a16_write: writing to [0x08],Reg[0x16],Data[0x80] > mb86a16_write: writing to [0x08],Reg[0x1e],Data[0x00] > vp1034_set_voltage (1): Polarization=[18V] > mb86a16_write: writing to [0x08],Reg[0x16],Data[0x80] > mb86a16_write: writing to [0x08],Reg[0x1e],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x20],Data[0x04] > mb86a16_write: writing to [0x08],Reg[0x18],Data[0xe0] > mb86a16_write: writing to [0x08],Reg[0x19],Data[0x10] > mb86a16_write: writing to [0x08],Reg[0x1a],Data[0x38] > mb86a16_write: writing to [0x08],Reg[0x1b],Data[0xf3] > mb86a16_write: writing to [0x08],Reg[0x16],Data[0x94] > mb86a16_write: writing to [0x08],Reg[0x1e],Data[0x01] > mb86a16_write: writing to [0x08],Reg[0x16],Data[0x98] > mb86a16_write: writing to [0x08],Reg[0x1e],Data[0x01] > mb86a16_write: writing to [0x08],Reg[0x20],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x16],Data[0xa0] > mb86a16_write: writing to [0x08],Reg[0x1e],Data[0x01] > mb86a16_set_fe: freq=1588 Mhz, symbrt=27500 Ksps > mb86a16_write: writing to [0x08],Reg[0x32],Data[0x02] > mb86a16_write: writing to [0x08],Reg[0x06],Data[0xdf] > mb86a16_write: writing to [0x08],Reg[0x0a],Data[0x3d] > mb86a16_write: writing to [0x08],Reg[0x2b],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x2c],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x58],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x59],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x08],Data[0x16] > mb86a16_write: writing to [0x08],Reg[0x2f],Data[0x21] > mb86a16_write: writing to [0x08],Reg[0x39],Data[0x38] > mb86a16_write: writing to [0x08],Reg[0x3d],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x3e],Data[0x1c] > mb86a16_write: writing to [0x08],Reg[0x3f],Data[0x20] > mb86a16_write: writing to [0x08],Reg[0x40],Data[0x1e] > mb86a16_write: writing to [0x08],Reg[0x41],Data[0x23] > mb86a16_write: writing to [0x08],Reg[0x54],Data[0xff] > mb86a16_write: writing to [0x08],Reg[0x00],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x2d],Data[0x1a] > mb86a16_write: writing to [0x08],Reg[0x49],Data[0x7a] > mb86a16_write: writing to [0x08],Reg[0x2a],Data[0x32] > mb86a16_write: writing to [0x08],Reg[0x36],Data[0x06] > mb86a16_write: writing to [0x08],Reg[0x33],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x03],Data[0x02] > mb86a16_write: writing to [0x08],Reg[0x04],Data[0x4e] > mb86a16_write: writing to [0x08],Reg[0x05],Data[0x03] > mb86a16_write: writing to [0x08],Reg[0x21],Data[0x13] > mb86a16_write: writing to [0x08],Reg[0x22],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x23],Data[0x31] > mb86a16_write: writing to [0x08],Reg[0x24],Data[0xa5] > mb86a16_write: writing to [0x08],Reg[0x25],Data[0x01] > mb86a16_write: writing to [0x08],Reg[0x2b],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x2c],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x0c],Data[0x04] > mb86a16_write: writing to [0x08],Reg[0x21],Data[0x13] > mb86a16_write: writing to [0x08],Reg[0x22],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x23],Data[0x31] > mb86a16_write: writing to [0x08],Reg[0x24],Data[0xd5] > mb86a16_write: writing to [0x08],Reg[0x25],Data[0x01] > mb86a16_write: writing to [0x08],Reg[0x2b],Data[0x74] > mb86a16_write: writing to [0x08],Reg[0x2c],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x0c],Data[0x04] > mb86a16_write: writing to [0x08],Reg[0x21],Data[0x13] > mb86a16_write: writing to [0x08],Reg[0x22],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x23],Data[0x31] > mb86a16_write: writing to [0x08],Reg[0x24],Data[0x75] > mb86a16_write: writing to [0x08],Reg[0x25],Data[0x01] > mb86a16_write: writing to [0x08],Reg[0x2b],Data[0x8c] > mb86a16_write: writing to [0x08],Reg[0x2c],Data[0x0f] > mb86a16_write: writing to [0x08],Reg[0x0c],Data[0x04] > mb86a16_write: writing to [0x08],Reg[0x21],Data[0x13] > mb86a16_write: writing to [0x08],Reg[0x22],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x23],Data[0x32] > mb86a16_write: writing to [0x08],Reg[0x24],Data[0x15] > mb86a16_write: writing to [0x08],Reg[0x25],Data[0x01] > mb86a16_write: writing to [0x08],Reg[0x2b],Data[0xdf] > mb86a16_write: writing to [0x08],Reg[0x2c],Data[0x0f] > mb86a16_write: writing to [0x08],Reg[0x0c],Data[0x04] > mb86a16_write: writing to [0x08],Reg[0x21],Data[0x13] > mb86a16_write: writing to [0x08],Reg[0x22],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x23],Data[0x31] > mb86a16_write: writing to [0x08],Reg[0x24],Data[0x35] > mb86a16_write: writing to [0x08],Reg[0x25],Data[0x01] > mb86a16_write: writing to [0x08],Reg[0x2b],Data[0x21] > mb86a16_write: writing to [0x08],Reg[0x2c],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x0c],Data[0x04] > mb86a16_set_fe: ------ Signal detect ------ [swp_freq=[1574250, srate=27500]] > mb86a16_write: writing to [0x08],Reg[0x21],Data[0x13] > mb86a16_write: writing to [0x08],Reg[0x22],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x23],Data[0x31] > mb86a16_write: writing to [0x08],Reg[0x24],Data[0x35] > mb86a16_write: writing to [0x08],Reg[0x25],Data[0x01] > mb86a16_write: writing to [0x08],Reg[0x2b],Data[0x21] > mb86a16_write: writing to [0x08],Reg[0x2c],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x36],Data[0x36] > mb86a16_write: writing to [0x08],Reg[0x03],Data[0x02] > mb86a16_write: writing to [0x08],Reg[0x04],Data[0xe1] > mb86a16_write: writing to [0x08],Reg[0x05],Data[0x03] > mb86a16_write: writing to [0x08],Reg[0x0c],Data[0x04] > mb86a16_write: writing to [0x08],Reg[0x03],Data[0x02] > mb86a16_write: writing to [0x08],Reg[0x04],Data[0x4e] > mb86a16_write: writing to [0x08],Reg[0x05],Data[0x03] > mb86a16_write: writing to [0x08],Reg[0x0c],Data[0x04] > mb86a16_write: writing to [0x08],Reg[0x03],Data[0x02] > mb86a16_write: writing to [0x08],Reg[0x04],Data[0xbb] > mb86a16_write: writing to [0x08],Reg[0x05],Data[0x02] > mb86a16_write: writing to [0x08],Reg[0x0c],Data[0x04] > mb86a16_write: writing to [0x08],Reg[0x36],Data[0x06] > mb86a16_set_fe: ***** Signal Found ***** > mb86a16_set_fe: Start Freq Error Check > mb86a16_write: writing to [0x08],Reg[0x33],Data[0x39] > mb86a16_write: writing to [0x08],Reg[0x03],Data[0x02] > mb86a16_write: writing to [0x08],Reg[0x04],Data[0x4e] > mb86a16_write: writing to [0x08],Reg[0x05],Data[0x03] > mb86a16_write: writing to [0x08],Reg[0x49],Data[0x7e] > mb86a16_write: writing to [0x08],Reg[0x2a],Data[0x12] > mb86a16_write: writing to [0x08],Reg[0x58],Data[0x21] > mb86a16_write: writing to [0x08],Reg[0x59],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x0c],Data[0x04] > mb86a16_write: writing to [0x08],Reg[0x03],Data[0x09] > mb86a16_write: writing to [0x08],Reg[0x04],Data[0x7f] > mb86a16_write: writing to [0x08],Reg[0x05],Data[0x06] > mb86a16_write: writing to [0x08],Reg[0x2a],Data[0x2a] > mb86a16_write: writing to [0x08],Reg[0x2d],Data[0x10] > mb86a16_write: writing to [0x08],Reg[0x21],Data[0x19] > mb86a16_write: writing to [0x08],Reg[0x22],Data[0x20] > mb86a16_write: writing to [0x08],Reg[0x23],Data[0x61] > mb86a16_write: writing to [0x08],Reg[0x24],Data[0xd4] > mb86a16_write: writing to [0x08],Reg[0x25],Data[0x01] > mb86a16_write: writing to [0x08],Reg[0x2b],Data[0xdb] > mb86a16_write: writing to [0x08],Reg[0x2c],Data[0x0f] > mb86a16_write: writing to [0x08],Reg[0x21],Data[0x19] > mb86a16_write: writing to [0x08],Reg[0x22],Data[0x20] > mb86a16_write: writing to [0x08],Reg[0x23],Data[0x62] > mb86a16_write: writing to [0x08],Reg[0x24],Data[0x04] > mb86a16_write: writing to [0x08],Reg[0x25],Data[0x01] > mb86a16_write: writing to [0x08],Reg[0x2b],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x2c],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x21],Data[0x19] > mb86a16_write: writing to [0x08],Reg[0x22],Data[0x20] > mb86a16_write: writing to [0x08],Reg[0x23],Data[0x62] > mb86a16_write: writing to [0x08],Reg[0x24],Data[0x35] > mb86a16_write: writing to [0x08],Reg[0x25],Data[0x01] > mb86a16_write: writing to [0x08],Reg[0x2b],Data[0x27] > mb86a16_write: writing to [0x08],Reg[0x2c],Data[0x00] > mb86a16_write: writing to [0x08],Reg[0x21],Data[0x19] > mb86a16_write: writing to [0x08],Reg[0x22],Data[0x20] > mb86a16_write: writing to [0x08],Reg[0x23],Data[0x61] > mb86a16_write: writing to [0x08],Reg[0x24],Data[0x94] > mb86a16_write: writing to [0x08],Reg[0x25],Data[0x01] > mb86a16_write: writing to [0x08],Reg[0x2b],Data[0x0c] > mb86a16_write: writing to [0x08],Reg[0x2c],Data[0x00] > mb86a16_set_fe: SWEEP Frequency = 1568011 > mb86a16_set_fe: Adjusting .., DELTA Freq = 0, SWEEP Freq=1568011 > mb86a16_set_fe: NO -- SIGNAL ! > sync_chk: Status = 80, > > > A KNC card in the same box on the same cable works ok. > Any ideas? Can you try with szap -x (exit after tuning) the status for the same ? It does re-search the spectrum thrice for a valid signal using the AFC. In the current logs, i see only one search pattern. Thanks for giving it a go. Manu _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb