Date: Tue, 23 Mar 2004 11:47:44 -0800 From: John Merryweather Cooper <john_m_cooper@yahoo.com> To: charlysquare@altern.org Cc: freebsd-current@freebsd.org Subject: Re: Cordless combo Mouse/keyboard Message-ID: <40609460.8070807@yahoo.com> In-Reply-To: <20040323105752.E5A6A43D45@mx1.FreeBSD.org> References: <20040323105752.E5A6A43D45@mx1.FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
For my Logitech Cordless iTouch Keyboard and Mouse I had to:
1) set flag to 0x6100 for device pcm in my kernel configuration
2) set options PSM_HOOKRESUME and PSM_RESETAFTERSUSPEND
3) rebuild the kernel.
This works for me on FreeBSD 4.9-STABLE. I realize you may be running
-CURRENT, but this may point out some fruitful avenues.
jmc
charlysquare@altern.org wrote:
> Hi,
>
> I've got a Cordless combo Mouse/keyboard Memorex RF7000, my keyboard is detected, but the mouse don't want to move.. i've tested it under knoppix or windows, and it works ! but under FreeBSD 5.2, i cant't manage to move the cursor..
>
> I've been helped by Soren Schmidt 'til now, here is what he adviced me :
>
> 1. ----------------------------------------------
> -------------------------------------------------
>
> I use the following hack with a wireless Fujitsu-Siemens USB kbd+mouse
> here, maybe that helps..
>
>
>
>
> Index: hid.c
> ===================================================================
> u_long
> hid_get_data(u_char *buf, struct hid_location *loc)
> {
> - u_int hpos = loc->pos;
> + u_int hpos = loc->pos - 40;;
> u_int hsize = loc->size;
> u_int32_t data;
> int i, s;
>
> Index: ums.c
> ===================================================================
> ret = UMATCH_NONE;
>
> free(desc, M_TEMP);
> - return (ret);
> + return (UMATCH_IFACECLASS);
> }
>
> USB_ATTACH(ums)
>
>
> 2. ----------------------------------------------
> -------------------------------------------------
>
>
>>dmesg | grep ums return ums0 so this is good
>>ps ax|grep moused return :
>>/usr/sbin/moused -p /dev/ums0 so this is great.. >but...the mouse is not moving at all...
>
>
> OK, then back out this part of the patch, that might not be needed for
> your mouse (mine has several buttons and wheels and what not :) )
>
> > > hid_get_data(u_char *buf, struct hid_location *loc)
> > > {
> > > - u_int hpos = loc->pos;
> > > + u_int hpos = loc->pos - 40;;
> > > u_int hsize = loc->size;
> > > u_int32_t data;
> > > int i, s;
> > >
>
> 3. ----------------------------------------------
> -------------------------------------------------
>
>
>>I've rebuild my kernel, but the cursor is not moving...
>
>
> Hmm then the mouse is probably using a new variation of the protocol
> (mine does hence the first patch). I guess that will need further
> investigation to find out how it sends its position info, there are some
> debugging code in there that can be of use, but if you are not a
> programmer it will probably be a bit difficult todo...
>
> 4. ----------------------------------------------
> -------------------------------------------------
>
> I used the below patch to find out how the position info looked
> from my mouse/kbd combo, use it with debug defined in ums.c.
> Looking at the output when moving the mouse might help you to find out
> what your does.
>
> Hope that helps you further along...
>
> Index: ums.c
> ===================================================================
>
> #define UMS_BUT(i) ((i) < 3 ? (((i) + 2) % 3) : (i))
>
> DPRINTFN(5, ("ums_intr: sc=%p status=%d\\n", sc, status));
> - DPRINTFN(5, ("ums_intr: data = %02x %02x %02x\\n",
> - sc->sc_ibuf[0], sc->sc_ibuf[1], sc->sc_ibuf[2]));
> + DPRINTFN(5, ("ums_intr: data = "));
> + for (i=0; i<sc->sc_isize; i++)
> + DPRINTFN(5, ("%02x ", sc->sc_ibuf[i]));
> + DPRINTFN(5, ("\\n"));
>
> if (status == USBD_CANCELLED)
> return;
>
>
> ---------------------------------------------------------
> --------->>>> at this point, i don't where to search to find the mouse position... i don't know which log i have to catch..
>
> Any solution please ?
>
> Many thanks
>
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40609460.8070807>
