Skip to contentSkip to conversation

Terratec Cinergy Hybrid XE (TM6010 Mediachip)

DISCUSSION Stefan Ringel 3 participants 10 messages Jan 18, 2010 – Jan 31, 2010 4 messages not in the archive Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Davin,
I have a question. How are loaded the base firmware into xc3028, in once or in a split ? It's importent for TM6010, the USB-Analyzer said that it load it in once and then send a quitting reqeuest. -----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.12 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJLVH6/AAoJEDX/lZlmjdJlA/0H/jkn4I3kELEWPeDDYJvv/+Z0 LsSLzmDJmQ0WgASjtJQ2QZvsDeuCsbzV9mTHGvI0dOGtOLqcBuMX58ZFTerZodrG b/KdwZa2OV0MWXc+5hf2+3wEC1icfMATKiwsT3gLdvP9En4MtUP8ImaXFWwW7ekL aH5TD666nGewj4+Ef5eVY0G+FypqzNcs4F04uY5ydBaVDh5XTONhXPaLz/R5JF0K ivKT4WL7n8A7bq8iAn6SoMJRV/RbEpGF40m4aApVDd+JdizFIH7xrTGQ4waQO6IN mplAcxIhq6bEHhwZRfbbnTNMTWUVPShqqqxC5Z0TxCiUR0RH6JdXagQtw/1/UX0= =Qqmr
-----END PGP SIGNATURE-----

#1 lore raw
Quoted 3 lines · Stefan Ringel

I have a question. How are loaded the base firmware into xc3028, in once or in a split ? It's importent for TM6010, the USB-Analyzer said that it load it in once and then send a quitting reqeuest.

In most drivers, the xc3028 firmware gets broken down and sent in 64 byte chunks. The size of the chunks is controlled by the "max_len" field in the xc2028_ctrl structure.

Devin

Signature · 2 lines
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
#2 lore raw

Am 18.01.2010 16:43, schrieb Devin Heitmueller:

Quoted 6 lines · Stefan Ringel
Quoted 5 lines

I have a question. How are loaded the base firmware into xc3028, in once or in a split ? It's importent for TM6010, the USB-Analyzer said that it load it in once and then send a quitting reqeuest.

Quoted 7 lines

In most drivers, the xc3028 firmware gets broken down and sent in 64 byte chunks. The size of the chunks is controlled by the "max_len" field in the xc2028_ctrl structure.

Devin

Hi Darvin,

I see. I have set for test "max_len" to 3500 . So can send after main firmware wrote (3411 byte) a quitting request send (base firmware is 9144 byte). Is it true that the tuner output frequency and the demodulator input frequency equal is?

Thanks

Stefan Ringel

Signature · 1 line
Stefan Ringel <[email protected]>
#3 lore raw
Quoted 3 lines · Stefan Ringel

I see. I have set for test "max_len" to 3500 . So can send after main firmware wrote (3411 byte) a quitting request send (base firmware is 9144 byte).

It is highly unlikely that the tm6010 can do 3500 at a time. Try someting more reasonable like "32" or "64".

Quoted 1 line

Is it true that the tuner output frequency and the demodulator input frequency equal is?

Yes, typically the IF out of the tuner should match the IF on the demodulator.

Devin

Signature · 2 lines
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
#4 lore raw
In reply to Stefan Ringel
Quoted 7 lines · Stefan Ringel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Davin,
I have a question. How are loaded the base firmware into xc3028, in once or in a split ? It's importent for TM6010, the USB-Analyzer said that it load it in once and then send a quitting reqeuest.

The way the original driver for tm6000/tm6010 does varies from firmware version to firmware version. That part of the driver works fine for both tm6000 and tm6010, with the devices I used here, with firmwares 1.e and 2.7. However, on tm6000, it sends the firmware on packages with up to 12 or 13 bytes, and it requires a delay before sending the next packet, otherwise the tm6000 hangs.

Another problem is that the firmware load may fail (due to the bad implementation of the i2c on tm6000/tm6010). So, the code should ideally check if the firmware were loaded, by reading the firmware version at the end. However, reading from i2c is very problematic, since it sometimes read from the wrong place. On the tests I did here, the original drivers weren't reading back the firmware version, probably due to this bug.

Cheers,
Mauro.

