附件是dmesg的输出信息,请高手过目。
在网上看了N多文献后还是不知道怎样让USB设备工作!
- rukh
- 帖子: 23
- 注册时间: 2007-09-07 22:31
在网上看了N多文献后还是不知道怎样让USB设备工作!
原来用Ubuntu7.04的时候,插上U盘就可以用,可是现在用Ubuntu8.10,插上U盘什么反应也没有,连优盘的灯也不亮,其他的USB设备也一样没有反应。用USB Viewer也看不到任何USB设备。如果把优盘插上,在终端里输入lsusb则什么显示也没有。真是让人抓狂!请大家帮帮忙!
附件是dmesg的输出信息,请高手过目。

附件是dmesg的输出信息,请高手过目。
- 附件
-
- dmesg.zip
- dmesg的输出信息
- (10.87 KiB) 已下载 41 次
处理器 AMD Athlon 64 X2 3800+
芯片组 ATI Radeon Xpress 200
内存 1536 MB (PC3200 DDR SDRAM)
显示卡 ATI Radeon HD 4650
硬盘 ST3320613AS+ST380011A
芯片组 ATI Radeon Xpress 200
内存 1536 MB (PC3200 DDR SDRAM)
显示卡 ATI Radeon HD 4650
硬盘 ST3320613AS+ST380011A
-
- 帖子: 8
- 注册时间: 2008-04-29 9:42
Re: 在网上看了N多文献后还是不知道怎样让USB设备工作!
ohci, ehci加载都很正常,设备也找到了,但是usb设备发出的中断(19)没人响应,到最后中断线19被关掉了,没有中断自然usb不能工作.
楼主第一把 /proc/interrupts 发上来看看;第二在boot option里加上 irqpoll 试试。
楼主第一把 /proc/interrupts 发上来看看;第二在boot option里加上 irqpoll 试试。
-
- 帖子: 8
- 注册时间: 2008-04-29 9:42
Re: 在网上看了N多文献后还是不知道怎样让USB设备工作!
不好意思前面说错了点,这个问题并不出在usb驱动上,它的中断处理函数都注册成功了。是其他的某个设备跟usb共享中断,它的中断处理函数没有注册上去,设备却又发出中断,结果发出的中断全被丢弃,kernel会监视某条中断线上未处理的中断达到一定数目时就关掉整个中断线,于是usb被殃及池鱼了。
- rukh
- 帖子: 23
- 注册时间: 2007-09-07 22:31
Re: 在网上看了N多文献后还是不知道怎样让USB设备工作!
看来真是遇到高手了!先多谢啦!
不过我真是倒霉!刚才装了一下ATi Catalyst 9.2的驱动,结果GDM无法启动了!

不过我真是倒霉!刚才装了一下ATi Catalyst 9.2的驱动,结果GDM无法启动了!

处理器 AMD Athlon 64 X2 3800+
芯片组 ATI Radeon Xpress 200
内存 1536 MB (PC3200 DDR SDRAM)
显示卡 ATI Radeon HD 4650
硬盘 ST3320613AS+ST380011A
芯片组 ATI Radeon Xpress 200
内存 1536 MB (PC3200 DDR SDRAM)
显示卡 ATI Radeon HD 4650
硬盘 ST3320613AS+ST380011A
- rukh
- 帖子: 23
- 注册时间: 2007-09-07 22:31
Re: 在网上看了N多文献后还是不知道怎样让USB设备工作!
在Grub kernel 行里加上irqpoll后搞定。 

