Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help Request: Investigating MicroSpeed PD600-9313 Travel Trackball Protocol #46

Open
Saijin-Naib opened this issue Jul 12, 2023 · 0 comments

Comments

@Saijin-Naib
Copy link

Saijin-Naib commented Jul 12, 2023

Using this device via a PL2303 Serial->USB adatper on Alpine Linux x86_64 edge, kernel 6.1.38-1-lts.

GPM is version 1.20.7-r4.

When testing out the mouse via mouse-test, here is what I see:

This program is designed to help you in detecting what type your
mouse is. Please follow the instructions of this program. If you're
bored before it is done, you can always press your 'Interrupt' key
(usually Ctrl-C)

	 *** Remember: don't run any software which reads the mouse device
	 *** while making this test. This includes "gpm","selection", "X"

Note that this program is by no means complete, and its main role is
to detect how does the middle button work on serial mice

Ok, so your mouse device is "/dev/ttyUSB0"


The possible mouse types are:
	mman (Mouseman)
	ms
	bare (Microsoft)
	bm (BusMouse)
	brw
	calr
	evdev
	exps2 (ExplorerPS/2)
	js (Joystick)
	genitizer
	imps2
	logi (Logitech)
	logim
	mm (MMSeries)
	ms3
	ms+
	ms+lr
	msc (MouseSystems)
	netmouse
	pnp
	ps2 (PS/2)
	sun
	syn (synaptics)
	synps2 (synaptics_ps2)
	twid
	vsxxxaa
	wacom

Now please press and release your left mouse button,
one time only

	Removing type "bm" because of 'different read() semantics'
	Removing type "calr" because of 'different read() semantics'
	Removing type "evdev" because of 'different read() semantics'
	Removing type "js" because of 'different read() semantics'
	Removing type "logi" because of 'different read() semantics'
	Removing type "syn" because of 'different read() semantics'

Now you will be asked to generate different kind of events,
in order to understand what protocol is your mouse speaking
	Baud rate is 1200

==> Detecting the packet size

Now please press and release several times
the left button of your mouse, *** trying not to move it ***

Press any key when you've done enough
matches for 3 bytes: 156   -- matches for 5 bytes: 0
** type 'mman' still possible
** type 'ms' still possible
** type 'bare' still possible
	Removing type "brw" because of 'different packet lenght'
	Removing type "exps2" because of 'different packet lenght'
	Removing type "genitizer" because of 'incorrect button detected'
	Removing type "imps2" because of 'different packet lenght'
	Removing type "logim" because of 'different packet lenght'
	Removing type "mm" because of 'incorrect button detected'
	Removing type "ms3" because of 'different packet lenght'
** type 'ms+' still possible
** type 'ms+lr' still possible
	Removing type "msc" because of 'different packet lenght'
	Removing type "netmouse" because of 'different packet lenght'
** type 'pnp' still possible
	Removing type "ps2" because of 'incorrect button detected'
	Removing type "sun" because of 'incorrect button detected'
	Removing type "synps2" because of 'different packet lenght'
	Removing type "twid" because of 'different packet lenght'
	Removing type "vsxxxaa" because of 'incorrect button detected'
	Removing type "wacom" because of 'different packet lenght'

Your mouse is one of the ms family, but do you have the middle button (y/n)? 

Your mouse is one of the ms family, but do you have the middle button (y/n)? n

Then, you should use the "bare" protocol on "/dev/ttyUSB0"

The mouse lights up when clicked in mouse-test, but is otherwise unresponsive.

When issuing any of the following:

$ doas gpm -m /dev/ttyUSB0 -t bare
$ doas gpm -m /dev/ttyUSB0 -t ms
$ doas gpm -m /dev/ttyUSB0 -t ms+
$ doas gpm -m /dev/ttyUSB0 -t ms+lr
$ doas gpm -m /dev/ttyUSB0 -t mman
$ doas gpm -m /dev/ttyUSB0 -t pnp

The mouse lights up when clicked but is otherwise unresponsive, but the lights only work for about 3s after the gpm daemon is started, afterwards it is completely unresponsive.

I'd like to note that this setup works fine, even under Windows 11, so I know the hardware itself is not suspect at this time.

How do I go about investigating what protocol this mouse might be using, or collecting any other information that might be useful for this mouse?

It'd be really special for me to be able to use this mouse, but I understand that this is niche and very old.

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant