当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 11 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : Ubuntu 9.04, 每次开机后USB鼠标需要插拔一下才能工作
帖子发表于 : 2009-06-19 20:53 

注册: 2008-11-18 15:08
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
华硕主板A7N8X,新装的Ubuntu 9.04。

每次重新通电开机后,鼠标的箭头就固定在屏幕中央一动不动。直到人为插拔一下鼠标的USB插口后,鼠标的箭头才会有相应的移动。
如果不断电,系统重新开机后就是好的。

同一机器上也装了XP系统,没有这个问题。

有人知道原因吗?谢谢先了。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: Ubuntu 9.04, 每次开机后USB鼠标需要插拔一下才能工作
帖子发表于 : 2009-06-19 20:56 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
udev规则的次序,肯定有问题。

基本是usb设备识别问题,比如慢了,导致udev启动的时候,没认到有设备。


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: Ubuntu 9.04, 每次开机后USB鼠标需要插拔一下才能工作
帖子发表于 : 2009-06-23 22:03 

注册: 2008-11-18 15:08
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
谢谢回复!
可是我还是没有弄明白。

man udev,我读到:
The udev rules are read from the files located in the default rules directory /lib/udev/rules.d/, the custom rules directory /etc/udev/rules.d/ and the temporary rules directory /dev/.udev/rules.d/. All rule files are sorted and processed in lexical order, regardless in which of these directories they live.

在/etc/udev/rules.d/下执行ls,只看到:
70-persistent-cd.rules
70-persistent-net.rules
README
显然不是USB鼠标的。

在/lib/udev/rules.d/下执行,能看到:
40-alsa.rules
40-hplip.rules
40-ia64.rules
40-infiniband.rules
40-isdn.rules
40-libpisock9.rules
40-pilot-links.rules
40-ppc.rules
40-xserver-xorg-input-wacom.rules
40-zaptel.rules
45-fuse.rules
45-libmtp8.rules
50-firmware.rules
50-udev-default.rules
60-cdrom_id.rules
60-persistent-input.rules
60-persistent-serial.rules
60-persistent-storage.rules
60-persistent-storage-tape.rules
60-persistent-v4l.rules
61-persistent-storage-edd.rules
62-bluez-hid2hci.rules
64-device-mapper.rules
65-dmsetup.rules
75-cd-aliases-generator.rules
75-persistent-net-generator.rules
77-nm-probe-modem-capabilities.rules
79-fstab_import.rules
80-drivers.rules
85-alsa-utils.rules
85-brltty.rules
85-hdparm.rules
85-hplj10xx.rules
85-hwclock.rules
85-ifupdown.rules
85-pcmcia.rules
85-regulatory.rules
90-hal.rules
95-udev-late.rules
README
好象也没有与USB鼠标相关的专有规则,只好查看了50-udev-default.rules,内容如下:
代码:
$ cat 50-udev-default.rules
# do not edit this file, it will be overwritten on update
# initramfs:default

SUBSYSTEM=="block", SYMLINK+="block/%M:%m"
SUBSYSTEM!="block", SYMLINK+="char/%M:%m"

KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660"
KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660"
KERNEL=="ptmx",         GROUP="tty", MODE="0666"
KERNEL=="tty",         GROUP="tty", MODE="0666"
KERNEL=="tty[0-9]*",      GROUP="tty", MODE="0620"
KERNEL=="vcs|vcs[0-9]*|vcsa|vcsa[0-9]*", GROUP="tty"
KERNEL=="console",      MODE="0600"

# serial
KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*", GROUP="dialout"
KERNEL=="ppp",         MODE="0600"
KERNEL=="mwave",      NAME="modems/mwave", GROUP="dialout"
KERNEL=="hvc*|hvsi*",      GROUP="dialout"

# mem
KERNEL=="null|zero|full|random|urandom", MODE="0666"
KERNEL=="mem|kmem|port|nvram",   GROUP="kmem", MODE="0640"

# input
KERNEL=="mouse*|mice|event*",   NAME="input/%k", MODE="0640"
KERNEL=="ts[0-9]*|uinput",   NAME="input/%k", MODE="0640"
KERNEL=="js[0-9]*",      NAME="input/%k", MODE="0644"

# video4linux
SUBSYSTEM=="video4linux",   GROUP="video"
KERNEL=="vttuner*",      GROUP="video"
KERNEL=="vtx*|vbi*",      GROUP="video"
KERNEL=="winradio*",      GROUP="video"

# graphics
KERNEL=="agpgart",      MODE="0600", GROUP="video"
KERNEL=="card[0-9]*",      NAME="dri/%k"
KERNEL=="pmu",         GROUP="video"
KERNEL=="nvidia*|nvidiactl*",   GROUP="video"
SUBSYSTEM=="graphics",      GROUP="video"
SUBSYSTEM=="drm",      GROUP="video"

