POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 6777|回复: 41
打印 上一主题 下一主题

修改固件让SQ710II完美支持QSound等附加功能

[复制链接]
1#
发表于 2006-1-21 04:08 | 只看该作者
这下不用羡慕Diyeden声卡的附加功能了:a)
回复 支持 反对

使用道具 举报

2#
发表于 2006-1-21 04:14 | 只看该作者
1-2口 和7-8口(spdif) 同时发出不同声音知道怎么弄么?
+ t) l/ Y8 v6 J2 y. E( s* L8 P8 V3 F* e* |$ M& h
卡还没到, 不然就自己研究了... 667在那卖关子
回复 支持 反对

使用道具 举报

3#
 楼主| 发表于 2006-1-21 05:06 | 只看该作者
以下是修改方法
2 q2 j6 T$ K/ n% i声明:修改声卡固件相当危险,不了解下面是写什么的切勿贸然刷新,本人不对因刷新固件导致的声卡损坏负责!
0 T1 J* O5 ~6 ~1 w* M7 ~' u6 y/ U- O! s8 }; d. D: Z2 U
修改原理:( @9 \0 w5 y6 A
     大家知道VIA在最新的Envy24 4.XX驱动程序中不再使用Sensaura 3DPA API作为3D API,转而使用Qsound Labs的QSound API。不过由于授权费用的问题,VIA没有在公版驱动程序中开放此功能,只给部分交纳了授权费的厂家以及新款Envy24芯片开放了此功能。造成AV710等公板Envy24HT-S声卡在使用公版驱动程序的时候没有3D API的问题。而且也不能享受Qxpander、均衡器等不错的附加功能。由于Envy24系列芯片只是一个I/O Controller而已,对音频信号的处理都是交给CPU的,因此使用Envy24芯片的声卡不可能出现一款声卡能使用3D API而另一款不能使用的情况。那么有什么办法可以解决这个问题呢?
0 P4 t) ?  i/ y  x修改思路:
+ L- ?' n# r# j5 i; O      既然知道了这些功能的差异只是VIA人为的结果,那么VIA是如何实现对公板卡的限制的呢。常见的驱动程序限制措施不外乎检查Vendor ID和Sub ID、Device ID 这三种。先来分析Dev ID这种情况,市场上出现了不同厂商同种芯片但是一种卡能开3D API而另一种卡不能开启的情况。显然,如果通过Dev ID来识别的话,不可能出现这种情况(同种芯片Dev ID通常相同)。那么唯一的可能性应该就是通过Vendor ID和Sub ID来识别了。/ i0 W) L) W$ o! }, {
     使用eeprw.exe工具读出SQ710II的固件,查阅LINUX ALSA中Envy24固件定义相关资料,发现固件的第0至第3个字节用于定义Vendor ID和Sub ID(其余定义请查阅附录)。查阅Maya44 MK2的固件数据,发现与SQ710II的固件比较接近,因此决定使用Maya44 MK2固件中的Vendor ID和Sub ID。将SQ710II的固件修改为:
1 L; Q) B) q; f5 oOffset#0=A6; $ L/ _5 X& ?8 H6 W# ?  ?/ t( M7 q
Offset#1=04; 0 o) b  V% A( {; u
Offset#2=14;
5 |2 B, k% a# ^7 z8 kOffset#3=58; " _) a$ j0 B$ V5 W7 Y/ R
Offset#4=1C;
% B, A9 a& W$ V3 p& j# K  Z  S' G( zOffset#5=01;
8 N. I  K$ G: IOffset#6=02;
& U/ g6 K0 _5 X' t; V! wOffset#7=02; # X4 u. g" T) e# F6 o: C: U
Offset#8=10; 8 q( J" g' E& t( V# [0 B0 t5 C# P
Offset#9=C1;
' @8 N8 V' G! ?. P8 Y  kOffset#A=FF;
" c, ]! ^1 I! @3 g' sOffset#B=00;
. H2 n* L; G4 \& y. u+ g. zOffset#C=00;
+ t7 X; t$ g* y, B9 O) iOffset#D=FF;
# N. O9 h4 G6 _' d: l, COffset#E=00; ) j% W' L- {5 X& j! T
Offset#F=00; ! w, ^! |- l# R% _' o
Offset#10=FF; 6 C2 `" p7 Y3 W, u
Offset#11=00; 9 Z+ V( N& y& J/ u+ c! `" E7 m5 [
Offset#12=00; 4 w; }& g7 f$ w3 w6 D2 `) y& p
Offset#13=00; 2 h0 B7 u4 y6 h9 b
Offset#14=01; $ s2 _6 B# ]! e# o. ]# S' c- m
Offset#15=01;
6 u% E# A8 `; w. H8 b" V: hOffset#16=01; # {6 h9 s7 G: S
Offset#17=00;   e3 I3 U2 f8 Z; U) Z0 c* E( z
Offset#18=01;
8 b5 ~; |& f# [& V* m' KOffset#19=00;
% ?' K* u7 u9 _4 YOffset#1A=00;
; i* [4 C' |+ |: p- EOffset#1B=00; 5 e$ b9 w2 S$ A* B
Offset#1C=06;
* b. v2 R3 }$ p2 b9 v$ YOffset#1D=00;
/ e8 t) b& R  G4 }, NOffset#1E=00;
, r# w5 a0 d! s8 S) ^Offset#1F=00;
5 t1 Z5 |, H/ l: O  d# l3 S. ]3 a. c- p$ d! b. H. f+ _/ F$ }  k
保存为eeprom.ini,使用U盘重启进入纯DOS状态(重启前记得将系统中原SQ710II的驱动程序卸载)。将eeprom.ini与eeprwa.exe置于同一目录,执行eeprwa.exe自动刷新工具自动刷新。重启后进入XP,系统报告发现新硬件,选择自动安装让其成为未知硬件,确认在设备管理器中出现多媒体控制器。然后执行VIA最新的Envy24 4.73b版驱动程序Setup程序,一路继续,由于是修改的固件,因此安装驱动程序时显示是未经WHQL认证的,但并不妨碍使用。安装完毕选择重启时选择否,进入控制面板执行Envy Audio Deck。进入高级控制,向下滚动直至出现QSound图标,将其勾取,Envy Audio Deck会提示需要重启。选择重启,重启后,Envy Audio Deck中左侧多出一个图标,这就是新增的Sound Effects(音效)功能选项。里面有均衡器、Qxpander、环境音效等选项,至此,修改初步成功。经过我一段时间的使用,并没有刷新为Prodigy 7.1的固件时出现的关机再开机后模拟输出无法使用的问题。一切功能正常,关机再开机后选项仍然存在且正常,至此修改完成。(Prodigy 7.1固件问题的原因在于刷新Prodigy 7.1的固件后DAC/AC'97 CODEC信息与声卡不符,关机再开机后无法对DAC初始化)9 @3 S! [8 o& {# i

& y% W  T1 L4 A9 D6 e1 |  o! P5 k: Q+ e- @6 d8 ]2 G
参考文章
$ r8 ^8 H2 v9 A4 ^$ J* c( a, cGetting Chaintech AV710 to work w/ QSound:/ h: f( K: A' J% v  D; A
http://forums.viaarena.com/messa ... FORUMVIEWTMP=Linear7 R7 }/ o0 A' i/ |' W+ l

1 {7 |3 {% Q& n- `3 _% l附录:
! \+ [! b; \. i: [$ @相关工具:
+ U7 a) Y+ X4 a4 shttp://bbs.gzeshop.com/viewthrea ... &extra=page%3D1
+ t( A, O4 o' n  |
6 d1 [% o" p7 f% y固件数据定义2 c+ c$ r5 c% K
Bytes 0-3: PCI subsystem vendor and subsystem device ID (Thisiswhat allows the driver to detect the brand/model of the card -the main PCI vendor and device ID are fixed and identify the card as an ICE1724 device.)6 H. M# Z; F6 p
9 L* g; v% S% `+ U0 }6 p8 `
Byte 4: Size of EEPROM data$ t- F+ R% q/ A- e
# a- P/ Q/ z2 D, g4 A  w: m
Byte 5: EEPROM version (seems to be supposed to be1 for ICE1712 (Envy24) and 2 forICE1724 (Envy24HT), but seems like it's usually set to 1even on Envy24HT..)4 T" Q& s8 j* K4 k2 s7 J
/ J! H: P! Z4 B( U9 Q. ]& f+ u
Byte 6: System configuration byte - gets written to the corresponding card register by the driver. Controls clock crystal configuration, MPU-401 MIDI UART, how many ADCs/DACs are connected.2 m% X- s* F: P( J8 _
/ _) R' F8 M7 V
Byte 7: ACLink configuration byte - gets written to the corresponding card register by the driver. Controls the connection to the AC97 codec (i.e. the VT1616 used for the front, rear, center/LFE outputs).
9 d/ e3 y6 C2 d" n7 m" Z+ ]0 @! K# b, `( z$ A' T$ }
Byte 8: I2S configuration byte - gets written to the corresponding card register by the driver. Controls the connection to the I2S codec (i.e. presumably the Wolfson codec for the high sample rate output).
0 a6 Q; ?8 r$ x; B5 |9 e  X" k6 s
, E$ C; J- H( `; \Byte 9: SPDIF configuration byte - gets written tothecorresponding card register by the driver. Controls the SPDIF transmitter.
. `! C% Z" F4 Y' d
5 ]; c3 D/ O6 {Byte 10: GPIO Direction; i  x- k, e0 B( N
* J4 U' A1 C; {  ^# Y# R6 V
Byte 11: GPIO Direction 1
' w: |! F0 ~9 V3 |  g: ~. z3 K7 w* i# M9 Z  Y3 E
Byte 12: GPIO Direction 29 x: e/ d" T" G: d, r% `7 l% J! \
6 r: |. t. x+ g5 S2 U
Byte 13: GPIO Mask% H8 `3 e& Z3 O0 ]" w/ ~1 f$ Y0 {/ z! t

& \5 D0 v. z$ T) R0 `Byte 14: GPIO Mask 1
9 R) e; I+ j: w" O0 V5 s! T* N0 F; X3 w! D. B+ f+ r1 Y
Byte 15: GPIO Mask 2, G. A2 j" F5 t0 u
- N; v: v- A5 u+ A' R' G
Byte 16: GPIO State! Z  @. C1 d- [+ f+ d& H) v

6 k3 v6 R& Q6 z/ C; i# ?Byte 17: GPIO State 1
. Z' i: @1 F, J; i/ o$ s# C0 N' F: O. y, N+ {' N
Byte 18: GPIO State 21 Y0 ?2 o8 Q+ _4 x# S3 c3 G8 B
+ K. |  {; A) M6 B& s/ w: Z

  p! ^% H. }* X6 B2 o' p* x& @) o) S7 [+ @! D9 [- v8 ?  e
The GPIO registers seem to be written into registers on thecard by the driver as well, these control the GPIO outputs which are presumably used to set sample rates on the DACs, etc.- K8 E3 @4 ?: X- |5 Q
2 \+ }' y: Z+ |( u; p
                                                                                                          SmileXP
+ s2 G& k* Q0 @2 i                                                                                                    2006/1/21凌晨% I! j/ V7 F7 k- r- Q8 Y
                                     版权所有,转载请注明原作者
: s% T! k! w; G- k- S
8 {& |$ ^$ d! q[ 本帖最后由 smilexp 于 2006-1-21 19:10 编辑 ]
回复 支持 反对

使用道具 举报

4#
 楼主| 发表于 2006-1-21 05:08 | 只看该作者
原帖由 黑真PIG 于 2006-1-21 04:14 发表
; w. q3 T% S" i: E! g$ C1-2口 和7-8口(spdif) 同时发出不同声音知道怎么弄么?
3 q4 D8 [/ W$ o8 T( t) J0 G
7 Z3 T' r/ |! w3 n9 p卡还没到, 不然就自己研究了... 667在那卖关子

0 ?" E; `  g9 |6 ?* f/ z
: r$ X  W& t4 a$ g# _. h1 }我只用7/8口的,不过我想可能是一个用Direct Sound一个用KS
回复 支持 反对

使用道具 举报

5#
发表于 2006-1-21 09:56 | 只看该作者
强。。。
- |1 c, s- L: o3 c0 X9 U) C! q2 L" x. u) ]# Y  E9 x8 Y  [! S6 o, w

4 Q) G( `: }/ Z
6 ]" u' j6 w  c5 E+ \5 _  t$ s
回复 支持 反对

使用道具 举报

头像被屏蔽
6#
发表于 2006-1-21 10:07 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

7#
发表于 2006-1-21 11:36 | 只看该作者
帮顶一下,好贴!!!
回复 支持 反对

使用道具 举报

8#
发表于 2006-1-21 13:22 | 只看该作者
原帖由 黑真PIG 于 2006-1-21 04:14 发表
! O. T$ ?: i+ Q7 T7 {5 K2 R7 H1-2口 和7-8口(spdif) 同时发出不同声音知道怎么弄么?
3 x7 n+ [8 F  L( M) a9 U  T, q" j' H$ M3 {* X3 r2 E$ f2 Z
卡还没到, 不然就自己研究了... 667在那卖关子

+ Z3 t' {# S: p4 P/ L:shifty:选择2+2模式,就可以啦; p: ^% Q% e9 B7 \
非常简单得啊
回复 支持 反对

使用道具 举报

9#
发表于 2006-1-21 13:23 | 只看该作者
:shifty:楼主,厉害,,支持' ^6 B2 I) M0 {7 |5 W4 I- \9 ^  B
7 h6 a) }; ]' k* s3 h; j. i
:wub:楼主的声卡,出自我的YYStation,,咔咔
回复 支持 反对

使用道具 举报

10#
发表于 2006-1-21 13:25 | 只看该作者
原帖由 sd-iori 于 2006-1-21 13:22 发表
8 }) Q* h1 e2 |6 ?" n! Z, ]! H  _, G% I8 t) g
:shifty:选择2+2模式,就可以啦3 E" L. U* J. U5 w
非常简单得啊

: ]0 l# S: o) H3 L& A/ H5 }太阳, 我还以为那是4声道呢7 ]/ C* R" p- X. W, Q
& R; d5 v7 ~( U% m4 S4 W
667那鸟人在那卖关子4 A! `; \8 l* L! |6 N7 H- a

% E" _4 X, Y& o卡还没到手:mad:
回复 支持 反对

使用道具 举报

11#
发表于 2006-1-21 13:25 | 只看该作者
然后放音就有俩个设备可以选了吗?
回复 支持 反对

使用道具 举报

12#
发表于 2006-1-21 13:27 | 只看该作者
原帖由 黑真PIG 于 2006-1-21 13:25 发表
. S$ V. n/ O! W2 E3 B" A7 ^7 {2 s$ W6 o6 ?; u
太阳, 我还以为那是4声道呢
( G# c. w) G+ W6 D; G6 i% V+ }. n" C  F% w- m* I
667那鸟人在那卖关子
5 p  R* Z! {' m/ z: Z1 j2 y' {" a7 p* ^1 }# G
卡还没到手:mad:
7 D( }, b- `* W) }$ |
:sweatingbullets:寒,,,可能是我错误,,,
: a; e# w6 ^! h* _2+2是用来实现耳机和音箱输出的,,我记错啦,,咔咔
4 C1 f/ d: e/ g% x* X" k: Y: O7 ]% C: p- \2 L5 g
6Fire LT等支持ASIO的声卡,就能轻易实现这个功能
回复 支持 反对

使用道具 举报

13#
发表于 2006-1-21 13:29 | 只看该作者
原帖由 sd-iori 于 2006-1-21 13:27 发表3 O) i6 [  f# J
0 }" q8 c5 d) U) T4 q+ y- w
:sweatingbullets:寒,,,可能是我错误,,,
* G* t3 `" Y0 o5 e2 ^7 r& V7 C2+2是用来实现耳机和音箱输出的,,我记错啦,,咔咔, d! ?8 [: F) O7 T/ Q/ u: V" S& ?6 i

7 Y9 \5 a# g# U: G6Fire LT等支持ASIO的声卡,就能轻易实现这个功能
- m% F# y4 p$ U% q8 C3 J
6fire lt上, 2+2是什么:blink:
回复 支持 反对

使用道具 举报

14#
发表于 2006-1-21 13:30 | 只看该作者
原帖由 黑真PIG 于 2006-1-21 13:29 发表
6 Z4 ?4 r4 F# F; A
) L! z- |% J" t1 Z# Z( M$ \: s4 C6fire lt上, 2+2是什么:blink:

+ [. N+ S! J& W! ^% t7 _. T' w  P1 o:blink:2+2是说SQ710II的
回复 支持 反对

使用道具 举报

15#
 楼主| 发表于 2006-1-21 18:05 | 只看该作者
下一步是研究能否让改造固件后的SQ710II完美上别的厂家的驱动程序,初步目标是Prodigy 7.1和Maya44 MKII
回复 支持 反对

使用道具 举报

16#
 楼主| 发表于 2006-1-21 18:11 | 只看该作者
VIA公版驱动程序对公板卡固件检查头4个字节,当发现是代码是1724时即屏蔽QSound相关功能。1724是公版固件的Vendor ID和Sub ID
回复 支持 反对

使用道具 举报

17#
发表于 2006-1-21 19:33 | 只看该作者
我的705还硬件支持Qsound,这有什么?
回复 支持 反对

使用道具 举报

18#
发表于 2006-1-21 20:02 | 只看该作者
原帖由 smilexp 于 2006-1-21 18:05 发表8 r* ]* w9 f6 Q0 D! D5 j7 z
下一步是研究能否让改造固件后的SQ710II完美上别的厂家的驱动程序,初步目标是Prodigy 7.1和Maya44 MKII
; N' J5 g& m! Q, V! G& d
有戏, 根据上面eeprom的每字节定义, 改了spdif/dac相关的, 让dac能够初始化, 就有戏...
回复 支持 反对

使用道具 举报

19#
发表于 2006-1-21 23:17 | 只看该作者
俺也找到的从第7到第9个字符所代表的一些意义。希望高手能mod出好用的sq710  |+ K. L* D3 g! ^
: ^' f. [, j. h# \0 v
address         function                                          values and their significations   3 f' p# h$ @$ i" \
& k( h" k4 V+ N6 ^, X. E- N) O9 s" w
Offset#7      AC-Link Configuration Register             80=I2S.   02=AC'97$ e$ l5 O/ V4 U) w* d

6 q$ h8 T) t3 m/ r/ E# T. o) Y8 N0 i; C
Offset#8      I 2 S Converters Features Register        F8=I ²S codec has volume/mute control capability and need to be program through  GPIO;converter 96kHz sampling rate support;24-bit;I ² S converter 192kHz sampling rate support.   F0=I ²S codec has volume/mute control capability and need to be program through GPIO;I ² S converter 96kHz sampling rate support;24-bit.   10=18bit: \/ w0 ?1 Q; r% k% a
& w/ _- c7 f, c- Y/ @

! q! R( q4 q/ d# |Offset#9      S/PDIF Configuration Register              C1=Enable integrated S/PDIF transmitter;Internal S/PDIF Out implemented;External S/PDIF Out implemented; k% l9 ^# e# K  b0 U( d
. f5 ^! m, Q( a$ _; b
3 w1 ~/ V& H$ Y& p7 }% Y# g0 `) e0 _
:wub:
* ]5 W! g1 O) u: `- I- t3 Q6 a8 ~/ v5 k# X
[ 本帖最后由 pyncell 于 2006-1-21 23:20 编辑 ]
回复 支持 反对

使用道具 举报

20#
发表于 2006-1-22 08:34 | 只看该作者
成功........................
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-4-3 15:33

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表