Bug 99432 - Intellimouse Explorer freezes when plugged into USB
Intellimouse Explorer freezes when plugged into USB
Status: CLOSED NOTABUG
Product: Red Hat Linux
Classification: Retired
Component: XFree86 (Show other bugs)
9
i386 Linux
medium Severity high
: ---
: ---
Assigned To: Mike A. Harris
David Lawrence
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-07-19 08:28 EDT by Need Real Name
Modified: 2007-04-18 12:55 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-08-11 20:57:50 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Need Real Name 2003-07-19 08:28:50 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225

Description of problem:
I have a Microsoft Intellimouse Explorer. When I put it into the PS/2 port (via
the USB/PS2 converter which came with the mouse), I have to run "system settings
-> Mouse" every time I've logged in, to make the pointer acceleration working
properly (that happens every time). Having grown tired of this, I plugged it to
USB port instead, and the problem disappeared.

Unfortunately, the mouse now has a habbit of simply freezing (pointer stops, and
button clicks have no effect) after being in use for some time (3-8 hours).
Also, the lights in the mouse (it's an optical mouse) go off. This would
indicate that the mouse gets de-initialized somehow. Please note that the
machine works perfectly otherwise while this happens.

When I switch to virtual console 1, I notice that the console mouse cursor is
stuck in the middle of the screen. It doesn't move either. However, when I type
something, it hides itself (just as it should).

I also tried telinit 3 - telinit 5 to see if restarting the XFree would help,
but it didn't. The mouse remains stuck untill I restart the machine.

I also tried to cat data from /dev/input/mice (the device mentioned in
XF86config file), and couldn't get anything. So, while I filed this as XFree86
bug, it would seem that it's actually a kernel-driver bug.

It's unlikely that the mouse has a physical flaw, since it works in PS/2 port
(but then the XFree bugs hit in, as described on top), and a reboot fixes it
temporarily.

According to lsmod, my system uses usb-uhci; however, this module is marked as
(unused). Is this correct ?

Version-Release number of selected component (if applicable):
4.3.0-2

How reproducible:
Sometimes

Steps to Reproduce:
1. Plug an Intellimouse Explorer into an USB port
2. Work with your machine
3. Cursor locks
    

Actual Results:  The mouse cursor locked, and the mouse light turns off.

Expected Results:  Everything keeps on working.

Additional info:

Duron 1 GHz 512 Mt, VIA 686 chip in motherboard
Comment 1 Mike A. Harris 2003-07-22 08:55:40 EDT
It's possible that there might be a bug present in the mouse driver, or it
could be a hardware flaw, or perhaps something that the driver needs to
workaround but is not currently.

Please attach your X server config file and log file using bugzilla's file
attachment feature.

My current recommendation, is to subscribe to the xfree86@xfree86.org mailing
list and post an email describing your problem there and see if anyone else
has had this problem and if they've solved it they might be able to provide
a workaround.

Also, since the Red Hat XFree86 mouse driver is stock 4.3.0, if this is a
real bug in the driver, it would not likely be a Red Hat specific bug.  In
this case, you might also want to report the problem upstream in XFree86.org's
bugzilla, to increase the number of developers who might be able to investigate
the problem.  This is particularly a good idea, because I do not have access
to the brand/model of mouse you are reporting the problem against, so I can't
even try to reproduce it for the time being.

If you report this in XFree's bugzilla, please paste the URL here, so I can
track this upstream also.

Thanks for the report.
Comment 2 Mike A. Harris 2003-07-22 08:57:01 EDT
It just dawned on me, this might possibly be a kernel USB bug/problem also,
so I'm carbon copying some kernel people for comment in case they're aware of
any similar issues.
Comment 3 Pete Zaitcev 2003-07-23 19:16:04 EDT
Please attach dmesg, taken after a freeze and a switch to the text console.
If USB dies, it prints something.

Unused module is correct. It's done to make it unloadable.
Perhaps a silly design, but nothing I can do.
Comment 4 Need Real Name 2003-07-26 09:33:42 EDT
It happened this morning. Here's what dmesg prints.

Linux version 2.4.20-19.9 (bhcompile@daffy.perf.redhat.com) (gcc version 3.2.2
20030222 (Red Hat Linux 3.2.2-5)) #1 Tue Jul 15 17:03:30 EDT 2003
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000001fff0000 (usable)
 BIOS-e820: 000000001fff0000 - 000000001fff3000 (ACPI NVS)
 BIOS-e820: 000000001fff3000 - 0000000020000000 (ACPI data)
 BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
511MB LOWMEM available.
On node 0 totalpages: 131056
zone(0): 4096 pages.
zone(1): 126960 pages.
zone(2): 0 pages.
Kernel command line: ro root=LABEL=/ hdc=ide-scsi
ide_setup: hdc=ide-scsi
Initializing CPU#0
Detected 1000.058 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 1992.29 BogoMIPS
Memory: 511380k/524224k available (1333k kernel code, 10284k reserved, 1001k
data, 132k init, 0k highmem)
Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
Inode cache hash table entries: 32768 (order: 6, 262144 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 32768 (order: 5, 131072 bytes)
Page-cache hash table entries: 131072 (order: 7, 524288 bytes)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 64K (64 bytes/line)
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0383f9ff c1c7f9ff 00000000 00000000
CPU:             Common caps: 0383f9ff c1c7f9ff 00000000 00000000
CPU: AMD Duron(tm) processor stepping 00
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
PCI: PCI BIOS revision 2.10 entry at 0xfb4e0, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
Disabling VIA memory write queue (PCI ID 0305, rev 03): [55] 89 & 1f -> 09
PCI: Using IRQ router VIA [1106/0686] at 00:07.0
Applying VIA southbridge workaround.
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16)
Starting kswapd
VFS: Disk quotas vdquot_6.5.1
Detected PS/2 Mouse Port.
pty: 2048 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS MULTIPORT SHARE_IRQ
SERIAL_PCI ISAPNP enabled
ttyS0 at 0x03f8 (irq = 4) is a 16550A
ttyS1 at 0x02f8 (irq = 3) is a 16550A
Real Time Clock Driver v1.10e
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
NET4: Frame Diverter 0.46
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 7.00beta3-.2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller at PCI slot 00:07.1
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100 controller on pci00:07.1
    ide0: BM-DMA at 0xd000-0xd007, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xd008-0xd00f, BIOS settings: hdc:DMA, hdd:pio
hda: Maxtor 4D080H4, ATA DISK drive
hdb: Maxtor 6Y120L0, ATA DISK drive
blk: queue c03c5920, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03c5a64, I/O limit 4095Mb (mask 0xffffffff)
hdc: Hewlett-Packard CD-Writer Plus 8200a, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 160086528 sectors (81964 MB) w/2048KiB Cache, CHS=9964/255/63, UDMA(100)
hdb: attached ide-disk driver.
hdb: host protected area => 1
hdb: 240121728 sectors (122942 MB) w/2048KiB Cache, CHS=14946/255/63, UDMA(100)
ide-floppy driver 0.99.newide
Partition check:
 hda: hda1 hda2 < hda5 hda6 hda7 >
 hdb: hdb1 hdb2 hdb3
ide-floppy driver 0.99.newide
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 4096 buckets, 32Kbytes
TCP: Hash tables configured (established 32768 bind 65536)
Linux IP multicast router 0.06 plus PIM-SM
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 142k freed
VFS: Mounted root (ext2 filesystem).
Journalled Block Device driver loaded
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Freeing unused kernel memory: 132k freed
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.275 $ time 17:16:37 Jul 15 2003
usb-uhci.c: High bandwidth mode enabled
PCI: Found IRQ 5 for device 00:07.2
PCI: Sharing IRQ 5 with 00:07.3
usb-uhci.c: USB UHCI at I/O 0xd400, IRQ 5
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Found IRQ 5 for device 00:07.3
PCI: Sharing IRQ 5 with 00:07.2
usb-uhci.c: USB UHCI at I/O 0xd800, IRQ 5
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 2 ports detected
usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
usb.c: registered new driver hiddev
usb.c: registered new driver hid
hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
hid-core.c: USB HID support drivers
mice: PS/2 mouse device common for all mice
hub.c: new USB device 00:07.2-2, assigned address 2
usb-uhci.c: interrupt, status 3, frame# 644
input0: USB HID v1.00 Mouse [Microsoft Microsoft IntelliMouse® Explorer] on usb1:2.0
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,67), internal journal
Adding Swap: 5116692k swap-space (priority -1)
kjournald starting.  Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,65), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
MSDOS FS: Using codepage 850
MSDOS FS: Using codepage 850
MSDOS FS: Using codepage 850
MSDOS FS: Using codepage 850
SCSI subsystem driver Revision: 1.00
hdc: attached ide-scsi driver.
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
  Vendor: HP        Model: CD-Writer+ 8200a  Rev: 1.0g
  Type:   CD-ROM                             ANSI SCSI revision: 02
