ubuntu6.06不支持usb1.1移动硬盘

声卡/显卡/打印机/USB设备等硬件问题(网卡问题请发上面的网卡板块)
回复
shada
帖子: 397
注册时间: 2006-09-27 11:17
送出感谢: 1 次
接收感谢: 3 次
联系:

ubuntu6.06不支持usb1.1移动硬盘

#1

帖子 shada » 2006-11-28 13:52

插入后dmeg:
[17184179.928000] usb-storage: device found at 7
[17184179.928000] usb-storage: waiting for device to settle before scanning
[17184185.044000] usb 4-2: reset full speed USB device using uhci_hcd and address 7
[17184185.296000] usb 4-2: reset full speed USB device using uhci_hcd and address 7
[17184185.544000] usb 4-2: reset full speed USB device using uhci_hcd and address 7
[17184185.680000] usb-storage: device scan complete

可是没有生成设备文件sda,sda1
shada@laf:~$ ls -l /dev/sda*
ls: /dev/sda*: No such file or directory

请问各位有没有好的办法可以解决,是不是要重新编译内核?
内核中相关的选项是哪个?

(注:)
内核支持usb2.0的
插入2.0U盘,可以正常读写。
我这个移动硬盘是1.1的。
shada
帖子: 397
注册时间: 2006-09-27 11:17
送出感谢: 1 次
接收感谢: 3 次
联系:

#2

帖子 shada » 2006-11-30 11:22

...
atdo
帖子: 40
注册时间: 2006-11-30 22:38
送出感谢: 0
接收感谢: 0

#3

帖子 atdo » 2006-12-01 0:00

看看下面的文章,应该对你有帮助的。是前几天在网上看看到的,就存在电脑里了,但不知道出至那个网站了。

8. 支持USB设备

linux-2.6.x的USB驱动模块的名字已经改变了, 所以由此引起的问题多多......, 对应于USB-2.0的host控制器的内核模块名字仍然是ehci-hcd, 对应USB-1.1的host控制器的内核模块名字已经从usb-ohci改为ochi-hcd, 对应于通用USB host控制器的内核模块名字已经从usb-uhci该为uhci-hcd.

然而不幸的是, 在安装module-init-tools程序包时生成的/etc/modprobe.conf配置文件却仍然使用usb-ohci这个名字. 例如:

alias usb-controller usb-ohci
alias usb-controller1 ehci-hcd

因此, 要把它改为:

alias usb-controller ohci-hcd
alias usb-controller1 ehci-hcd

如果不做这样的修改, 那么使用USB-1.1 host控制器的机器在启动内核的时候将着不到相应的驱动模块.

支持USB键盘的模块名字也从keybdev变为usbkbd, 支持USB鼠标的模块名字也从mousedev改为usbmouse. 因此, 我们必需修改启动脚本/etc/rc.sysinit文件. 同时为了兼容原有的2.4.x系统, 我们在脚本的一开始定义两个变量:

#
# ----- KERNEL 2.6.x support ------
# This is for compatibility between kernel-2.4.x and kernel-2.6.x
#
UNAME=`uname -r`
KERNELVER=${UNAME:0:3}
if [ "$KERNELVER" = "2.6" ]; then
#
# This is kernel-2.6.x
#
KSYMS=/proc/kallsyms
KEYBDEV_NAME=usbkbd
MOUSEDEV_NAME=usbmouse
else
#
# This is kernel-2.4.x
#
KSYMS=/proc/ksyms
KEYBDEV_NAME=keybdev
MOUSEDEV_NAME=mousedev
fi

然后, 把/etc/rc.sysinit脚本文件中出现keybdev和mousedev的地方都改为$KEYBDEV_NAME和$MOUSEDEV_NAME. 把脚本文件/etc/rc.sysinit中的needusbstorage部分从:

needusbstorage=
if [ $usb = "1" ]; then
needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /proc/bus/usb/devices 2>/dev/null`
LC_ALL=C grep 'hid' /proc/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2> /dev/null

action $"Initializing USB keyboard: " modprobe $KEYBDEV_NAME 2> /dev/null
action $"Initializing USB mouse: " modprobe $MOUSEDEV_NAME 2> /dev/null
fi

改为:

needusbstorage=
if [ $usb = "1" ]; then
if [ "$KERNELVER" = "2.6" ]; then
needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /sys/bus/usb/devices 2>/dev/null`
LC_ALL=C grep 'hid' /sys/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2> /dev/null
else
needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /proc/bus/usb/devices 2>/dev/null`
LC_ALL=C grep 'hid' /proc/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2> /dev/null
fi
action $"Initializing USB keyboard: " modprobe $KEYBDEV_NAME 2> /dev/null
action $"Initializing USB mouse: " modprobe $MOUSEDEV_NAME 2> /dev/null
fi

好了, 到此为止, 我们应该可以重新启动机器了, 赶快去体验最新的kernel-2.***吧:-)
回复

回到 “常用硬件支持”