本帖最后由 luckylz 于 2012-4-13 11:44 编辑
【AMS1061概况介绍】
最近入手一张ASM1061芯片的PCI-E 1X桥接2*SATA扩展卡,支持2路eSATA或2路SATA(用跳线实现切换),可以完美支持Mac OS X Lion!对于硬盘位不够用、没有USB3.0接口、而且消费不起高档raid卡的同学,可以说是大大的福音!毕竟很便宜:价格相当于一条中南海8mg的香烟,有兴趣的朋友自行淘宝:ASM1061。
我原先是在外网上看到:http://www.insanelymac.com/forum/index.php?showtopic=265281,说是原生支持Mac系统,果断拍下!![](//pubimage.360doc.com/wz/default.gif)
官方SPEC如下:http://www.asmedia.com.tw/eng/e_show_products.php?item=118&cate_index=117
![](//pubimage.360doc.com/wz/default.gif)
Engaged in High Speed I/O solution development, Asmedia Technology is committed to enlarging product portfolio with introducing PCI Express Products. The ASM1061, x1 PCI Express to two ports of Serial ATA, enables Serial ATA PHY up to 6Gbps high speed interface, following Serial ATA Revision 3.0 specification.
General Features - Option Rom support through 64K Byte SPI flash - 20MHz external crystal - Integrated 3.3V to 1.2V switch regulator - 3.3/1.2V Power Supply - Industry Specifications Compliance: PCI Express Base Specification Rev. 2.0 Bus Master Programming Interface to IDE ATA Controller Rev. 1.0 PCI Express Card Electromechanical Rev . 2.0 Serial ATA AHCI Spec. Rev.1.3 Serial ATA Revision 3.0
PCI Express Features - x1 PCI Express lane for 2.5 and 5GHz signaling - Single virtual channel - SSC support - ECRC and Advanced Error Reporting capability - 100MHz differential PCI Express reference clock in - Maximum Payload up to 128 bytes
Serial ATA Features - 2 ports Serial ATA PHY for 1.5, 3.0 and 6.0GHz signaling - Support Native Command Queue - Support Gen 1m and 2m SATA PHY - Support Port Multiplier 芯片的图片:
扩展卡的样子,可以插在任何一个PCI-E插槽里面,最低要求是PCI-E 2X的速度,再低就会减速,达不到SATA 3.0 6G。
看了评测,性能还可以,读写速率接近400MB/s,比Intel原生的SATA 3.0 6G的500MB/s略低,但是作为扩展卡使用,通常情况是连接机械硬盘,绰绰有余了!
ASM1061芯片的速率:
Intel芯片的速率:
= * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * =
【AMS1061正确显示】
好!介绍完基本情况,我来介绍一下如何正确的显示ASM1061扩展卡的信息。这个卡默认就可以被黑苹果识别和驱动,使用上也没有太大问题。 不足之处:如果开机时,主板只会检测扩展卡上通电的硬盘,而不会检测主板SATA口的硬盘,启动时有些小麻烦。必须保持扩展卡硬盘关闭状态下,才可以识别主板SATA的硬盘。 基于这么廉价的扩展卡,我忍了~
系统默认识别为Unknown AHCI Standard Controller,信息显示不“完美”,我有的不甘心,请跟我往下走:
步骤一,找到扩展卡的VendorID和DeviceID:
【方法一】:经过多天了解,发现有个叫做DPCI Manager的小工具,可以解决这个问题。 工具:http://www.osx86.net/view/370-dpcimanager.html 方法:http://www.insanelymac.com/forum/index.php?showtopic=148488
运行DPCI Manager,可以看到扩展卡的信息。下图中的1b21:0612就是我们需要的参数,分别对应:1b21是VendorID,0612是DeviceID:
附:上图中的8086:2681是Intel原生SATA芯片的信息,8086是VendorID,2681是DeviceID,我是对比了很多次发现的规律。这个对我正确显示扩展卡信息,提供了很大的帮助!
【方法二】:其实,最最常用的IO Registry Explorer,也可以找到对应的ID。这是后来才发现的,所以列为方法二。我更推荐使用这个方法找,因为这个工具更通用!
打开IODeviceTree的子项PEX1@1C,1/pci1b21,612@0当中,就是我们需要的信息:1b21是VendorID,612是DeviceID(不足4为,前面补零,变成0612):
步骤二,添加扩展卡的VendorID和DeviceID:
SATA的驱动,是在/System/Library/Extensions/AppleAHCIPort.kext里面的。将这个kext拖到桌面(不管修改什么东西,一定要注意备份好旧文件,出问题时可以及时恢复,这是一个必要的习惯)。鼠标右键>>>显示包内容>>>打开桌面上的AppleAHCIPort.kext/Contents/Info.plist。
先看看Intel原生芯片的信息是怎样的。下图中的0x26818086就是Intel的DeviceID(前4位)和VendorID(后4位):
复制整个节点ICH6 ESB2 AHCI,并按照下图修改成ASM1061的信息。最重要的是0x06121b21这段,分别对应ASM1061的DeviceID(前4位)和VendorID(后4位)。其它的例如节点名称(ASM 1061 PCI-E)、芯片名称Chipset Name、厂商名称Vendor Name都可以根据自己的喜好修改:
修改完后保存,先删除S/L/E中旧的AppleAHCIPort.kext,然后再用Kext Wizard安装新的AppleAHCIPort.kext到S/L/E目录中。 注:由于黑苹果系统的问题,如果不先删除旧的kext,经常会出现无法替换的情况。这也是我的一点小小经验吧。
安装完成后,重启机器,变色龙加参数-f进系统,不出意外就能正确显示ASM1061的信息了!
这下终于“完美”了~
= * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * =
补充信息:下图中的IOPCIClassMatch的值0x01060100,其中的010601就是AHCI设备类别ClassID:
= * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * = * =
【4.11补充内容】
今天继续测试出来,在DSDT内的Device (PEX1)下面添加一段代码,就可以在[系统信息]的[PCI卡]内显示出ASM1061的信息。此代码只是起修饰作用,对驱动无影响。
DSDT代码为红色部分: Device (PEX1) { .. .. .. Device (AHCI) //扩展卡信息显示,AHCI可以是任意一个名字 { Name (_ADR, Zero) Name (_SUN, One) Method (_DSM, 4, NotSerialized) { Store (Package (0x04) { "model", Buffer (0x10) { "ASMedia ASM1061" }, "name", Buffer (0x2D) { "ASMedia ASM1061 PCI-E x1 SATA-III Controller" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } }
显示效果:
推荐一个查询PCI Devices的Vendor ID和Device ID的网站:http://pci-ids.ucw.cz/read/PC/1b21/0612 【4.13补充内容】 原来的DSDT代码中,所有插卡都是PCI Slot 1,更改了一下Name (_SUN, One)搞定。请参考我的日志:《DSDT修改Name (_SUN, One)装饰性代码》
其它扩展阅读:我日志中折腾扩展卡的全过程。 《分享一个PCI-E 1X桥接2*SATA扩展卡》 | 《DPCI Manager:解决未知AHCI Controller的问题的小工具》 | 《PCI-E 1X桥接2*SATA扩展卡ASM1061成功识别》 | 《PCI-E 1X桥接2*SATA扩展卡ASM1061测试日志》 | 《PCI-E 1X桥接2*SATA扩展卡ASM1061成功改名》 | 《正确显示PCI-E 1X桥接2*SATA扩展卡ASM1061信息的方法》 | 《PCI-E 1X桥接2*SATA扩展卡ASM1061配图》 | 《PCI-E 1X桥接2*SATA扩展卡ASM1061修改信息(续)》 | 《DSDT深入学习Method (_DSM, 4, NotSerialized)》
【全文完】 |