momo zone

调核人的blog

Monthly Archives: 二月 2011

WARNING: “__moddi3” undefined!

[杯具,餐具,都在茶几上]

今天编译内核遇到这个warning: WARNING: “__moddi3” undefined!

尽管是个warning,但插入内核时会提示 -1 符号找不到。

[追根溯源]

冷静一下分析一下原因吧 ,首先去内核里面去找任何关于moddi3 的东西:

分别在frv_ksyms.c ,ia64_ksyms.c ,h8300_ksyms.c ,parisc_ksyms.c定义了原型:

extern void __moddi3(void);

以上c文件(在arch/XXX/kernel)都是定义和体系结构的有关的符号,并导出。(只知道Ia64,其他的是啥子CPU啊)

以及exports.c (在arch/tile/lib/)定义原型:

int64_t __moddi3(int64_t dividend, int64_t divisor);

可见这个__moddi3 是体系相关,而且都是64位。 mod 应该是求商/求余相关,难道是这个符号是用来做64位除法?

我有用64位除法吗? 翻了翻代码找到了这句:

int omg_data_size=0;

……….

omg_data_size=*(OMG_SIZE_INFO_OFFSET+user_buffer+0)<<24;
omg_data_size+=*(OMG_SIZE_INFO_OFFSET+user_buffer+1)<<16;
omg_data_size+=*(OMG_SIZE_INFO_OFFSET+user_buffer+2)<<8;

………..

omg_size=(omg_data_size/0x3f18)*8+omg_data_size+8;

………..

__distance_to_header=(*ppos-0x5a)%0x3f10;

哦,我明白了,omg_data_size 是有通过移位运算的,int 是32位,左移之后gcc将变量转换为64位。然后做了一次求商。另外ppos应该也是一个超长的值用来寻址大缓存(查了一下资料说“在32位体系中也至少是64位宽” )。所以gcc应该会去找__moddi3 这个符号。可惜的是我的体系结构是X86没有定义这个符号,于是乎就发生了杯具的一幕。

[柳暗花明]

内核提供一个正确处理这种情况的函数:do_div(n,base)。此处do_div得到的结果是余数而真正的a/b的结果,是用a来保存的。 do_div(n,base)的具体定义,和当前体系结构有关(这是毫无疑问的,不然就不是内核态了,用glibc就可以摆平),对于arm平台,在 arch/arm/include/asm/div64.h,对于x86在arch/x86/include/asm/div64.h。  其实现很复杂,先不深究了。

因为do_div将商保存在被除数中,把原值覆盖了,所以实际运用时要用临时变量保存被除数。

使用do_div(),需要先 #include <linux/math64.h> 这个不能少。

另外内核还提供一些其他处理64位除法的函数:

static inline u64 div_u64(u64 dividend, u32 divisor); //对应无符号64位被除数

static inline s64 div_s64(s64 dividend, s32 divisor);//对应有符号64位被除数

static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder);//对应无符号64位被除数,remainder为余数

static inline s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder);//对应有符号64位被除数,remainder为余数

其实前两个就是通过内联调用后面两个。此外后面两个函数和do_div()没有调用关系,而且看注释好像它比do_div效率高,而且容易看懂: This is the most common 64bit divide and should be used if possible, * as many 32bit archs can optimize this variant better than a full 64bit * divide.

*******************************

当我把代码重新修改编译完毕后,我想到: 根据实际情况,omg_data_size不可能超过32位,因为*(OMG_SIZE_INFO_OFFSET+user_buffer+0) 的结果肯定是8位,最大左移24位也就是32位。那么强制转换一下吧,给gcc一个明确的指示:

omg_size=((long)omg_data_size/0x3f18)*8+(long)omg_data_size+8;

………………

__distance_to_header=((long)*ppos-0x5a)%0x3f10;

Advertisements

Hitachi HDS721010CLA332 加入

日立1TB  硬盘加入,内部双碟,行货3年保,盒装。

对比之前古董IDE ST 40G 和 迈拓 160G , 信息如下:

hdparm -i /dev/sda

/dev/sda:
Model=Maxtor 6L160P0, FwRev=BAH41G10, SerialNo=L409MK9G
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=320173056
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes:  pio0 pio1 pio2 pio3 pio4
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 udma6
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: ATA/ATAPI-7 T13 1532D revision 0:  ATA/ATAPI-1,2,3,4,5,6,7
* signifies the current active mode
/dev/sdb:
Model=ST340016A, FwRev=3.19, SerialNo=3HS664CL
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=16
(maybe): CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78165360
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes:  pio0 pio1 pio2 pio3 pio4
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: Unspecified:  ATA/ATAPI-1,2,3,4,5
* signifies the current active mode
/dev/sdc:
Model=Hitachi HDS721010CLA332, FwRev=JP4OA3MA, SerialNo=JP6940HZ10U49F
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=56
BuffType=DualPortCache, BuffSize=29999kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=1953525168
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes:  pio0 pio1 pio2 pio3 pio4
DMA modes:  mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: unknown:  ATA/ATAPI-2,3,4,5,6,7
* signifies the current active mode

hdparm 小测:

/dev/sda:
Timing cached reads:   3156 MB in  2.00 seconds = 1578.06 MB/sec
Timing buffered disk reads:  142 MB in  3.01 seconds =  47.20 MB/sec
/dev/sdb:
Timing cached reads:   3098 MB in  2.00 seconds = 1548.47 MB/sec
Timing buffered disk reads:  124 MB in  3.05 seconds =  40.71 MB/sec
/dev/sdc:
Timing cached reads:   3220 MB in  2.00 seconds = 1609.79 MB/sec
Timing buffered disk reads:  422 MB in  3.00 seconds = 140.64 MB/sec
看来十几年了 ,机械硬盘也就提速3倍左右。
hd turn 测试:
最廉价的硬盘竟然和WD黑盘/RE4 差不多 ,性价比真的很高。

SONY HiMD RH1 驱动分析

简单测试了一下RH1 的usb 属性,可以知道:

usb_dev:

product:Net MD/Hi-MD,

