Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Jul 2005 13:28:18 +0200
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        freebsd-usb@freebsd.org
Cc:        freebsd-gnats-submit@freebsd.org, Adrian Czerniak <worldowner@wp.pl>
Subject:   Re: usb/83756: Microsoft Intellimouse Explorer 4.0A doesn't work.
Message-ID:  <200507261328.19891.hselasky@c2i.net>
In-Reply-To: <200507192255.j6JMtxlk003565@www.freebsd.org>
References:  <200507192255.j6JMtxlk003565@www.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 20 July 2005 00:55, Adrian Czerniak wrote:
> >Number:         83756
> >Category:       usb
> >Synopsis:       Microsoft Intellimouse Explorer 4.0A doesn't work.
> >Confidential:   no
> >Severity:       serious
> >Priority:       medium
> >Responsible:    freebsd-usb
> >State:          open
> >Quarter:
> >Keywords:
> >Date-Required:
> >Class:          sw-bug
> >Submitter-Id:   current-users
> >Arrival-Date:   Tue Jul 19 23:00:34 GMT 2005
> >Closed-Date:
> >Last-Modified:
> >Originator:     Adrian Czerniak
> >Release:        6-BETA1
> >Organization:
> >Environment:
>
> FreeBSD xx-yy.is.net.pl 6.0-BETA1 FreeBSD 6.0-BETA1 #0: Tue Jul 19 01:05:47
> CEST 2005     abaddon@68-71.is.net.pl:/usr/obj/usr/src/sys/abaddon  i386
>
> >Description:
>
>       My Microsoft Intellimouse Explorer 4.0A simply doesn't work. My
> configuration:
>
> dmesg:
>
> Copyright (c) 1992-2005 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>         The Regents of the University of California. All rights reserved.
> FreeBSD 6.0-BETA1 #0: Wed Jul 20 00:03:45 CEST 2005
>     abaddon@68-71.is.net.pl:/usr/obj/usr/src/sys/abaddon
> Timecounter "i8254" frequency 1193182 Hz quality 0
> CPU: AMD Duron(tm) processor (800.03-MHz 686-class CPU)
>   Origin = "AuthenticAMD"  Id = 0x631  Stepping = 1
>  
> Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV
>,PAT,PSE36,MMX,FXSR> AMD
> Features=0xc0440800<SYSCALL,<b18>,MMX+,3DNow+,3DNow>
> real memory  = 402587648 (383 MB)
> avail memory = 388734976 (370 MB)
> npx0: [FAST]
> npx0: <math processor> on motherboard
> npx0: INT 16 interface
> acpi0: <VT8371 AWRDACPI> on motherboard
> acpi0: Power Button (fixed)
> pci_link0: <ACPI PCI Link LNKA> irq 10 on acpi0
> pci_link1: <ACPI PCI Link LNKB> irq 12 on acpi0
> pci_link2: <ACPI PCI Link LNKC> irq 11 on acpi0
> pci_link3: <ACPI PCI Link LNKD> irq 5 on acpi0
> Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
> acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
> cpu0: <ACPI CPU> on acpi0
> acpi_throttle0: <ACPI CPU Throttling> on cpu0
> acpi_button0: <Power Button> on acpi0
> acpi_button1: <Sleep Button> on acpi0
> pcib0: <ACPI Host-PCI bridge> port
> 0xcf8-0xcff,0x4000-0x407f,0x4080-0x40ff,0x5000-0x500f,0x6000-0x607f on
> acpi0 pci0: <ACPI PCI bus> on pcib0
> agp0: <VIA 82C8363 (Apollo KT133x/KM133) host to PCI bridge> mem
> 0xd0000000-0xd7ffffff at device 0.0 on pci0 pcib1: <PCI-PCI bridge> at
> device 1.0 on pci0
> pci1: <PCI bus> on pcib1
> pci1: <display, VGA> at device 0.0 (no driver attached)
> isab0: <PCI-ISA bridge> at device 7.0 on pci0
> isa0: <ISA bus> on isab0
> atapci0: <VIA 82C686A UDMA66 controller> port
> 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xc000-0xc00f at device 7.1 on pci0
> ata0: <ATA channel 0> on atapci0
> ata1: <ATA channel 1> on atapci0
> uhci0: <VIA 83C572 USB controller> port 0xc400-0xc41f irq 5 at device 7.2
> on pci0 uhci0: [GIANT-LOCKED]
> usb0: <VIA 83C572 USB controller> on uhci0
> usb0: USB revision 1.0
> uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub0: 2 ports with 2 removable, self powered
> uhci1: <VIA 83C572 USB controller> port 0xc800-0xc81f irq 5 at device 7.3
> on pci0 uhci1: [GIANT-LOCKED]
> usb1: <VIA 83C572 USB controller> on uhci1
> usb1: USB revision 1.0
> uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub1: 2 ports with 2 removable, self powered
> pci0: <bridge> at device 7.4 (no driver attached)
> rl0: <RealTek 8139 10/100BaseTX> port 0xcc00-0xccff mem
> 0xe3000000-0xe30000ff irq 11 at device 9.0 on pci0 miibus0: <MII bus> on
> rl0
> rlphy0: <RealTek internal media interface> on miibus0
> rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> rl0: Ethernet address: 00:80:48:10:e3:65
> pcm0: <Creative CT5880-C> port 0xd000-0xd03f irq 12 at device 13.0 on pci0
> pcm0: <SigmaTel STAC9721/23 AC97 Codec>
> pcm0: [GIANT-LOCKED]
> atapci1: <HighPoint HPT370 UDMA100 controller> port
> 0xd400-0xd407,0xd800-0xd803,0xdc00-0xdc07,0xe000-0xe003,0xe400-0xe4ff irq
> 11 at device 19.0 on pci0 ata2: <ATA channel 0> on atapci1
> ata3: <ATA channel 1> on atapci1
> atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
> atkbd0: <AT Keyboard> irq 1 on atkbdc0
> kbd0 at atkbd0
> atkbd0: [GIANT-LOCKED]
> pmtimer0 on isa0
> orm0: <ISA Option ROM> at iomem 0xc0000-0xcb7ff on isa0
> sc0: <System console> at flags 0x100 on isa0
> sc0: VGA <16 virtual consoles, flags=0x300>
> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
> ums0: Microsoft Microsoft IntelliMouse&#381; Explorer, rev 2.00/4.24, addr
> 2, iclass 3/1 ums0: 5 buttons and Z dir and a TILT dir.
> Timecounter "TSC" frequency 800033959 Hz quality 800
> Timecounters tick every 1.000 msec
> acd0: DMA limited to UDMA33, device found non-ATA66 cable
> acd0: DVDR <LITE-ON DVDRW SOHW-1633S/BS0S> at ata0-master UDMA33
> acd1: CDRW <LG CD-RW CED-8080B/1.06> at ata0-slave PIO4
> ad4: 38166MB <Seagate ST340823A 3.54> at ata2-master UDMA100
> cd0 at ata0 bus 0 target 1 lun 0
> cd0: <LG CD-RW CED-8080B 1.06> Removable CD-ROM SCSI-0 device
> cd0: 16.000MB/s transfers
> cd0: Attempt to query device size failed: NOT READY, Medium not present
> cd1 at ata0 bus 0 target 0 lun 0
> cd1: <LITE-ON DVDRW SOHW-1633S BS0S> Removable CD-ROM SCSI-0 device
> cd1: 33.000MB/s transfers
> cd1: Attempt to query device size failed: NOT READY, Medium not present
> Trying to mount root from ufs:/dev/ad4s3a
> rl0: link state changed to UP
>
>
> kernel configuration:
>
> machine         i386
> cpu             I686_CPU
> ident           abaddon
> options         SCHED_4BSD              # 4BSD scheduler
> options         INET                    # InterNETworking
> options         FFS                     # Berkeley Fast Filesystem
> options         SOFTUPDATES             # Enable FFS soft updates support
> options         UFS_DIRHASH             # Improve performance on big
> directories options         MSDOSFS                 # MSDOS Filesystem
> options         CD9660                  # ISO 9660 Filesystem
> options         PSEUDOFS                # Pseudo-filesystem framework
> options         GEOM_GPT                # GUID Partition Tables.
> options         COMPAT_43               # Compatible with BSD 4.3 [KEEP
> THIS!] options         SCSI_DELAY=1000         # Delay (in ms) before
> probing SCSI options         SYSVSHM                 # SYSV-style shared
> memory options         SYSVMSG                 # SYSV-style message queues
> options         SYSVSEM                 # SYSV-style semaphores
> options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time
> extensions options         KBD_INSTALL_CDEV        # install a CDEV entry
> in /dev options         ADAPTIVE_GIANT          # Giant mutex is adaptive.
> device          apic                    # I/O APIC
> device          isa
> device          pci
> device          ata
> device          atadisk         # ATA disk drives
> device          atapicd         # ATAPI CDROM drives
> device          atapicam
> options         ATA_STATIC_ID   # Static device numbering
> device          scbus           # SCSI bus (required for SCSI)
> device          cd              # CD
> device          pass            # Passthrough device (direct SCSI access)
> device          atkbdc          # AT keyboard controller
> device          atkbd           # AT keyboard
> device          psm             # PS/2 mouse
> device          vga             # VGA video card driver
> device          sc
> device          agp             # support several AGP chipsets
> device          npx
> device          pmtimer
> device          miibus          # MII bus support
> device          rl              # RealTek 8129/8139
> device          loop            # Network loopback
> device          mem             # Memory and kernel memory devices
> device          io              # I/O device
> device          random          # Entropy device
> device          ether           # Ethernet support
> device          pty             # Pseudo-ttys (telnet etc)
> device          bpf             # Berkeley packet filter
> device          uhci
> device          usb
> device          ugen
> device          uhid
> device          ums
>
> options         PREEMPTION
> options         CPU_FASTER_5X86_FPU
> options         DEVICE_POLLING
> options         HZ=1000
> options         CPU_UPGRADE_HW_CACHE
> options         TCP_DROP_SYNFIN
>
> fragment of /etc/rc.conf
>
> moused_nondefault_enable="NO"
> #moused_ums0_port="/dev/ums0"
> moused_ums0_enable="NO"
> #moused_port="/dev/ums0"
> #moused_type="auto"
> moused_enable="NO"
> mountd_enable="NO
>
> fragment of /etc/X11/xorg.conf:
>
>     Identifier  "Mouse1"
>     Driver      "mouse"
>     Option "Protocol"    "auto"
>     Option "Device"      "/dev/ums0"
>     Option "ZAXisMapping" "4 5"
>
> And:
>
> Device /dev/ums0 is present. cat /dev/ums0 shows nothing (optical sensor
> lights all the time)... I've booted linux (kernel version was 2.6.12.2)
> livecd and this mouse worked well so It's not broken (it works also under
> Windows).
>
> (My configuration is probably good, I've tried to connect another mouse,
> aptly named Microsoft Intellimouse Explorer 3.0 and it worked as
> expected...)
>
> >How-To-Repeat:
>
>       Connect Microsoft Intellimouse Explorer 4.0A to the usb port.
>
> >Fix:
> >
> >Release-Note:
> >Audit-Trail:
> >Unformatted:
>