# DVB (video)
SUBSYSTEM=="dvb", ENV{DVB_ADAPTER_NUM}=="?*", NAME="dvb/adapter$env{DVB_ADAPTER_NUM}/$env{DVB_DEVICE_TYPE}$env{DVB_DEVICE_NUM}", GROUP="video"
SUBSYSTEM=="dvb", ENV{DVB_ADAPTER_NUM}=="", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="video"

# Firewire
KERNEL=="dv1394[0-9]*",      NAME="dv1394/%n", GROUP="video"
KERNEL=="video1394[0-9]*",   NAME="video1394/%n", GROUP="video"

# libusb device nodes
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0664"

# printer
KERNEL=="parport[0-9]*",   GROUP="lp"
SUBSYSTEM=="printer",      KERNEL=="lp*", GROUP="lp"
SUBSYSTEM=="ppdev",      GROUP="lp"
SUBSYSTEM=="usb",      KERNEL=="lp*", NAME="usb/%k", SYMLINK+="usb%k", GROUP="lp"
KERNEL=="lp[0-9]*",      GROUP="lp"
KERNEL=="irlpt[0-9]*",      GROUP="lp"

# block
SUBSYSTEM=="block", GROUP="disk"

# floppy
KERNEL=="fd[0-9]", GROUP="floppy"
KERNEL=="fd[0-9]", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0640 -G floppy $root/%k"
KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", OPTIONS+="all_partitions"

# cdrom
SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n", GROUP="cdrom"
SUBSYSTEM=="block", KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="cdrom", GROUP="cdrom"
SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%k", GROUP="cdrom"
KERNEL=="pktcdvd", NAME="pktcdvd/control", GROUP="cdrom"

# tape
KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="tape"
KERNEL=="pt[0-9]*|npt[0-9]*|pht[0-9]*", GROUP="tape"
SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"

# block-releated
KERNEL=="sch[0-9]*", GROUP="disk"
SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk"
KERNEL=="pg[0-9]*", GROUP="disk"
KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
KERNEL=="rawctl", NAME="raw/rawctl", GROUP="disk"
SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk"
SUBSYSTEM=="bsg", NAME="bsg/%k"
SUBSYSTEM=="aoe", NAME="etherd/%k", GROUP="disk", MODE="0220"
SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"

# network
KERNEL=="tun",         NAME="net/%k", MODE="0666"

# CPU
KERNEL=="cpu[0-9]*",      NAME="cpu/%n/cpuid"
KERNEL=="msr[0-9]*",      NAME="cpu/%n/msr"
KERNEL=="microcode",      NAME="cpu/microcode", MODE="0600"

# miscellaneous
KERNEL=="fuse",         MODE="0666"
SUBSYSTEM=="rtc", DRIVERS=="rtc_cmos", SYMLINK+="rtc"
KERNEL=="auer[0-9]*",      NAME="usb/%k"
KERNEL=="hw_random",      NAME="hwrng"
KERNEL=="mmtimer",      MODE="0644"
KERNEL=="rflash[0-9]*",      MODE="0400"
KERNEL=="rrom[0-9]*",      MODE="0400"
KERNEL=="sxctl",      NAME="specialix_sxctl"
KERNEL=="rioctl",      NAME="specialix_rioctl"
KERNEL=="iowarrior[0-9]*",   NAME="usb/%k"
KERNEL=="hiddev[0-9]*",      NAME="usb/%k"
KERNEL=="legousbtower[0-9]*",   NAME="usb/%k"
KERNEL=="dabusb[0-9]*",      NAME="usb/%k"
KERNEL=="usbdpfp[0-9]*",   NAME="usb/%k"
KERNEL=="cpad[0-9]*",      NAME="usb/%k"

# do not delete static device nodes
ACTION=="remove", NAME=="?*", TEST=="/lib/udev/devices/$name", OPTIONS+="ignore_remove"
ACTION=="remove", NAME=="", TEST=="/lib/udev/devices/%k", OPTIONS+="ignore_remove"
貌似鼠标是排得比较靠前的:
# input
KERNEL=="mouse*|mice|event*", NAME="input/%k", MODE="0640"

又查看了60-persistent-input.rules,内容如下:
代码:
$ cat 60-persistent-input.rules
# do not edit this file, it will be overwritten on update

ACTION!="add|change", GOTO="persistent_input_end"
SUBSYSTEM!="input", GOTO="persistent_input_end"
KERNEL=="input[0-9]*", GOTO="persistent_input_end"

# usb devices
SUBSYSTEMS=="usb", IMPORT{program}="usb_id --export %p"
SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="01", ENV{ID_CLASS}="kbd"
SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="02", ENV{ID_CLASS}="mouse"

