英特尔在新一代 Haswell 处理器平台中,放弃传统的低电压差动讯号接口(LVDS),全面转向支持嵌入式数码音视讯传输接口( Embedded DisplayPort,eDP ),从 Haswell 起,大部分笔记本内建显示器的连接类型( connector type )已经采用 eDP ,但是 AppleIntelFramebufferAzul 中ig-platform-id 所在 port 0000 上面的 connector type 全是 LVDS( 02000000 ),实际上 LVDS 和 eDP 都可以驱动笔记本的内建显示器, 不过两个接口之间有较大的区别,所以还是有必要对连接类型做修正,此外该方法还可用于解决 HDMI/DP 外接屏幕无音频输出问题。
1、eDP 与 LVDS 比较
名称 | eDP | LVDS |
---|---|---|
数据&时钟线 | 1-4对数据线,没有单独时钟线 | 较多的数据线,单独的时钟线 |
比特率/每对线 | 1.6,2.7,5.4Gbps | 945Mbps |
总容量 | 1.6-21.6Gbps | 7.56Gbps |
时钟线 | 嵌入式 | 每个通道有单独的时钟线 |
传输类型 | 封包的音视频和其他传输数据,可扩展格式 | 仅限未压缩视频信号 |
双向数据通道 | 1Mbps or 720Mbps | 100kbps |
信道编码 | ANSI 8B/10B | Serialized ad 7x pixel clock ratae |
内容保护 | HDCP | None |
- eDP 接口优点:
- 封包结构,能够实现多数据的同时传输
- 较大的传输速率,4lanes 高达 21.6Gbps
- 较小的尺寸,利于产品的轻薄化
- 较小的EMI(电磁干扰)
- 强大的版权保护功能
2、eDP 架构
2.1、Main Link:
- 用来传输各类型视频数据和音频数据;
- 由 1-4 对 lanes 组成,每条 lane 都是一对差分线;
- 采用交流耦合技术,发送端和接收端有不同的共模电压,因此可以把接口做的更小;
- 每条线路现在的传输速率为:1.62/2.7/5.4Gbps;
- 每条数据都是数据线,没有时钟线,减小了 EMI;
- 采用 ANXI 8B/10B 编码,提高数据传输正确性
2.2、AUX CH:辅助通道
- 用于传输小带宽需求的数据,链路管理和设备控制;
- 采用交流耦合差分传输方式,是一条双向半双工传输通道 ;
- 采用 ManchesterII 编码 ;
- 提供 1Mbps 的传输速率和 15m 的传输距离 ;
- 低延时,每个传输任务都有时间要求小于500us
2.3、HPD:热插拔检测通道
- 一条单向通道,用于检测上层设备和下层设备是否连接,进而实现线路的连接和中断
2.4、EDID:扩展显示表示数据
- 用来存储显示器参数
2.5、DPCD:eDP 配置数据
- 与链路管理层相连用于链路的配置
3、查看内屏接口类型
3.1、硬件接口类型
ubuntu下终端输入 xrandr
,得到如下结果,connected primary
行 eDP
即为笔记本内屏连接类型
Screen 0: minimum 320 x 200, current 2560 x 1440, maximum 3200 x 2000 |
3.2、在 macOS 下的接口类型
查看在 macOS 下内屏接口类型
- 通过 IORegistryExplorer 软件查看显卡( IGPU )下
AppleIntelFramebuffer@0
的connector-type
- 接口类型及数值参考,如果与 ubuntu 下显示类型相同则无须更改,如有差异可通过如下方法修正。
连接类型( connetor type ) | 数值( Data ) |
---|---|
LVDS | 02 00 00 00 |
eDP | 00 04 00 00 |
DP | 00 04 00 00 |
HDMI | 00 08 00 00 |
DVI | 00 02 00 00 |
4、确认加载的显卡驱动
4.1、查看显卡驱动
打开系统信息->功能扩展
查看自己笔记本加载的显 AppleIntelFramebuffer 驱动,如图记住 AppleIntelFramebufferAzul
4.2、查看显卡驱动 id
通过 IORegistryExplorer 软件查看显卡( IGPU )下 IGPU@
的 ig-platform-id
,记录 08 00 2e 0a
5、修正接口类型 connector type
5.1、查看驱动源码
在 mac 终端,通过以下命令查看 AppleIntelFramebufferAzul 二进制代码,命令路径根据实际更改
hexdump -C /System/Library/Extensions/AppleIntelFramebufferAzul.kext/Contents/MacOS/AppleIntelFramebufferAzul |
5.2、获取驱动 id
得到如下二进制表,Command+F
查找前面找到的 ig-platform-id
值 08 00 2e 0a
5.3、驱动 id 解释
08 00 2e 0a 01 03 03 03 00 00 00 04 00 00 20 02 |
08 00 2e 0a ig-platform-id |
5.4、修改接口类型
通过在 config.plist 文件中加入 KextsToPatch 项,Find
为查找字段,Replace
为更正字段,Name
值为对应的驱动名字。
Comment:eDP port fix |
6、转换表
附上十六进制(Hex*)与字符(ASCII)转换表
十六进制(Hex*) | ASCII(字符) | 含义 |
---|---|---|
0 | NUL(null) | 空字符 |
1 | SOH(start of headling) | 标题开始 |
2 | STX (start of text) | 正文开始 |
3 | ETX (end of text) | 正文结束 |
4 | EOT (end of transmission) | 传输结束 |
5 | ENQ (enquiry) | 请求 |
6 | ACK (acknowledge) | 收到通知 |
7 | BEL (bell) | 响铃 |
8 | BS (backspace) | 退格 |
9 | HT (horizontal tab) | 水平制表符 |
0A | LF (NL line feed, new line) | 换行键 |
0B | VT (vertical tab) | 垂直制表符 |
0C | FF (NP form feed, new page) | 换页键 |
0D | CR (carriage return) | 回车键 |
0E | SO (shift out) | 不用切换 |
0F | SI (shift in) | 启用切换 |
10 | DLE (data link escape) | 数据链路转义 |
11 | DC1 (device control 1) | 设备控制1 |
12 | DC2 (device control 2) | 设备控制2 |
13 | DC3 (device control 3) | 设备控制3 |
14 | DC4 (device control 4) | 设备控制4 |
15 | NAK (negative acknowledge) | 拒绝接收 |
16 | SYN (synchronous idle) | 同步空闲 |
17 | ETB (end of trans. block) | 传输块结束 |
18 | CAN (cancel) | 取消 |
19 | EM (end of medium) | 介质中断 |
1A | SUB (substitute) | 替补 |
1B | ESC (escape) | 溢出 |
1C | FS (file separator) | 文件分割符 |
1D | GS (group separator) | 分组符 |
1E | RS (record separator) | 记录分离符 |
1F | US (unit separator) | 单元分隔符 |
20 | (space) | 空格 |
21 | ! | |
22 | “ | |
23 | # | |
24 | $ | |
25 | % | |
26 | & | |
27 | ‘ | |
28 | ( | |
29 | ) | |
2A | * | |
2B | + | |
2C | , | |
2D | - | |
2E | . | |
2F | / | |
30 | 0 | |
31 | 1 | |
32 | 2 | |
33 | 3 | |
34 | 4 | |
35 | 5 | |
36 | 6 | |
37 | 7 | |
38 | 8 | |
39 | 9 | |
3A | : | |
3B | ; | |
3C | < | |
3D | = | |
3E | > | |
3F | ? | |
40 | @ | |
41 | A | |
42 | B | |
43 | C | |
44 | D | |
45 | E | |
46 | F | |
47 | G | |
48 | H | |
49 | I | |
4A | J | |
4B | K | |
4C | L | |
4D | M | |
4E | N | |
4F | O | |
50 | P | |
51 | Q | |
52 | R | |
53 | S | |
54 | T | |
55 | U | |
56 | V | |
57 | W | |
58 | X | |
59 | Y | |
5A | Z | |
5B | [ | |
5C | \ | |
5D | ||
5E | ^ | |
5F | _ | |
60 | ` | |
61 | a | |
62 | b | |
63 | c | |
64 | d | |
65 | e | |
66 | f | |
67 | g | |
68 | h | |
69 | i | |
6A | j | |
6B | k | |
6C | l | |
6D | m | |
6E | n | |
6F | o | |
70 | p | |
71 | q | |
72 | r | |
73 | s | |
74 | t | |
75 | u | |
76 | v | |
77 | w | |
78 | x | |
79 | y | |
7A | z | |
7B | { | |
7C | \ | |
7D | } | |
7E | ~ | |
7F | DEL (delete) | 删除 |