I had some similar problems with an USB mouse and did some debugging, and 
found out that the mouse doesn't work when clearstall is enabled. I did some 
testing and my mouse completely ignores the clearstall command, so could you 
have tried the following (FreeBSD 5/6):

Download the three files below into a new directory and type 
"make install"  (to uninstall type "make deinstall")
http://home.c2i.net/hselasky/isdn4bsd/privat/usb/Makefile
http://home.c2i.net/hselasky/isdn4bsd/privat/usb/new_usb_1_5_4.diff.bz2
http://home.c2i.net/hselasky/isdn4bsd/privat/usb/new_usb_1_5_4.tar.bz2

And then in the file "/sys/dev/usb/ums.c" add the flag 
"USBD_CUSTOM_CLEARSTALL":


...
        err = usbd_open_pipe_intr(sc->sc_iface, sc->sc_ep_addr,
                                  USBD_CUSTOM_CLEARSTALL|USBD_SHORT_XFER_OK, 
                                  &sc->sc_intrpipe, sc,
                                  sc->sc_ibuf, sc->sc_isize, ums_intr,
                                  USBD_DEFAULT_INTERVAL);

...


Then compile and install new kernel or just the USB modules (/sys/modules):

aue/Makefile
axe/Makefile
cdce/Makefile
cue/Makefile
if_ndis/Makefile
kue/Makefile
ndis/Makefile
netgraph/bluetooth/ubtbcmfw/Makefile
netgraph/bluetooth/ubt/Makefile
rue/Makefile
sound/driver/uaudio/Makefile
ubsa/Makefile
ubser/Makefile
ucom/Makefile
ucycom/Makefile
udav/Makefile
udbp/Makefile
ufm/Makefile
uftdi/Makefile
ugen/Makefile
uhid/Makefile
ukbd/Makefile
ulpt/Makefile
umass/Makefile
umct/Makefile
umodem/Makefile
ums/Makefile
uplcom/Makefile
ural/Makefile
urio/Makefile
usb/Makefile
uscanner/Makefile
uvisor/Makefile
uvscom/Makefile


--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200507261328.19891.hselasky>