parport0: PC-style at 0x378 [PCSPP,EPP]
parport_pc: Via 686A parallel port: io=0x378
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
sr0: scsi3-mmc drive: 32x/32x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.12
ip_tables: (C) 2000-2002 Netfilter core team
Linux Tulip driver version 0.9.15-pre12 (Aug 9, 2002)
PCI: Found IRQ 11 for device 00:0f.0
PCI: Sharing IRQ 11 with 00:0d.0
PCI: Sharing IRQ 11 with 00:0d.1
tulip0:  EEPROM default media type Autosense.
tulip0:  Index #0 - Media 10baseT (#0) described by a 21142 Serial PHY (2) block.
tulip0:  Index #1 - Media 10baseT-FDX (#4) described by a 21142 Serial PHY (2)
block.
tulip0:  Index #2 - Media 100baseTx (#3) described by a 21143 SYM PHY (4) block.
tulip0:  Index #3 - Media 100baseTx-FDX (#5) described by a 21143 SYM PHY (4) block.
divert: allocating divert_blk for eth0
eth0: Digital DS21143 Tulip rev 65 at 0xe0b2e000, 00:C0:CA:13:10:12, IRQ 11.
parport0: PC-style at 0x378 [PCSPP,EPP]
parport_pc: Via 686A parallel port: io=0x378
lp0: using parport0 (polling).
lp0: console ready
0: nvidia: loading NVIDIA Linux x86 nvidia.o Kernel Module  1.0-4363  Sat Apr 19
17:46:46 PDT 2003
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 439M
agpgart: Detected Via Apollo Pro KT133 chipset
agpgart: AGP aperture is 64M @ 0xe8000000
Creative EMU10K1 PCI Audio Driver, version 0.20, 17:17:06 Jul 15 2003
PCI: Found IRQ 12 for device 00:09.0
emu10k1: EMU10K1 rev 6 model 0x8027 found, IO at 0xdc00-0xdc1f, IRQ 12
ac97_codec: AC97  codec, id: TRA35 (TriTech TR A5)
usb-uhci.c: interrupt, status 3, frame# 1085
hub.c: already running port 2 disabled by hub (EMI?), re-enabling...
usb.c: USB disconnect on device 00:07.2-2 address 2
hub.c: new USB device 00:07.2-2, assigned address 3
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=3 (error=-110)
hub.c: new USB device 00:07.2-2, assigned address 4
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=4 (error=-110)
hub.c: new USB device 00:07.2-2, assigned address 5
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=5 (error=-110)
hub.c: new USB device 00:07.2-2, assigned address 6
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=6 (error=-110)
hub.c: new USB device 00:07.2-1, assigned address 7
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=7 (error=-110)
hub.c: new USB device 00:07.2-1, assigned address 8
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=8 (error=-110)
hub.c: new USB device 00:07.2-1, assigned address 9
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=9 (error=-110)
hub.c: new USB device 00:07.2-1, assigned address 10
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=10 (error=-110)
Comment 5 Need Real Name 2003-07-26 12:02:37 EDT
Froze again. Found a workaround:

1. rmmod usb-uhci
2. rmmod hid
3. modprobe usb-uhci

And the mouse works again.

I'm not sure if step 2 is actually needed. Step 3 made the light come back on.

So, it would seem there's something wrong in kernels USB drivers...

The kernel I'm currently using is 2.4.20-19.9, but it's happened with 18.9 too.
Both are precompiled kernels from RHN.
Comment 6 Need Real Name 2003-07-26 12:12:22 EDT
BTW. Now, after unfreezing my mouse with the procedure detailed above, dmesg
gives a lot of these:

usb-uhci.c: interrupt, status 3, frame# 236
usb-uhci.c: interrupt, status 3, frame# 1276
usb-uhci.c: interrupt, status 3, frame# 1980
usb-uhci.c: interrupt, status 3, frame# 916
usb-uhci.c: interrupt, status 3, frame# 1756
usb-uhci.c: interrupt, status 3, frame# 228
usb-uhci.c: interrupt, status 3, frame# 1516
usb-uhci.c: interrupt, status 3, frame# 1004
usb-uhci.c: interrupt, status 3, frame# 1092
usb-uhci.c: interrupt, status 3, frame# 100
usb-uhci.c: interrupt, status 3, frame# 1172
usb-uhci.c: interrupt, status 3, frame# 1116
usb-uhci.c: interrupt, status 3, frame# 1420
Comment 7 Pete Zaitcev 2003-07-26 18:42:02 EDT
Thanks for the report. I long suspected usb-uhci did not recover from
EMI correctly (actually it may be the khubd code), but it's hard to hit
a corner case like on your system. Usually if EMI sets in, it's not
bursty, so nothing helps anyway, so nobody bothers to recover right.
Comment 8 Need Real Name 2003-07-27 06:29:17 EDT
Well, it happened again, and now I know for sure that rmmod hid isn't needed. So:
1. rmmod usb-uhci
2. modprobe usb-uhci
fix the problem temporarily.

What's EMI ? Is there something wrong with my system ? Is it likely that this
bug be fixed ? Can I do something to get rid of it ?
Comment 9 Need Real Name 2003-07-29 10:46:48 EDT
I'm now almost sure that this is, in fact, a hardware problem in my mouse.
Simply bending the mouse cord (which, of course, happens regularly while moving
the mouse around) can cause this happen, and bending it the other way fixes the
problem. Also, the rmmod-modprobe solution detailed above isn't working reliably
anymore, indicating a worsening problem.

This still doesn't explain why it works in PS/2 port, thought. Is the PS/2
protocol more forgiving (propably) ?

Oh well, seems I'm going shopping now... A pity, this mouse served me long and
faithfully. A moment of silence to the memory of the rodent...
Comment 10 Mike A. Harris 2003-08-11 20:57:50 EDT
Closing bug as NOTABUG WRT aforementioned hardware failure in previous
comment.

Note You need to log in before you can comment on or make changes to this bug.