manufacturer:Sony,
serial:0200012672F9
number of configuration:1
number of endpoint:2     两个usb端点
endpoint type:2,index:1,direction:80   端点1 ,批量处理模式,方向device -> host ,输入
endpoint type:2,index:2,direction:0     端点2, 批量处理模式,方向host->device ,输出
Dec 23 23:43:33 Dekernel kernel: [   81.213933] NetMD 3-2:1.0: usb_probe_interface
Dec 23 23:43:33 Dekernel kernel: [   81.213936] NetMD 3-2:1.0: usb_probe_interface – got id
Dec 23 23:43:33 Dekernel kernel: [   81.213940] NetMD 3-2:1.0: buffer size:64
Dec 23 23:43:33 Dekernel kernel: [   81.213954] NetMD 3-2:1.0: looking for a minor, starting at 192
Dec 23 23:43:33 Dekernel kernel: [   81.214024] NetMD 3-2:1.0: USB device NETMD attached to USB minor :192
Dec 23 23:43:33 Dekernel kernel: [   81.214048] usbcore: registered new interface driver NetMD
进入最后的攻坚阶段,但写盘有问题  … 坚持啊
./netmd write /media/disk/01-Philosophyz.oma
Found a NetMD device!
Net MD/Hi-MD
Raw title: 1;         ?//2-3;Last regrets / Place of wind which arrives//4;          DISC1//5;     /TORCH//6; Pacific Moon III//7;Dream Port//8;     featured in FINAL FANTASY X//9;colorless wind//
Disc Title: <Untitled>
Size of data: 7471145
Size of data w/ headers: 7474849
Waiting for Sync:
Sending command:
00 18 00 08 00 46 f0 03 01 03 28 ff 00 01 00 10                 …..F�…(�….
01 ff ff 00 94 02 00 00 00 06 00 72 0e a1                       .��.�……r.�
Recieving response:
a1 0e 72 00                                                     �.r.
0f 18 00 08 00 46 f0 03 01 03 28 00 00 01 00 10                 …..F�…(…..
01 00 01 00 94 02 00 00 00 06 00 72 0e a1 00 00                 ….�……r.�..
00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00                 ……..����….
00 00 00 00 f8 7f 06 08 02 00 00 00 f4 01 00 00                 ….�……�…
02 00 00 00 0c 00 00 00 00 00 00 00 50 8f 5a b7                 …………P�Z�
2c fa a0 bf 68 3d 06 08 00 00 00 00 00 00 00 00                 ,���h=……….
02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00                                                           ..
Success for record like commandDiffer: 6
Waiting for Sync:
pos: 90/7471235; remain data: 7471145
Chunksize: 4096
distance_to_header: 0
Bytes left: 7471145
Inserting header
bytes left in chunk: 16128
Sending 4096 bytes to md
00 00 00 00 00 00 3f 00 d4 4b dc aa ef 68 22 e2                 ……?.�Kܪ�h”�
00 00 02 00 52 00 65 00 77 00 72 00 69 00 74 00                 ….R.e.w.r.i.t.
65 00 20 00 4f 00 70 00 65 00 6e 00 69 00 6e 00                 e. .O.p.e.n.i.n.
67 00 20 00 54 00 68 00 65 00 6d 00 65 00 20 00                 g. .T.h.e.m.e. .
73 00 6f 00 6e 00 67 00 20 00 50 00 68 00 69 00                 s.o.n.g. .P.h.i.
6c 00 6f 00 73 00 6f 00 70 00 68 00 79 00 7a 54                 l.o.s.o.p.h.y.zT
43 4f 4e 00 00 00 11 00 00 02 30 dd 30 c3 30 d7                 CON…….0�0�0�
00 20 00 28 4e 00 82 2c 00 29 54 58 58 58 00 00                 . .(N.�,.)TXXX..
00 3b 00 00 02 00 4f 00 4d 00 47 00 5f 00 54 00                 .;….O.M.G._.T.
50 00 45 00 31 00 53 00 00 ff 1f ff 1f ff 1f ff                 P.E.1.S..����
1f ff 1f 30 00 ff 08 ff 2e ff 41 ff 4e ff 4f ff                 �0.�.�.�A�N�O�
53 ff 49 ff 5a ff 45 ff 2d ff 49 ff 52 ff 09 54                 S�I�Z�E�-�I�R�.T
58 58 58 00 00 00 17 00 00 02 00 4f 00 4d 00 47                 XXX……..O.M.G
00 5f 00 54 00 52 00 41 00 43 00 4b 00 00 00 31                 ._.T.R.A.C.K…1
54 58 58 58 00 00 00 61 00 00 02 00 4f 00 4d 00                 TXXX…a….O.M.
47 00 5f 00 41 00 4c 00 42 00 4d 00 53 00 00 ff                 G._.A.L.B.M.S..�
32 ff 45 ff 57 ff 52 ff 49 ff 54 ff 45 30 00 ff                 2�E�W�R�I�T�E0.�
2f ff 50 ff 45 ff 4e ff 49 ff 4e ff 47 30 00 ff                 /�P�E�N�I�N�G0.�
34 ff 48 ff 45 ff 4d ff 45 30 00 ff 53 ff 4f ff                 4�H�E�M�E0.�S�O�
4e ff 47 30 00 ff 30 ff 48 ff 49 ff 4c ff 4f ff                 N�G0.�0�H�I�L�O�
53 ff 4f ff 50 ff 48 ff 59 ff 5a 54 58 58 58 00                 S�O�P�H�Y�ZTXXX.
00 00 23 00 00 02 00 4f 00 4d 00 47 00 5f 00 41                 ..#….O.M.G._.A
00 53 00 47 00 54 00 4d 00 00 00 31 00 35 00 39                 .S.G.T.M…1.5.9
00 38 00 30 00 30 00 30 54 58 58 58 00 00 00 3b                 .8.0.0.0TXXX…;
00 00 02 00 4f 00 4d 00 47 00 5f 00 41 00 54 00                 ….O.M.G._.A.T.
50 00 31 00 53 00 00 ff 1f ff 1f ff 1f ff 1f ff                 P.1.S..�����
1f 30 00 ff 08 ff 2e ff 41 ff 4e ff 4f ff 53 ff                 0.�.�.�A�N�O�S�
49 ff 5a ff 45 ff 2d ff 49 ff 52 ff 09 54 58 58                 I�Z�E�-�I�R�.TXX
58 00 00 00 39 00 00 02 00 4f 00 4d 00 47 00 5f                 X…9….O.M.G._
00 41 00 54 00 50 00 45 00 31 00 00 6c 34 8c 37                 .A.T.P.E.1..l4�7
00 20 74 60 59 48 00 28 00 4e 00 61 00 6e 00 6f                 . t`YH.(.N.a.n.o
00 73 00 69 00 7a 00 65 00 4d 00 69 00 72 00 29                 .s.i.z.e.M.i.r.)
54 58 58 58 00 00 00 2b 00 00 02 00 4f 00 4d 00                 TXXX…+….O.M.
47 00 5f 00 54 00 49 00 54 00 32 00 53 00 00 ff                 G._.T.I.T.2.S..�
30 ff 48 ff 49 ff 4c ff 4f ff 53 ff 4f ff 50 ff                 0�H�I�L�O�S�O�P�
48 ff 59 ff 5a 54 58 58 58 00 00 00 3b 00 00 02                 H�Y�ZTXXX…;…
00 4f 00 4d 00 47 00 5f 00 54 00 52 00 4c 00 44                 .O.M.G._.T.R.L.D
00 41 00 00 00 32 00 30 00 31 00 31 00 2f 00 30                 .A…2.0.1.1./.0
00 31 00 2f 00 30 00 31 00 20 00 30 00 30 00 3a                 .1./.0.1. .0.0.:
00 30 00 30 00 3a 00 30 00 30 54 43 4f 4d 00 00                 .0.0.:.0.0TCOM..
00 09 00 00 02 62 98 62 38 4f 38 53 f8 54 4c 45                 …..b�b8O8S�TLE
4e 00 00 00 0d 00 00 02 00 32 00 39 00 31 00 37                 N……..2.9.1.7
00 31 00 32 54 58 58 58 00 00 00 3f 00 00 02 00                 .1.2TXXX…?….
55 00 53 00 52 00 5f 00 4c 00 32 00 54 00 4d 00                 U.S.R._.L.2.T.M.
44 00 44 00 41 00 00 00 32 00 30 00 31 00 31 00                 D.D.A…2.0.1.1.
2f 00 30 00 31 00 2f 00 33 00 31 00 20 00 32 00                 /.0.1./.3.1. .2.
33 00 3a 00 32 00 32 00 3a 00 31 00 36 47 45 4f                 3.:.2.2.:.1.6GEO
42 00 00 01 ca 00 00 02 62 69 6e 61 72 79 00 00                 B…�…binary..
00 00 4f 00 4d 00 47 00 5f 00 42 00 4b 00 4c 00                 ..O.M.G._.B.K.L.
53 00 49 00 00 00 01 00 40 00 dc 00 70 00 08 00                 S.I…..@.�.p…
00 00 00 00 00 4b 45 59 52 49 4e 47 20 20 20 20                 …..KEYRING
20 00 10 00 03 00 28 00 01 00 03 00 00 00 00 00                  …..(………
00 00 01 00 1d ab 30 9d f0 ce 7d c8 05 3e d9 97                 …..�0���}�.>ٗ
27 4f 85 48 b6 a9 9c 81 f2 ae 66 18 ff 00 00 00                 ‘O�H������f.�…
00 00 00 00 00 45 4b 42 20 00 00 00 00 00 00 00                 …..EKB …….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 01 00 1d 00 00 00 00 39 47 f4                 ………….9G�
0a 33 65 2f 98 71 73 c3 98 68 c5 23 5b 84 20 c8                 .3e/�qsØh�#[� �
cf fb 0e 7f 4e 00 00 00 0c 00 00 00 50 00 00 00                 ��.N…….P…
34 85 14 51 45 04 02 ff fe 00 00 00 00 36 d2 00                 4�.QE..��….6�.
38 74 91 51 9d a7 75 94 70 a0 17 69 da 69 55 ae                 8t�Q��u�p�.i�iU�
a6 9f 6a 3e 69 18 c7 c6 bb d7 cc fb 1b 81 8d a9                 ��j>i.�ƻ���.���
97 90 67 29 5c b7 55 5a ec 21 1b 9e bd d4 7e d9                 ��g)\�UZ�!.���~�
09 79 e0 39 a1 e0 76 68 0d b8 bf ed b0 d3 24 26                 .y�9��vh.�����$&
b8 f7 79 22 bd 46 c9 44 9f df 01 74 c0 00 00 00                 ��y”�F�D��.t�…
08 01 00 00 00 01 00 00 28 db 54 6a c5 e0 4d 4f                 ……..(�Tj��MO
cb f2 46 3b 01 de 2c d0 fb af 7a a7 1e ef 44 29                 ��F;.�,���z��D)
05 97 9d be e7 28 4e a4 53 3a 2f 71 c7 cb 86 58                 .����(N�S:/q�ˆX
39 21 43 49 44 20 20 20 20 20 20 20 20 00 10 00                 9!CID        …
02 00 00 00 00 01 0f 50 00 00 04 00 00 00 a4 d5                 …….P……��
db e3 cf 11 9f db 1c b5 2d 00 00 00 00 00 00 00                 ���.��.�-…….
00 53 48 41 52 45 5f 50 5f 53 49 44 20 00 10 00                 .SHARE_P_SID …
01 01 02 00 00 00 00 00 00 a7 13 c0 94 80 9d 3b                 ………�.���;
d6 21 52 45 46 49 44 20 20 20 20 20 20 00 10 00                 �!REFID      …
01 01 01 00 00 03 01 02 00 00 00 00 00 00 00 00                 …………….
00 a7 0f f6 0b 9e 94 1f 45 00 00 00 00 00 00 00                 .�.�.��E…….
00 47 45 4f 42 00 00 00 5e 00 00 02 62 69 6e 61                 .GEOB…^…bina
72 79 00 00 00 00 4f 00 4d 00 47 00 5f 00 47 00                 ry….O.M.G._.G.
4e 00 4d 00 49 00 44 00 00 33 43 44 33 4e 35 33                 N.M.I.D..3CD3N53
51 32 33 31 36 36 37 37 34 34 56 38 38 42 44 43                 Q231667744V88BDC
37 41 38 30 39 37 42 36 43 46 38 30 43 42 32 38                 7A8097B6CF80CB28
30 32 42 41 39 45 31 31 45 31 31 30 46 50 33 00                 02BA9E11E110FP3.
00 00 00 00 00 00 00 00 00 47 45 4f 42 00 00 00                 ………GEOB…
7a 00 00 02 62 69 6e 61 72 79 00 00 00 00 4f 00                 z…binary….O.
4d 00 47 00 5f 00 4f 00 4c 00 49 00 4e 00 46 00                 M.G._.O.L.I.N.F.
00 30 80 04 4c 30 80 04 10 08 ca 88 c1 38 4d 19                 .0�.L0�…ʈ�8M.
07 e7 da 49 f9 8d 30 d3 52 04 10 01 0f 50 00 00                 .��I��0�R….P..
04 00 00 00 00 00 db e3 cf 11 9f 04 00 04 00 04                 ……���.�…..
00 04 1c 01 00 00 00 00 00 00 00 00 00 55 7b 00                 ………….U{.
00 b1 ff 00 00 e6 02 00 01 22 a4 00 01 78 0e 00                 .��..�…”�..x..
00 04 08 7b 2d 55 c4 3d e0 be 6f 00 00 00 00 00                 …{-U�=��o…..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 45 41                 …………..EA
33 01 00 60 ff ff 00 00 00 00 01 0f 50 00 00 04                 3..`��……P…
00 00 00 a4 d5 db e3 cf 11 9f db 1c b5 2d 00 00                 …�����.��.�-..
20 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00                  0…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
pos: 4178/7471235; remain data: 7467057
Chunksize: 4096
distance_to_header: 12056
Bytes left: 7467057
Sending 4096 bytes to md
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 02                 …………..�.
4e 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 N�…………..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 …………….
Error writing track 110
2/25 更新 :
好像是oma/omg 文件的问题 ,这些文件的格式 好像和AA3 的不一样了,有空我再试试从netmd导出文件 ,在导入进去 ,看是否ok

关于OFDM 调制

N 年前在大学课堂上学的东西今天一次机会又要拿出来仔细研究一下了。

OFDM 差不多是我了解到的最复杂的调制方法了(据说CDMA 更复杂) 先说一下傅立叶变换,我只能用一句书到用时方恨少来形容,当年我认为这个是一片浮云(看不懂的积分运算),谁知他是神器,基本你能想到的自然学科中都能看到他的运用。

傅里叶变换(Transformée de Fourier)在物理学、数论、组合数学、信号处理、概率论、统计学、密码学、声学、光学、海洋学、结构动力学等领域都有着广泛的应用。 傅里叶变换能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。

傅里叶变换是一种解决问题的方法,一种工具,一种看待问题的角度。理解的关键是:一个连续的信号可以看作是一个个小信号的叠加,从时域叠加与从频域叠加都可以组成原来的信号,将信号这么分解后有助于处理。 我们原来对一个信号其实是从时间的角度去理解的,不知不觉中,其实是按照时间把信号进行分割,每一部分只是一个时间点对应一个信号值,一个信号是一组这样的分量的叠加。傅里叶变换后,其实还是个叠加问题,只不过是从频率的角度去叠加,只不过每个小信号是一个时间域上覆盖整个区间的信号,但他确有固定的周期,或者说,给了一个周期,我们就能画出一个整个区间上的分信号,那么给定一组周期值(或频率值),我们就可以画出其对应的曲线,就像给出时域上每一点的信号值一样,不过如果信号是周期的话 ,频域的更简单,只需要几个甚至一个就可以了,时域则需要整个时间轴上每一点都映射出一个函数值。 傅里叶变换就是将一个信号的时域表示形式映射到一个频域表示形式;逆傅里叶变换恰好相反。这都是一个信号的不同表示形式。它的公式会用就可以,当然把证明看懂了更好。 对一个信号做傅立叶变换,可以得到其频域特性,包括幅度和相位两个方面。幅度是表示这个频率分量的大小,那么相位呢,它有什么物理意义?频域的相位与时域的相位有关系吗?信号前一段的相位(频域)与后一段的相位的变化是否与信号的频率成正比关系。 傅立叶变换就是把一个信号,分解成无数的正弦波(或者余弦波)信号。也就是说,用无数的正弦波,可以合成任何你所需要的信号。

想一想这个问题:给你很多正弦信号,你怎样才能合成你需要的信号呢?答案是要两个条件,一个是每个正弦波的幅度,另一个就是每个正弦波之间的相位差。所以现在应该明白了吧,频域上的相位,就是每个正弦波之间的相位。 傅立叶变换用于信号的频率域分析,一般我们把电信号描述成时间域的数学模型,而数字信号处理对信号的频率特性更感兴趣,而通过傅立叶变换很容易得到信号的频率域特性 傅里叶变换简单通俗理解就是把看似杂乱无章的信号考虑成由一定振幅、相位、频率的基本正弦(余弦)信号组合而成,傅里叶变换的目的就是找出这些基本正弦(余弦)信号中振幅较大(能量较高)信号对应的频率,从而找出杂乱无章的信号中的主要振动频率特点。如减速机故障时,通过傅里叶变换做频谱分析,根据各级齿轮转速、齿数与杂音频谱中振幅大的对比,可以快速判断哪级齿轮损伤。

 

然后再看看什么叫正交(注意,这里的正交是指的频域曲线的正交,要和QAM调制中的正交区分哦),图a 中一共有5个频率的正弦波,从绿色到蓝色周期分别是1,2,3,4,5。注意到相邻两个频率的波相差一个周期。这样的一些波分别进行傅立叶变换(即时域变频域)就可以得到图b。注意到5个频率的波都各自有一个峰值,而各自的峰值相对于另外几个频率的波在此频率的分量都为0!!

这就是所谓的正交,用积分表达就是:

#################################################################################

说完正交和傅里叶变换 ,再来看看ODFM系统的工作过程。

1.将信源进行分组(串并转换)并送入QAM 进行星座图映射,进行DA获得基带信号。

2.将第一步已经映射过的信源码分组传入IFFT调制(需要等待另外几个信源码分组到达),获得并行的几组时域信号。将这些并行的时域信号叠加(并串转换),这样就完成了信源数据由频谱采样到时域采样的转换。

3.将第三步的时域采样再次进行DA,通过RF发射出去。

接收端按照上述过程反过来就能实现ODFM解调。

IFFT实际上是把调制的数据变换到时间域,待传输的数据实际上是被看做各子载波的幅度因子,如果是BPSK,则1BIT对应一个幅度因子,也就是对应一个子载波。如果QPSK则,2BIT对应一个幅度因子,如果是QAM则编码率更高。这些复数都可以看做是在频谱上在各个子载波峰值处对各子载波进行采样。也就是说这些复数实际上表示的是对OFDM信号频谱的采样,对其进行IFFT变换得到的是什么呢?当然就是OFDM信号时间的采样值。再对该时域信号进行DA变换,变为模拟信号。

折腾PS3 放高清

目前支持的视频媒体封装与编码
封装格式 视频编码 音频编码 字幕
AVI Xvid/DivX AC3/MP3
MP4 AVC/Xvid/DivX AAC ×
MPG MPEG-2/1 AC3/AAC ×
WMV WMV9/VC-1 WMA[2ch] ×
TS MPEG-2/AVC AC3/LPCM ×
VOB MPEG-2/AVC AC3/LPCM ×
M2TS AVC AC3/LPCM ×
BD/AVCHD AVC/VC-1/MPEG-2 AC3/DTS/EAC3/DTS-HD-HRA/TrueHD/DTS-HD-MA/LPCM

可支持的视频编码

AVC/ASP
h.264又称为AVC[Advance Video Coding],现在的高清视频大部分是这个编码
ASP为AVC的简级[Simple Profile],主要是移动设备的视频编码,如3GP视频

VC-1/WMV9
VC-1全称[Video Codec 1],是基于wmv9的高清视频编码格式
wmv全称[Windows Media Video 9],微软的东西就不多说了

Xvid/DivX
这两个编码都是基于mpeg-4编码的延伸,有部分基于h.263的技术指标
总得来说Xvid强于DivX,dvdrip中目前流行度最高的编码

MPEG-2/1
MPEG-2的视频编码标准等同于H.262标准,是DVD视频的编码形式
至于MPEG-1则是VCD时代的产物了

可支持的音频编码

PCM全称[Linear Pulse Code Modlation]
DTS全称[Digital Theatre System]
AC3全称[Dolby Digital AC-3]
AAC全称[Advance Audio Coding]
MP3全称[MPEG-1 Audio Layer3]
WMA全称[Windows Media Audio]
音频分为无损和有损两种类别,不再赘述
各种音频编码也有不同的规格,不再赘述

可支持的字幕形式
视频要实现字幕可以有三种形式:外挂字幕、内封字幕、内嵌字幕
外挂字幕:字幕未封包到视频媒体中,字幕可以开关,PS3的XMB不支持该种方式
内封字幕:字幕已封包到视频媒体中,字幕可以开关,PS3播放AVI和BD-5/9支持该种方式
内嵌字幕:通过视频重编码把字幕转换为画面的一部分,就是所谓的硬字幕[上面两种是软字幕]

AVI支持内封字幕,图片形式的字幕。该封装在PS3上只兼容Xvid/DivX编码
蓝光规格[BD和BD-5/9]支持内封字幕,图片形式的字幕。制作要求高,必须符合蓝光标准才可以显示字幕
PS3实现软字幕支持至少要求XMB版本2.20以上
播放时按三角,点击省略号即可选字幕

可支持的播放形式

DVD/BD视频光碟播放(物理碟片)
方式:DVD/BD 原盘或原盘的刻录盘,用PS3加载播放
优点:最正宗的高清方案没什么好说的。
缺点:原盘要花笔钱,刻录设备也不便宜
补充:蓝光模式视频时因字幕原因需要以UDF2.5模式刻录

注意这里所说的DVD/BD光碟都是物理盘片+标准目录+标准封装格式+对应的编码,而不是像后面所说的miniBD,AVCHD 等模拟光碟

网络挂载播放
方式:通过网络媒体服务器等软件传输播放
优点:无须拷贝
缺点:无法支持蓝光软字幕;带宽限制较大
补充:建议用有线方式播放,不建议拷贝,尤其是大于4G的文件

内置硬盘播放
方式:通过移动磁盘设备或光碟或网络方式传输进PS3硬盘,然后进行播放
优点:带宽足播放稳定
缺点:无法支持蓝光软字幕;拷贝耗时
补充:如果已拷贝进硬盘的大于4G文件目前是无法再复制出来的。通过FTP可以但要手动定位(已重新索引)文件。

外置磁盘播放(USB-storage,MS,SD)

有两种方式:

XMB:
方式:通过移动磁盘连接播放(放在移动磁盘根目录VIDEO文件夹或放任意位置按三角点选全部显示)
优点:带宽足播放稳定;支持两种软字幕
缺点:需要额外设备;不支持单个4G以上文件;拷贝耗时
补充:请以FAT32格式移动磁盘,PS3只识别一个fat32分区

光盘模拟方式:

详见后文

视频碟化储存说明(刻录盘,DIY)

Data Disk
数据格式的碟,就是把视频媒体按数据形式刻录
PS3读取可以识别其目录和文件,若是支持的媒体即可播放(不支持软字幕)

DVD/BD/AVCHD
官方标准的光储存视频媒体形式,支持软字幕
此类为有版权或无版权的标准拷贝的光储存媒体

#######################################################################

关于外置硬盘播放高清最好的方式是模拟BD 。所谓的模拟就好像真的塞入一张BD盘片一样,在XMB直接一键播放(不用选择文件),可以播放选单,选择字幕等等。这类模拟BD对应在PS3 中名字叫 AVCHD(就是sony和松下高清摄像机的标准)。

另需说明  BD-5/9,RBD,miniBD 这些非BD盘高清都是遵循AVCHD规范,

实现方法是:

step1. 如果有BD原盘直接copy原盘所有目录到外置磁盘根目录AVCHD。

step2. AVCHD的文件目录和BD原盘目录结构是完全一样的。但也是有区别的,就在BDMV目录下index.bdmv和MovieObject.bdmv里,内容上有几个字节的差异。解决方法是把index.bdmv 拖到一个软件“AVCHD patcher 上面”,并勾选HDD。

step3. AVCHD/BDMV对应硬盘方式播放还要对文件名进行修改

这个原因是外置的只能识别8.3 文件名规则。有2个工具可以自动进行修改:bd.usb,AVCHD Me

注意,移动磁盘不能播放带bd-java的菜单的,其余全部正常

 

 

补充ps3下cell架构的播放器 showtime ,下载地址https://github.com/andoma/showtime/downloads

补充webman混合系统播放BDISO的方法:必须是udf 2.5镜像,放入BDISO目录即可。

linux 下安全证书管理

linux 下使用安全证书相对比较麻烦,不同的安全套件,没有gui配置界面……

其实使用安全证书对我而言也就是网上银行而已。 firefox 和chrome是我用过的两款浏览器,就在这两个平台上搞吧。

首先要安装这些包:

mozilla-nss                         | Network Security Services
mozilla-nss-certs              | CA certificates for NSS
mozilla-nss-devel              | Network (Netscape) Security Services development files
mozilla-nss-tools              | Tools for developing, debugging, and managing applications that use NSS

没错,都是mozilla基金的东西,但不用担心,chrome也使用他们而没有重新发明轮子。

1.首先创建一个nss数据库:

certutil -N -d ~/.pki/nssdb     #之所以是这个路径是因为firefox和chrome都默认从这里找证书

-N表示新建安全数据库,-d指定数据文件目录,执行完毕后出现3个数据库文件:

cert8.db ,key3.db, secmod.db

2.导入CA 证书:

curl -k -o "cacert-root.crt"   "http://www.cacert.org/certs/root.crt"
curl -k -o "cacert-class3.crt" "http://www.cacert.org/certs/class3.crt"
certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "CAcert.org" -i cacert-root.crt
certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "CAcert.org Class 3" -i cacert-class3.crt

-A表示新增,-t 表示导入证书的类型,后面详解。-n 表示证书别名(在-L 选项中显示和在浏览器看到),-i表示证书文件的路径。

certutil -d sql:$HOME/.pki/nssdb -A -t TC -n “CA-Name” -i /path/to/file

3.显示所有已导入证书:

certutil -L -d sql:/root/.pki/nssdb/
Certificate Nickname                                         Trust Attributes
SSL,S/MIME,JAR/XPI
le-e70c91a0-461d-45e9-b3e2-1b038274c136                      u,u,u
CAcert.org                                                   CT,,
CAcert.org Class 3                                           CT,,
ABC                                                          CT,C,C
http://www.95599.cn                                                 CT,,
alibaba_ca                                                   CT,C,C
alibaba_user_ca                                              CT,C,C
alibaba_mechine_ca                                           CT,C,C
{D7EC8906-1E2A-425F-A3F8-C0E55FF8DFAF}                       u,u,u

左列是别名,右边是信任属性:

p    Valid peer
P    Trusted peer (implies p)
c    Valid CA
T    Trusted CA to issue client certs (implies c)
C    Trusted CA to issue server certs(for ssl only) (implies c)
u    User cert
w    Send warning

4. 查看某个证书详细信息:

certutil -L -d sql:/root/.pki/nssdb/ -n ABC  #用-n指定别名就行

Certificate:
Data:
Version: 3 (0x2)
Serial Number:
7b:97:ca:10:27:5a:00:00:00:01
Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption
Issuer: “O=ABC,CN=ABC”
Validity:
Not Before: Mon Aug 11 05:38:49 2003
Not After : Fri Aug 11 05:38:49 2023
Subject: “O=ABC,CN=ABC”
Subject Public Key Info:
Public Key Algorithm: PKCS #1 RSA Encryption
RSA Public Key:
Modulus:
ff:fd:2e:56:6d:e2:d4:4c:48:2e:23:c7:e2:10:b2:96:
54:5e:a0:3e:cf:97:cc:0e:b1:fd:81:8b:98:33:93:5a:
96:20:e9:0e:b1:5d:31:0c:5a:68:a2:5e:a8:6d:77:39:
9c:59:77:d5:56:a9:20:f6:d1:0a:19:89:68:d4:7f:4d:
7b:74:20:ca:0f:0c:c7:d7:31:6a:18:27:32:97:6a:92:
0a:30:63:96:68:c0:5b:00:c2:79:58:a6:f7:1b:b9:06:
5a:a7:df:09:24:5e:a5:2d:45:90:85:5f:e8:e8:c9:a5:
c4:dc:04:74:2c:ea:5f:9a:36:4e:60:f1:3e:bd:45:d5
Exponent: 65537 (0x10001)
Signed Extensions:
5.删除指定证书:
certutil -D -n <the name> -d sql:$HOME/.pki/nssdb
6.导入个人证书和私钥:
这类证书主要是实名认证和网银的个人证书:
pk12util -d sql:$HOME/.pki/nssdb -i PrivateKey.pfx

PS: 获得证书的方法除了通过chrome export 外,也可以用以下的脚本做到:
#!/bin/sh
#
# usage:  import-cert.sh remote.host.name [port]
#
REMHOST=$1
REMPORT=${2:-443}
exec 6>&1
exec > $REMHOST
echo | openssl s_client -connect ${REMHOST}:${REMPORT} 2>&1 |sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'
certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "$REMHOST" -i $REMHOST 
exec 1>&6 6>&-

了解了上述内容是不是要准备把CNNIC的根证书和其他流氓机构颁发的证书全都清理掉呢?
别急,其实上述certutil工具是完全无法移除这些流氓证书的。不信,你用certutil是查看不到这些流氓的。原因是certutil只能对用户自己导入的证书做管理(e.g 就是$HOME/.pki/nssdb这里),而无法管理系统自带的证书。在chrome等浏览器里面可以看到这些系统自带证书,但也无法管理。那么系统自带的证书在哪里?

其实系统自带的证书就是mozilla-nss-certs这个包里的证书:
#rpm -ql mozilla-nss-certs
/usr/lib64/libnssckbi.so
不过这里无法这接去对它做删除,因为他是打包成了动态连接库的形式,只能去下载mozilla-nss的源码包修改后再编译。具体方法如下:

去http://www.mozilla.org/projects/security/pki/nss/下载源码或去下载发行版的SRPM

解压并编辑文件:

nss/lib/ckfw/builtins/certdata.txt

将下面的内容完全删除然后在编译即可(过程很漫长~~);

#
# Certificate "CNNIC ROOT"
#
CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
CKA_TOKEN CK_BBOOL CK_TRUE
CKA_PRIVATE CK_BBOOL CK_FALSE
CKA_MODIFIABLE CK_BBOOL CK_FALSE
CKA_LABEL UTF8 "CNNIC ROOT"
CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
CKA_SUBJECT MULTILINE_OCTAL
6062611360110603\12504062302\103\11661
1660140603\12504122305\103\116\116\111\10361
2360210603\12504032312\103\116\116\111\10340
\122\117\117\124
END
CKA_ID UTF8 "0"
CKA_ISSUER MULTILINE_OCTAL
6062611360110603\12504062302\103\11661
1660140603\12504122305\103\116\116\111\10361
2360210603\12504032312\103\116\116\111\10340
\122\117\117\124
END
CKA_SERIAL_NUMBER MULTILINE_OCTAL
0204\111630001
END
CKA_VALUE MULTILINE_OCTAL
60\20203\12560\2020275\240030201020204\111
6300016015061152\206\110\206\36715010105
05006062611360110603\12504062302\103
\116611660140603\12504122305\103\116\116\111
\103612360210603\12504032312\103\116\116\111
\10340\122\117\117\12460362715606760646166
606760716164\132271562676064616660
6760716164\1326062611360110603\12504
062302\103\116611660140603\12504122305
\103\116\116\111\103612360210603\12504032312
\103\116\116\111\10340\122\117\117\12460\20201426015
061152\206\110\206\36715010101050003\20201
170060\202011202\202010100\32365\36777\163
\167\255\350\133\16327\302\321\157\355\125\274\156\352\350\244
\171\262\154\303\243\357\341\237\26173\110\205\365\232\13441
422054\305\202\316\332\343\232\15667\341\20754\334\271
14\132\272\210\125\337\375\252\3333761\35201\361\33771
01\30123\375\110\12241\304\125\337\332\330\263\124\166\272
\164\261\267\175\327\300\350\366\131\305\115\310\275\2553724
\332\337\130\10445623152\307\176\176\216\25670\26060
\173\107\1621161\36060\333\30333\16651\273\151\166\116
\127\37133\144\242\223\126\267\157\231\156\3331204\23421
\343\20037\313\143\2242012\251\341\144\20261\371\21447
\355\246\23100\366\160\22330\370\24164\206\243\335\172\302
30\171\366\172\14565\317\220\353\27563\223\237\123\253\163
73\346\23364405735\357\25135\14332\240\200\33303
57\3714632\206\322\215\273\251\276\12272\207\147\11015
\277\264\240\33046\27643\137\16367\17746\346\22204\243
\177\31740\247\267\36372\312\313\231\3130203010001
\243\16360\16160210611\140\206\11001\206\370\10201
0104040302000760370603\12535430430
6026\20024\145\36261\25552\367\367\335\122\22612\307
02\30116\357\246\325732160170603\125352301
01\377040560030101\37760130603\1253517
0404030201\37660350603\1253516042604
24\145\36261\25552\367\367\335\122\22612\30702\30116
\357\246\32573216015061152\206\110\206\3671501
0105050003\202010100\11365\356\314\344\256\277
\303\156\255\237\22573\11377\13336\337\12751\242\131\312
70\342\27132\377\236\346\15662\33536\256\35265\267\365
\223\221\116\332\102\341\30327\140\120\362\321\13446\271\202
\267\352\155\344\234\204\34703\17127\257\23075\224\333\307
\27200\347\270\27701\127\301\167\105621473\361\26434
10\260\375\121\240\241\335\232352366\232\155\267\30774
\271\341\305\33127\372\203\3257525\24074\2733613\342
\310\22077\250\20614\374\371\213\136\205\313\117\133\113\142
21\107\305\105\1740557\101\261\23620\15133\231\226\340
\125\171\373\116\206\231\270\224\332\20670\152\223\243\347\313
\156\345\337\35241\125\211\234\175\175\177\230\36500\211\356
\343\204\300\134\226\265\305\106\352\106\340\205\125\26633\311
22\326\301\315\315\200\363020174\310\151\313\105\110\143
\330\224\320\354\2051673\11621\145\364\202\214\24675\256
5642\22411\310\134\35274\201\135265203\22726\125
11\333\212\101\202\236\146\23321
END

# Trust for Certificate "CNNIC ROOT"
CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
CKA_TOKEN CK_BBOOL CK_TRUE
CKA_PRIVATE CK_BBOOL CK_FALSE
CKA_MODIFIABLE CK_BBOOL CK_FALSE
CKA_LABEL UTF8 "CNNIC ROOT"
CKA_CERT_SHA1_HASH MULTILINE_OCTAL
\213\257\114\23335\36052\222\367\33222\216\27133\254\364
\230\140\113\157
END
CKA_CERT_MD5_HASH MULTILINE_OCTAL
41\274\202\253\111\3042373\113\26253\134\153\220\23431
END
CKA_ISSUER MULTILINE_OCTAL
6062611360110603\12504062302\103\11661
1660140603\12504122305\103\116\116\111\10361
2360210603\12504032312\103\116\116\111\10340
\122\117\117\124
END
CKA_SERIAL_NUMBER MULTILINE_OCTAL
0204\111630001
END
CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE

#
# Certificate "China Internet Network Information Center EV Certificates Root"
#
# Issuer: CN=China Internet Network Information Center EV Certificates Root,O=China Internet Network Information Center,C=CN
# Serial Number: 1218379777 (0x489f0001)
# Subject: CN=China Internet Network Information Center EV Certificates Root,O=China Internet Network Information Center,C=CN
# Not Valid Before: Tue Aug 31 07:11:25 2010
# Not Valid After : Sat Aug 31 07:11:25 2030
# Fingerprint (MD5): 55:5D:63:00:97:BD:6A:97:F5:67:AB:4B:FB:6E:63:15
# Fingerprint (SHA1): 4F:99:AA:93:FB:2B:D1:37:26:A1:99:4A:CE:7F:F0:05:F2:93:5D:1E
CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
CKA_TOKEN CK_BBOOL CK_TRUE
CKA_PRIVATE CK_BBOOL CK_FALSE
CKA_MODIFIABLE CK_BBOOL CK_FALSE
CKA_LABEL UTF8 "China Internet Network Information Center EV Certificates Root"
CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
CKA_SUBJECT MULTILINE_OCTAL
60\201\212611360110603\12504062302\103\116
616260600603\12504121451\103\150\151\156\141
40\111\156\164\145\162\156\145\16440\116\145\164\167\157\162
\15340\111\156\146\157\162\155\141\164\151\157\15640\103\145
\156\164\145\16261\10760\1050603\12504031476\103
\150\151\156\14140\111\156\164\145\162\156\145\16440\116\145
\164\167\157\162\15340\111\156\146\157\162\155\141\164\151\157
\15640\103\145\156\164\145\16240\105\12640\103\145\162\164
\151\146\151\143\141\164\145\16340\122\157\157\164
END
CKA_ID UTF8 "0"
CKA_ISSUER MULTILINE_OCTAL
60\201\212611360110603\12504062302\103\116
616260600603\12504121451\103\150\151\156\141
40\111\156\164\145\162\156\145\16440\116\145\164\167\157\162
\15340\111\156\146\157\162\155\141\164\151\157\15640\103\145
\156\164\145\16261\10760\1050603\12504031476\103
\150\151\156\14140\111\156\164\145\162\156\145\16440\116\145
\164\167\157\162\15340\111\156\146\157\162\155\141\164\151\157
\15640\103\145\156\164\145\16240\105\12640\103\145\162\164
\151\146\151\143\141\164\145\16340\122\157\157\164
END
CKA_SERIAL_NUMBER MULTILINE_OCTAL
0204\110\2370001
END
CKA_VALUE MULTILINE_OCTAL
60\20203\36760\20202\337\240030201020204\110
\23700016015061152\206\110\206\36715010105
050060\201\212611360110603\12504062302
\103\116616260600603\12504121451\103\150\151
\156\14140\111\156\164\145\162\156\145\16440\116\145\164\167
\157\162\15340\111\156\146\157\162\155\141\164\151\157\15640
\103\145\156\164\145\16261\10760\1050603\125040314
76\103\150\151\156\14140\111\156\164\145\162\156\145\16440
\116\145\164\167\157\162\15340\111\156\146\157\162\155\141\164
\151\157\15640\103\145\156\164\145\16240\105\12640\103\145
\162\164\151\146\151\143\141\164\145\16340\122\157\157\16460
362715616060706361606761616265\132
2715636060706361606761616265\13260
\201\212611360110603\12504062302\103\11661
6260600603\12504121451\103\150\151\156\14140
\111\156\164\145\162\156\145\16440\116\145\164\167\157\162\153
40\111\156\146\157\162\155\141\164\151\157\15640\103\145\156
\164\145\16261\10760\1050603\12504031476\103\150
\151\156\14140\111\156\164\145\162\156\145\16440\116\145\164
\167\157\162\15340\111\156\146\157\162\155\141\164\151\157\156
40\103\145\156\164\145\16240\105\12640\103\145\162\164\151
\146\151\143\141\164\145\16340\122\157\157\16460\2020142
6015061152\206\110\206\36715010101050003
\20201170060\202011202\202010100\233\176\163
\356\27573\170\252\144\103\101\365\120\337\224\36256\262\215
\112\216\106\124\3224122\3107162\10206\351\203\325\237
\122\355\345\1470373\124\301\214\231\231\314\351\30017\377
15\331\20421\262\270\321\313\133\33436\371\15061\144\341
\233\372\164\353\150\27140\225\367\30617\215\107\254\13206
\335\141\253\342\354\330\2372755\234\3127465\227\125\161
\315\103\205\261\10726\36554\123\200\166\317\32300\144\275
\100\231\335\314\330\333\304\237\32623\137\101\203\213\37115
\207\222\12664\15432201327\325\13234\227\130\20474
\2043256\134\22164\15631\137\17727\151\305\145\357\153
41\306\325\12072\277\141\27105\215\357\1576472\262\157
24\143\2772673\233\25152\375\2675370\14606\30554
\342\252\14736\105\247\21504\146\102\366\21753\357\21040
\151\21762\21424\163\33253\206\221\14342\232\362\247\333
\316\211\213\253\135\30724\301\13360\15237\261\267\23656
\2010102\355\317\226\136\143\333\250\34670\267020301
0001\243\14360\14160370603\1253543043060
26\20024\174\162\11371\307\300\333\142\245\117\233\25230
64\222\242\312\203\202\13160170603\12535230101
\377040560030101\37760160603\125351701
01\37704040302010660350603\125351604
260424\174\162\11371\307\300\333\142\245\117\233\25230
64\222\242\312\203\202\1316015061152\206\110\206\367
15010105050003\20201010052\303\307\10367
\217\335\255\244\26214\356\33424\155\21750\244\230\111\313
14\200\352\363\35543\146\165\175\305\32341\147\171\321\163
\305\26503\267\130\25414\12457\306\126231761\33206
\347\1457335\15766\333\31035\371\375\20006\312\24375
\14626\250\235\11426\175\300\225\106\265\121\344\34237\327
\35206\115\143\215\226\214\357\34763\127\10272\353\214\301
\171\310\115\166\175\336\366\261\267\201\340\240\371\241\170\106
2732\126\230\360\11675\25334\355\35471\33407\110\367
\143\37606\256\302\244\134\152\13362\210\305\30763\205\254
\146\102\107\302\13044\231\341\34576\345\16554\216\103\326
\13574\17036\250\225\20251\120\321\32126\272\357\301\276
\172\331\264\330\31436\114\106\341\167\26161\253\27552\310
\316\217\156\241\135\17703\16564\344\255\211\105\124\136\276
\25650\245\27377\170\171\353\163\2631215\375\276\311\367
\126\254\366\267\35557\2334151\30770\266\225\30404\362
\30355\3752452\220\231\27107\314\237
END

# Trust for "China Internet Network Information Center EV Certificates Root"
# Issuer: CN=China Internet Network Information Center EV Certificates Root,O=China Internet Network Information Center,C=CN
# Serial Number: 1218379777 (0x489f0001)
# Subject: CN=China Internet Network Information Center EV Certificates Root,O=China Internet Network Information Center,C=CN
# Not Valid Before: Tue Aug 31 07:11:25 2010
# Not Valid After : Sat Aug 31 07:11:25 2030
# Fingerprint (MD5): 55:5D:63:00:97:BD:6A:97:F5:67:AB:4B:FB:6E:63:15
# Fingerprint (SHA1): 4F:99:AA:93:FB:2B:D1:37:26:A1:99:4A:CE:7F:F0:05:F2:93:5D:1E
CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
CKA_TOKEN CK_BBOOL CK_TRUE
CKA_PRIVATE CK_BBOOL CK_FALSE
CKA_MODIFIABLE CK_BBOOL CK_FALSE
CKA_LABEL UTF8 "China Internet Network Information Center EV Certificates Root"
CKA_CERT_SHA1_HASH MULTILINE_OCTAL
\117\231\252\223\37353\3216746\241\231\112\316\177\36005
\362\223\13536
END
CKA_CERT_MD5_HASH MULTILINE_OCTAL
\125\135\14300\227\275\152\227\365\147\253\113\373\156\14325
END
CKA_ISSUER MULTILINE_OCTAL
60\201\212611360110603\12504062302\103\116
616260600603\12504121451\103\150\151\156\141
40\111\156\164\145\162\156\145\16440\116\145\164\167\157\162
\15340\111\156\146\157\162\155\141\164\151\157\15640\103\145
\156\164\145\16261\10760\1050603\12504031476\103
\150\151\156\14140\111\156\164\145\162\156\145\16440\116\145
\164\167\157\162\15340\111\156\146\157\162\155\141\164\151\157
\15640\103\145\156\164\145\16240\105\12640\103\145\162\164
\151\146\151\143\141\164\145\16340\122\157\157\164
END
CKA_SERIAL_NUMBER MULTILINE_OCTAL
0204\110\2370001
END
CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE

另外还有个包ca-certificates-mozilla ,他主要是安装一些.pem证书文件供/etc/ssl/certs作软链接。也就是为一些命令行程序如wget,curl使用。对浏览器没有影响。

另外一个问题我曾经有个疑问,为什么mozilla会把一些过期或已吊销的证书打包进去? 后来才明白这是避免你再次将过期或吊销的证书再次安装,干脆直接把无效证书放进去占个位子,免得有其他伪造的证书来钻空子。所以过期或已吊销证书还是不要删掉吧。

update 2015/1/4:

升级opensuse13.2之后又多了一个wosign china,估计也不是什么好鸟,同样也去掉吧。另外编译srpm的时候需要mozilla-nspr-devel rpm。