处理器 AMD Athlon 64 X2 3800+
芯片组 ATI Radeon Xpress 200
内存 1536 MB (PC3200 DDR SDRAM)
显示卡 ATI Radeon HD 4650
硬盘 ST3320613AS+ST380011A
芯片组 ATI Radeon Xpress 200
内存 1536 MB (PC3200 DDR SDRAM)
显示卡 ATI Radeon HD 4650
硬盘 ST3320613AS+ST380011A
- kelen
- 帖子: 734
- 注册时间: 2008-05-02 19:50
- kelen
- 帖子: 734
- 注册时间: 2008-05-02 19:50
Re: 在网上看了N多文献后还是不知道怎样让USB设备工作!
我很早就遇到这样的问题了. 当时是在ubuntu的官方论坛(E文)上得到的解决.(与andiry的一样)
不过有一点不明白的是, 之前没有这样的情况. 自动用了无线才有.
另外, Andiry兄, 还有其它的解决办法吗?
不过有一点不明白的是, 之前没有这样的情况. 自动用了无线才有.
另外, Andiry兄, 还有其它的解决办法吗?
In a world without walls who needs Windows?
-
- 帖子: 8
- 注册时间: 2008-04-29 9:42
Re: 在网上看了N多文献后还是不知道怎样让USB设备工作!
irqpoll能解掉这个问题,但不是什么好方法,这个选项的意义是每次中断都去轮询当前中断线上的所有中断处理函数,影响系统性能。
我不知道楼主是不是用了无线网卡,但是楼上的明显是无线网卡的驱动bug导致的,跟usb共享了中断却又没把自己的中断处理函数挂上去。前面说过usb驱动是没问题的。
至于怎么解决,最简单的禁掉无线网卡或者不加载这个模块,肯定不会出问题了。如果要用这网卡我也不知道,要看那驱动具体怎么写的,问题出在哪里。我猜想是网卡物理层的初始化错误或者没有完成造成的,没有更进一步的信息我也没法分析。楼上可以把这个问题报到linux社区去,指明自己的系统环境和使用的无线网卡型号。
我不知道楼主是不是用了无线网卡,但是楼上的明显是无线网卡的驱动bug导致的,跟usb共享了中断却又没把自己的中断处理函数挂上去。前面说过usb驱动是没问题的。
至于怎么解决,最简单的禁掉无线网卡或者不加载这个模块,肯定不会出问题了。如果要用这网卡我也不知道,要看那驱动具体怎么写的,问题出在哪里。我猜想是网卡物理层的初始化错误或者没有完成造成的,没有更进一步的信息我也没法分析。楼上可以把这个问题报到linux社区去,指明自己的系统环境和使用的无线网卡型号。
- kelen
- 帖子: 734
- 注册时间: 2008-05-02 19:50
Re: 在网上看了N多文献后还是不知道怎样让USB设备工作!
andiry兄, 这个问题老外很早就提交bug了, 只是奇怪的是, 只有某些usb会失效. 比如: 我的本子(T61)有三个usb口, 左两右一. 右边这个一直插着鼠标... 问题描述:开机后一段时间后(10分钟~20分钟) 才出现这样的问题, 导致左边的两个不能用. 而右边的usb却正常使用. 目前我也没有用修改boot的参数的方式来解决这个问题. 我的解决办法是当usb口无效时, 直接
这样再插入usb设备, 就会自动再加裁一次这个模块. (只要不关机, 之后就不会出现这样的问题了). 问题得到解决.
付上dmesg, 麻烦andiry兄帮忙看看有没完美的解决办法.
再付上interrupts
代码: 全选
sudo modprobe -r --force ehci_hcd
付上dmesg, 麻烦andiry兄帮忙看看有没完美的解决办法.
代码: 全选
[ 80.531775] wlan0: Initial auth_alg=0
[ 80.531781] wlan0: authenticate with AP 00:74:04:ef:c2:3b
[ 80.533425] wlan0: RX authentication from 00:74:04:ef:c2:3b (alg=0 transaction=2 status=0)
[ 80.533429] wlan0: authenticated
[ 80.533431] wlan0: associate with AP 00:74:04:ef:c2:3b
[ 80.535706] wlan0: RX AssocResp from 00:74:04:ef:c2:3b (capab=0x441 status=0 aid=1)
[ 80.535709] wlan0: associated
[ 80.543727] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 80.545397] /dev/vmnet: open called by PID 5404 (vmnet-bridge)
[ 80.545406] /dev/vmnet: hub 0 does not exist, allocating memory.
[ 80.545414] /dev/vmnet: port on hub 0 successfully opened
[ 80.545421] bridge-wlan0: is a Wireless Adapter
[ 80.545425] bridge-wlan0: up
[ 80.545427] bridge-wlan0: attached
[ 94.582337] wlan0: no IPv6 routers present
[ 1207.223395] irq 23: nobody cared (try booting with the "irqpoll" option)
[ 1207.223406] Pid: 0, comm: swapper Tainted: P 2.6.24-23-generic #1
[ 1207.223436] [<c0169214>] __report_bad_irq+0x24/0x80
[ 1207.223456] [<c01694eb>] note_interrupt+0x27b/0x2c0
[ 1207.223475] [<f8893ccb>] usb_hcd_irq+0x2b/0x60 [usbcore]
[ 1207.223514] [<c0168710>] handle_IRQ_event+0x30/0x60
[ 1207.223530] [<c0169ea6>] handle_fasteoi_irq+0x86/0xe0
[ 1207.223544] [<c0106f0b>] do_IRQ+0x3b/0x70
[ 1207.223562] [<c0105403>] common_interrupt+0x23/0x30
[ 1207.223582] [<c012007b>] __is_prefetch+0x3b/0x240
[ 1207.223589] [<f8887440>] acpi_idle_enter_bm+0x25b/0x2ce [processor]
[ 1207.223608] [<c029584c>] cpuidle_idle_call+0x7c/0xb0
[ 1207.223616] [<c0102695>] cpu_idle+0x45/0xd0
[ 1207.223639] =======================
[ 1207.223640] handlers:
[ 1207.223641] [<f8893ca0>] (usb_hcd_irq+0x0/0x60 [usbcore])
[ 1207.223657] Disabling IRQ #23
代码: 全选
CPU0 CPU1
0: 155220 162359 IO-APIC-edge timer
1: 2401 2764 IO-APIC-edge i8042
8: 3 4 IO-APIC-edge rtc
9: 1525 1540 IO-APIC-fasteoi acpi
12: 18686 19082 IO-APIC-edge i8042
14: 12585 12561 IO-APIC-edge libata
15: 0 0 IO-APIC-edge libata
16: 1100 1186 IO-APIC-fasteoi uhci_hcd:usb3, yenta, nvidia
17: 116540 111442 IO-APIC-fasteoi uhci_hcd:usb1
18: 21563 22768 IO-APIC-fasteoi uhci_hcd:usb2
19: 1 3 IO-APIC-fasteoi ehci_hcd:usb6
21: 298 386 IO-APIC-fasteoi uhci_hcd:usb4, ohci1394, HDA Intel
22: 0 0 IO-APIC-fasteoi uhci_hcd:usb5, sdhci:slot0
23: 102972 97029 IO-APIC-fasteoi ehci_hcd:usb7
215: 585 555 PCI-MSI-edge eth0
216: 15065 15992 PCI-MSI-edge iwlagn
217: 8950 9676 PCI-MSI-edge ahci
NMI: 0 0 Non-maskable interrupts
LOC: 124573 114370 Local timer interrupts
RES: 284015 278747 Rescheduling interrupts
CAL: 320 245 function call interrupts
TLB: 966 1017 TLB shootdowns
TRM: 0 0 Thermal event interrupts
SPU: 0 0 Spurious interrupts
ERR: 0
MIS: 0
上次由 kelen 在 2009-02-28 15:21,总共编辑 1 次。
In a world without walls who needs Windows?
- kelen
- 帖子: 734
- 注册时间: 2008-05-02 19:50
Re: 在网上看了N多文献后还是不知道怎样让USB设备工作!
貌似从interrupts上面看不出有什么端倪来. 还请andiry兄指点.. 

