Acorp DS120: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
m (Added category: DVB-S USB Devices)
 
(18 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) extract 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.
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
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
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==
* [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