Quoted 17 lines

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.12 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJLVH6/AAoJEDX/lZlmjdJlA/0H/jkn4I3kELEWPeDDYJvv/+Z0 LsSLzmDJmQ0WgASjtJQ2QZvsDeuCsbzV9mTHGvI0dOGtOLqcBuMX58ZFTerZodrG b/KdwZa2OV0MWXc+5hf2+3wEC1icfMATKiwsT3gLdvP9En4MtUP8ImaXFWwW7ekL aH5TD666nGewj4+Ef5eVY0G+FypqzNcs4F04uY5ydBaVDh5XTONhXPaLz/R5JF0K ivKT4WL7n8A7bq8iAn6SoMJRV/RbEpGF40m4aApVDd+JdizFIH7xrTGQ4waQO6IN mplAcxIhq6bEHhwZRfbbnTNMTWUVPShqqqxC5Z0TxCiUR0RH6JdXagQtw/1/UX0= =Qqmr
-----END PGP SIGNATURE-----

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#5 lore raw

Am 25.01.2010 15:35, schrieb Mauro Carvalho Chehab:

Quoted 17 lines
Quoted 8 lines · Stefan Ringel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Davin,
I have a question. How are loaded the base firmware into xc3028, in once or in a split ? It's importent for TM6010, the USB-Analyzer said that it load it in once and then send a quitting reqeuest.

The way the original driver for tm6000/tm6010 does varies from firmware version to firmware version. That part of the driver works fine for both tm6000 and tm6010, with the devices I used here, with firmwares 1.e and 2.7. However, on tm6000, it sends the firmware on packages with up to 12 or 13 bytes, and it requires a delay before sending the next packet, otherwise the tm6000 hangs.

Quoted 7 lines

Another problem is that the firmware load may fail (due to the bad implementation of the i2c on tm6000/tm6010). So, the code should ideally check if the firmware were loaded, by reading the firmware version at the end. However, reading from i2c is very problematic, since it sometimes read from the wrong place. On the tests I did here, the original drivers weren't reading back the firmware version, probably due to this bug.

My hybrid-stick with tm6010 chip use a special request ( requests 0x32 + 0x33) for quitting i2c transfer. so it can write correct the firmware and can read tuner number and versions. Actually I tested next patch for sync between tuner and demodulator and I have data by scanning digital channels (one time), but other test dos not data. I've test firmware load 13, 64 and 3500 bytes and all works.

Cheers,

Stefan Ringel

Signature · 1 line
Stefan Ringel <[email protected]>
#9 lore raw
In reply to a message not in the archive

Am 25.01.2010 20:55, schrieb Mauro Carvalho Chehab:

Quoted 66 lines
Quoted 57 lines · Stefan Ringel

Am 25.01.2010 20:29, schrieb Mauro Carvalho Chehab:

Quoted 45 lines
Quoted 33 lines · Stefan Ringel

Am 25.01.2010 15:35, schrieb Mauro Carvalho Chehab:

Quoted 21 lines
Quoted 10 lines · Stefan Ringel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Davin,
I have a question. How are loaded the base firmware into xc3028, in once or in a split ? It's importent for TM6010, the USB-Analyzer said that it load it in once and then send a quitting reqeuest.

The way the original driver for tm6000/tm6010 does varies from firmware version to firmware version. That part of the driver works fine for both tm6000 and tm6010, with the devices I used here, with firmwares 1.e and 2.7. However, on tm6000, it sends the firmware on packages with up to 12 or 13 bytes, and it requires a delay before sending the next packet, otherwise the tm6000 hangs.

Quoted 9 lines

Another problem is that the firmware load may fail (due to the bad implementation of the i2c on tm6000/tm6010). So, the code should ideally check if the firmware were loaded, by reading the firmware version at the end. However, reading from i2c is very problematic, since it sometimes read from the wrong place. On the tests I did here, the original drivers weren't reading back the firmware version, probably due to this bug.

Quoted 4 lines

My hybrid-stick with tm6010 chip use a special request ( requests 0x32 + 0x33) for quitting i2c transfer.

Someone once commented that there are some procedures to reset I2C bank on tm6010. Maybe that's the meaning for the requests to 0x32/0x33.

Quoted 10 lines
Quoted 7 lines

so it can write correct the firmware
and can read tuner number and versions. Actually I tested next patch for sync between tuner and demodulator and I have data by scanning digital channels (one time), but other test dos not data. I've test firmware load 13, 64 and 3500 bytes and all works.

3500? That's weird! the maximum allowed size for URB control transfer is 80.

Quoted 7 lines

