Howto: Upgrade a full-featured card to 4 MByte SDRAM

Disclaimer (please read!)

The author of this Howto will not be responsible for any problems or damage caused by the instructions below! If you decide to modify your DVB card, you should know what you are doing, and you are doing it on your own risk!

The Problem

Full-featured DVB cards are shipped with a single 2 MByte SDRAM chip. Using the Linux DVB driver, OSD memory space is limited to approx. 80 KByte. Therefore, it is not possible to have a full-screen, 256 color OSD with VDR.

The Solution

According to the data sheet, The av7111 processor is able to drive two SDRAM chips, allowing for max. 4 MByte SDRAM. So it should be possible to add another RAM chip, if (and only if) the second chip select signal SCS2 can be found. Unfortunately, there is no pin layout of the av7111 in the data sheet, and the chip select for the second SDRAM is not available anywhere on the PCB of the DVB card. :-(

Due to the lack of information, it was necessary to locate SCS2 the hard way, by measuring the signals on the BGA PCB of the av7111.

The red arrow shows the location of the second SDRAM chip select line on the av7111.

All other signals can be taken from the first SDRAM chip. The easiest way is to solder the second SDRAM on top of the first one, connecting all pins except the chip select line (pin 18). Pin 18 (/CS) of the second SDRAM must be connected to the SCS2 line of the av7111.

The Modification

Warning: Try this only if you are experienced enough and have the equipment to solder SMD chips!

As SCS2 is only available at the PCB of the av7111, we have to tap the signal there.
You can use a sharp knife or something similar to remove the protective coating. Be careful not to damage the thin traces!

The picture above shows the prepared SCS2 trace, ready for connection of a thin wire.

Prepare a SDRAM chip for soldering on top of the existing one. Be very careful when bending the pins! A cross reference for 1Mx16 SDRAMs can be found here. Connect all pins 1:1 to the first SDRAM, except pin 18 (/CS). Finally solder a wire on pin 18 of the SDRAM and on the SCS2 trace of the av7111. Fix the wire in a way that it cannot put stress on the trace of the av7111!

The pictures above and below show the first board I modified. It works without any problems.

Software

Old firmware (version 261b and earlier) will work with the upgraded board, but cannot take advantage of the extra SDRAM.
Firmware versions 261c and later probe for the extra memory and use it if present. If 4 MByte SDRAM have been detected, the driver will report 'app c000261c' ('app 8000261c' for unmodified cards). Check your system log (e.g. /var/log/messages or /var/log/syslog).

The new firmware is available for DVB and dvb-kernel drivers.
For DVB (driver 1.0.x, CVS DVB) the new 'Root' and 'Dpram' files can be downloaded from DVB CVS.
For dvb-kernel (driver 1.1.x, CVS dvb-kernel) you can get the latest firmware here.

osdtest256 is a simple plugin which can be used to test the upgraded cards. Please refer to the README for details.

Credits

Special thanks go to Carsten Koch for donating a broken DVB-S card for this project,
and to Klaus Schmidinger for modifying the firmware to support DVB cards with 4 MByte SDRAM.

Last modified: Fr 23. Okt 15:38:48 CEST 2009 by Oliver Endriss