Acorp DS120

From LinuxTVWiki
Revision as of 10:34, 27 October 2007 by Igorli (talk | contribs)
Jump to navigation Jump to search

A DVB-S USB device from Acorp. It is actually a clone of the DVBWorld DVB-S 2102 USB2.0.

Support is currently not included in the LinuxTV tree, however, a working driver now exists! (See here).

Overview

USB ID is 04B4:2102

Components Used

  • Sharp BS2F7VZ0194A tuner module with integrated
    • ? tuner - something similar to TSA5059 pll
    • STM STV0299B demodoulator
  • Cypress CY7C68013 USB bridge

Firmware

The firmware for the Acorp DS120 resides in the DVBUSBS2102.sys file at: offset 0x47C0, length 8192(0x2000).

You can extract it with the following script:

#!/usr/bin/perl

use File::Temp qw/ tempdir /;
use IO::Handle; 

    extract("DVBUSBS2102.sys", 0x47c0, 8192, "dvb-usb-dw2102.fw");

According to Usbsnoop.log, the receiver loads the firmware in 64 byte chunks. It seems through endpoint 0.

000005:  OUT: 000001 ms 000057 ms 40 a0 92 7f 00 00 01 00 >>>  01
000006:  OUT: 000000 ms 000058 ms 40 a0 00 e6 00 00 01 00 >>>  01
000007:  OUT: 000000 ms 000058 ms 40 a0 00 00 00 00 40 00 >>>  02 08 5d 00 01 02 02 03 03 04 04 05 05 12 07 bc 02 0c 59 02 07 b8 c0 e0 c0 83 c0 82 90 e6 b5 e0 44 01 f0 d2 01 12 0a 09 74 01 f0 d0 82 d0 83 d0 e0 32 32 02 00 4e 8f 31 8d 32 8a 33 8b 34 d3 22
...... 
000134:  OUT: 000000 ms 000086 ms 40 a0 c0 1f 00 00 40 00 >>>  aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
000135:  OUT: 000000 ms 000086 ms 40 a0 92 7f 00 00 01 00 >>>  00
000136:  OUT: 000002 ms 000086 ms 40 a0 00 e6 00 00 01 00 >>>  00

USB

Some other stuff from Usbsnoop.log:

Writes to STV0299 registers (value a1 to register 00,value 15 to register 01 and value 00 to register 02):

000413:  OUT: 000000 ms 006697 ms 40 b2 00 00 00 00 03 00 >>>  2a 00 a1
000414:  OUT: 000001 ms 006697 ms 40 b2 00 00 00 00 03 00 >>>  2a 01 15
000415:  OUT: 000001 ms 006698 ms 40 b2 00 00 00 00 03 00 >>>  2a 02 00

Reads from STV0299 registers (register 28, value 00):

000478:  OUT: 000001 ms 006738 ms c0 b5 28 00 00 00 02 00 <<<  00 b5

Writes to PLL through STV0299 i2c controller:

000491:  OUT: 000001 ms 006748 ms 40 b2 00 00 00 00 03 00 >>>  2a 05 b5
000492:  OUT: 000040 ms 006749 ms 40 b2 00 00 00 00 07 00 >>>  2c 05 c0 42 08 e1 00

Where c0 42 08 e1 00 – i2c message to address c0 (PLL i2c address).

LNB power:

000503:  OUT: 000001 ms 038730 ms 40 b2 00 00 00 00 02 00 >>> 30 XX

Where XX=00 for 13v, XX=01 for 18v.

Remote control:

000193:  OUT: 000075 ms 006766 ms c0 b8 00 00 00 00 02 00 <<< ff b8

Where byte ff is remote key code.

External Links