Linux下如何禁用某个硬件设备

Blaider 2011-12-16 09:49:15
Linux下如何禁用某个硬件设备?目前南桥下挂有两个USB Controller,分别为HUB1和HUB2。但是在实际应用中只使用HUB1,目前测试时发现HUB2与网卡资源冲突。所以想禁用HUB2设备。
网络上说的删除USB设备驱动的方法不可行。因为两个USB Controller是相同设备。删除驱动,HUB1就无法正常工作了。
请问各位。有没有什么方法只禁用HUB2?使用lspci可以看到总线下挂载两个USB Controller。所以说,可以使用禁用PCI设备的方法禁用这个USB hub,当时具体怎么操作。求解……
...全文
1900 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Blaider 2011-12-27
  • 打赏
  • 举报
回复
结贴,问题没有解决,最后重新编译内核,把错误打印信息给注释了,虽然不好,但是没有办法啊
Blaider 2011-12-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 deep_pro 的回复:]
使用lspci 应该能够看到USB Controller作为pci设备的 总线:设备号:功能号 这样的pci配置空间地址
这两个USB Controller的设备号或者功能号不一样,在驱动的probe里判断下设备号或者功能号,不需要的直接返回-1

具体的操作无法说细,跟你的环境相关



或者看南桥芯片手册,是否提供接口禁用某个设备。不知道你怎么得出跟网卡资源冲突的结论的
[/Quote]
使用的是龙芯的CPU,自己设计的主板。
得出和网卡冲突是因为我们这上面有两个USB口,三个网卡,但是只有特定的一个USB口插上U盘,同时特定的一个网卡插上网线就会报错。hub 2-1:1.0 connect-debounce failed,port 1 disabled.而插入的USB设备都是在USB BUS的USB1下面。提示是HUB2出错。所以想有可能是因为分配资源出错了。
目前我还不太理解的是,HUB1同bus1等价吗?或者说他们是一个USB controller吗?
我重新编译了内核,注释了报错的“connect-debounce failed,port 1 disabled”语句,复制vmlinux到机子上,但是仍然报错,请问难道重新编译内核没有起作用?我修改的是usb/core/hub.c里的语句。不知道修改的对不对。
deep_pro 2011-12-16
  • 打赏
  • 举报
回复
使用lspci 应该能够看到USB Controller作为pci设备的 总线:设备号:功能号 这样的pci配置空间地址
这两个USB Controller的设备号或者功能号不一样,在驱动的probe里判断下设备号或者功能号,不需要的直接返回-1

具体的操作无法说细,跟你的环境相关



或者看南桥芯片手册,是否提供接口禁用某个设备。不知道你怎么得出跟网卡资源冲突的结论的

4,465

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