求救关于SATA设备reset方法
小弟最近遇到一个问题,一些SATA光驱在热启后不能让光盘托盘缩回去(热启前将托盘打开),一些光驱可以,冷启也可以。通过研究发现,正常的光驱是通过SATA端口的DISABLE,再ENABLE来完成托盘缩进去的动作,可是不正常的光驱执行上述流程后没有动作,故想通过SATA的RESET 命令来完成该动作,苦于对SATA协议不熟,请各位大哥讲解下,小弟在此谢过。(ICH7) 既然冷启是OK的, 那你在热启过程中发出 PCI Reset , 执行冷启过程即可!回复 2# 的帖子
SATA口没有RST信号,且我对CF9进行操作,也会发出PCI RESET信号,但是依然不行! 那你说的冷启可以,是什么样的冷启方式?请具体点!如果不可以,应该是你的还是没有真正的执行相同的冷启过程, 因为热启会跳过很多检测和初始化过程, 你应该再次确认一下, 是不是没有真正的执行完整的冷启动, 比如说, 如果你按了H/W的 Reset, 是可以的, 但你发 PCI Reset是不行的, 那你应该仔细找一下这两个方式的差异!
回复 4# 的帖子
谢谢你的提示,我正在找冷启和热启的区别。就是向CF9写0A,0E可以,写02,06不行,也就是说要掉电下!回复 1# 的帖子
不同的光驱,RESET的方式可能会不一样的.有些光驱, 只要上电, 就会RESET.(即冷启动, 光盘托盘会缩回去, 而热启, 光驱一直有电,是不可能 reset的)
而有些光驱是靠数据线中一个PIN来reset的..
回复 4# 的帖子
据研究发现,冷启和热启的区别并不是由于执行代码差异带来的,只是由于冷启会掉电,让光驱重新上电导致复位。回复 7# 的帖子
谢谢大家的帮助,这个问题已经解了!是通过向SATA设备发送RESET命令解的!
回复 8# passionapple 的帖子
是通过该SATA的配置寄存器来发RESET命令吗? 自力更生, 丰衣足食这个问题就是SATA CONTROLLER向SATA PORT发RESET CMD实现而已, 你找到了, 哈哈, 成功就好, 干杯!
开发NOTEBOOK不容易吧? 哈哈
页:
[1]