VOGONS


HIDman - USB to PS/2 converter (Open Source)

Topic actions

Reply 221 of 226, by jarp

User metadata
Rank Newbie
Rank
Newbie
rasteri wrote on 2024-04-26, 18:07:

No idea I'm afraid. There's so much different in your setup from mine (different board, mice, keyboard, PC, port pins, etc) that any one of them could be causing the problem.

Maybe grab one of those cheapo logic analyzers, then you can investigate further?

I think I've managed to fix this problem (without logic analyzer but I think I will order one nevertheless). Noticed that (wireless) mouse works more often if it's not powered on at boot and then proceeded to find out that if I move mouse on boot it will never work. Studied PS/2 protocol a bit and noticed that data reporting should be disabled by default and only enabled after Enable Data Reporting command. So implemented support for Enable / Disable Data Reporting and now mouse works on every boot. I guess PS/2 controller got upset when it received data when it did not expect it.

Hardware-wise found out that my GPIO re-mappings did not work very well and only mouse aux pins did work . I am no C nor embedded systems developer so no idea why is that but I will just desolder resistor from P4.3 and then this dev board should work with stock firmware...

Reply 222 of 226, by rasteri

User metadata
Rank Member
Rank
Member
jarp wrote on 2024-04-28, 20:36:

I think I've managed to fix this problem (without logic analyzer but I think I will order one nevertheless). Noticed that (wireless) mouse works more often if it's not powered on at boot and then proceeded to find out that if I move mouse on boot it will never work. Studied PS/2 protocol a bit and noticed that data reporting should be disabled by default and only enabled after Enable Data Reporting command. So implemented support for Enable / Disable Data Reporting and now mouse works on every boot. I guess PS/2 controller got upset when it received data when it did not expect it.

Interesting - I didn't implement that command because I was just like.... just don't move the mouse while it's booting, heh. But maybe your wireless mouse sends movement commands during poweron or something.

Feel free to submit a pull request with the command implemented 😀 (or just post the file you updated here if you can't be bothered)

Reply 223 of 226, by jarp

User metadata
Rank Newbie
Rank
Newbie
rasteri wrote on 2024-04-29, 11:20:

Interesting - I didn't implement that command because I was just like.... just don't move the mouse while it's booting, heh. But maybe your wireless mouse sends movement commands during poweron or something.

Feel free to submit a pull request with the command implemented 😀 (or just post the file you updated here if you can't be bothered)

Heh, and I have developed a habit of always shaking the mouse on boot 😀 I believe it is because wireless mouse needs some movement to wake it up so I tend to wake it up on boot. But also non-modified firmware failed to boot with mouse quite often even if mouse was not touched so I guess indeed mouse sends unexpected updates or something.

Pull request created, please check feasibility of it, I had troubles understanding code architecture at first as I am no embedded systems programmer...

Reply 224 of 226, by rasteri

User metadata
Rank Member
Rank
Member
jarp wrote on 2024-04-29, 18:47:

Pull request created, please check feasibility of it, I had troubles understanding code architecture at first as I am no embedded systems programmer...

Tested it on a bunch of PCs and it works great, thanks for your contribution!

Reply 225 of 226, by jarp

User metadata
Rank Newbie
Rank
Newbie

Does anybody know if anything out there uses ps/2 mouse native scale 2:1 mode or is acceleration always done on driver level? I did not even find DOS mouse driver which would allow to even to enable it. Out of curiousity and for excercise I added support for scaling as well, but not sure if it would have any practical use...

Ps/2 remote mode would be another one, is it used in real life? Or wrap mode by any diagnostocs software or anything?

Edit: Ok, decided to learn some x86 asm and wrote utility which can set scaling, resolution and polling of PS/2 mouse. Will try to implement support for them (short of rate i think...) and intellimouse support. Not sure if @rasteri welcomes such modifications but it is ok if not, just wanting to learn some DOS and embedded stuff.

Reply 226 of 226, by rasteri

User metadata
Rank Member
Rank
Member
jarp wrote on 2024-05-01, 20:38:

Will try to implement support for them (short of rate i think...) and intellimouse support.

I'm not sure which programs set scaling. Maybe some versions of windows. But yeah feel free to implement.

Have you started on Intellimouse? I was about to start implementing it myself never mind, I saw your comments on the issue