You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

542 lines
23 KiB
HTML

<!doctype html>
<html>
<head>
<title>Hacking the Areson L103G</title>
<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/pure-min.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="wrapper">
<h1>Hacking the Areson L103G</h1>
<p class="main-image">
<img src="images/l103g/medion_md_86079.jpg" alt="The Medion MD 86079.">
</p>
<p><sup>(it's called the Areson G3 according to the USB identification data, though.)</sup></p>
<p>
Several years ago, I bought a Medion laser gaming mouse, the MD 86079, at the local Aldi. I'd been using it quite happily for years, and was always amazed at the comfort and accuracy of it, especially on glossy surfaces. Recently, I recommended it to somebody else, only to find that Medion had stopped selling it and it wasn't available anywhere else, either.
</p>
<p>
So I started researching, to figure out who actually <em>made</em> these things - after all, Medion barely does any manufacturing themselves. I started out by searching for it on Google, but this failed to bring up any useful results. The next step was to check the manual - but that didn't turn up anything useful either. Then I got an idea - what if I looked for clues in the driver software?
</p>
<p class="main-image">
<img src="images/odd_hexdump.png" alt="Huh?">
</p>
<p>
Certainly interesting, but not quite what I was looking for...
</p>
<p class="main-image">
<img src="images/driver_hexdump.png" alt="A hex dump of the relevant portion of the driver software.">
</p>
<p>
<strong>Bingo!</strong> The manufacturer turned out to be <a href="http://www.areson.com.tw/">Areson</a>.
</p>
<p>
Some further searching on the manufacturer name led me to believe that the particular model was the <a href="https://web.archive.org/web/20140809171051/http://www.taiwan-technology.com/areson/?s=sr">L103G</a>, since the exterior shape matched that of my mouse. However, when I searched for this model number a bit more... I started running across the <a href="https://www.youtube.com/watch?v=0Z4sIQfsBqE">Mtek Gaming Xtreme L103G</a> and the <a href="http://www.gold.com.tr/bross-l103g-usb-lazer-siyah-kirmizi_u">Bross L103G</a>. And, more interestingly, an <em>earlier</em> version of my mouse from Medion that was branded the "<a href="http://www.medion.com/gb/service/start/_product.php?msn=20040882&gid=6">USB Mouse Areson L103G</a>"! Apparently it had been staring me in the face for a while, and I failed to notice it.
</p>
<p>
Either way, the various other mice with the exact same build piqued my interest, and I started looking for other Areson L103G variants. And oh man, there were many. It started out with the Cyber Snipa mice, but as it turns out, Areson builds OEM mice for a large array of brands. Even the OCZ Dominatrix is actually just an Areson L103G! I've made a list of L103G variants and some other Areson-manufactured mice <a href="#models">down this page</a>.
</p>
<p>
Another thing that I noticed, was that all these L103G variants advertised configurable macro keys and DPI settings, up to sometimes 5000 DPI, while my mouse was advertised as hard-set 1600 DPI with just an auto-fire button, and only came with driver software that let me remap the navigational buttons.
</p>
<p>
Surely if these mice are all the same model, they would have the same chipset and thus the same capabilities? I also wondered why my DPI switching and autofire (macro) buttons didn't work under Linux - if these mice are programmable, then surely this functionality is handled by the mouse chipset and not by the driver?
</p>
<p>
It was time to fire up a Windows XP VM.
</p>
<p>
After some mucking around with VirtualBox to get USB passthrough to work (hey, openSUSE packagers, you should probably <em>document</em> that you've <a href="https://bugzilla.novell.com/show_bug.cgi?id=664520">disabled that by default for security reasons</a>!), I installed the original driver software for my Medion mouse. Apparently it's not even really a kernel driver - it seems to just be a piece of userspace software that sends signals to the device.
</p>
<p>
Sure enough, when I installed the driver, then disabled the USB passthrough, and thereby returned the device to the host (Linux) OS... the DPI switcher and macro button still worked fine, despite there being no driver to talk to anymore.
</p>
<p>
So, what was going on here?
</p>
<p>
My initial guess was that the mouse initially acts as a 'dumb' preconfigured USB/2.0 mouse, in order to have acceptable behaviour and DPI on a driver-less system, and that it would only enable the 'advanced features' (macros, DPI switching) if it got a signal from the driver saying that the configuration software was present. Now of course this makes sense for a highly configurable gaming mouse, but as my mouse didn't come with such software I found it a little odd.
</p>
<p>
So I fired up SnoopyPro, and had a look at the interaction that took place. Compared to a 'regular' 5 euro optical USB mouse - which I always have laying around as a spare - I noticed that two more interactions took place:
</p>
<p class="main-image">
<img src="images/snoopy1.png" alt="USB protocol dump, part 1.">
</p>
<p class="main-image">
<img src="images/snoopy2.png" alt="USB protocol dump, part 2.">
</p>
<p>
I haven't gotten around to looking at this in more detail yet (more to come!), but to me, that looks like it registers an extra non-standard configuration interface. Presumably, that interface is used for configuring the DPI and macros, and I suspect that the registration of it triggers enabling the DPI and macro buttons on the device.
</p>
<p>
USB protocol stuff aside, I wondered - is the hardware in my mouse <em>really</em> the same as that in the other models? And could I (ab)use that fact to configure my mouse beyond its advertised DPI?
</p>
<p class="main-image">
<img src="images/trust_software.png" alt="The Trust GXT 33 control panel.">
</p>
<p>
As it turns out, <em>yes, I can!</em>
</p>
<p>
The Trust GXT 33 is another Areson L103G model, advertised as configurable up to 5000 DPI. Its 'driver' software happily lets me configure my mouse up to those 5000 DPI - even though my Medion mouse was only advertised as 1600 DPI! I've changed the configuration (as you can see in the screenshot), and it really <em>does</em> take effect. It even keeps working after detaching it from the USB passthrough and thus returning it to Linux. And it doesn't stop there...
</p>
<p class="main-image">
<img src="images/trust_software_2.png" alt="The Trust GXT 33 control panel, macro panel.">
</p>
<p>
I can even configure macros for it. The interface isn't the most pleasant, but it works. And apparently, I now have some 5.7 KB of free storage space! I wonder if you could store arbitrary data in there...
</p>
<p>
Either way, back to the L103G. There is a quite wide array of variants of it, and I've made a list below for your perusal. Most of these are not sold anymore, but the Trust GXT 33 is - if it's sold near you (or any of the other L103G models are), I'd definitely recommend picking one up :)
</p>
<p>
A sidenote: some places reported particular mice (such as the Mtek L103G) as having a 1600 DPI sensor that can interpolate up to 3200 DPI with accuracy loss. However, even when cranking up mine to 5000 DPI, I did not notice any loss in quality - it is therefore possible that there are <em>some</em> differences between the sensors in different models.
</p>
<a name="models"><h2>The model list</h2></a>
<p>
Know of a model not listed here, or have a suggestion / correction / other addition? <a href="mailto:l103g@cryto.net">E-mail me!</a>
</p>
<table class="models">
<tr>
<td><img class="model-picture" src="images/l103g/medion_md_86079.jpg"></td>
<td class="info">
<h3>Medion MD 86079</h3>
<h3>Medion X81007</h3>
<h3>Medion L103G</h3>
<dl>
<dt>Advertised default DPI</dt>
<dd>400 / 800 / 1200 / 1600</dd>
<dt>Advertised maximum configurable DPI</dt>
<dd>N/A, advertised as hard-set resolution. Native sensor resolution unclear.</dd>
<dt>Actual maximum configurable DPI</dt>
<dd>5000 DPI</dd>
<dt>Advertised macro features</dt>
<dd>Hard-set, macro key enables auto-fire.</dd>
<dt>Actual macro features</dt>
<dd>Freely configurable mouse/keyboard macros, 5888 bytes internal storage space.</dd>
<dt>Sold at...</dt>
<dd class="unavailable">No longer available.</dd>
</dl>
</td>
</tr>
<tr>
<td><img class="model-picture" src="images/l103g/bross_l103g.jpg"></td>
<td class="info">
<h3>Bross L103G</h3>
<dl>
<dt>Advertised default DPI</dt>
<dd>Not listed.</dd>
<dt>Advertised maximum configurable DPI</dt>
<dd>400 - 3200 DPI</dd>
<dt>Actual maximum configurable DPI</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Advertised macro features</dt>
<dd>Freely configurable mouse/keyboard macros.</dd>
<dt>Actual macro features</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Notes</dt>
<dd>Sold primarily in Turkey.</dd>
<dt>Sold at...</dt>
<dd class="unavailable">No longer available.</dd>
</dl>
</td>
</tr>
<tr>
<td><img class="model-picture" src="images/l103g/cyber_snipa_stinger.jpg"></td>
<td class="info">
<h3>Cyber Snipa Stinger</h3>
<dl>
<dt>Advertised default DPI</dt>
<dd>Not listed.</dd>
<dt>Advertised maximum configurable DPI</dt>
<dd>400 - 3200 DPI</dd>
<dt>Actual maximum configurable DPI</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Advertised macro features</dt>
<dd>Freely configurable mouse/keyboard macros, 3 profiles with 6 each.</dd>
<dt>Actual macro features</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Notes</dt>
<dd>Company (Cyber Snipa) appears to have gone defunct. E-mail bounces, Twitter compromised, most of their site broken.</dd>
<dt>Sold at...</dt>
<dd class="unavailable">No longer available.</dd>
</dl>
</td>
</tr>
<tr>
<td><img class="model-picture" src="images/l103g/mtek_gaming_extreme_l103g.jpg"></td>
<td class="info">
<h3>Mtek Gaming Extreme L103G</h3>
<dl>
<dt>Advertised default DPI</dt>
<dd>400 / 800 / 1600 / 2000</dd>
<dt>Advertised maximum configurable DPI</dt>
<dd>400 - 3200 DPI</dd>
<dt>Actual maximum configurable DPI</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Advertised macro features</dt>
<dd>Freely configurable mouse/keyboard macros.</dd>
<dt>Actual macro features</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Notes</dt>
<dd>Sold primarily in Brazil.</dd>
<dt>Sold at...</dt>
<dd class="unavailable">No longer available.</dd>
</dl>
</td>
</tr>
<tr>
<td><img class="model-picture" src="images/l103g/trust_gxt_33.jpg"></td>
<td class="info">
<h3>Trust GXT 33</h3>
<dl>
<dt>Advertised default DPI</dt>
<dd>450 / 900 / 1800 / 3600</dd>
<dt>Advertised maximum configurable DPI</dt>
<dd>3600 DPI native</dd>
<dt>Actual maximum configurable DPI</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Advertised macro features</dt>
<dd>Freely configurable mouse/keyboard macros.</dd>
<dt>Actual macro features</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Notes</dt>
<dd>Software for this mouse let me configure my Medion mouse to 5000 DPI. Not sure if also possible for the GXT 33 itself, or whether interpolation is involved.</dd>
<dt>Sold at...</dt>
<dd><a href="http://www.trust.com/en/where-to-buy">Physical stores</a>, <a href="http://tweakers.net/pricewatch/303686/trust-gxt-33-laser-gaming-mouse.html">online Dutch shops (from €35)</a>, <a href="http://www.amazon.com/Trust-GXT-33-Laser-Gaming-Mouse/dp/B006TA0MEO/ref=sr_1_1?ie=UTF8&qid=1407609988&sr=8-1&keywords=trust+gxt+33">Amazon (from $61.88)</a>.</dd>
</dl>
</td>
</tr>
<tr>
<td><img class="model-picture" src="images/l103g/msi_gs_501.jpg"></td>
<td class="info">
<h3>MSI StarMouse GS501</h3>
<dl>
<dt>Advertised default DPI</dt>
<dd>400 / 800 / 1600 / 2400</dd>
<dt>Advertised maximum configurable DPI</dt>
<dd>1600 DPI native</dd>
<dt>Actual maximum configurable DPI</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Advertised macro features</dt>
<dd>Freely configurable mouse/keyboard macros. Macro key acts as mode/profile switch button. Two programmable buttons.</dd>
<dt>Actual macro features</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Notes</dt>
<dd>Slightly different shell design.</dd>
<dt>Sold at...</dt>
<dd class="unavailable">No longer available.</dd>
</dl>
</td>
</tr>
<tr>
<td><img class="model-picture" src="images/l103g/ocz_dominatrix.jpg"></td>
<td class="info">
<h3>OCZ Dominatrix</h3>
<dl>
<dt>Advertised default DPI</dt>
<dd>400 / 800 / 1600 / 2000</dd>
<dt>Advertised maximum configurable DPI</dt>
<dd>3200 DPI, unclear if native or interpolated</dd>
<dt>Actual maximum configurable DPI</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Advertised macro features</dt>
<dd>Freely configurable mouse/keyboard macros.</dd>
<dt>Actual macro features</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Notes</dt>
<dd>Slightly different shell; not a single-piece cover, and differently shaped DPI / macro keys. Possibly more customized.</dd>
<dt>Sold at...</dt>
<dd class="unavailable">No longer available.</dd>
</dl>
</td>
</tr>
<tr>
<td><img class="model-picture" src="images/l103g/revoltec_fight_mouse_pro.jpg"></td>
<td class="info">
<h3>Revoltec FightMouse Pro</h3>
<dl>
<dt>Advertised default DPI</dt>
<dd>400 / 800 / 1600 / 2000</dd>
<dt>Advertised maximum configurable DPI</dt>
<dd>3200 DPI native</dd>
<dt>Actual maximum configurable DPI</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Advertised macro features</dt>
<dd>Freely configurable mouse/keyboard macros.</dd>
<dt>Actual macro features</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Notes</dt>
<dd>Same shell layout as the OCZ Dominatrix, but with carbon print.</dd>
<dt>Sold at...</dt>
<dd>
<span class="important">No longer manufactured.</span><br>
<a href="http://azerty.nl/producten/product_detail/1071/213601/revoltec-fightmouse-pro-muis-laser-met-bekabeling-usb.html?channel_code=57">Azerty (NL, €41,02)</a>, <a href="http://www.amazon.co.uk/Revoltec-Fightmouse-RE121-Mouse-4-ways/dp/B001PQCQ14">Amazon UK (£39.59)</a>
</dd>
</dl>
</td>
</tr>
</table>
<h2>Earlier/simpler models (no macros, etc.)</h2>
<table class="models">
<tr>
<td><img class="model-picture" src="images/l103g/gigabyte_gm_m6800.jpg"></td>
<td class="info">
<h3>Gigabyte GM-M6800</h3>
<dl>
<dt>Advertised default DPI</dt>
<dd>800 / 1600</dd>
<dt>Advertised maximum configurable DPI</dt>
<dd>Advertised as hard-set.</dd>
<dt>Actual maximum configurable DPI</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Advertised macro features</dt>
<dd>None. No physical macro button either.</dd>
<dt>Actual macro features</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Notes</dt>
<dd>
<span class="important">This is an optical mouse, not a laser mouse!</span>
This appears to be a custom (cheaper) optical build. No LED illumination, no side-scroll, and no weight adjustment.
</dd>
<dt>Sold at...</dt>
<dd><a href="http://tweakers.net/pricewatch/249763/gigabyte-gm-m6800.html">Online Dutch shops (from €14,39)</a>, <a href="http://www.amazon.com/Gigabyte-High-Definition-Optical-Tracking-GM-M6800/dp/B0083EZE4M/ref=sr_1_1?ie=UTF8&qid=1407610430&sr=8-1&keywords=gigabyte+gm+m6800">Amazon (from $9.99)</a>.</dd>
</dl>
</td>
</tr>
<tr>
<td><img class="model-picture" src="images/l103g/gigabyte_gm_m6880.jpg"></td>
<td class="info">
<h3>Gigabyte GM-M6880</h3>
<dl>
<dt>Advertised default DPI</dt>
<dd>400 / 800 / 1600 (version 1 only supports 800 / 1600)</dd>
<dt>Advertised maximum configurable DPI</dt>
<dd>Advertised as hard-set.</dd>
<dt>Actual maximum configurable DPI</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Advertised macro features</dt>
<dd>None. No physical macro button either.</dd>
<dt>Actual macro features</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Notes</dt>
<dd>
The same as the Gigabyte GM-M6800, but with a laser sensor and a differently colored shell. This appears to be a custom (cheaper) build. No LED illumination, no side-scroll, and no weight adjustment.
</dd>
<dt>Sold at...</dt>
<dd><a href="http://tweakers.net/pricewatch/262489/gigabyte-gm-m6880.html">Online Dutch shops (from €12,77)</a>, <a href="http://www.amazon.com/Gigabyte-GM-M6880-Optical-Gaming-Mouse/dp/B002050WSS/ref=sr_1_1?ie=UTF8&qid=1407610598&sr=8-1&keywords=gigabyte+GM-M6880">Amazon (from $19.67)</a>.</dd>
</dl>
</td>
</tr>
<tr>
<td><img class="model-picture" src="images/l103g/puretrak_valor.png"></td>
<td class="info">
<h3>PureTrak Valor</h3>
<dl>
<dt>Advertised default DPI</dt>
<dd>800 / 1600 / 2400 / 3500</dd>
<dt>Advertised maximum configurable DPI</dt>
<dd>3500 DPI native</dd>
<dt>Actual maximum configurable DPI</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Advertised macro features</dt>
<dd>None. No physical macro button either.</dd>
<dt>Actual macro features</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Notes</dt>
<dd>
<span class="important">This is an optical mouse, not a laser mouse!</span>
Similar shell to the OCZ Dominatrix and Revoltech FightMouse Pro, but without macro key. Has the same weight adjustment system as the standard L103G.
</dd>
<dt>Sold at...</dt>
<dd><a href="http://tweakers.net/pricewatch/unsorted/1099730/puretrak-valor-optical-gaming-mouse-(bnpuretrakmouse).html">Online Dutch shops (from €24,90)</a>, <a href="http://www.amazon.com/PureTrak-3500dpi-Professional-PC-Mac-Linux/dp/B00FP1XBIM/ref=sr_1_2?ie=UTF8&qid=1407613416&sr=8-2&keywords=puretrak+valor">Amazon (from $19.95)</a>.</dd>
</dl>
</td>
</tr>
<tr>
<td><img class="model-picture" src="images/l103g/sentey_whirlwind_x.jpg"></td>
<td class="info">
<h3>Sentey Whirlwind X</h3>
<dl>
<dt>Advertised default DPI</dt>
<dd>400 / 800 / 1600 / 3200</dd>
<dt>Advertised maximum configurable DPI</dt>
<dd>3200 DPI native</dd>
<dt>Actual maximum configurable DPI</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Advertised macro features</dt>
<dd>None. No physical macro button either.</dd>
<dt>Actual macro features</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Notes</dt>
<dd>
<span class="important">This is an optical mouse, not a laser mouse!</span>
Similar shell to the PureTrak Valor, but no weight adjustment. Also no macro key. Pixart PAW-3305 chipset, rather than the AVAGO ADNS series that is common in this type of mouse.
</dd>
<dt>Sold at...</dt>
<dd>
<a href="http://www.sentey.com/en/wheretobuy">Many stores (from $29.99)</a>,
<a href="http://www.amazon.com/Gaming-Mouse-Wired-Sentey%C2%AE-Promotion/dp/B00I5TZOB8/ref=sr_1_1?ie=UTF8&qid=1407613845&sr=8-1&keywords=sentey+whirlwind">Amazon (sale $9.99, regular $34.99)</a>.
</dd>
</dl>
</td>
</tr>
<tr>
<td><img class="model-picture" src="images/l103g/canyon_cnr_msg01.jpg"></td>
<td class="info">
<h3>CANYON CNR-MSG01</h3>
<dl>
<dt>Advertised default DPI</dt>
<dd>400 / 800 / 1600 / 2400 (?)</dd>
<dt>Advertised maximum configurable DPI</dt>
<dd>3200 DPI (possibly interpolated)</dd>
<dt>Actual maximum configurable DPI</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Advertised macro features</dt>
<dd>None. No physical macro button either.</dd>
<dt>Actual macro features</dt>
<dd>Not tested. <a href="mailto:l103g@cryto.net">Send me feedback!</a></dd>
<dt>Notes</dt>
<dd>
<span class="important">This is an optical mouse, not a laser mouse!</span>
Similar shell to the regular L103G, but without macro key. No weight adjustment, likely no sidescroll either.
</dd>
<dt>Sold at...</dt>
<dd class="unavailable">No longer available.</dd>
</dl>
</td>
</tr>
</table>
<p>
Information on other models from Areson is coming soon.
</p>
</div>
</body>
</html>