from xc3028 send max 3500 byte and then in i2c_xfer function it split to 80 byte.
for example

xc3028 --> 3500 byte --> quit (base firmware subaddresse 0x2a 3411 byte) tm6000_i2c_xfer --> 80 byte 80 byte .... 80 byte ---> quit

Quoted 7 lines

Well, the better is to limit the size at xc3028 level, just like the other drivers. I'm afraid that letting it pass 3500 bytes will cause kernel hangups on some drivers that aren't prepared for it.

Cheers,
Mauro.

Hi,

I found digital channel second time today, Last Saturday I found first time. But it has over hack demodulator.

Cheers

Stefan Ringel

Signature · 1 line
Stefan Ringel <[email protected]>

linux-v5dy:/usr/src/src/tm6000/v4l-dvb # scan /usr/share/dvb/dvb-t/de-Berlin scanning /usr/share/dvb/dvb-t/de-Berlin
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' initial transponder 177500000 1 3 9 1 2 4 0
initial transponder 191500000 1 2 9 1 2 4 0
initial transponder 506000000 0 2 9 1 2 4 0
initial transponder 522000000 0 2 9 1 2 4 0
initial transponder 570000000 0 2 9 1 2 4 0
initial transponder 618000000 0 2 9 3 2 4 0
initial transponder 658000000 0 2 9 1 2 4 0
initial transponder 754000000 0 2 9 1 2 4 0
initial transponder 778000000 0 2 9 1 2 4 0
initial transponder 618000000 0 1 9 1 2 4 0

Quoted 1 line
Quoted 1 line
Quoted 1 line

tune to: 177500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_16:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE

WARNING: filter timeout pid 0x0011
WARNING: filter timeout pid 0x0000
WARNING: filter timeout pid 0x0010

Quoted 1 line
Quoted 1 line
Quoted 1 line

tune to: 191500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE

WARNING: filter timeout pid 0x0011
WARNING: filter timeout pid 0x0000
WARNING: filter timeout pid 0x0010

Quoted 1 line
Quoted 1 line
Quoted 1 line

tune to: 506000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE

0x0000 0x4015: pmt_pid 0x0150 RTL World -- RTL Television (running) 0x0000 0x4016: pmt_pid 0x0160 RTL World -- RTL2 (running) 0x0000 0x401b: pmt_pid 0x01b0 RTL World -- Super RTL (running) 0x0000 0x4022: pmt_pid 0x0220 RTL World -- VOX (running)
WARNING: filter timeout pid 0x0010

Quoted 1 line
Quoted 1 line
Quoted 1 line

tune to: 522000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE

0x0000 0x000d: pmt_pid 0x0514 ARD -- Phoenix (running) 0x0000 0x000c: pmt_pid 0x04b0 ARD -- rbb Berlin (running) 0x0000 0x000b: pmt_pid 0x044c ARD -- rbb Brandenburg (running) 0x0000 0x000e: pmt_pid 0x0578 ARD -- Das Erste (running) 0x0000 0x000f: pmt_pid 0x05dc ARD -- EinsExtra (running) Network Name 'DVB-T Berlin/Brandenburg'

Quoted 1 line
Quoted 1 line
Quoted 1 line

tune to: 570000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE

0x0000 0x0203: pmt_pid 0x0230 ZDFmobil -- 3sat (running) 0x0000 0x0205: pmt_pid 0x0250 ZDFmobil -- neo/KiKa (running) 0x0000 0x0202: pmt_pid 0x0220 ZDFmobil -- ZDF (running) 0x0000 0x0204: pmt_pid 0x0240 ZDFmobil -- ZDFinfokanal (running) Network Name 'ZDF'

Quoted 1 line
Quoted 1 line
Quoted 1 line

tune to: 618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE

0x0000 0x4014: pmt_pid 0x0140 MEDIA BROADCAST -- QVC (running) 0x0000 0x402a: pmt_pid 0x02a0 MEDIA BROADCAST -- Bibel TV (running) 0x0000 0x402e: pmt_pid 0x02e0 BetaDigital -- DAS VIERTE (running) 0x0000 0x4030: pmt_pid 0x0300 MEDIA BROADCAST -- freies 1.Programm (running) 0x0000 0x4031: pmt_pid 0x0310 MEDIA BROADCAST -- freies 3.Programm (running) 0x0000 0x678e: pmt_pid 0x08e0 MEDIA BROADCAST -- freies 2.Programm (running) Network Name 'MEDIA BROADCAST'

