Twinhan VP-1020A: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
m (Put images in own section; dvb-bt8xx will load other mods)
(→‎Kernel Hangup Problems with Twinhan / Brooktree 1020a: how to fix the fefe:0001 problem for good)
Line 21: Line 21:
bttv0: subsystem: fefe:0001 (UNKNOWN)
bttv0: subsystem: fefe:0001 (UNKNOWN)
bttv0: using: *** UNKNOWN/GENERIC *** [card=0,autodetected]</pre>
bttv0: using: *** UNKNOWN/GENERIC *** [card=0,autodetected]</pre>
This means your card's eeprom has been corrupted. The card takes it subsystem id from this eeprom, ''fefe:0001'' is an unknown id, which makes the bttv driver hang. Due to unknown reasons (or cheapness on TwinHan's part) the eeprom is not write protected, and something (maybe a buggy driver?) stomped over it.
Deactivate the hotplug system <b>udev:</b><br>


But the eeprom being writable also means that one can fix the problem relatively easy. You need the '''i2c*''' programs from '''lm-sensors'''. Run
<u>Debian Users:</u> delete the symlink S04udev and S36udev-mtab in /etc/rcS.d/<br>
i2cdetect -l
<u>Other Linux Systems:</u> look at your help pages where you can deactivate udev
to list all busses. Find the right one for your card and do
i2cdetect BUS
(Replace BUS with the bus you determined from now on.) The above should list available address spaces. This can be dangerous if BUS is wrong, but usually it is safe. The 1020 normally has only one active chip at 0x50. If this looks right try
i2cdump BUS 0x50
to dump the eeprom (usually safe). The (wrong) subsystem id will reside in the last 4 bytes, make sure it matches the one your system prints before the hang -- if you saw ''fefe:0001'' that means ''00 01 ff fe''. If do not see the id there, or nothing resides at 0x50, '''stop here'''! The next command will write to the chip, and may damage the respective hardware irreperably! '''NO GUARANTEES'''! That said, a card with this symptoms is a doorstop anyway, so if you are '''sure''' you are not looking at another hardware, go ahead. To put the right id ''1822:0001'' there, run the following commands
i2cset -y BUS 0x50 0xfc 0x00 b
i2cset -y BUS 0x50 0xfd 0x01 b
i2cset -y BUS 0x50 0xfe 0x18 b
i2cset -y BUS 0x50 0xff 0x22 b
The commands will complain about failing readback, but it should work anyway. Cross-check with another
i2cdump -y BUS 0x50
Once the bttv module is loaded again (e.g. at the next reboot) it should detect your card correctly. The same goes for the dvb-bt8xx module.


I also deinstalled <b>discover</b> (auto-hardware-recognition software)
==Images==
==Images==
[[Image:Vp-1020A.jpg|VP-1020A]]
[[Image:Vp-1020A.jpg|VP-1020A]]

Revision as of 20:01, 28 November 2005

DVB-S Budget PCI card by Twinhan Technology Co. Ltd

The only frontend driver for this card is the dst module. The tuner component initialization routines are held in the ASIC in the form of firmware (not reloadable through software). The oldest card in the DVB-S family from Twinhan !

The only difference between the VP-1020 and the VP-1020A is in the color of the board and the firmware in the ASIC.

This card uses the bttv driver. Well suppported by LinuxTV drivers.

Required modules and parameters:

dvb_core dvb_shutdown_timeout=0 
bttv i2c_hw=1 card=0x71 
bt878 
dst 
dvb-bt8xx

Loading just dvb-bt8xx will normally autodetect the card and load all the above modules with the required parameters.


Kernel Hangup Problems with Twinhan / Brooktree 1020a

If your kernel freezes at startup with the following last messages:

bttv0: subsystem: fefe:0001 (UNKNOWN)
bttv0: using: *** UNKNOWN/GENERIC *** [card=0,autodetected]

This means your card's eeprom has been corrupted. The card takes it subsystem id from this eeprom, fefe:0001 is an unknown id, which makes the bttv driver hang. Due to unknown reasons (or cheapness on TwinHan's part) the eeprom is not write protected, and something (maybe a buggy driver?) stomped over it.

But the eeprom being writable also means that one can fix the problem relatively easy. You need the i2c* programs from lm-sensors. Run

i2cdetect -l

to list all busses. Find the right one for your card and do

i2cdetect BUS

(Replace BUS with the bus you determined from now on.) The above should list available address spaces. This can be dangerous if BUS is wrong, but usually it is safe. The 1020 normally has only one active chip at 0x50. If this looks right try

i2cdump BUS 0x50

to dump the eeprom (usually safe). The (wrong) subsystem id will reside in the last 4 bytes, make sure it matches the one your system prints before the hang -- if you saw fefe:0001 that means 00 01 ff fe. If do not see the id there, or nothing resides at 0x50, stop here! The next command will write to the chip, and may damage the respective hardware irreperably! NO GUARANTEES! That said, a card with this symptoms is a doorstop anyway, so if you are sure you are not looking at another hardware, go ahead. To put the right id 1822:0001 there, run the following commands

i2cset -y BUS 0x50 0xfc 0x00 b
i2cset -y BUS 0x50 0xfd 0x01 b
i2cset -y BUS 0x50 0xfe 0x18 b
i2cset -y BUS 0x50 0xff 0x22 b

The commands will complain about failing readback, but it should work anyway. Cross-check with another

i2cdump -y BUS 0x50

Once the bttv module is loaded again (e.g. at the next reboot) it should detect your card correctly. The same goes for the dvb-bt8xx module.

Images

VP-1020A

Identify your card model ...

VP-1020A ASIC