Acorp DS120: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
m (Added category: DVB-S USB Devices)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
A [[DVB-S]] [[DVB-S USB Devices|USB device]] from [[Acorp]]. It is actually a clone of the [[DVBWorld DVB-S 2102 USB2.0]].
I(Igorli) extracted firmware for Acorp DS120 from DVBUSBS2102.sys file. It lays: offset 0x47C0, length 8192(0x2000).

Script to extract it:
Support is currently not included in the LinuxTV tree, however, a working driver now exists! (See [http://liplianin.at.tut.by here]).

==Overview==
USB ID is 04B4:2102

===Components Used===
* Sharp BS2F7VZ0194A tuner module with integrated
** tuner - Sharp IX2410 pll
** [[STMicroelectronics STV0299|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
#!/usr/bin/perl
Line 8: Line 23:
extract("DVBUSBS2102.sys", 0x47c0, 8192, "dvb-usb-dw2102.fw");
extract("DVBUSBS2102.sys", 0x47c0, 8192, "dvb-usb-dw2102.fw");


According to Usbsnoop.log, firmware loads in receiver by 64 bytes length chunks. It seems through endpoint 0.
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
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
000006: OUT: 000000 ms 000058 ms 40 a0 00 e6 00 00 01 00 >>> 01
Line 16: Line 31:
000135: OUT: 000000 ms 000086 ms 40 a0 92 7f 00 00 01 00 >>> 00
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
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==
Build in tuner internal STV299 access:
* [http://www.acorp.ru/products/multimedia/satellite/ds120/ Acorp product page]
[[Category:DVB-S USB Devices]]

Latest revision as of 00:28, 4 May 2009

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
  • 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