Quoted 1 line
Quoted 1 line
Quoted 1 line

tune to: 658000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE

0x0000 0x4018: pmt_pid 0x0180 ProSiebenSat.1 -- SAT.1 (running) 0x0000 0x4013: pmt_pid 0x0130 ProSiebenSat.1 -- ProSieben (running) 0x0000 0x400a: pmt_pid 0x00a0 ProSiebenSat.1 -- kabel eins (running) 0x0000 0x400e: pmt_pid 0x00e0 ProSiebenSat.1 -- N24 (running) Network Name 'MEDIA BROADCAST'

Quoted 1 line
Quoted 1 line
Quoted 1 line

tune to: 754000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE

0x0000 0x4024: pmt_pid 0x0240 MEDIA BROADCAST -- Eurosport (running) 0x0000 0x4011: pmt_pid 0x0110 BetaDigital -- 9Live (running) 0x0000 0x4008: pmt_pid 0x0080 BetaDigital -- DSF (running) 0x0000 0x40c3: pmt_pid 0x0c30 MEDIA BROADCAST -- TV.Berlin (running) Network Name 'MEDIA BROADCAST'

Quoted 1 line
Quoted 1 line
Quoted 1 line

tune to: 778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE

Network Name 'MEDIA BROADCAST'
0x0000 0x4025: pmt_pid 0x0250 MEDIA BROADCAST -- Channel 21/Euronews (running) 0x0000 0x678b: pmt_pid 0x08b0 MEDIA BROADCAST -- JayJay.FM (running)
0x0000 0x6782: pmt_pid 0x0820 MEDIA BROADCAST -- 104.6 RTL (running)
0x0000 0x6787: pmt_pid 0x0870 MEDIA BROADCAST -- Radio Paloma (running)
0x0000 0x678a: pmt_pid 0x08a0 MEDIA BROADCAST -- Spreeradio (running)
0x0000 0x6026: pmt_pid 0x0260 MEDIA BROADCAST -- 104.6RTL- Best Of Modern Rock And Pop (running) 0x0000 0x6013: pmt_pid 0x0130 Eurociel -- Radio Horeb (running)
0x0000 0x4010: pmt_pid 0x0100 RTL World -- n-tv (running)
0x0000 0x6014: pmt_pid 0x0140 BetaDigital -- ERF Radio (running)
0x0000 0x6011: pmt_pid 0x0110 BetaDigital -- sunshine live (running)
0x0000 0x678e: pmt_pid 0x08e0 MEDIA BROADCAST -- JayJay.VR (running)

Quoted 1 line
Quoted 1 line
Quoted 1 line

tune to: 618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_AUTO:QAM_16:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE

WARNING: filter timeout pid 0x0011
WARNING: filter timeout pid 0x0000
WARNING: filter timeout pid 0x0010
dumping lists (38 services)
RTL Television:506000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE:337:338:16405 RTL2:506000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE:353:354:16406 Super RTL:506000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE:433:434:16411 VOX:506000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE:545:546:16418 Das Erste:522000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:1401:1402:14 rbb Berlin:522000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:1201:1202:12 rbb Brandenburg:522000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:1201:1202:11 Phoenix:522000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:1301:1302:13 EinsExtra:522000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:1501:1502:15 ZDF:570000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:545:546:514 3sat:570000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:561:562:515 neo/KiKa:570000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:593:594:517 ZDFinfokanal:570000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:577:578:516 QVC:618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:321:322:16404 Bibel TV:618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:673:674:16426 DAS VIERTE:618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:737:738:16430 freies 1.Programm:618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:785:786:16432 freies 3.Programm:618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:785:786:16433 freies 2.Programm:618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:785:786:26510 SAT.1:658000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:385:386:16408 ProSieben:658000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:305:306:16403 kabel eins:658000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:161:162:16394 N24:658000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:225:226:16398 Eurosport:754000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:577:578:16420 DSF:754000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:129:130:16392 TV.Berlin:754000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:3121:3122:16579 9Live:754000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:273:274:16401 Channel 21/Euronews:778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:593:594:16421 104.6 RTL:778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:2082:26498 Radio Paloma:778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:2162:26503 Spreeradio:778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:2210:26506 104.6RTL- Best Of Modern Rock And Pop:778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:610:24614 Radio Horeb:778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:306:24595 n-tv:778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:257:258:16400 ERF Radio:778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:322:24596 sunshine live:778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:274:24593 JayJay.VR:778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:2273:2226:26510 JayJay.FM:778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:2226:26507 Done.

