LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2258|回复: 9

耳机插入插槽,系统会给出一个什么样的中断?

[复制链接]
发表于 2007-11-22 20:47:08 | 显示全部楼层 |阅读模式
想写一个简单的驱动,当耳机插入插槽时,关闭音箱。在笔记本上运行。
耳机插槽和音箱怎么区别呢?应该是同样的设备,不一样的次设备号吧?
望高手给予指点。
发表于 2007-11-23 14:33:21 | 显示全部楼层
这个有什么中断啊。自动断开是由耳机插孔的设计原理决定的,它就像一个开关,当插入耳机后,连接扬声器的线路就被断开了。如果在这里设计个什么中断,那所有使用耳机插孔的设备都要再添加一个CPU才能用。动脑想想。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-23 16:58:53 | 显示全部楼层
不是吧,我的电脑在windows下插入耳机可以自动关闭扬声器,但在linux下就不行,应该是驱动程序的问题。
中断跟设备有没有cpu有什么关系?产生中断的设备应该是插槽连接的总线,而不是耳机吧。
回复 支持 反对

使用道具 举报

发表于 2007-12-5 19:29:35 | 显示全部楼层
见识过了,听你这么一说,感觉CPU还真感知耳机的状态,打个标签,回头看有知道的没~
回复 支持 反对

使用道具 举报

发表于 2007-12-6 09:08:17 | 显示全部楼层
我找到了这个:http://blog.csdn.net/frankeagle/archive/2006/02/24/608156.aspx
不过说的是 win32 的
回复 支持 反对

使用道具 举报

发表于 2007-12-6 14:39:33 | 显示全部楼层
我以前也以为断开音响跟接上耳机是由硬件方式决定的,直到有一天,我的本本安装上Fedora后,发现插上耳机后扬声器继续发声,耳机却不响,开始还以为是本本出问题,拿到维修站,维修站的人先准备换主板无效后又准备换耳机接口,在等配件的几天里,我重新装上了windows结果发现没问题了,原来是linux驱动的问题。我觉得这个东西是由驱动和硬件两方面决定声音到底输向何处,耳机插入后,声卡的某个状态会发生变化,但这个状态并不决定声音的输出方向,而是由驱动程序根据这个状态来决定。
回复 支持 反对

使用道具 举报

发表于 2007-12-9 02:08:48 | 显示全部楼层
tigatron给出的地址是xscale上面的一个实现,在arm上音频接口是做在芯片内部的(iis),事件当然就传给cpu了,所以只要对gpio中断作出应答就可以了。在pc机中,我个人认为这种事件应该是声卡负责解决的,这么小的事件应该不必麻烦cpu。至于楼上所说的这个情况,也许是这样的。我们知道,板卡生产商自己未必产芯片,芯片商生产的芯片很可能是要通过烧入板卡商写的固件(firmware,其实质为门级电路表)才能实现全部功能,否则就只能实现通用芯片的通用功能。那么,在windows下有板卡商提供的固件,就可以使声卡处理耳机插入事件;linux下没有对应的固件,就无法让声卡提供相应的功能了。但无论如何,我不同意说诸如耳机插入之类的事件都要在cpu中产生一个中断。
回复 支持 反对

使用道具 举报

发表于 2007-12-9 10:03:06 | 显示全部楼层
Post by wangguoqin1001;1793314
tigatron给出的地址是xscale上面的一个实现,在arm上音频接口是做在芯片内部的(iis),事件当然就传给cpu了,所以只要对gpio中断作出应答就可以了。在pc机中,我个人认为这种事件应该是声卡负责解决的,这么小的事件应该不必麻烦cpu。至于楼上所说的这个情况,也许是这样的。我们知道,板卡生产商自己未必产芯片,芯片商生产的芯片很可能是要通过烧入板卡商写的固件(firmware,其实质为门级电路表)才能实现全部功能,否则就只能实现通用芯片的通用功能。那么,在windows下有板卡商提供的固件,就可以使声卡处理耳机插入事件;linux下没有对应的固件,就无法让声卡提供相应的功能了。但无论如何,我不同意说诸如耳机插入之类的事件都要在cpu中产生一个中断。

建议你去fedora或者kernel的bugzilla上提个BUG,说明一下你的具体配置和情况,相信很快就会有答复的。
回复 支持 反对

使用道具 举报

发表于 2007-12-14 14:27:37 | 显示全部楼层
吼吼.. 楼主自己是不是重新编译过内核?

我刚开始装 fc7 的时候, 声卡是没问题的,但 无线网卡的驱动和内核有冲突,
一挂上去就死机,没办法, 下了最新的 内核 原代码来编译. 无线网卡是能用了,
声卡就和你的一样了, 呵呵。 我也没太在意, 一直以为是系统的配置问题.
回复 支持 反对

使用道具 举报

发表于 2007-12-14 15:09:25 | 显示全部楼层
系统配置问题。
在gnome 里打开音量控制。
然后选择“开关控制”
勾选: Headphone jack sense
回复 支持 反对

使用道具 举报

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

本版积分规则

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