In a world without walls who needs Windows?
- rukh
- 帖子: 23
- 注册时间: 2007-09-07 22:31
Re: 在网上看了N多文献后还是不知道怎样让USB设备工作!
我没用无线网卡,但是有一个无线路由器,家里另一台电脑用无线网卡。
处理器 AMD Athlon 64 X2 3800+
芯片组 ATI Radeon Xpress 200
内存 1536 MB (PC3200 DDR SDRAM)
显示卡 ATI Radeon HD 4650
硬盘 ST3320613AS+ST380011A
芯片组 ATI Radeon Xpress 200
内存 1536 MB (PC3200 DDR SDRAM)
显示卡 ATI Radeon HD 4650
硬盘 ST3320613AS+ST380011A
-
- 帖子: 8
- 注册时间: 2008-04-29 9:42
Re: 在网上看了N多文献后还是不知道怎样让USB设备工作!
这个问题还是很清楚的。注意看dmesg后半段,无人处理中断导致最后被关掉的中断线是IRQ23,/proc/interrupts里面23对应的是ehci_hcd。下面解释一下你的疑问。
为什么只有某些usb会失效:从中断16开始到中断23,你的机器上有五个uhci_hcd,两个ehci_hcd。uhci_hcd是Intel的usb1.1的主控制器,ehci_hcd是usb2.0的主控制器。楼主的机器里面usb1.1的主控制器叫做ohci_hcd,那是因为他的机器是AMD的。为什么要这么多uhci_hcd和ehci_hcd,那是因为现在主板上usb端口多,一般每个ehci_hcd各负责一部分端口。你的右边那个端口可以正常用,那是因为你的鼠标是个usb1.1的设备,不走这条中断线。左边那两个端口正好是23这个ehci_hcd控制的端口,所以挂了。下次左边的usb口挂掉以后你把鼠标插上去,看看能不能正常工作。
为什么过了一段时间才挂:按照kernel的定义,某条中断线上未处理中断数目达到一定数量时才关掉整个中断线。这个数量我记得是99000。你的网卡发出的未处理中断到达这一数目时整条中断线就挂了。这个时间在你的机器上就是十多分钟。但我也碰到过很快就挂的,不同设备产生中断的频率不同。
你的这条命令是强行卸掉整个ehci_hcd模块,然后重新加载。重新加载就要重新初始化,重新申请中断,于是IRQ23又被打开,usb设备也就可以用了。而你的网卡模块没有重新加载过,中断线被关掉再打开以后它也不会继续在IRQ23上发出中断,直到关机也不会出问题。当然下次开机问题又会出现。
要我说完美的解决办法就是找出网卡驱动的问题,这个才是根本的解决办法。usb驱动没有任何问题,它只是单纯的受害者。任何针对usb驱动部分动脑筋的都是治标不治本的方法,像是你用的那个命令。至于怎么解,我也不知道啊
为什么只有某些usb会失效:从中断16开始到中断23,你的机器上有五个uhci_hcd,两个ehci_hcd。uhci_hcd是Intel的usb1.1的主控制器,ehci_hcd是usb2.0的主控制器。楼主的机器里面usb1.1的主控制器叫做ohci_hcd,那是因为他的机器是AMD的。为什么要这么多uhci_hcd和ehci_hcd,那是因为现在主板上usb端口多,一般每个ehci_hcd各负责一部分端口。你的右边那个端口可以正常用,那是因为你的鼠标是个usb1.1的设备,不走这条中断线。左边那两个端口正好是23这个ehci_hcd控制的端口,所以挂了。下次左边的usb口挂掉以后你把鼠标插上去,看看能不能正常工作。
为什么过了一段时间才挂:按照kernel的定义,某条中断线上未处理中断数目达到一定数量时才关掉整个中断线。这个数量我记得是99000。你的网卡发出的未处理中断到达这一数目时整条中断线就挂了。这个时间在你的机器上就是十多分钟。但我也碰到过很快就挂的,不同设备产生中断的频率不同。
你的这条命令是强行卸掉整个ehci_hcd模块,然后重新加载。重新加载就要重新初始化,重新申请中断,于是IRQ23又被打开,usb设备也就可以用了。而你的网卡模块没有重新加载过,中断线被关掉再打开以后它也不会继续在IRQ23上发出中断,直到关机也不会出问题。当然下次开机问题又会出现。
要我说完美的解决办法就是找出网卡驱动的问题,这个才是根本的解决办法。usb驱动没有任何问题,它只是单纯的受害者。任何针对usb驱动部分动脑筋的都是治标不治本的方法,像是你用的那个命令。至于怎么解,我也不知道啊