#11 lore raw
In reply to a message not in the archive

Hi,

I have a problem with usb bulk transfer. After a while, as I scan digital channel (it found a few channel), it wrote this in the log:

Jan 26 21:58:35 linux-v5dy kernel: [  548.756585] tm6000: status != 0

I updated the tm6000_urb_received function so that I can read the Error code and it logged:

Jan 27 17:41:28 linux-v5dy kernel: [ 3121.892793] tm6000: status = 0xffffffb5

Can you help me? Who I can calculate urb size?

Cheers

Stefan Ringel

Signature · 1 line
Stefan Ringel <[email protected]>
#12 lore raw
Quoted 9 lines · Stefan Ringel

Hi,

I have a problem with usb bulk transfer. After a while, as I scan digital channel (it found a few channel), it wrote this in the log:

Jan 26 21:58:35 linux-v5dy kernel: [  548.756585] tm6000: status != 0

I updated the tm6000_urb_received function so that I can read the Error code and it logged:

Jan 27 17:41:28 linux-v5dy kernel: [ 3121.892793] tm6000: status = 0xffffffb5

Probablt it is this error:
#define EOVERFLOW 75 /* Value too large for defined data type */

It would be good to make it display the error as a signed int.

the tm6000-video error handler has some common causes for those status. In this particular case:

        case -EOVERFLOW:
                errmsg = "Babble (bad cable?)";
                break;

This looks the same kind of errors I was receiving during the development of the driver:
a large amount of frames are got broken, even if the device is programmed with the exact values used on the original driver. On my tests, changing the URB size were changing the position where such errors were occurring.

Quoted 2 lines

Can you help me? Who I can calculate urb size?

Take a look on tm6000-video:

        size = usb_maxpacket(dev->udev, pipe, usb_pipeout(pipe));

        if (size > dev->max_isoc_in)
                size = dev->max_isoc_in;

It depends on the alternate interface used. The driver should select an alternate interface that is capable of receiving the entire size of a message. Maybe the tm6000 driver is missing the code that selects this size. Take a look on em28xx-core, at em28xx_set_alternate() code for an example on how this should work.

The calculated size there assumes that each pixel has 16 bits, and has some magic that were experimentally tested on that device.

Cheers,
Mauro.

#13 lore raw

Am 27.01.2010 21:47, schrieb Mauro Carvalho Chehab:

Quoted 44 lines
Quoted 10 lines · Stefan Ringel

Hi,

I have a problem with usb bulk transfer. After a while, as I scan digital channel (it found a few channel), it wrote this in the log:

Jan 26 21:58:35 linux-v5dy kernel: [  548.756585] tm6000: status != 0

I updated the tm6000_urb_received function so that I can read the Error code and it logged:

Jan 27 17:41:28 linux-v5dy kernel: [ 3121.892793] tm6000: status = 0xffffffb5

Probablt it is this error:
#define EOVERFLOW 75 /* Value too large for defined data type */

It would be good to make it display the error as a signed int.

the tm6000-video error handler has some common causes for those status. In this particular case:

        case -EOVERFLOW:
                errmsg = "Babble (bad cable?)";
                break;

This looks the same kind of errors I was receiving during the development of the driver:
a large amount of frames are got broken, even if the device is programmed with the exact values used on the original driver. On my tests, changing the URB size were changing the position where such errors were occurring.

Quoted 2 lines

Can you help me? Who I can calculate urb size?

Take a look on tm6000-video:

        size = usb_maxpacket(dev->udev, pipe, usb_pipeout(pipe));

        if (size > dev->max_isoc_in)
                size = dev->max_isoc_in;

It depends on the alternate interface used. The driver should select an alternate interface that is capable of receiving the entire size of a message. Maybe the tm6000 driver is missing the code that selects this size. Take a look on em28xx-core, at em28xx_set_alternate() code for an example on how this should work.

Quoted 7 lines

The calculated size there assumes that each pixel has 16 bits, and has some magic that were experimentally tested on that device.

Cheers,
Mauro.

I know why it's going to overflow. It's not usb pipe calculating, it's numbers of feeds that it's used. But then I cannot use more than one filter! It's bad!!

Cheers

Stefan Ringel

Signature · 1 line
Stefan Ringel <[email protected]>