搜索
bottom↓
回复: 15

嵌入式linux中usb插拔问题

[复制链接]

出0入0汤圆

发表于 2007-12-27 20:45:44 | 显示全部楼层 |阅读模式
问题是这样的:
在嵌入式linux中,插上摄像头,写了一个程序开一个线程去不间断地采集视频数据,而主函数是做socket通信服务器端,将采集的视频数据发给客户端。当我拔掉摄像头时,问题就来了:采集视频数据的线程意外终止,并且在终端打印信息:
usb.c: USB disconnect on device 4。
但整个程序进程没有退出,通过ps可以看到进程,而当我再插上摄像头,linux也没探测到usb已插上。只有当我kill哪个进程后,linux才意识到有usb插上了,输出:
hub.c: USB new device connect on bus1/1, assigned device number  5
spca_core.c: USB SPCA5XX camera found. Type Vimicro Zc301P 0x303b
我不明白这是为什么?这个程序对linux探测usb有什么影响吗?难道是因为该程序一直占用着设备文件标识符的缘故?可当usb拔掉时,linux是已经知道USB disconnect ,难道它没有释放资源么?

请大侠多多解疑指点!

出0入0汤圆

发表于 2007-12-28 00:05:11 | 显示全部楼层
刚来就把你凉起来可能不好,不过你问得真不是地方,估计来这里的没人知道这是怎么回事,还是到嵌入式Linux系统相关的论坛去问吧。

出0入0汤圆

 楼主| 发表于 2007-12-28 08:28:04 | 显示全部楼层
:( 我已经在好几个论坛发贴了,都没人给我回复啊~
还是这个论坛好,会照顾别人的积极性,谢谢楼上的回复,让我倍感安慰啊

出0入0汤圆

 楼主| 发表于 2007-12-28 14:24:33 | 显示全部楼层
我这个就是LINUX下的设备驱动啊,是的,我也觉得这驱动写得不好。
我试着用信号和线程的一些函数去探测usb是否已插拔,但都没一点反应,也就是说usb拔掉的时候,线程是已经终止了的,但这个设备文件一直还开着,因为linux只有当进程终止时才会去关闭打开的文件、释放资源。
现在头疼的是,主函数也没办法知道线程是什么时候终止的,若知道,退出while循环,终止进程,就ok了。这样再插上usb,linux就可以探测得到了。

出0入0汤圆

 楼主| 发表于 2007-12-28 15:47:28 | 显示全部楼层
这些异常需要在驱动中编写,然后不断试探USB正常与否,异常后关闭句柄应该就可以了。

嗯,谢谢你的指点。请问一般这些异常在驱动什么地方去探测和捕捉的呢?我想自己改改驱动看看行不行得通?

出0入0汤圆

 楼主| 发表于 2007-12-28 17:24:08 | 显示全部楼层
这程序可不是我写的哦,网上现成的servfox,用而已了
正在改呢,挺麻烦的,改了编译后还得烧写到板子上:(

出0入0汤圆

 楼主| 发表于 2007-12-28 22:27:50 | 显示全部楼层
linux下的kill_proc方法谁懂么?在内核用什么函数可以发信号给应用程序呢?
目前知道用kill函数行不通:)

出0入0汤圆

发表于 2007-12-29 00:15:43 | 显示全部楼层
我在使用Fedora7时,开机第一次抽入USB设备时,GNOME会自动出现连接.但未经合法操作而直接拨出后,那个连接符消失,但当再次抽上这个设备时,那个连接符就不能自动或人为(命令)地出现了.这种现象不知和LZ的现象吻合.

出0入0汤圆

发表于 2007-12-29 14:21:07 | 显示全部楼层
此处不解答技术问题,想知道?^_^思路出错。

出0入0汤圆

 楼主| 发表于 2007-12-29 14:24:12 | 显示全部楼层
TTLife,我的情况跟你的还真有那么点类似的,你知道原因么?

出0入0汤圆

 楼主| 发表于 2007-12-29 14:24:44 | 显示全部楼层
517456,请问这里是解答啥问题的?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-9 18:54

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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