Comments (5)
no need to simplify
Perfect, i will go through the steps in order:
- run
lsusb
to get the vendor and device ids - with that info i can add the ids to the generic backend
- then you can try something simple e.g. changing the profile using this software. There are different protocols in use, this should confirm which one gets used by the M702.
- with that info i can add a dedicated backend for the M702 and given a description of the features (number of buttons, etc.) hopefully implement proper support
- if that is not enough, you would have to install the official software (in a VM or bare metal) and use wireshark to capture the usb communcation. If this becomes neccessary i will tell you what to do.
from mouse_m908.
Hey, thanks!
The device IDs are 04d9:fc15.
Somehow I can't add them myself. Added the correct pid to include/generic/data.cpp:_c_all_pids, but it still doesn't detect the mouse, no matter what parameters I give it when I run the fully recompiled program.
Could you add it? I quadruple-checked the vid and pid.
from mouse_m908.
I have added the PID in b9c8fba, it should only be required to add it like you presumably did. If it still doesn't work, please post the output of lsusb -vd 04d9:fc15
. Just to make sure you didn't miss something (i assume you already did these things):
- run
make clean
before recompiling - run
sudo make install
or run the recompiled version from the local directory./mouse_m908 …
- try running as root,
sudo mouse_m908 …
- try with the
--bus
and--device
options
from mouse_m908.
Okay, now it worked to ”read the data“, using -R
. Apparently, while I already had tried everything you suggested, and even altered the code, I also had used --kernel
, and it only works without. :)
It only read zeroes though.
So I won’t try changing anything, as resetting the mouse settings under Windows would be a major hassle.
I would now try all the protocols, but there is no switch for it. So I must refer back to you.
from mouse_m908.
I would now try all the protocols, but there is no switch for it. So I must refer back to you.
Yes, that would be the best, as your results show that the M702 is not compatible with the protocol implemented by the generic backend. Sadly it is not (yet) possible to easily switch between protocols as only one is properly understood, let me summarize what i know about the different protocols:
- there are at least 3 different protocols in use:
- the M913 has a unique protocol (and a different vendor id)
- the M990 has another unique protocol that is not
completelyunderstood - the M801 is not compatible with the generic backend as well, but no details about the protocol are known
- the most common one, used by the remaining supported mice and implemented by the generic backend
Therefore i would assume that the M702 and the M990 (and maybe the M801) share one protocol. You could try to change the product id in include/m990/data.cpp
and then try to change the profile (reading the settings is not implemented for the M990) to check this or proceed directly to the next step.
In any case, given this result, it will be neccessary to capture the USB communication of the official software. Here are a few guides in case you are not familiar with the process:
https://bytepunk.wordpress.com/2017/03/25/reverse-engineering-a-usb-mouse/
https://github.com/pez2001/razer_chroma_drivers/wiki/Reverse-Engineering-USB-Protocol
https://github.com/dokutan/rgb_keyboard/tree/master/doc#capturing-usb-data
If i know whether the protocol is compatible between the M990 and M702 or have the captured data when changing the settings/profile i can add a backend for the M702 as a starting point for further reverse engineering of the protocol. I hope this helps, feel free to ask if there is anything else.
from mouse_m908.
Related Issues (20)
- Integrate into libratbag HOT 4
- Support Redragon M901 Perdition HOT 4
- nearly broke my m607 (affecting the generic backend → use the M607 backend instead) HOT 7
- Could this be made to work in WSL on Windows? I'd like to be able to.... HOT 1
- Please can you support my redragon predator M612-RGB gaming mice? HOT 3
- Macro problems with M908 Ubuntu HOT 3
- Supported Device: UTech Venus Wireless Gaming Mouse HOT 1
- m913: Fire configuration (also Enter and snipe) HOT 2
- Any video tutorial? HOT 1
- Mouse acceleration HOT 1
- M801 Sniper Pro Support HOT 3
- Support Confirmation: Pusat V8 HOT 1
- Possible to assign other mouse functions to m908? HOT 2
- Package not building (arch and kde) HOT 3
- AUR package doesn't compile HOT 1
- M908 Fire Button HOT 2
- M910-K Not working HOT 3
- Change backlight color of REDRAGON M910-K HOT 5
- m602-1 HOT 3
- 908 i can readout but not write config HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mouse_m908.