- kelen
- 帖子: 734
- 注册时间: 2008-05-02 19:50
Re: 在网上看了N多文献后还是不知道怎样让USB设备工作!
感谢andiry兄的精辟回答.
正如andiry兄所说, 此办法也是治标不治本. 但网上貌似也一直没有一个更好的办法呀. 不过我个人更倾向于强制挂掉ehci_hcd的做法, 至少不会影响到系统的性能之嫌.
无赖4965的无线网卡太新, 如andiry兄所说, 很大程度上可能是其驱动有BUG. 只能期望有能者尽快完善BUG.
正如andiry兄所说, 此办法也是治标不治本. 但网上貌似也一直没有一个更好的办法呀. 不过我个人更倾向于强制挂掉ehci_hcd的做法, 至少不会影响到系统的性能之嫌.
无赖4965的无线网卡太新, 如andiry兄所说, 很大程度上可能是其驱动有BUG. 只能期望有能者尽快完善BUG.
In a world without walls who needs Windows?
- rukh
- 帖子: 23
- 注册时间: 2007-09-07 22:31
Re: 在网上看了N多文献后还是不知道怎样让USB设备工作!
看来Andiry是高手,多谢指教了。希望以后多交流。
处理器 AMD Athlon 64 X2 3800+
芯片组 ATI Radeon Xpress 200
内存 1536 MB (PC3200 DDR SDRAM)
显示卡 ATI Radeon HD 4650
硬盘 ST3320613AS+ST380011A
芯片组 ATI Radeon Xpress 200
内存 1536 MB (PC3200 DDR SDRAM)
显示卡 ATI Radeon HD 4650
硬盘 ST3320613AS+ST380011A
-
- 帖子: 25
- 注册时间: 2008-03-20 21:46
Re: 在网上看了N多文献后还是不知道怎样让USB设备工作!
ubuntu插上u盘不显示。
- 附件
-
- dmesg.txt.tar.gz
- 我的dmesg信息,希望高手来看看
- (11.51 KiB) 已下载 23 次