云上的老鼠

云上的日子

  DonewsBlog  |  Donews首页  |  Donews社区  |  Donews邮箱  |  我的首页  |  联系作者  |  聚合   |  登录
  76篇文章 :: 0篇收藏:: 61篇评论:: 0个Trackbacks

公告

这是quickmouse的blog哟

^______^

文章的转载请保留全文以及注明出处,谢谢合作!

文章

收藏

相册

常用链接

我的联系方式

友情推荐

主人推荐

存档


正在读取评论……


by Quickmouse(quickmouse@263.net) 2004年10月22日

     今天在写了一个程序,把上次发的《如何在Linux当中判断USB控制器的类型》实现了,中途才发现原来自己机器的控制器是uhci-hcd,但是用lsmod却是显示uhci_hcd。很好奇的,就决定把这个东西搞清楚到底怎么弄的。
    因为在modprobe.conf里面注明了usb-controller是uhci-hcd,所以就满天地的去找这个uhci-hcd是怎么对应到uhci_hcd上面去的,系统又怎么加载的。找/lib/modules/2.6.9/下面的alias、pcimap等文件,都没有说明。一咬呀去看modprobe的代码,发现居然是遍历/lib/modules/2.6.9/kernel下的所有目录下的文件,再去仔细看那个驱动的名字(我从来不仔细看的),果然是uhci-hcd.ko,我真是晕菜了,效率太低了吧~~
    然后接着又搞不清楚了,modprobe uhci_hcd和modprobe uhci-hcd都是一个效果,是没有uhci_hcd.ko这个文件啊?怎么回事呢?又反过来查吧,为什么uhci_hcd系统知道去load那个uhci-hcd.ko,郁闷。再次找alias文件等未果,于是派strace上场,仔细看代码以后发现有一个name_matches()函数,判别时把'-'和'_'等同看待,又吐血一次。
    往下看看,那个函数对.ko和.ko.gz后缀都认为是找到了文件,一想,莫非驱动还可以用gzip压缩?尝试用gzip压缩了一下smbfs模块,然后modprobe一下,报错,看来白高兴了。:)



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=144478


[点击此处收藏本文]  发表于2004年10月22日 5:37 PM




正在读取评论……

发表评论

大名:
网址:
验证码
评论