# other devices
DRIVERS=="pcspkr", ENV{ID_CLASS}="spkr"
DRIVERS=="atkbd", ENV{ID_CLASS}="kbd"
DRIVERS=="psmouse", ENV{ID_CLASS}="mouse"
ATTRS{name}=="*dvb*|*DVB*|* IR *", ENV{ID_CLASS}="ir"
# joystick (ABS_X || ABS_WHEEL || ABS_THROTTLE) && !BTN_TOUCH
ATTRS{modalias}=="input:*-*a[068],*|input:*-*a*,[68],*m*", ATTRS{modalias}!="input:*-*k*14A,*r*", ENV{ID_CLASS}="joystick"

# fill empty serial number
ENV{ID_CLASS}=="?*", ENV{ID_SERIAL}=="", ENV{ID_SERIAL}="noserial"

# by-id links
KERNEL=="mouse*|js*", ENV{ID_BUS}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_CLASS}"
KERNEL=="event*", ENV{ID_BUS}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-$env{ID_CLASS}"

# by-path
IMPORT{program}="path_id %p"
ENV{ID_PATH}=="?*", KERNEL=="mouse*|js*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-$env{ID_CLASS}"
ENV{ID_PATH}=="?*", KERNEL=="event*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-event-$env{ID_CLASS}"

LABEL="persistent_input_end"
也没有看出什么线索。

请指点一下:下一步我需要怎么查?


页首
 用户资料  
 
4 楼 
 文章标题 : Re: Ubuntu 9.04, 每次开机后USB鼠标需要插拔一下才能工作
帖子发表于 : 2009-06-23 22:05 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
这2个目录,和810,前面的版本,变化了很多。都放到lib了。所以,我也不理解了。次序看不出。
你最好去英文论坛搜索下。


_________________
● 鸣学


页首
 用户资料  
 
5 楼 
 文章标题 : Re: Ubuntu 9.04, 每次开机后USB鼠标需要插拔一下才能工作
帖子发表于 : 2009-06-23 22:54 
头像

注册: 2009-02-25 18:18
帖子: 2229
送出感谢: 0 次
接收感谢: 0 次
LZ可以看看BIOS里面的关于USB鼠标键盘的选项,有台老电脑把USB启动支持关了才能用 :em20
你可以改改看 :em11

ps:那堆配置文件我也看不懂 :em06


_________________
在中国搞IT的谁不知道Ctrl+C,Ctrl+V啊~


页首
 用户资料  
 
6 楼 
 文章标题 : Re: Ubuntu 9.04, 每次开机后USB鼠标需要插拔一下才能工作
帖子发表于 : 2009-07-01 21:53 

注册: 2008-11-18 15:08
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
:em06
有点错报军情。

最近发现现象与原先的描述有点出入:
1、冷开机后,只要按几下鼠标中键(即滚轮),鼠标就可以移动了。
2、在XP环境下,也出现了类似现象,但概率低好几个数量级(在UBUNTU下稳定复现,在XP下只逮到过一次)。

说不定是鼠标的硬件问题?

因为不再需要插拔鼠标(按几下中键就可以了),倒也就没有动力继续研究了。 :em03


页首
 用户资料  
 
7 楼 
 文章标题 : Re: Ubuntu 9.04, 每次开机后USB鼠标需要插拔一下才能工作
帖子发表于 : 2009-07-01 21:55 

注册: 2008-11-18 15:08
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
根据最近的现象描述,应该与BIOS设置或udev规则无关吧?


页首
 用户资料  
 
8 楼 
 文章标题 : Re: Ubuntu 9.04, 每次开机后USB鼠标需要插拔一下才能工作
帖子发表于 : 2009-07-01 22:04 
头像

注册: 2007-05-06 2:46
帖子: 15634
送出感谢: 0 次
接收感谢: 2
9.04后是这样

点一下左或右键呗,不需插拔


页首
 用户资料  
 
9 楼 
 文章标题 : Re: Ubuntu 9.04, 每次开机后USB鼠标需要插拔一下才能工作
帖子发表于 : 2009-07-01 23:34 

注册: 2008-11-18 15:08
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
hcym 写道:
9.04后是这样

点一下左或右键呗,不需插拔

我的机器上点左右键没用,只有中键才有效。


页首
 用户资料  
 
10 楼 
 文章标题 : Re: Ubuntu 9.04, 每次开机后USB鼠标需要插拔一下才能工作
帖子发表于 : 2009-07-05 15:22 

注册: 2008-12-21 0:49
帖子: 31
送出感谢: 0 次
接收感谢: 0 次
得新安装和设定laptop-mode-tools试试


页首
 用户资料  
 
11 楼 
 文章标题 : Re: Ubuntu 9.04, 每次开机后USB鼠标需要插拔一下才能工作
帖子发表于 : 2009-07-05 15:23 

注册: 2008-12-21 0:49
帖子: 31
送出感谢: 0 次
接收感谢: 0 次
我的也出现了这个问题,不知道怎么搞定的,重新安装和设定laptop-mode-tools试试


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 11 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译