EEVblog Electronics Community Forum

Products => Test Equipment => Topic started by: norbert.kiszka on November 14, 2025, 02:18:40 am

Title: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 14, 2025, 02:18:40 am
Current results:

Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 14, 2025, 10:19:59 pm
V0.0.1 is released (https://buymeacoffee.com/norbert.kiszka/e/479030).

Changelog:

Title: Re: Hacking the Rigol MHO900 Scope
Post by: 0xdeadbeef on November 14, 2025, 11:08:42 pm
I just wonder why your version displays 9 options instead of 7. The "options" #1 and #2 are always there and not listed on a "normal" MHO98 or MHO900. I.e. they are actually no options.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: SiliconWizard on November 14, 2025, 11:13:52 pm
Interesting.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 14, 2025, 11:18:47 pm
I just wonder why your version displays 9 options instead of 7. The "options" #1 and #2 are always there and not listed on a "normal" MHO98 or MHO900. I.e. they are actually no options.

I just hardcoded all options to be enabled all the time.

Actually, there is 12 of them:
Title: Re: Hacking the Rigol MHO900 Scope
Post by: 0xdeadbeef on November 14, 2025, 11:35:03 pm
Following this logic, there would be even one more, namely the 50MHz AFG option.
But it doesn't really make much sense to list options that are either always built in or overlap (e.g. the bandwidth upgrade from 350MHz and 500MHz to 800MHz).
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 14, 2025, 11:39:38 pm
Number of options actually doesn't matter if everything works.

I just looked into AFG and max is 50 MHz, but it should be 100 MHz. I will take a look why is that.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: 0xdeadbeef on November 15, 2025, 12:00:27 am
As a side note: the current firmware looks a bit like a Beta given that the embedded English manual is lacking a lot of chapters and even a title or table of contents.
Plus there are some quite obvious bugs like the LA threshold settings, the WLAN stick not detecting any networks at every 2nd boot or even the license activation not working as described (lic file in root of USB stick).

So, I would expect a first update of the firmware soon and would hesitate to spend money on a hack at this time (if I was in need for a hack, which I ain't anyway).
Just my 0,02€ though.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 15, 2025, 12:06:27 am
They used both hardware design and firmware from DHO800/900.

My DHO924S buttons and knobs are working correctly. While DHO1000/4000 app when I press power button, it changes waveform offset...



In the datasheet, AFG has sample rate 1 GHz. So I think it should be possible to do about 320-350 MHz instead of just 50 or 100. Currently Im working on it.



Edit: their whole firmware is not even alpha. It was bad before first code line came in. And they started with a bad selection of OS.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: EEVblog on November 15, 2025, 02:54:46 am
V0.0.1 is released (https://buymeacoffee.com/norbert.kiszka/e/479030).
Changelog:
  • Unlocked all options.
  • Unlocked bandwidth 1 GHz (for all MHO900 models).
  • Added bandwidth manual options (separately for each channel): 350 MHz, 500 MHz, 800 MHz.
  • Optimizations.
  • Minimum time base changed to 200 ps.

Cool, but selling a hack is inviting legal action.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 15, 2025, 02:58:19 am
No license text means everybody can do whatever they want with it.

Same thing I can say to Rigol, because they used somebody else software code without giving a sh*t to license conditions.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 15, 2025, 03:05:44 am
Going back to AFG frequency limits problem. They obfuscated the code a little bit. But finally I found it just right now after couple hours  :phew:  :scared:
Title: Re: Hacking the Rigol MHO900 Scope
Post by: EEVblog on November 15, 2025, 03:17:43 am
No license text means everybody can do whatever they want with it.
Same thing I can say to Rigol, because they used somebody else software code without giving a sh*t to license conditions.

Are you saying you have not generated any license codes?
If so, what did you do, by pass the license code checking or something?
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 15, 2025, 03:24:54 am
Are you saying you have not generated any license codes?
If so, what did you do, by pass the license code checking or something?

I modified the scope app mostly in Assembly. The least known programming language, because it's most complex and requires knowledge of how the CPU is doing the "things".

Exactly the same I did with DHO800/900 and DHO1000/4000 firmware. Not only hacked but also improved - especially DHO800/900 as in the attachments.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: gsobol on November 18, 2025, 02:37:44 am
I've noticed you are working with MHO934.  Will this work on MHO954?
Title: Re: Hacking the Rigol MHO900 Scope
Post by: TUMEMBER on November 18, 2025, 10:15:05 am
I've noticed you are working with MHO934.  Will this work on MHO954?
Forget that you'll get an answer here. Don't you see that administrator Simon took offense and banned Norbert on November 16, 2025? This is a specific reward for his significant contribution to modifying the broken Rigol software. You can try asking Norbert a question on the Patronite page.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ptluis on November 18, 2025, 10:38:48 am

I've noticed you are working with MHO934.  Will this work on MHO954?
Forget that you'll get an answer here. Don't you see that administrator Simon took offense and banned Norbert on November 16, 2025? This is a specific reward for his significant contribution to modifying the broken Rigol software. You can try asking Norbert a question on the Patronite page.

How do you know that? his account doesn't display any ban info.

Edit: never mind, I just noticed the BAN Smiley
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ptluis on November 18, 2025, 10:59:44 am
I've noticed you are working with MHO934.  Will this work on MHO954?
Forget that you'll get an answer here. Don't you see that administrator Simon took offense and banned Norbert on November 16, 2025? This is a specific reward for his significant contribution to modifying the broken Rigol software. You can try asking Norbert a question on the Patronite page.

60 bucks for cracked dho800/900 full feature version, and 30 bucks for a non finished cracked version of MHO900 is not a contribution to anybody on this forum. Its a financial contribution to his pocket.

Also who knows if he injected some malware code on the files? He injected some protection code on his "cracks/mods" to not run on several machines.

For me a contribution is something that everybody could use for free.

So not a big contribution.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: TUMEMBER on November 18, 2025, 11:50:08 am
I've noticed you are working with MHO934.  Will this work on MHO954?
Forget that you'll get an answer here. Don't you see that administrator Simon took offense and banned Norbert on November 16, 2025? This is a specific reward for his significant contribution to modifying the broken Rigol software. You can try asking Norbert a question on the Patronite page.

60 bucks for cracked dho800/900 full feature version, and 30 bucks for a non finished cracked version of MHO900 is not a contribution to anybody on this forum. Its a financial contribution to his pocket.

Also who knows if he injected some malware code on the files? He injected some protection code on his "cracks/mods" to not run on several machines.

For me a contribution is something that everybody could use for free.

So not a big contribution.

Have you analyzed this software, or are you just fabricating? Norbert can't answer for himself, but you can insinuate.

Nothing comes for free, and knowledge costs money. Have you seen free McDonald's?
Title: Re: Hacking the Rigol MHO900 Scope
Post by: egonotto on November 18, 2025, 01:11:50 pm
Hello,

there are already some people here who don't charge anything for their work.

Best regards,
egonotto
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ptluis on November 18, 2025, 02:43:36 pm
I've noticed you are working with MHO934.  Will this work on MHO954?
Forget that you'll get an answer here. Don't you see that administrator Simon took offense and banned Norbert on November 16, 2025? This is a specific reward for his significant contribution to modifying the broken Rigol software. You can try asking Norbert a question on the Patronite page.

60 bucks for cracked dho800/900 full feature version, and 30 bucks for a non finished cracked version of MHO900 is not a contribution to anybody on this forum. Its a financial contribution to his pocket.

Also who knows if he injected some malware code on the files? He injected some protection code on his "cracks/mods" to not run on several machines.

For me a contribution is something that everybody could use for free.

So not a big contribution.

Have you analyzed this software, or are you just fabricating? Norbert can't answer for himself, but you can insinuate.

Nothing comes for free, and knowledge costs money. Have you seen free McDonald's?

I don't fabricate anything it's written on his patreon page that his mods are used on two machines and you have to activate them. Its kind of hypocrisy that he removes rigols protections and creating his own...

And of course knowledge must be paid but not this way. There are many users on this forum that created their own custom firmware and charge nothing, and they're getting their support through donations.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ptluis on November 18, 2025, 02:49:25 pm
I even add this, the first user that hack the licensing file for dho800/900 doesn't charge anything and even shared the info to everybody. All the others take advantage of his information to release their own on a paid style.
The spirit of every forum is to share knowledge, help each other,  isn't it?

What he is doing is assuming the cracking activity and jeopardizing the functioning of this forum, which could lead to its closure.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Fungus on November 18, 2025, 03:27:11 pm
I've noticed you are working with MHO934.  Will this work on MHO954?
Forget that you'll get an answer here. Don't you see that administrator Simon took offense and banned Norbert on November 16, 2025? This is a specific reward for his significant contribution to modifying the broken Rigol software. You can try asking Norbert a question on the Patronite page.

a) He tried to sell his upgrade hacks here.

b) He was very insulting to people who called him out over certain things.

He got a seven day ban. He'll be back next week (if he wants to).
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ptluis on November 18, 2025, 05:44:11 pm
I've noticed you are working with MHO934.  Will this work on MHO954?
Forget that you'll get an answer here. Don't you see that administrator Simon took offense and banned Norbert on November 16, 2025? This is a specific reward for his significant contribution to modifying the broken Rigol software. You can try asking Norbert a question on the Patronite page.

a) He tried to sell his upgrade hacks here.

b) He was very insulting to people who called him out over certain things.

He got a seven day ban. He'll be back next week (if he wants to).

I even add this little thing: people here post the MHO files for FREE and he take them and rush to release a PAID CRACK, so he got something for free and charge in return? nobody ask him to crack software, he did it because he want to, and because he is a smart guy and know how to do it,  but he must realize that nobody here really liked that attitude (except a few guys that didn't realized the seriousness of the action).

The approach to the subject was totally wrong. Seems like he's trying to get a high monthly income from cracking and that's not acceptable. There are special places to upload cracks and all illegal stuff without compromising others.

He could argue all he can about licences but he messed the rigols code and assume publicly that action.

Still need to learn a few things about conduct and yes conduct does exist between crackers and one is that a cracker never charge for his "work" and seek for world recognition.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: tatel on November 18, 2025, 07:08:30 pm
Well, not sure how the ban came in, but I would say i'm not interestedin anything android if I can avoid it. So currently leanig to siglent, not rigol.

I wouldn't pay a dime for any cracked android. But, should I need one of these MHO900, and sould this man be able to substitute Debian for android, i would be glad to pay him for that work. BTW, if that is possible, it would mean nothing would be cracked, but open source.

Last but not least: I see android as just a way to use privative software with linux. Which I don't think fits the spirit of linux. I don't know how exactly how they got rid of the GPL. To me, android is a cracked linux and google gets away with it. So I avoid using it as much as reasonably possible. Only exception is my very cheap cell phone. I recently got a Redmi 7 from aliexpres and put lineageOS in it. Including binary privative blobs. All in all, 45€ delivered and working fine.

Of course I understand admins will care about maintaining this forum free of legal hassle. But, are we sure what this man is doing is illegal? LineageOS doesn't seem to have any legal problems. Substituting Debian for android in these devices would make sure there's nothing illegal going on. Should I have an MHO900 I would gladly help him to do that, which wouldn't be a minor feat.
 
Title: Re: Hacking the Rigol MHO900 Scope
Post by: NE666 on November 18, 2025, 07:11:21 pm
conduct does exist between crackers and one is that a cracker never charge for his "work" and seek for world recognition.

So, you're saying, if I understand you correctly; licensing violation and the unauthorised modification of Rigol's software is OK, just so long as the person doing it gives it away for free and/or a pat on the head? It's morally acceptable to shoplift, so long as I give all the goods away for nothing to anyone who asks for them?

Personally, I couldn't care less what he's done. He can face the consequences of his own actions alone, if Rigol 'come for him'. But let's not treat this as if he was somehow exploiting forum members. No one was being forced nor coerced into helping him with, nor buying his 'crack'. Those that did so, did of their own free will, and presumably considered the modest charge to represent good value. If it's not for you, just ignore it.

I fail to see how what Norbert has done here is so much more morally reprehensible and worthy of public 'condemnation', as what has been offered and sought here for years, namely license generators/unlocks. Those could just as easily attract legal 'interest', if Rigol started caring about it.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Sorama on November 18, 2025, 07:39:24 pm
This is getting pretty hypocritical.
If one thinks Norbert should be banned because he is so calling hacking than you should ban everyone involved with for instance the Siglent script also.

He is perfectly free to ask what he wants for his added functionality, performance or feature upgrades. 
If you don’t like that, then don’t buy it.

Or are some people here jealous about what he is able to do?

Edit: I noticed NE666 wrote something similar.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: tatel on November 18, 2025, 09:24:29 pm

I even add this little thing: people here post the MHO files for FREE and he take them and rush to release a PAID CRACK, so he got something for free and charge in return? nobody ask him to crack software, he did it because he want to, and because he is a smart guy and know how to do it,  but he must realize that nobody here really liked that attitude (except a few guys that didn't realized the seriousness of the action).

Hi ptuis:

I think you got balistic. Nobody compels to pay him. While I don't like to pay for cracked software, I think this case is different. To me it looks lithe this man is not just cracking it but making it good or, at the very least, not so bad. Perhaps he will be able to even get rid of android and put a free, as in freedom, not as in free beer, software in that hardware. As said before, should I need one of these MHO900 i would be glad to give any file he could need an also to pay him for his work. The seriousnees you are speaking about seems to be related to him asking money for his work. If that's the case, I think you are entitled to have your own opinion, but please realize I think you are wrong, before implying you are speaking for all fellow forum members.

Quote
The approach to the subject was totally wrong. Seems like he's trying to get a high monthly income from cracking and that's not acceptable.

I very much doubt he's going to get anything near a reasonably wage. Right off the bat, it sems neither you nor me have one of these devices. So please take it easy. Even if you have one of these, nobody compels you to pay him even a dime. You could continue with crippled crappy software over android and that would be all.

Quote
There are special places to upload cracks and all illegal stuff without compromising others.

There are cracks here, and I think it could be also seen as illegal. Again, it looks as if the point that irks you he's asking money for his work. Of course other fellow forum members don't ask for any money, which I very much appreciate. But to me, he seems to be doing much more than just cracking. Anyway, it's up to Dave and the moderators to decide what to do. You are entitled to make your opinion clearly known. As just me, with a different one. Both will have to take what the forum owner/moderators decide.

Quote
He could argue all he can about licences but he messed the rigols code and assume publicly that action.
Perhaps because he could be right. As said on my previous post, Android seems to be a diferent, very fuzzy thing. How could lineageOS and other alternative android distros be distributing even privative binary blobs in the open and have no legal problems whatsoever? He said he was able to link a rigol library directly to Debian which means linux kernel-related. So that library would be free software. Just saying. Perhaps it would be wise to shut up and leave any decission to the people that have skin in this game. I would only ask these people to not fall in prejudice and make sure it's really illegal before any banning.

Quote
Still need to learn a few things about conduct and yes conduct does exist between crackers and one is that a cracker never charge for his "work" and seek for world recognition.
Well sorry to be blunt but this statement is laughable. Have you ever tried to get any automotive software? It doesn't seem to be the case.

First, you have to get into some forum and you'll need to pay for getting in, otherwise you will remain in the cold. Then if you think you'll be able to get there the lessest piece of software without paying for it, think it again.  So one has to choose between giving money to the cracker, or giving an arm and a leg to, say, Citroen, to get some fix to some bug, they had in some previous version, that came to you after paying tens of thousands of euros for your car. Very different to get firmware updates for free.

I don't like to pay crackers for just cracking, so the outcome is my C5 will remain in the garage as long as I'll be able to mantain my Berlingo First (which has some relay as the most complex piece of electronic hardware inside) running. Then I will probably be forced to give some money to some cracker, because I really think it's nice to have two arms and two legs.

It's the same for any other brand car I know about. A cracker never charges? You must be high.

If Dave and/or the moderatos decide this man has to go, because he's doing something illegal or just because he's insulting people, so be it. But you behaving like a nun raped by the yeti is ludicrous. Just my opinion.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ptluis on November 18, 2025, 10:05:32 pm
conduct does exist between crackers and one is that a cracker never charge for his "work" and seek for world recognition.

So, you're saying, if I understand you correctly; licensing violation and the unauthorised modification of Rigol's software is OK, just so long as the person doing it gives it away for free and/or a pat on the head? It's morally acceptable to shoplift, so long as I give all the goods away for nothing to anyone who asks for them?

Personally, I couldn't care less what he's done. He can face the consequences of his own actions alone, if Rigol 'come for him'. But let's not treat this as if he was somehow exploiting forum members. No one was being forced nor coerced into helping him with, nor buying his 'crack'. Those that did so, did of their own free will, and presumably considered the modest charge to represent good value. If it's not for you, just ignore it.

I fail to see how what Norbert has done here is so much more morally reprehensible and worthy of public 'condemnation', as what has been offered and sought here for years, namely license generators/unlocks. Those could just as easily attract legal 'interest', if Rigol started caring about it.

You understand completely wrong
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Fungus on November 18, 2025, 10:29:34 pm
So, you're saying, if I understand you correctly; licensing violation and the unauthorised modification of Rigol's software is OK, just so long as the person doing it gives it away for free and/or a pat on the head? It's morally acceptable to shoplift, so long as I give all the goods away for nothing to anyone who asks for them?

False equivalence. You have to buy a 'scope from Rigol in order to be able to hack it.

Rigol's done the math and figured out they sell more 'scopes, and therefore make more money because of hacking. Hacking is an integral part of their business model.

Siglent, too.

Bottom line: It's more like supermarkets selling bread at a loss to get people to go shopping there - they lose on the bread but overall they make more money.

Feel free not to do it if you don't want to.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Sorama on November 18, 2025, 10:41:30 pm
So, you're saying, if I understand you correctly; licensing violation and the unauthorised modification of Rigol's software is OK, just so long as the person doing it gives it away for free and/or a pat on the head? It's morally acceptable to shoplift, so long as I give all the goods away for nothing to anyone who asks for them?

False equivalence. You have to buy a 'scope from Rigol in order to be able to hack it.

Rigol's done the math and figured out they sell more 'scopes, and therefore make more money because of hacking. Hacking is an integral part of their business model.

Siglent, too.

Bottom line: It's more like supermarkets selling bread at a loss to get people to go shopping there - they lose on the bread but overall they make more money.

Feel free not to do it if you don't want to.

You don’t know a single thing about Rigols’ marketing.
So you better stop pretending.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: tatel on November 18, 2025, 11:31:11 pm
False equivalence. You have to buy a 'scope from Rigol in order to be able to hack it.

It looks to me that anyone getting Norbert's thing would have to buy a Rigol scope to install it in. Or am I wrong?

Quote
Rigol's done the math and figured out they sell more 'scopes, and therefore make more money because of hacking. Hacking is an integral part of their business model.

Then where's the problem in Norbert hacking it? Should I need a cheap 1 GHz scope I could buy a Rigol, but with crappy software over android in it -no way.

By the comments about the 12-bit devices and about what has been done by Norbert on the "DOH" series, Rigol should do the math again and realize they will make more money by firing their software developement team on the spot and contracting Norbert instead. First they would save quite a bit of money, second, people like me could think about buying from them.

Following your line, I think Norbert's work will benefit Rigol and very much doubt any legal problems will come here for that. Only exception: if Rigol's boss name is Mazón, anything would be possible.

My bottom line: he gets banned because he's insulting people, I'm fine with that. He gets banned because this forum only allows sales of personal, not needed anymore, hardware, I'm mostly fine with that (but personally I think there are good reasons to give him as much leeway as possible)

He gets banned for hacking, perhaps even cracking: bad karma, and anyone posting any crack/license generator, whatever cracking-related, even for free, should be banned too.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: tautech on November 18, 2025, 11:45:56 pm
.............

He gets banned for hacking, perhaps even cracking: bad karma, and anyone posting any crack/license generator, whatever cracking-related, even for free, should be banned too.
History of what's happened here on EEVblog is also good to know.

Hacks were not posted back in the old days but links to online hacks have always been.
Rigup and RigLOL are 2 old examples.

Dave only needs protect his forum and personal liability at any cost.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: EEVblog on November 18, 2025, 11:54:27 pm
I've noticed you are working with MHO934.  Will this work on MHO954?
Forget that you'll get an answer here. Don't you see that administrator Simon took offense and banned Norbert on November 16, 2025? This is a specific reward for his significant contribution to modifying the broken Rigol software. You can try asking Norbert a question on the Patronite page.

He was given a 7 day ban to cool off. This is not uncommon.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: EEVblog on November 18, 2025, 11:57:16 pm
If Dave and/or the moderatos decide this man has to go, because he's doing something illegal or just because he's insulting people, so be it.

It was a temporary ban, and it was not because of the hack or any potential legal issue.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: EEVblog on November 19, 2025, 12:03:45 am
.............
He gets banned for hacking, perhaps even cracking: bad karma, and anyone posting any crack/license generator, whatever cracking-related, even for free, should be banned too.
History of what's happened here on EEVblog is also good to know.

Hacks were not posted back in the old days but links to online hacks have always been.
Rigup and RigLOL are 2 old examples.

Dave only needs protect his forum and personal liability at any cost.

The only thing we don't allow here is actual copyrighted/cracked material being uploaded to this server. Anyone is free to post a link to a third party website if they so choose.
Lecroy once threatened legal action against me if I didn't remove this thread:
https://www.eevblog.com/forum/testgear/lecroy-options-recovery/ (https://www.eevblog.com/forum/testgear/lecroy-options-recovery/)

I told them very politely that I would not do that, and that pursuing that would be very bad for their reputation. I didn't hear from them again.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: tautech on November 19, 2025, 12:12:10 am
.............
He gets banned for hacking, perhaps even cracking: bad karma, and anyone posting any crack/license generator, whatever cracking-related, even for free, should be banned too.
History of what's happened here on EEVblog is also good to know.

Hacks were not posted back in the old days but links to online hacks have always been.
Rigup and RigLOL are 2 old examples.

Dave only needs protect his forum and personal liability at any cost.

The only thing we don't allow here is actual copyrighted/cracked material being uploaded to this server. Anyone is free to post a link to a third party website if they so choose.
Lecroy once threatened legal action against me if I didn't remove this thread:
https://www.eevblog.com/forum/testgear/lecroy-options-recovery/ (https://www.eevblog.com/forum/testgear/lecroy-options-recovery/)

I told them very politely that I would not do that, and that pursuing that would be very bad for their reputation. I didn't hear from them again.
Yeah well you're not exactly squeaky clean when it comes to hacking.  :P

I well remember the SDS1102X-E you got for review that you captured the boot log and found the way to make it the 200 MHz model which resulted in Siglent only releasing SDS1202X-E to the west and you having the one and only SDS1102X-E outside Asia.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: abeyer on November 19, 2025, 02:56:01 am
Have you analyzed this software, or are you just fabricating? Norbert can't answer for himself, but you can insinuate.

Nonsense, it's been a safe assumption for decades that cracked software without trivially inspectable sources is high risk, and this is the only safe approach.

Nothing comes for free, and knowledge costs money. Have you seen free McDonald's?

Well, nothing except the work he stole to make a buck off of... that was free.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: tatel on November 19, 2025, 03:15:41 am
It was a temporary ban, and it was not because of the hack or any potential legal issue.

Good. Fine.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: TUMEMBER on November 19, 2025, 09:30:30 am
So, you're saying, if I understand you correctly; licensing violation and the unauthorised modification of Rigol's software is OK, just so long as the person doing it gives it away for free and/or a pat on the head? It's morally acceptable to shoplift, so long as I give all the goods away for nothing to anyone who asks for them?

False equivalence. You have to buy a 'scope from Rigol in order to be able to hack it.

Rigol's done the math and figured out they sell more 'scopes, and therefore make more money because of hacking. Hacking is an integral part of their business model.

Siglent, too.

Bottom line: It's more like supermarkets selling bread at a loss to get people to go shopping there - they lose on the bread but overall they make more money.

Feel free not to do it if you don't want to.

You don’t know a single thing about Rigols’ marketing.
So you better stop pretending.

"Find me a market because I have too many products"—that's the entire philosophy of the last 20 years. Costs are less important, they're rolled into promotions, like Black Friday on the horizon.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: thm_w on November 20, 2025, 10:29:21 pm
Back on topic,

Changes in v0.1:
Quote
    .GEL (installation from USB flashdrive) build and Posix script as in the DHO800/900 mod (system performance changes and Android desktop by Nova launcher with basic apps).
    Added UPA option (power analysis).
    Changed AFG sine wave max frequency limit up to 350 MHz.
    Changed AFG square wave max frequency limit up to 250 MHz.
    Changed AFG arbitrary and predefined wave max frequency limit up to 250 MHz.
    Changed AFG ramp wave max frequency limit up to 50 MHz.
    Code optimizations (lower CPU usage, faster UI and more wfm/s).
    hdcode number (/dev/hdcode_gpio) app reads only once and it's cached.
    "TestModel" hardcoded (gives advanced settings and more features).
    "image header" (model name added to screenshots) disabled by default.
    Removed app screen borders.
    Removed windows vertical margins.
    Changed windows (waveform, XY, math, etc) background from dark gray to black.
    Increased space for shortcuts.
    Increased margin between vertical elements in bottom bar (normal mode).
    Changed background of botom bar in full screen mode from light gray to black.
    Fixed some translations.
    Removed code loading gif in the app bootsplash, because sometimes it triggered bug in the "Flutter", which caused app crash.
    Fixed random Androidx lib crash caused by loading unavailable class View$OnUnhandledKeyEventListener.
    Changed Rigol launcher to the same as in the DHO800/900 mod (optimized and modified).
    Instant (first) reboot after upgrade from .GEL file.

Changes in v0.1.1:

Quote
    Quick fix of the waveform cache lock (caused issues with start/stop on CH1).
Title: Re: Hacking the Rigol MHO900 Scope
Post by: washley on November 21, 2025, 02:22:53 am
Ha, so the AFG is actually capable of much higher frequencies than Rigol, by default, allows us to use? Is going beyond the factory max at risk of poor output quality?
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Fungus on November 21, 2025, 02:13:50 pm
Ha, so the AFG is actually capable of much higher frequencies than Rigol, by default, allows us to use?

Does it have the bandwidth to output that signal?

Does it heat up or burn any components?
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Sorama on November 21, 2025, 02:38:33 pm
Ha, so the AFG is actually capable of much higher frequencies than Rigol, by default, allows us to use?

Does it have the bandwidth to output that signal?

Does it heat up or burn any components?

You should ask Norbert, he’s the one that noticed it.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: hololens on November 21, 2025, 03:17:35 pm
Regarding the selling of the hacks on Patreon i would say, not giving any legal advice, this opens many attack points for legal action.

As a passive reader it does seem to me that he is NOT writing any ARM code or HDLs for that matter but JUST disassembling to intermediate language (smali), fiddling with that to enable/disable/extend existing features and assembling afterwards to generate an app replacement i.e. hacking.

Btw. the enhancement patches seem in part risky to me looking at the R&S fiasko with the RTB2000.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: washley on November 21, 2025, 05:09:26 pm
Ha, so the AFG is actually capable of much higher frequencies than Rigol, by default, allows us to use?

Does it have the bandwidth to output that signal?

Does it heat up or burn any components?

You should ask Norbert, he’s the one that noticed it.
Maybe he's bought one in the last few days, but he didn't even have an MHO9xx when initially releasing a hacked firmware.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: dzebrys on November 21, 2025, 06:51:48 pm
I've noticed you are working with MHO934.  Will this work on MHO954?
Forget that you'll get an answer here. Don't you see that administrator Simon took offense and banned Norbert on November 16, 2025? This is a specific reward for his significant contribution to modifying the broken Rigol software. You can try asking Norbert a question on the Patronite page.

60 bucks for cracked dho800/900 full feature version, and 30 bucks for a non finished cracked version of MHO900 is not a contribution to anybody on this forum. Its a financial contribution to his pocket.

Also who knows if he injected some malware code on the files? He injected some protection code on his "cracks/mods" to not run on several machines.

For me a contribution is something that everybody could use for free.

So not a big contribution.

hi ptluis,

how old are u? 10 or 15? my eyes itch reading such stupidity.
how much contribution there is from your side to make this device a bit better than what's Rigol delivering?
if the effort is just to spit hatred on others hard work, please go out of here.
this is forum to exchange the passion, not another hate room.
if u yet not understood basic life rules return to playground, mum will certainly take care of your problems.

i'm following this and similar threads wrt new dho series i own since 1 year, also actively supporting Norbert.
i know his social habits and views are a bit off from mainstream, and it hurts me as he in some extend represent me,
my country and nation, but i'm living same env and likely have better understanding of reasons which
might lead to this. any of such give me the right to judge, or demand from him that "contribution is something that
everybody could use for free". back to the point, after this 1 year observation this is one of few who actively invest
private/spare time to boost this crappy scope app. long days and nights. i remember few times chatting with him early
dawn at the days when his firmware was at early stages having problem with my install. leads out he made special
image just for me to overcome the early boot issue with my scope which appeared had multiple stacked flaws from
day 0. i'm using his mod because it's makes difference to this equipment. just to mention its fast acquisition with linear
interpolation, 125M mem depth and fixed auto sampling function which always try to use the fastest possible rate.

here are the release notes from all upto now versions (v0.4.2) for dho800/900 series:
https://www.patreon.com/posts/131407128?utm_id=8b87d88a-3e37-4f17-ad46-6905fa5924fd&utm_medium=email (https://www.patreon.com/posts/131407128?utm_id=8b87d88a-3e37-4f17-ad46-6905fa5924fd&utm_medium=email)

Code: [Select]
------------ v0.4.2 ------------
Fixed crash in FFT when time base was switched to 50 ms/D or below.
Fixed randomly displayed reference waveform GND pointer, when no reference was used.
Fixed crash when USB at the back was connected.
UI changes in self calibration to avoid confusion and wrong user decisions.
Unhidden info about the last self-cal date and time.
FFT peak search vertical tab (math popup window) background changed to almost black to increase readability.
Optimizations, mostly in the math functions.
Removed some leftovers of the Rigol license system, which was a huge bottleneck of UI performance.
Removed insignificant zeros in some math displayed values.
Auto button and auto in start menu changes memory depth to auto.
Memory depth in default settings is changed to auto (auto gives max 125 Mpts).
Default interpolation is changed to auto/sinc.
Changed table data from black text on white background to white text on black background to match everything else.
Table data now uses regular font, including header (first line).
Removed unnecessary header from all measurements.
Measurements open/close buttons (icons) are now semitransparent.
Added failsafe loop in Posix installation script in case of network problems or bugs in adb.
Screenshot now are with no header (model name at the left top) by default.
UPA power quality refresh time is lowered to 2 per second.
Added chmod for i2c devices which should prevent from problems with loading settings (from FRAM) at the app startup.
Removed unused dead code from UI (barteksc/pdfviewer).
Increased time to wait for the signal in auto settings (auto button).
Optimizations in various functions.
start_rigol_app.sh checks if there is a file stopstartscope.txt on the connected USB stick, and if there is such file, it stops execution this change should help with the very rare issues with the bootloop without the need of removing internal SD card. Removing USB stick (with mentioned file) will unpause this script.
start_rigol_app.sh checks if there is a file disablescopeapp.txt on the USB stick and in such case it disables scope apps (pm disable com.rigol.scope and pm disable com.rigol.launcher).
start_rigol_app.sh checks if there is a file enablescopeapp.txt on the USB stick and in such case it enables scope apps (pm enable com.rigol.scope and pm enable com.rigol.launcher).
start_rigol_app.sh looks for the apk files in the folder named scopeapk in the USB stick and tries to install all apk files from this directory. After successful installation, file is deleted, otherwise in case of installation failure, file is preserved.
start_rigol_app.sh looks for a files executemeatstart.sh and executemeatend.sh in the USB stick, and executes it as a bash script (no execute permission needed).

------------ v0.4.1 ------------
Fixed AFG not working properly right after restoring settings to default.
Fixed issues with the front panel when mod was installed via .GEL file. Reported by two people and reproduced only on one SD card image.
Fixed external installation script error "Can't find mmc device" (SD card is a MMC type memory), which happened mostly for MacOS users. Added part of the code which was sent by one of users.
Added code (into installation Posix script) from mentioned above user (reworked), to obtain local timezone from other systems, including MacOS.
Increased amount of available probe attenuation ratios when selected unit is A (current).
Insignificant app optimizations.

------------ v0.4 ------------
Fixed not working UPA (power analysis).
LA now works in the roll mode (time base equal or lower than 50 ms/D) - only in the enterprise edition.
Top bar elements now use auto width, which prevents from covering longer text (ex. 123.456mV) and makes more space for more shortcuts.
Vertical scale values for analog channels now are always in white color, which increases readability - before it has same color as waveform, which often caused to be completely unreadable. One exception is in XY, because waveform has completely different color and there are two channels involved.
Added open source scientific calculator.
Changed shortcut "Flex knob" in the top bar to the small and floating version of calculator (on top of the running app). Bigger version can be opened from it and from Android desktop (Nova launcher).
Added open source screen keyboard.
Added open source email client.
Measurements upper part is now below shortcuts in the top bar, so it will not cover half of the shortcuts.
Fixed temporary vertical offset after self calibration (no need to press auto after each self-cal as it was in v0.3.1).
Fixed not working switches start-end in FFT and on/off in UPA (same reason).
Fixed all issues with FFT scale setting.
Fixed issues with waveform exporting.
Fixed SIGSEGV (app crash) at self calibration and after reboot, which was reported only by one person.
Vertical scale for analog channels now is hidden when LA is enabled. Because otherwise those overlap each other.
Increased waveform update rate for the time base higher than 50 ns/D - up to 2.2x.
Multiple optimizations.
Reduced power usage, especially in the roll mode and scan mode.
Math low pass filter minimal possible frequency is 50 times lower.
Math band stop filter minimal frequency is 1000000 lower.
Changed font size to smaller in table data, because there was no enough space for all UPA data.
Changed table data backgrounds for better readability. From "silver" (gray) to light gray and from "medium_sea_green" (between gray and white) to white.
Reverted font in measurements to previous one - B612 wasn't good enough with such small font size.

------------ v0.3.1 ------------
Fixed rare and random no waveform in the roll mode.
Fixed LA labels positions when size is changed to small or medium.
Fixed systemui buttons showing only home button instead of three buttons (back, home, recent apps).
Fixed waveform rendering for low time base when roll mode is off.
Fixed waveform disruption when scope was in the stop mode (but not after singleshot), memory depth was above 62.5M and time base was changed (while scope was still in the stop mode).
Fixed reason of the crash that happened for one user (unable to reproduce) while using screen keyboard.
Fixed arrows in popup windows self-cal and fft.
Unavailable memory depth options in the roll mode now are hidden to avoid confusion.
Scope app now is executed before rigol.launcher will do it, which decreases total boot time by about 5-10s.
Another translation fixes, mostly in untranslated Chinese.
Performance improvements in initrd (CPU now works at full speed from the early boot).
FPGA boot address is restored to 0x400000.
Multiple optimizations in the Rigol Launcher, especially in the handling physical buttons and knobs (Launcher is handling input from these, not the scope app).
Removed Rigol opensource document (html) browser, because it was loaded on each app startup and increased it's time. Document contained only lies from the Rigol they said they will sent source code upon request, which they never did.
Removed buggy network settings in the app, since it was taking a lot of system resources and Android settings can be used instead.
Added shortcut to Android network settings in the Utility Settings, which now is the default subpage.
Added previously hidden Utility option: screen saver.
Optimizations in the multiple app functions (in some places execution time decreased from ~5s to ~1s).
Optimizations in the math functions, mostly FFT. Measured FFT update rate was more than 30% faster.
Optimizations in deinterleaving channels, which gives more waveform updates when there are two or more channels enabled.
Waveform update rate is increased from ~85 k/s to ~100 k/s for 10 kpts, 50 ns/D and linear interpolation.
LA update rate increased to 56 k/s.
Decreased app startup time by about 10%.
Removed unnecessary '/' at the end of displayed values of time scale and vertical scale.
Displayed dot time now has format 0.#, which means it will display proper time like 1.6 ns instead of 2 ns, which was not true.
Many other displayed values will display one or two more decimal numerals (digits after dot).
Removed insignificant zeros from values displayed on screen.
Increased visibility of trigger sweep mode displayed as a green letter in the top bar.
Installation script now enables dark (night) mode in Android.
Ethernet driver loading (insmod) is moved from start_rigol_app.sh to the bootApp.sh in case of user error in modifying start_rigol_app.sh.
Posix installation script is more human friendly.

------------ v0.3 ------------
Increased LA max sample rate from 625 MSa/s to 1.25 Gsa/s (only when all channels are disabled).
When all channels are disabled, LA still can do 1.25 Gsa/s with triggering from any analog channel.
Fixed positions of LA labels.
Fixed positions of LA waveforms.
Fixed waveform offset in the roll mode.
Fixed decoders list that was accidentally broken in v0.2.1
Fixed sample memory management in the roll mode.
Increased size of a spinner elements (dropdown menu) and the text in it.
Partially fixed waveform freeze (FPGA doesn't send trace data) for some settings together with very low time base, by limiting the minimum time base when it's necessary.
Increased maximum time base from 500s to 1000s.
Added selection of interpolation:
- Auto (stock).
- Auto / half sinc.
- Linear (fast).
Added information about the "sinc" value (Horizontal popup window), which is fed to the FPGA in order to drive sinc interpolation (1 = linear interpolation).
Added acquisition mode: fast this gives more waveform update rate, especially with linear interpolation, low memory depth (including auto depth) and when combined with the increased persistence time (Display menu) it's useful when scope is used to catch and diagnose rare signal glitches. Downsides: waveform can be much more flickering than in normal acquisition and system temperature will increase by couple degrees.
Added acquisition mode: slow as the name suggests, this is the opposite of the fast acquisition. It gives more nice (analog) looking signal with much less or no flickering. Combined with the sinc interpolation it's good for preliminary waveform inspection and time domain related measurements. Downside: reduced waveform update rate.
Removed acquisition mode "peak", because it was the same as the normal acquisition.
Many performance optimizations that increase waveform update rate (up to 90 k for 10 kpts, 50 ns/D, linear interpolation and fast acquisition) and decreases app start time (-3 s).
Optimizations in the math functions (including FFT) increased update rate.
Optimizations in the most of SCPI commands (tested with modified DSRemote which gave faster "connection").
Optimizations in the UI (UI is more responsive).
Fixed periodical self tests (voltages, temperatures, etc), because it was assuming that the scope is a DHO4000 instead of DHO800/DHO900.
Periodical self tests now are executed once per 10 seconds instead of once per 3 seconds. This change gives more CPU time for waveform updates, rendering and other things.
Disabled antialiasing in the FPGA which wasn't doing anything.
Increased displayed time offset precision by one digit.
Removed "/div" suffix from the zoom scale info to improve readability.
Optimizations in the self calibration measured time with default settings was 23 minutes.
Optimizations in the histogram.
Optimizations in waveform moving horizontally (time offset) and vertically (voltage offset).
Optimizations in the arbitrary waveform load and export.
Optimizations in the bode plot.
Fixed debug mode in the installation script.
Increased update rate of the automatic measurements.
Measurements thread starts with a delay of 10 seconds instead of 5 seconds, which gives more CPU to other things at a startup.
Moved results bar icon (open/close) higher, because it was partially covering waveform grid time.
Removed "type" from the counter, because mode is always obvious (frequency/period/hits) and this line unnecessarily takes screen area.
Moved mode information text (DC/AC/DC+AC) of the DVM from bottom to the right in order to save screen space.
Vertical scale is now always on the left side, instead of changing it every time when measurements are opened or closed.
Measurement results now uses font B612Mono-Regular (used in Airbus flight deck screens), which is designed to be more easily readable with less eyestrain.
Measurements now are aligned to the bottom of the screen, instead of to the top. Advantages of this change:
- When there are not many measurements opened, those don't cover top-right part of the screen, which allows to use functions listed there (Measure, Cursors, etc) without hiding measurements.
- When there is only one measurement, it covers clock instead of the waveform (main windows area). When there is more, less of the waveform is covered.
- This avoids confusion which can happen in the previous versions when measurement(s) are opened and clock was covered by invisible element, which was preventing from opening Utility window by taping/clicking on the clock.
Corrected English translation.
Corrected Polish translation.
All other languages were removed.
Fixed and improved layouts of some popup windows.
Changed text in the math buttons from M1, M2, M3, M4 to 1, 2, 3, 4.
Removed trailing .0 from displayed probe attenuation.
Measurements now can be expanded/minimized by taping on the right bottom corner. Before it was an visible arrow that took a lot of screen space.
On the lower row, vertical bars between channels, LA and AFG now are little thicker. In case of the channels, current selected channel has a bar with the color of the channel. AFG and LA bars are colorized only when it's enabled.
Changed date format from yyyy/MM/dd to dd.MM.yyyy.
Fixed bug that caused brightness not being saved.
In the start menu, help button (display pdf of Rigol manual) is changed to the Flex Knob settings.
Added timer when the installation script is waiting after scope reboot.
Fixed printing messages in installation script in POSIX systems other than Linux.
Added two Windows scripts to simplify installation from Windows systems.

------------ v0.2.1 ------------
Fixed issue with webcontrol (external access via web browser) which was not starting at boot.
Fixed boot problems which can happen for some scopes.
Fixed installation problems caused by modified Device Tree in newer scopes.
Fixed trigger source spinner (drop down menu list) not showing digital channels.
FPGA ChDlyPointTime value restored to 800 ps just in case (previously it was the same as in DHO4000 which is 250 ps).
Average acquisition memory depth limit now is 25 Mpts for single channel and 12.5 Mpts for two or more channels (previously 1 Mpts in each case).
Removed "bandwidth indicator" from DVM, since DVM bandwidth is always the same as the channel bandwidth and this takes useful space from measurements results.
"Squished" buttons in the navigation list (top right of the screen) now are text buttons.
Rarely used options from navigation list was moved into Start Menu and often used in Start Menu was added to navigation list.
UPA (power analysis) option added to Start Menu as an experimental option.
Increased width of Start Menu for better readability.
Fixed sizes of various popup windows.
Fixed sizes of some spinners (dropdown menus) which was way too big.
XY advanced settings now are always available ("testModel" is hardcoded to always on).
Removed some unnecessary "features" that decreases app performance, like a hardware version checking, since it's hardcoded to DHO4000.
Added more shortcuts to the Start Menu.
Trigger status (top left screen corner) now is also a run/stop button.
Removed unnecessary icons from notification bar.
pm now allows to change app permissions which are "not changeable" or "not requested".
Increased text size in multi windows (all measure, peak search, etc).
Removed unnecessary files that can't be used at all but takes useful space and boot time.

------------ v0.2 ------------
- Fixed issues with the installation.
- Fixed bug (v0.1) that in some cases can cause a crash when app is starting up.
- Two installation methods. One with a fully automated and human friendly posix compatible script and manual.
- Probe attenuation ratio visible at the bottom for each channel.
- Added trigger FlexRay (previously only FlexRay decoding).
- 20 MHz bandwidth filter is no longer forced when real scale is anywhere below 1 mV / D.
- App no longer reads vendor.bin.
- Model, serial number and licenses are hardcoded (DHO924S).
- AFG, LA and four channels are always available - even if the app was installed on the 2 CH scope.
- Added AFE bandwidth filters that can be selected manually for each channel:
- 70 Mhz
- 100 MHz
- 125 MHz
- 400 MHz
- AFG now can go up to 50 MHz for the sine wave.
- Bode plot can operate up to 50 MHz.
- Possibility to change any app into system app and the opposite (previously it caused an error).
- System will now allow to install older versions of apps than previously installed.
- Added experimental decoders (not tested):
- ARINC429
- SENT
- MOST
- USB
Things possible only when installing using attached script (instead of manual installation):
- Oscilloscope app will be executed only once after system boot. Previously, when user closed scope app or it crashed for some reason, it was started back again or it was brought to the front, which could be annoying when using other apps.
- Automated backups before installation.
- Timezone automatically set to Your local timezone.
- Increased system performance which results in more waveform updates per second.
- Basic configuration of Nova, unless it was previously installed.
- /system directory now is writable by default.
- Boot time (from power on to fully working scope app) decreased to 50s (without Nova Launcher it should be couple seconds less).
- Install script can work even if there is more than one Android device connected.
- Script will stop installation only on serious errors. Anyway, it can be re-run again any time.
- Added Nova Launcher (Android desktop) - can be optionally installed.
- Added Android navigation bar. It can be swiped out and swiped back in any time - USB keyboard is no longer needed to switch between apps.
- Optionally, You can configure nu.nav.bar (using icon Navigation Bar in Nova menu) in order to have better and more configurable navigation bar. In the exchange for a little bit of system performance.
- > 60 000 waveform updates per second with 10 kpts and time base 50 ns/D or lower.
- Script can be executed from any working directory.
- Script can run on any POSIX capable operating system (Linux/GNU, BSD/GNU, Mac OS, etc).
- Update possible from any firmware previously installed (previously 00.01.04.00.02 was required).
- Added safe web browser called DuckDuckGo.
- Possibility to change system boot logo to a custom one.
Know bugs:
- When time base is set to 2 ns / D or lower and some other conditions are met, waveform can freeze from time to time or completely. Details: [url]https://www.patreon.com/posts/bug-in-versions-130248117[/url] - Update: partially fixed in v0.3 by limiting lowest time base when necessary.
- [Fixed in v0.3.1] When memory depth is above 62.5 Mpts, signal has very low frequency (10-100 Hz), acquisition mode is normal, there are some points outside of screen, stop button was pressed (stop, not single shot) and time base was changed, it sometimes results with corrupted rendering of a waveform. Workarounds: use single shot or use lower memory than 100 M or don't change time base with this settings.

------------ v0.1 ------------
125 M points memory depth for single analog channel (50 M in the original Rigol app).
62.5 M points memory depth for two analog channels (25 M in the original Rigol app).
31.25 M points memory depth for three or four analog channels (10 M in the original Rigol app).
31.25 M points memory depth for Logic Analyzer with or without single analog channel (25 M in the original Rigol app).
12.5 M points memory depth for Logic Analyzer with two analog channels (10 M in the original Rigol app).
10 M points memory depth for Logic Analyzer with three or four analog channels (1 M in the original Rigol app).
Same memory depth limits applies for auto memory depth setting (1 M in the original Rigol app in each case).
18 memory depth manual options (8 in the original Rigol app).
Improved and more ergonomic GUI.
Space for windows (single waveform window at default settings) is increased up to 91% of screen height.
Acquisition parameters now are displayed as white on black with little bigger and more visible font.
Smallest fonts in various places now are bigger, with some exceptions.
Windows background (waveform, math, etc) is now changed to real black instead of dark gray, which increases readability of waveforms and other data which is actually displayed.
Vertical scale now goes down to 100 uV / D (1x probe ratio). Same as in the higher and more expensive series DHO4000.
System date and time now are always displayed at the right bottom corner.

------------ v0.0.1 ------------
Removed sinc interpolation.
No bandwidth limit from the software side (250 MHz normally and about 1 GHz after removing physical LC filters between AFE and ADC).
Horizontal scale down to 800 ps / div (one div per sample).
I2S trigger / decode.
CAN trigger / decode.
FlexRay decode.
MIL-STD-1553 trigger / decode.


show me your contribution, dude. start with the free one.

best regards
Piotr

 

Title: Re: Hacking the Rigol MHO900 Scope
Post by: SiliconWizard on November 21, 2025, 07:09:05 pm
Promoting hacks on a public forum may not be the smartest move, and yes, is likely to irritate manufacturers  - especially those that send products for reviews to the forum owner, imagine they probably read what's being said about their products.

That said, the hacking itself is an interesting achievement and certainly has value for customers. Those who don't want to pay for this can always try and do it themselves - the guy providing the hacks had access to nothing more than anyone with one of these scopes do.

As to that being "illegal", not really. Reverse engineering is not illegal and anyone is normally free to do whatever they want to products they have bought. Of course, now, that may go against not general commerce laws or IP protection, but against the firmware EULA, if there is one (has anyone read it?). So the manufacturer has of course every right not to cover the product's warranty if you have hacked it. So, you do it obviously at your own risk and don't expect a replacement if you happen to "brick" your scope.

Now, of course, concretely speaking, since the "firmware" of these scopes is stored onto microSD cards, I don't think there's any way you can "brick" them whatosever. Just replace the microSD card with proper firmware if you have messed with it and it doesn't work properly anymore. That's a choice the manufacturer made for lowering costs. If your changes have harmed the hardware in some way, now, that's on you.

As a customer, you may find it annoying (although it's fair game for manufacturers) to have the full functionalities at your disposal but some disabled only through software with a few settings.

Finally, as to that being detrimental for manufacturers, I'm not so sure: if a scope is easily "hackable", it will actually draw many customers to buy them, even if they buy the lower-end versions - knowing that it'll be mostly individual customers, while professional customers will likely want the warranty and support and will not do it.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ptluis on November 21, 2025, 07:12:07 pm
I've noticed you are working with MHO934.  Will this work on MHO954?
Forget that you'll get an answer here. Don't you see that administrator Simon took offense and banned Norbert on November 16, 2025? This is a specific reward for his significant contribution to modifying the broken Rigol software. You can try asking Norbert a question on the Patronite page.

60 bucks for cracked dho800/900 full feature version, and 30 bucks for a non finished cracked version of MHO900 is not a contribution to anybody on this forum. Its a financial contribution to his pocket.

Also who knows if he injected some malware code on the files? He injected some protection code on his "cracks/mods" to not run on several machines.

For me a contribution is something that everybody could use for free.

So not a big contribution.

hi ptluis,

how old are u? 10 or 15? my eyes itch reading such stupidity.
how much contribution there is from your side to make this device a bit better than what's Rigol delivering?
if the effort is just to spit hatred on others hard work, please go out of here.
this is forum to exchange the passion, not another hate room.
if u yet not understood basic life rules return to playground, mum will certainly take care of your problems.

i'm following this and similar threads wrt new dho series i own since 1 year, also actively supporting Norbert.
i know his social habits and views are a bit off from mainstream, and it hurts me as he in some extend represent me,
my country and nation, but i'm living same env and likely have better understanding of reasons which
might lead to this. any of such give me the right to judge, or demand from him that "contribution is something that
everybody could use for free". back to the point, after this 1 year observation this is one of few who actively invest
private/spare time to boost this crappy scope app. long days and nights. i remember few times chatting with him early
dawn at the days when his firmware was at early stages having problem with my install. leads out he made special
image just for me to overcome the early boot issue with my scope which appeared had multiple stacked flaws from
day 0. i'm using his mod because it's makes difference to this equipment. just to mention its fast acquisition with linear
interpolation, 125M mem depth and fixed auto sampling function which always try to use the fastest possible rate.

here are the release notes from all upto now versions (v0.4.2) for dho800/900 series:
https://www.patreon.com/posts/131407128?utm_id=8b87d88a-3e37-4f17-ad46-6905fa5924fd&utm_medium=email (https://www.patreon.com/posts/131407128?utm_id=8b87d88a-3e37-4f17-ad46-6905fa5924fd&utm_medium=email)

Code: [Select]
------------ v0.4.2 ------------
Fixed crash in FFT when time base was switched to 50 ms/D or below.
Fixed randomly displayed reference waveform GND pointer, when no reference was used.
Fixed crash when USB at the back was connected.
UI changes in self calibration to avoid confusion and wrong user decisions.
Unhidden info about the last self-cal date and time.
FFT peak search vertical tab (math popup window) background changed to almost black to increase readability.
Optimizations, mostly in the math functions.
Removed some leftovers of the Rigol license system, which was a huge bottleneck of UI performance.
Removed insignificant zeros in some math displayed values.
Auto button and auto in start menu changes memory depth to auto.
Memory depth in default settings is changed to auto (auto gives max 125 Mpts).
Default interpolation is changed to auto/sinc.
Changed table data from black text on white background to white text on black background to match everything else.
Table data now uses regular font, including header (first line).
Removed unnecessary header from all measurements.
Measurements open/close buttons (icons) are now semitransparent.
Added failsafe loop in Posix installation script in case of network problems or bugs in adb.
Screenshot now are with no header (model name at the left top) by default.
UPA power quality refresh time is lowered to 2 per second.
Added chmod for i2c devices which should prevent from problems with loading settings (from FRAM) at the app startup.
Removed unused dead code from UI (barteksc/pdfviewer).
Increased time to wait for the signal in auto settings (auto button).
Optimizations in various functions.
start_rigol_app.sh checks if there is a file stopstartscope.txt on the connected USB stick, and if there is such file, it stops execution this change should help with the very rare issues with the bootloop without the need of removing internal SD card. Removing USB stick (with mentioned file) will unpause this script.
start_rigol_app.sh checks if there is a file disablescopeapp.txt on the USB stick and in such case it disables scope apps (pm disable com.rigol.scope and pm disable com.rigol.launcher).
start_rigol_app.sh checks if there is a file enablescopeapp.txt on the USB stick and in such case it enables scope apps (pm enable com.rigol.scope and pm enable com.rigol.launcher).
start_rigol_app.sh looks for the apk files in the folder named scopeapk in the USB stick and tries to install all apk files from this directory. After successful installation, file is deleted, otherwise in case of installation failure, file is preserved.
start_rigol_app.sh looks for a files executemeatstart.sh and executemeatend.sh in the USB stick, and executes it as a bash script (no execute permission needed).

------------ v0.4.1 ------------
Fixed AFG not working properly right after restoring settings to default.
Fixed issues with the front panel when mod was installed via .GEL file. Reported by two people and reproduced only on one SD card image.
Fixed external installation script error "Can't find mmc device" (SD card is a MMC type memory), which happened mostly for MacOS users. Added part of the code which was sent by one of users.
Added code (into installation Posix script) from mentioned above user (reworked), to obtain local timezone from other systems, including MacOS.
Increased amount of available probe attenuation ratios when selected unit is A (current).
Insignificant app optimizations.

------------ v0.4 ------------
Fixed not working UPA (power analysis).
LA now works in the roll mode (time base equal or lower than 50 ms/D) - only in the enterprise edition.
Top bar elements now use auto width, which prevents from covering longer text (ex. 123.456mV) and makes more space for more shortcuts.
Vertical scale values for analog channels now are always in white color, which increases readability - before it has same color as waveform, which often caused to be completely unreadable. One exception is in XY, because waveform has completely different color and there are two channels involved.
Added open source scientific calculator.
Changed shortcut "Flex knob" in the top bar to the small and floating version of calculator (on top of the running app). Bigger version can be opened from it and from Android desktop (Nova launcher).
Added open source screen keyboard.
Added open source email client.
Measurements upper part is now below shortcuts in the top bar, so it will not cover half of the shortcuts.
Fixed temporary vertical offset after self calibration (no need to press auto after each self-cal as it was in v0.3.1).
Fixed not working switches start-end in FFT and on/off in UPA (same reason).
Fixed all issues with FFT scale setting.
Fixed issues with waveform exporting.
Fixed SIGSEGV (app crash) at self calibration and after reboot, which was reported only by one person.
Vertical scale for analog channels now is hidden when LA is enabled. Because otherwise those overlap each other.
Increased waveform update rate for the time base higher than 50 ns/D - up to 2.2x.
Multiple optimizations.
Reduced power usage, especially in the roll mode and scan mode.
Math low pass filter minimal possible frequency is 50 times lower.
Math band stop filter minimal frequency is 1000000 lower.
Changed font size to smaller in table data, because there was no enough space for all UPA data.
Changed table data backgrounds for better readability. From "silver" (gray) to light gray and from "medium_sea_green" (between gray and white) to white.
Reverted font in measurements to previous one - B612 wasn't good enough with such small font size.

------------ v0.3.1 ------------
Fixed rare and random no waveform in the roll mode.
Fixed LA labels positions when size is changed to small or medium.
Fixed systemui buttons showing only home button instead of three buttons (back, home, recent apps).
Fixed waveform rendering for low time base when roll mode is off.
Fixed waveform disruption when scope was in the stop mode (but not after singleshot), memory depth was above 62.5M and time base was changed (while scope was still in the stop mode).
Fixed reason of the crash that happened for one user (unable to reproduce) while using screen keyboard.
Fixed arrows in popup windows self-cal and fft.
Unavailable memory depth options in the roll mode now are hidden to avoid confusion.
Scope app now is executed before rigol.launcher will do it, which decreases total boot time by about 5-10s.
Another translation fixes, mostly in untranslated Chinese.
Performance improvements in initrd (CPU now works at full speed from the early boot).
FPGA boot address is restored to 0x400000.
Multiple optimizations in the Rigol Launcher, especially in the handling physical buttons and knobs (Launcher is handling input from these, not the scope app).
Removed Rigol opensource document (html) browser, because it was loaded on each app startup and increased it's time. Document contained only lies from the Rigol they said they will sent source code upon request, which they never did.
Removed buggy network settings in the app, since it was taking a lot of system resources and Android settings can be used instead.
Added shortcut to Android network settings in the Utility Settings, which now is the default subpage.
Added previously hidden Utility option: screen saver.
Optimizations in the multiple app functions (in some places execution time decreased from ~5s to ~1s).
Optimizations in the math functions, mostly FFT. Measured FFT update rate was more than 30% faster.
Optimizations in deinterleaving channels, which gives more waveform updates when there are two or more channels enabled.
Waveform update rate is increased from ~85 k/s to ~100 k/s for 10 kpts, 50 ns/D and linear interpolation.
LA update rate increased to 56 k/s.
Decreased app startup time by about 10%.
Removed unnecessary '/' at the end of displayed values of time scale and vertical scale.
Displayed dot time now has format 0.#, which means it will display proper time like 1.6 ns instead of 2 ns, which was not true.
Many other displayed values will display one or two more decimal numerals (digits after dot).
Removed insignificant zeros from values displayed on screen.
Increased visibility of trigger sweep mode displayed as a green letter in the top bar.
Installation script now enables dark (night) mode in Android.
Ethernet driver loading (insmod) is moved from start_rigol_app.sh to the bootApp.sh in case of user error in modifying start_rigol_app.sh.
Posix installation script is more human friendly.

------------ v0.3 ------------
Increased LA max sample rate from 625 MSa/s to 1.25 Gsa/s (only when all channels are disabled).
When all channels are disabled, LA still can do 1.25 Gsa/s with triggering from any analog channel.
Fixed positions of LA labels.
Fixed positions of LA waveforms.
Fixed waveform offset in the roll mode.
Fixed decoders list that was accidentally broken in v0.2.1
Fixed sample memory management in the roll mode.
Increased size of a spinner elements (dropdown menu) and the text in it.
Partially fixed waveform freeze (FPGA doesn't send trace data) for some settings together with very low time base, by limiting the minimum time base when it's necessary.
Increased maximum time base from 500s to 1000s.
Added selection of interpolation:
- Auto (stock).
- Auto / half sinc.
- Linear (fast).
Added information about the "sinc" value (Horizontal popup window), which is fed to the FPGA in order to drive sinc interpolation (1 = linear interpolation).
Added acquisition mode: fast this gives more waveform update rate, especially with linear interpolation, low memory depth (including auto depth) and when combined with the increased persistence time (Display menu) it's useful when scope is used to catch and diagnose rare signal glitches. Downsides: waveform can be much more flickering than in normal acquisition and system temperature will increase by couple degrees.
Added acquisition mode: slow as the name suggests, this is the opposite of the fast acquisition. It gives more nice (analog) looking signal with much less or no flickering. Combined with the sinc interpolation it's good for preliminary waveform inspection and time domain related measurements. Downside: reduced waveform update rate.
Removed acquisition mode "peak", because it was the same as the normal acquisition.
Many performance optimizations that increase waveform update rate (up to 90 k for 10 kpts, 50 ns/D, linear interpolation and fast acquisition) and decreases app start time (-3 s).
Optimizations in the math functions (including FFT) increased update rate.
Optimizations in the most of SCPI commands (tested with modified DSRemote which gave faster "connection").
Optimizations in the UI (UI is more responsive).
Fixed periodical self tests (voltages, temperatures, etc), because it was assuming that the scope is a DHO4000 instead of DHO800/DHO900.
Periodical self tests now are executed once per 10 seconds instead of once per 3 seconds. This change gives more CPU time for waveform updates, rendering and other things.
Disabled antialiasing in the FPGA which wasn't doing anything.
Increased displayed time offset precision by one digit.
Removed "/div" suffix from the zoom scale info to improve readability.
Optimizations in the self calibration measured time with default settings was 23 minutes.
Optimizations in the histogram.
Optimizations in waveform moving horizontally (time offset) and vertically (voltage offset).
Optimizations in the arbitrary waveform load and export.
Optimizations in the bode plot.
Fixed debug mode in the installation script.
Increased update rate of the automatic measurements.
Measurements thread starts with a delay of 10 seconds instead of 5 seconds, which gives more CPU to other things at a startup.
Moved results bar icon (open/close) higher, because it was partially covering waveform grid time.
Removed "type" from the counter, because mode is always obvious (frequency/period/hits) and this line unnecessarily takes screen area.
Moved mode information text (DC/AC/DC+AC) of the DVM from bottom to the right in order to save screen space.
Vertical scale is now always on the left side, instead of changing it every time when measurements are opened or closed.
Measurement results now uses font B612Mono-Regular (used in Airbus flight deck screens), which is designed to be more easily readable with less eyestrain.
Measurements now are aligned to the bottom of the screen, instead of to the top. Advantages of this change:
- When there are not many measurements opened, those don't cover top-right part of the screen, which allows to use functions listed there (Measure, Cursors, etc) without hiding measurements.
- When there is only one measurement, it covers clock instead of the waveform (main windows area). When there is more, less of the waveform is covered.
- This avoids confusion which can happen in the previous versions when measurement(s) are opened and clock was covered by invisible element, which was preventing from opening Utility window by taping/clicking on the clock.
Corrected English translation.
Corrected Polish translation.
All other languages were removed.
Fixed and improved layouts of some popup windows.
Changed text in the math buttons from M1, M2, M3, M4 to 1, 2, 3, 4.
Removed trailing .0 from displayed probe attenuation.
Measurements now can be expanded/minimized by taping on the right bottom corner. Before it was an visible arrow that took a lot of screen space.
On the lower row, vertical bars between channels, LA and AFG now are little thicker. In case of the channels, current selected channel has a bar with the color of the channel. AFG and LA bars are colorized only when it's enabled.
Changed date format from yyyy/MM/dd to dd.MM.yyyy.
Fixed bug that caused brightness not being saved.
In the start menu, help button (display pdf of Rigol manual) is changed to the Flex Knob settings.
Added timer when the installation script is waiting after scope reboot.
Fixed printing messages in installation script in POSIX systems other than Linux.
Added two Windows scripts to simplify installation from Windows systems.

------------ v0.2.1 ------------
Fixed issue with webcontrol (external access via web browser) which was not starting at boot.
Fixed boot problems which can happen for some scopes.
Fixed installation problems caused by modified Device Tree in newer scopes.
Fixed trigger source spinner (drop down menu list) not showing digital channels.
FPGA ChDlyPointTime value restored to 800 ps just in case (previously it was the same as in DHO4000 which is 250 ps).
Average acquisition memory depth limit now is 25 Mpts for single channel and 12.5 Mpts for two or more channels (previously 1 Mpts in each case).
Removed "bandwidth indicator" from DVM, since DVM bandwidth is always the same as the channel bandwidth and this takes useful space from measurements results.
"Squished" buttons in the navigation list (top right of the screen) now are text buttons.
Rarely used options from navigation list was moved into Start Menu and often used in Start Menu was added to navigation list.
UPA (power analysis) option added to Start Menu as an experimental option.
Increased width of Start Menu for better readability.
Fixed sizes of various popup windows.
Fixed sizes of some spinners (dropdown menus) which was way too big.
XY advanced settings now are always available ("testModel" is hardcoded to always on).
Removed some unnecessary "features" that decreases app performance, like a hardware version checking, since it's hardcoded to DHO4000.
Added more shortcuts to the Start Menu.
Trigger status (top left screen corner) now is also a run/stop button.
Removed unnecessary icons from notification bar.
pm now allows to change app permissions which are "not changeable" or "not requested".
Increased text size in multi windows (all measure, peak search, etc).
Removed unnecessary files that can't be used at all but takes useful space and boot time.

------------ v0.2 ------------
- Fixed issues with the installation.
- Fixed bug (v0.1) that in some cases can cause a crash when app is starting up.
- Two installation methods. One with a fully automated and human friendly posix compatible script and manual.
- Probe attenuation ratio visible at the bottom for each channel.
- Added trigger FlexRay (previously only FlexRay decoding).
- 20 MHz bandwidth filter is no longer forced when real scale is anywhere below 1 mV / D.
- App no longer reads vendor.bin.
- Model, serial number and licenses are hardcoded (DHO924S).
- AFG, LA and four channels are always available - even if the app was installed on the 2 CH scope.
- Added AFE bandwidth filters that can be selected manually for each channel:
- 70 Mhz
- 100 MHz
- 125 MHz
- 400 MHz
- AFG now can go up to 50 MHz for the sine wave.
- Bode plot can operate up to 50 MHz.
- Possibility to change any app into system app and the opposite (previously it caused an error).
- System will now allow to install older versions of apps than previously installed.
- Added experimental decoders (not tested):
- ARINC429
- SENT
- MOST
- USB
Things possible only when installing using attached script (instead of manual installation):
- Oscilloscope app will be executed only once after system boot. Previously, when user closed scope app or it crashed for some reason, it was started back again or it was brought to the front, which could be annoying when using other apps.
- Automated backups before installation.
- Timezone automatically set to Your local timezone.
- Increased system performance which results in more waveform updates per second.
- Basic configuration of Nova, unless it was previously installed.
- /system directory now is writable by default.
- Boot time (from power on to fully working scope app) decreased to 50s (without Nova Launcher it should be couple seconds less).
- Install script can work even if there is more than one Android device connected.
- Script will stop installation only on serious errors. Anyway, it can be re-run again any time.
- Added Nova Launcher (Android desktop) - can be optionally installed.
- Added Android navigation bar. It can be swiped out and swiped back in any time - USB keyboard is no longer needed to switch between apps.
- Optionally, You can configure nu.nav.bar (using icon Navigation Bar in Nova menu) in order to have better and more configurable navigation bar. In the exchange for a little bit of system performance.
- > 60 000 waveform updates per second with 10 kpts and time base 50 ns/D or lower.
- Script can be executed from any working directory.
- Script can run on any POSIX capable operating system (Linux/GNU, BSD/GNU, Mac OS, etc).
- Update possible from any firmware previously installed (previously 00.01.04.00.02 was required).
- Added safe web browser called DuckDuckGo.
- Possibility to change system boot logo to a custom one.
Know bugs:
- When time base is set to 2 ns / D or lower and some other conditions are met, waveform can freeze from time to time or completely. Details: [url]https://www.patreon.com/posts/bug-in-versions-130248117[/url] - Update: partially fixed in v0.3 by limiting lowest time base when necessary.
- [Fixed in v0.3.1] When memory depth is above 62.5 Mpts, signal has very low frequency (10-100 Hz), acquisition mode is normal, there are some points outside of screen, stop button was pressed (stop, not single shot) and time base was changed, it sometimes results with corrupted rendering of a waveform. Workarounds: use single shot or use lower memory than 100 M or don't change time base with this settings.

------------ v0.1 ------------
125 M points memory depth for single analog channel (50 M in the original Rigol app).
62.5 M points memory depth for two analog channels (25 M in the original Rigol app).
31.25 M points memory depth for three or four analog channels (10 M in the original Rigol app).
31.25 M points memory depth for Logic Analyzer with or without single analog channel (25 M in the original Rigol app).
12.5 M points memory depth for Logic Analyzer with two analog channels (10 M in the original Rigol app).
10 M points memory depth for Logic Analyzer with three or four analog channels (1 M in the original Rigol app).
Same memory depth limits applies for auto memory depth setting (1 M in the original Rigol app in each case).
18 memory depth manual options (8 in the original Rigol app).
Improved and more ergonomic GUI.
Space for windows (single waveform window at default settings) is increased up to 91% of screen height.
Acquisition parameters now are displayed as white on black with little bigger and more visible font.
Smallest fonts in various places now are bigger, with some exceptions.
Windows background (waveform, math, etc) is now changed to real black instead of dark gray, which increases readability of waveforms and other data which is actually displayed.
Vertical scale now goes down to 100 uV / D (1x probe ratio). Same as in the higher and more expensive series DHO4000.
System date and time now are always displayed at the right bottom corner.

------------ v0.0.1 ------------
Removed sinc interpolation.
No bandwidth limit from the software side (250 MHz normally and about 1 GHz after removing physical LC filters between AFE and ADC).
Horizontal scale down to 800 ps / div (one div per sample).
I2S trigger / decode.
CAN trigger / decode.
FlexRay decode.
MIL-STD-1553 trigger / decode.


show me your contribution, dude. start with the free one.

best regards
Piotr

Certainly much older than you, without needing to use illegal means to get things. And I see stupidity in the number of blatant defenders of illegal practices, as if they were saviors of the world. If you want to buy better equipment, work for it. That's what jobs are for. Or are you used to technological piracy and freebies? Paying, yes, but to the product developers, never to crackers, hackers, and the like who don't invest a cent in creating a company that employs hundreds/thousands of people. When you're looking for a job, go ask the pirates.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: shapirus on November 21, 2025, 07:41:18 pm
As to that being "illegal", not really. Reverse engineering is not illegal and anyone is normally free to do whatever they want to products they have bought.
It depends. For personal use, probably yes. But if you want to share, then, for example, in the US you can potentially get several years of prison because you'll violate the DMCA. I'm sure it can be similar in many other countries. In any case, should Rigol decide to lift a finger, the respective Patreon account will be gone in no time.

Speaking of the ethical side of things, IMO, selling hacks for money is not good. It goes against the de facto approach that have long been observed in the community, generally speaking.

As far as mods/improvements to the rest of the software go, well, why not. It won't be as welcome as free for all with a donation option, but there's nothing inherently wrong in that.

So it would probably be better to keep the two separate.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ptluis on November 21, 2025, 11:20:16 pm
As to that being "illegal", not really. Reverse engineering is not illegal and anyone is normally free to do whatever they want to products they have bought.
It depends. For personal use, probably yes. But if you want to share, then, for example, in the US you can potentially get several years of prison because you'll violate the DMCA. I'm sure it can be similar in many other countries. In any case, should Rigol decide to lift a finger, the respective Patreon account will be gone in no time.

Speaking of the ethical side of things, IMO, selling hacks for money is not good. It goes against the de facto approach that have long been observed in the community, generally speaking.

As far as mods/improvements to the rest of the software go, well, why not. It won't be as welcome as free for all with a donation option, but there's nothing inherently wrong in that.

So it would probably be better to keep the two separate.

Exactly, besides norbert has already been well paid for his crack that took him a few minutes.
Lets see, from buymeacoffe link 7 buyers at 30.4€ = 212.8€
 212.8€ for selling a crack is well paid.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ptluis on November 21, 2025, 11:29:53 pm
I think I'm going to buy his crack and post a link for everybody to download it for free!
how do you crack potheads feel about it? it would be really cool right?
how do you norbert feel about it? (you may answer when you got back from your punishment)
You can't sue me because oops! it's not your code!
Title: Re: Hacking the Rigol MHO900 Scope
Post by: dzebrys on November 22, 2025, 07:26:18 am
Quote
besides norbert has already been well paid for his crack that took him a few minutes.

did you realize this is not a coffee bar chat? and your words represent you? did you care?
it maybe took him 5 minutes because most of the firmware and hw is shared
between Rigol's 12-bit series :palm:

Quote
I think I'm going to buy his crack and post a link for everybody to download it for free!

oh, said one who just post earlier insulted me with being used to technology piracy  :palm:

anyway, i highly encourage you to go for it. it will barely help others as his firmware is somewhat piracy protected from losers like you, but maybe you just realize to what extend you wasted your life if others can archieve this supremacy in 5 minutes :clap:

i appologize to the forum for feeding this, was my last word in topic. if anyone from Poland or EU wants to evaluate this firmware mod v0.4.2 on dho804 and has time, equipment and knowledge, please contact me PM and we will settle the details.

warm regards
Piotr
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Sorama on November 22, 2025, 07:29:30 am
I think I'm going to buy his crack and post a link for everybody to download it for free!
how do you crack potheads feel about it? it would be really cool right?
how do you norbert feel about it? (you may answer when you got back from your punishment)
You can't sue me because oops! it's not your code!
How low can one go…
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ptluis on November 22, 2025, 10:35:11 am
Quote
besides norbert has already been well paid for his crack that took him a few minutes.

did you realize this is not a coffee bar chat? and your words represent you? did you care?
it maybe took him 5 minutes because most of the firmware and hw is shared
between Rigol's 12-bit series :palm:

Quote
I think I'm going to buy his crack and post a link for everybody to download it for free!

oh, said one who just post earlier insulted me with being used to technology piracy  :palm:

anyway, i highly encourage you to go for it. it will barely help others as his firmware is somewhat piracy protected from losers like you, but maybe you just realize to what extend you wasted your life if others can archieve this supremacy in 5 minutes :clap:

i appologize to the forum for feeding this, was my last word in topic. if anyone from Poland or EU wants to evaluate this firmware mod v0.4.2 on dho804 and has time, equipment and knowledge, please contact me PM and we will settle the details.

warm regards
Piotr

You are the one who call me stupid.
So you're assuming his crack is piracy protected! This is hilarious!
And no more talk with you also.
For all others on this forum I'm done with this subject, i don't want to monopolize your time and hate about this subject. Most of you already get it why my behaviour about this kind of activities.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ptluis on November 22, 2025, 10:37:19 am
I think I'm going to buy his crack and post a link for everybody to download it for free!
how do you crack potheads feel about it? it would be really cool right?
how do you norbert feel about it? (you may answer when you got back from your punishment)
You can't sue me because oops! it's not your code!
How low can one go…

Poor cracker is going to loose money, but he and you doesn't care if they destroy other people's jobs!
Title: Re: Hacking the Rigol MHO900 Scope
Post by: gsobol on November 22, 2025, 01:49:12 pm
This is sooo entertaining to watch.  It's like high school all over again  -- "I know you are but what am I?" -- Guess what, you all are making good points in your own way, just can't get out of your own way :-).  Hacking has been around as long as people where able to put two thoughts together, it's not unique to computers and code by the way.  It was always vilified as bad and detrimental to progress (more likely the bottom line), and yet amazingly it also contributed to advancement and overall progress of any industry as it brings the benefit of unique and different thought process to that of the original creator.  It ultimately does benefit the society at large.  Unfortunately, yes, it can also kill the product or company behind it, so there is that side of the coin, but in the words of a famous Polish philosopher: "No matter which way you turn, your ass will always be behind you".  Happy hacking, reverse engineering, tinkering and innovating !!!
Title: Re: Hacking the Rigol MHO900 Scope
Post by: TUMEMBER on November 22, 2025, 02:02:00 pm
Quote
besides norbert has already been well paid for his crack that took him a few minutes.

did you realize this is not a coffee bar chat? and your words represent you? did you care?
it maybe took him 5 minutes because most of the firmware and hw is shared
between Rigol's 12-bit series :palm:

Quote
I think I'm going to buy his crack and post a link for everybody to download it for free!

oh, said one who just post earlier insulted me with being used to technology piracy  :palm:

anyway, i highly encourage you to go for it. it will barely help others as his firmware is somewhat piracy protected from losers like you, but maybe you just realize to what extend you wasted your life if others can archieve this supremacy in 5 minutes :clap:

i appologize to the forum for feeding this, was my last word in topic. if anyone from Poland or EU wants to evaluate this firmware mod v0.4.2 on dho804 and has time, equipment and knowledge, please contact me PM and we will settle the details.

warm regards
Piotr

You are the one who call me stupid.
So you're assuming his crack is piracy protected! This is hilarious!
And no more talk with you also.
For all others on this forum I'm done with this subject, i don't want to monopolize your time and hate about this subject. Most of you already get it why my behaviour about this kind of activities.
Keep your word and finally shut up, conquistador.

Title: Re: Hacking the Rigol MHO900 Scope
Post by: ptluis on November 22, 2025, 02:22:48 pm
Quote
besides norbert has already been well paid for his crack that took him a few minutes.

did you realize this is not a coffee bar chat? and your words represent you? did you care?
it maybe took him 5 minutes because most of the firmware and hw is shared
between Rigol's 12-bit series :palm:

Quote
I think I'm going to buy his crack and post a link for everybody to download it for free!

oh, said one who just post earlier insulted me with being used to technology piracy  :palm:

anyway, i highly encourage you to go for it. it will barely help others as his firmware is somewhat piracy protected from losers like you, but maybe you just realize to what extend you wasted your life if others can archieve this supremacy in 5 minutes :clap:

i appologize to the forum for feeding this, was my last word in topic. if anyone from Poland or EU wants to evaluate this firmware mod v0.4.2 on dho804 and has time, equipment and knowledge, please contact me PM and we will settle the details.

warm regards
Piotr

You are the one who call me stupid.
So you're assuming his crack is piracy protected! This is hilarious!
And no more talk with you also.
For all others on this forum I'm done with this subject, i don't want to monopolize your time and hate about this subject. Most of you already get it why my behaviour about this kind of activities.
Keep your word and finally shut up, conquistador.

I'm keeping quiet because I want to, not because you think you're giving me orders.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: dzebrys on November 22, 2025, 02:58:36 pm
in the words of a famous Polish philosopher: "No matter which way you turn, your ass will always be behind you".

according to sources https://en.wikipedia.org/wiki/Charles_Bukowski (https://en.wikipedia.org/wiki/Charles_Bukowski) was born far west of Germany from both German parents and then they all migrated to America.
likely his grandfather was Pole from Danzig area, but calling Bukowski Pole is an abuse.

br/Piotr
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Sorama on November 22, 2025, 03:16:38 pm
I think I'm going to buy his crack and post a link for everybody to download it for free!
how do you crack potheads feel about it? it would be really cool right?
how do you norbert feel about it? (you may answer when you got back from your punishment)
You can't sue me because oops! it's not your code!
How low can one go…

Poor cracker is going to loose money, but he and you doesn't care if they destroy other people's jobs!

Why didn’t we hear you when the Siglent crack came on EEVBLOG?
That is exactly the same, except no bug fixing nor extra features or improvements.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: gsobol on November 22, 2025, 04:58:52 pm
according to sources https://en.wikipedia.org/wiki/Charles_Bukowski (https://en.wikipedia.org/wiki/Charles_Bukowski) was born far west of Germany from both German parents and then they all migrated to America.
likely his grandfather was Pole from Danzig area, but calling Bukowski Pole is an abuse.

br/Piotr

I guess I forgot to add ... wink wink  ;D
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ptluis on November 22, 2025, 05:09:00 pm
I think I'm going to buy his crack and post a link for everybody to download it for free!
how do you crack potheads feel about it? it would be really cool right?
how do you norbert feel about it? (you may answer when you got back from your punishment)
You can't sue me because oops! it's not your code!
How low can one go…

Poor cracker is going to loose money, but he and you doesn't care if they destroy other people's jobs!

Why didn’t we hear you when the Siglent crack came on EEVBLOG?
That is exactly the same, except no bug fixing nor extra features or improvements.

First is not about siglent, rigol, etc, not brand related. If you're referring to the license keygen it's not exactly the same, no original file was used, cracked, modified, shared and sold. There's a flaw on copyright law that allows this. Make your own research. Besides, source code was written from scratch, the files generated are new ones, no cracking is made on the original files. In case of license code generation their inputed by legal means, meaning, using the proper function of the equipment.  But if you sell licenses that's another story. There's not much legal stuff to avoid this and the costs of individual law suits won't worth. But this flaw is being discussed so..

But since people still don't realize the seriousness of this subject, I'm going to tell you this: a worldwide legal action is being prepared on government level to shutdown servers, websites, etc. wait and see. I don't care if you believe it or not, it's not my problem. The same way it happened in the beginning of 2025.

When governments realize their losing trillions they'll act.

Norbert is an intelligent, talented guy, I follow him for some time, (yes I know who he is) due to electrical stuff, but the way he act and exposed himself is dumb.

And from the moment Poland join EU they are subject to Europol actions.

This will be the last time I reply about this subject. Believe or think about it if you want, I don't really care. Have a nice day.


 


Title: Re: Hacking the Rigol MHO900 Scope
Post by: Sorama on November 22, 2025, 05:15:46 pm
I think I'm going to buy his crack and post a link for everybody to download it for free!
how do you crack potheads feel about it? it would be really cool right?
how do you norbert feel about it? (you may answer when you got back from your punishment)
You can't sue me because oops! it's not your code!
How low can one go…

Poor cracker is going to loose money, but he and you doesn't care if they destroy other people's jobs!

Why didn’t we hear you when the Siglent crack came on EEVBLOG?
That is exactly the same, except no bug fixing nor extra features or improvements.

First is not about siglent, rigol, etc, not brand related. If you're referring to the license keygen it's not exactly the same, no original file was used, cracked, modified, shared and sold. There's a flaw on copyright law that allows this. Make your own research. Besides, source code was written from scratch, the files generated are new ones, no cracking is made on the original files. In case of license code generation their inputed by legal means, meaning, using the proper function of the equipment.  But if you sell licenses that's another story. There's not much legal stuff to avoid this and the costs of individual law suits won't worth. But this flaw is being discussed so..

But since people still don't realize the seriousness of this subject, I'm going to tell you this: a worldwide legal action is being prepared on government level to shutdown servers, websites, etc. wait and see. I don't care if you believe it or not, it's not my problem. The same way it happened in the beginning of 2025.

When governments realize their losing trillions they'll act.

Norbert is an intelligent, talented guy, I follow him for some time, (yes I know who he is) due to electrical stuff, but the way he act and exposed himself is dumb.

And from the moment Poland join EU they are subject to Europol actions.

This will be the last time I reply about this subject. Believe or think about it if you want, I don't really care. Have a nice day.

Your argument is that it is a theft, impacting developers and commercial income of manufacturers.
The Siglent script does the exact same thing, so either you consequently condemn the persons involved in the Siglent key crack, or you shut up.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ptluis on November 22, 2025, 05:20:22 pm
The Siglent script does the exact same thing, so either you consequently condemn the persons involved in the Siglent key crack, or you shut up.

Who said they won't? you're not my boss to shut me up understand?
Title: Re: Hacking the Rigol MHO900 Scope
Post by: tatel on November 23, 2025, 04:25:41 am
stupidity

It looks to me that Norbert is not the only one that needs some days to cool off. Remember, you are entitled to make your opinion clear. Insulting is an entirely different thing.

My own opinion is that your rant can't be taken seriously. Please note i'm not calling you names. But, i'm not taking you seriously.

Dave already stated this forum doesn't have any problem with Norbert's activity. It looks, you don't have one of these devices. So, you are being more papist than the pope. Please go save the corporate world.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Simon on November 23, 2025, 09:03:30 am
So the options are we stop throwing insults around or the thread s locked.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: NE666 on November 23, 2025, 09:37:59 am
Please don't lock this thread Simon. Until it was completely derailed, some folks found it useful and held an interest in Norbert's work, both from the technical perspective and gaining from it directly. And I hold out some hope that Norbert may 'return' and continue to contribute to it.

May I suggest that you instead treat anyone who now disregards your warning to an extended period on the naughty step themselves?

If someone really wants to continue to debate/argue the ethics of hacking they can start their own thread and take it all there, away from the technical threads, which they are then welcome to leave if it causes them offense.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: EEVblog on November 23, 2025, 11:03:23 pm
Dave already stated this forum doesn't have any problem with Norbert's activity.

It's not my place to judge whether something is legal or not. And that's probably going to vary from country to country anyway.
All I care is whether or not clearly copyrighted stuff like license keys etc are uploaded to this forum, and whether people are here to share technical info or just shill something.
Norbert has contributed technically to discussions, so in that respect he's allowed here (subject to the usual good behavior everyone should exhibit).
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 24, 2025, 05:05:34 am
Maybe he's bought one in the last few days, but he didn't even have an MHO9xx when initially releasing a hacked firmware.

Few times I said that currently I can't afford the MHO900. Nothing changed.

it does seem to me that he is NOT writing any ARM code or HDLs for that matter but JUST disassembling to intermediate language (smali)

Actually it's both. Mostly ARM Assembly. Smali is more difficult to me.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: dc101 on November 24, 2025, 05:48:42 am
Do you use JADX for the apk's? Android proguard always makes me angry |O this is why I normally try to avoid Android, but I don't mind standard libc programs on Android.

I haven't found a working link for the complete firmware, so I've only been going off the firmware update. It's obviously incomplete though, I took a peek at the main file in IDA and it's obvious that it's referring to code that already exists but not in the update.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Simon on November 24, 2025, 06:10:59 am
Please don't lock this thread Simon. Until it was completely derailed, some folks found it useful and held an interest in Norbert's work, both from the technical perspective and gaining from it directly. And I hold out some hope that Norbert may 'return' and continue to contribute to it.

May I suggest that you instead treat anyone who now disregards your warning to an extended period on the naughty step themselves?

If someone really wants to continue to debate/argue the ethics of hacking they can start their own thread and take it all there, away from the technical threads, which they are then welcome to leave if it causes them offense.

I was referring to the insults and squabbling. there has already been a fallout in another thread over this hack or whatever it is.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: EEVblog on November 24, 2025, 09:06:06 am
Dedicated thread. Norbert can go wild in there. If he spreads it elsewhere on the forum he'll get banned.
https://www.eevblog.com/forum/testgear/legalities-of-hacking-the-rigol-mho900-scope/ (https://www.eevblog.com/forum/testgear/legalities-of-hacking-the-rigol-mho900-scope/)
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 24, 2025, 11:51:07 am
Dedicated thread. Norbert can go wild in there. If he spreads it elsewhere on the forum he'll get banned.
https://www.eevblog.com/forum/testgear/legalities-of-hacking-the-rigol-mho900-scope/ (https://www.eevblog.com/forum/testgear/legalities-of-hacking-the-rigol-mho900-scope/)

About half of that moved post was technical.

In the huge part of other half I was saying how bad is the administration of this forum.

I compared some (bigger) competition. Guess who is the admin there - such situations as in this thread are not possible and I explained why.

How it's possible people insulting me here for two years in at least 5 threads for about two years and they have no single warning to this day?

Maybe people with higher post count are allowed to do insults and people with less posts are banned just because such person was reported by 2-3 users.

Why those insults against me was not moved or deleted?

Im disgusted, not because of insults against me, but because of the moderation "quality" being here.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: J-R on November 24, 2025, 12:33:55 pm
Dedicated thread. Norbert can go wild in there. If he spreads it elsewhere on the forum he'll get banned.
https://www.eevblog.com/forum/testgear/legalities-of-hacking-the-rigol-mho900-scope/ (https://www.eevblog.com/forum/testgear/legalities-of-hacking-the-rigol-mho900-scope/)
Im disgusted, not because of insults against me, but because of the moderation "quality" being here.
First, it's probably best to stay quiet for a while.

Second, from what I've seen, the forum moderation is not at the "quality" you expect because there probably aren't enough moderators.  So they take action based on user reports that come in.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 24, 2025, 12:45:11 pm
Do you use JADX for the apk's?

I used multiple Smali to Java decompilers. Each one has different problems with the generated code and sometimes no code at all.

Often I don't even look into the decompiled code, because usually it's a waste of time. Unless I have problems to understand Smali code.

I don't mind standard libc programs on Android.

Libc on Android is different than any other system (glibc). As I said many times: whole Android is like a reinventing the wheel, but in a shape of a square.

I haven't found a working link for the complete firmware, so I've only been going off the firmware update. It's obviously incomplete though, I took a peek at the main file in IDA and it's obvious that it's referring to code that already exists but not in the update.

Sorry, I have no idea what are You referring to.

https://www.eevblog.com/forum/testgear/rigol-mho98-and-mho900-oscilloscope-series/msg6093421/#msg6093421 (https://www.eevblog.com/forum/testgear/rigol-mho98-and-mho900-oscilloscope-series/msg6093421/#msg6093421)
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 24, 2025, 01:31:57 pm
Ha, so the AFG is actually capable of much higher frequencies than Rigol, by default, allows us to use?

Does it have the bandwidth to output that signal?

Does it heat up or burn any components?

Im not sure, but I think I said it already somewhere. According to the documentation, AFG has a sample rate 1 G Sa/s. So theoretically it should be able to give sine wave 500 MHz.

Low pass filters, even in theory, will not cut out everything. Unless we start speak about extremely high frequency like 100 THz or more.

Upper limit is only a limit - If You don't need to use it, then don't use it.

One person reported on his scope that anything above 100 MHz is unstable and with square wave above 25 MHz it's the same.

IMHO capacitive load hurts the feelings of the power rails designed by Rigol.

I guess AFG board has to be reverse engineered - maybe all we need is a two capacitors added in like 10 minutes including a break for the coffee?

And yes, higher frequency will cause burns, if the people behind the design was like: I have no idea what Im doing here, but they pay me for each hour.

Maybe people working in Rigol are not the smartest in the world (nobody is), but I have strong doubts of making such big mistakes. You don't need to install any mod or hacked license key to have higher frequency than Rigol theoretically limited.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 24, 2025, 04:17:19 pm
I haven't found a working link for the complete firmware, so I've only been going off the firmware update. It's obviously incomplete though, I took a peek at the main file in IDA and it's obvious that it's referring to code that already exists but not in the update.

Sorry, I have no idea what are You referring to.

I feel stupid right now - I was in hurry with reading. Dave posted image of his SD card, which is no longer available. But I did a copy (https://www.eevblog.com/forum/testgear/rigol-mho98-and-mho900-oscilloscope-series/msg6093421/#msg6093421).
Title: Re: Hacking the Rigol MHO900 Scope
Post by: dc101 on November 25, 2025, 08:24:48 am
I did see that link and downloaded it, but I was expecting to see drives/partitions visible on the card in my Linux VM. I have made SDCards for iMX6 Sabre devboards and those cards seem to have no problems showing at least some partitions in Linux.
I'll have to trying downloading the image again and verifying the md5. If that doesn't work then I'll just run binwalk on the image and manually extract the partitions with dd so i can mount them. I also don't have this scope, but I wanted to poke around the file system.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 25, 2025, 08:29:26 am
MTD is used instead of partition table.

Testdisk is much faster than binwalk - unless You want to play with bootloader or DT.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: dc101 on November 25, 2025, 08:40:10 am
Ahh ok that explains why gparted barfed when I pointed it to the card I made.

I've only every used testdisk/photorec to recover deleted files for vulnerability reports. I don't like using binwalk because it missed many things, last night I showed someone on Recessim's discord server how it couldn't even find jffs2 partition in firmware which was clearly visible in vbindiff at 0xF80000. But binwalk will show me the offset in a firmware dump and then I just use dd to manually carve out the specific start and stop address I want to make a new file.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Fungus on November 25, 2025, 08:51:36 am
Does it heat up or burn any components?

Im not sure, but I think I said it already somewhere. According to the documentation, AFG has a sample rate 1 G Sa/s. So theoretically it should be able to give sine wave 500 MHz.

That doesn't mean the output circuitry can handle it.

IMHO capacitive load hurts the feelings of the power rails designed by Rigol.

Maybe Rigol was designing a 100Mhz device, not a 500Mhz device.

That "capacitive load" is the danger. Will you take responsibility if this "hack" destroys people's limited edition bling 'scopes?

At the very least you set yours to maximum voltage/500Mhz and pointed a thermal camera at it for an hour, right?


A cautionary tale:
https://youtu.be/4rADgFqFFH8?t=766

Title: Re: Hacking the Rigol MHO900 Scope
Post by: dc101 on November 25, 2025, 09:53:40 am
MTD is used instead of partition table.

Testdisk is much faster than binwalk - unless You want to play with bootloader or DT.

I tried your suggestion of using testdisk to search for partitions and then writing the partition table to the disk image. Nice suggestion! That was much faster and the drives don't have errors. When I used dd to extract them, fsck complained they all had errors. Thanks!
Title: Re: Hacking the Rigol MHO900 Scope
Post by: dc101 on November 25, 2025, 10:45:03 am
When I said "referring to code that doesn't exist" this is what I was talking about. In the SparrowIII...bin file there's several entries in the vector table that reference memory addresses that are outside the range of the Sparrow binary. Originally I thought it was missing because I was looking at the binary from the update, but this screenshot is from the SDCard image you posted, so there is something else going on here.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: dzebrys on November 25, 2025, 12:34:52 pm
That "capacitive load" is the danger. Will you take responsibility if this "hack" destroys people's limited edition bling 'scopes?

if u read EULA from Norbert that comment would not be needed.
also that would maybe mean less personal journeys between you both on this forum.

best regards
Piotr
Title: Re: Hacking the Rigol MHO900 Scope
Post by: dzebrys on November 25, 2025, 12:54:05 pm
When I said "referring to code that doesn't exist" this is what I was talking about. In the SparrowIII...bin file there's several entries in the vector table that reference memory addresses that are outside the range of the Sparrow binary. Originally I thought it was missing because I was looking at the binary from the update, but this screenshot is from the SDCard image you posted, so there is something else going on here.

probably Norbert can explain more and details but this scope.apk is build around glibc library libscope-auklet.so
where most of driver i/f functions and math is implemented. those addresses are likely direct calls to such.

br/Piotr
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 26, 2025, 03:28:19 am
With a huge help from the users (tests and experiments) and listening raw communication with AFE, finally there is a fix for the DC offsets.

Changelog for the v0.1.2:


Tomorrow I will reply for some posts here - I didn't have time for "some" reason.

Title: Re: Hacking the Rigol MHO900 Scope
Post by: dc101 on November 26, 2025, 08:18:43 am
When I said "referring to code that doesn't exist" this is what I was talking about. In the SparrowIII...bin file there's several entries in the vector table that reference memory addresses that are outside the range of the Sparrow binary. Originally I thought it was missing because I was looking at the binary from the update, but this screenshot is from the SDCard image you posted, so there is something else going on here.

probably Norbert can explain more and details but this scope.apk is build around glibc library libscope-auklet.so
where most of driver i/f functions and math is implemented. those addresses are likely direct calls to such.

br/Piotr

I was looking in the wrong place, SparrowIII_AFGMCUAPP0106.bin. But it seems this file is not very useful, at least regarding unlocking features.
I found /data/Key.data in the filesystem and after a recursive search I found references to Key.data in the library you mentioned packed inside Sparrow.apk
Thank you!
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 26, 2025, 06:08:13 pm
glibc library libscope-auklet.so

Small problem with libc in Android is the fact this is not glibc (GNU Lib C) but it's rather Bionic (https://en.wikipedia.org/wiki/Bionic_(software)).
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 26, 2025, 06:28:55 pm
Maybe Rigol was designing a 100Mhz device, not a 500Mhz device.

*MHz, not "Mhz".

That "capacitive load" is the danger.

If the AFG sample rate is 1 GHz, it means AFG can output 500 MHz. If the power rails can't keep up with delivering stable enough voltage with 101 MHz, that means only one thing: extremely bad design.

Maybe some cheap opamp or other amplifier can't keep up with such frequency. What is the point of choosing such fast and expensive DAC and using it's (presumably) full sample rate, when other parts can't keep up with it?

You don't need to install any mod, hack or whatever to manually make samples like -1, 1, -1, 1, ... which should end with output frequency half of the sample rate.

On the side note, I did similar thing with GPIO in two STM32. Little bit of code in Assembly and I got nice almost sinus wave without any magic smoke.

At the very least you set yours to maximum voltage/500Mhz and pointed a thermal camera at it for an hour, right?

I will do similar experiments when I will have any model from MHO900 series. Not only for fun, but mostly to figure out problem behind this design.

A cautionary tale:
https://youtu.be/4rADgFqFFH8?t=766 (https://youtu.be/4rADgFqFFH8?t=766)

From this video I see a multimeter with frequency measurement, without AFG inside of it. From the Uni-T webpage and datasheet in pdf, it can measure frequency up to 220 MHz. But it had problems with less than half of that. Also I have no idea if there was proper termination on the both ends.

Multimeters from this brand are like lottery. Some models (not even series, but exact models) are nothing else than a random number generators. And some (IMHO mostly UT210E) has measurements results with error much less than noted in datasheet and error below 0.1 % - beside of the very low price.

I have/had multiple Uni-T, along with there is UT-204. I didn't even bought it - some company bought it with delivery to me, only to do some tests with it.

Right after receiving it, almost all measurements was more or less random. Mentioned company contacted the seller and seller after contact with me, replaced it with another one.

And guess what? This time it was just slightly better - only AC measurements (with some delay...) and continuity was working correctly.

https://www.youtube.com/watch?v=-pgmVOtafhQ (https://www.youtube.com/watch?v=-pgmVOtafhQ)

So it ended as a toy. I remember only once when I used it (only for continuity), because I forget to took my other meter from home and I grabbed this toy instead (UT204 visible at end):

https://www.youtube.com/watch?v=PfcO8PPdxyY (https://www.youtube.com/watch?v=PfcO8PPdxyY)

If somebody wants to know, operating rooms are equipped with a speakers in the walls or ceilings - this music was played randomly at night (I did nothing to chose this exact song).
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Fungus on November 26, 2025, 06:56:32 pm
A cautionary tale:
https://youtu.be/4rADgFqFFH8?t=766 (https://youtu.be/4rADgFqFFH8?t=766)

From this video I see a multimeter with frequency measurement, without AFG inside of it. From the Uni-T webpage and datasheet in pdf, it can measure frequency up to 220 MHz. But it had problems with less than half of that. Also I have no idea if there was proper termination on the both ends.

And I see somebody who doesn't understand capacitance and missed the part where actually putting 200MHz into it made the meter melt.

Short version: learn about frequency derating before posting again.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 26, 2025, 07:01:33 pm
A cautionary tale:
https://youtu.be/4rADgFqFFH8?t=766 (https://youtu.be/4rADgFqFFH8?t=766)

From this video I see a multimeter with frequency measurement, without AFG inside of it. From the Uni-T webpage and datasheet in pdf, it can measure frequency up to 220 MHz. But it had problems with less than half of that. Also I have no idea if there was proper termination on the both ends.

And I see somebody who doesn't understand capacitance and missed the part where actually putting 200MHz into it made the meter melt.

Short version: learn about frequency derating before posting again.

Again, this is bad design. It shouldn't fail (unless it's outside of what was allowed in datasheet and norms) and it should be capable of doing what was described in datasheet. If the datasheet will tell it's capable of measuring up to 10 QHz and it will melt with 5 QHz it means manufacturer is a scammer. What is Your business with defending scammers?
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Fungus on November 26, 2025, 07:03:59 pm
Again, this is bad design.

Rigol sells a 100MHz signal generator, not a 500MHz signal generator.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on November 26, 2025, 07:08:24 pm
Again, this is bad design.

Rigol sells a 100MHz signal generator, not a 500MHz signal generator.

Really? I didn't know that before. Thanks to letting me know.

In that case, explain why this is AFG and original software allows to make 500 MHz with custom samples?
Title: Re: Hacking the Rigol MHO900 Scope
Post by: gsobol on December 01, 2025, 12:57:43 am
This must have been shared before, but here is a list of all the options that can be added to MHO900 line of scopes.

Option                  Description
  BND                 CAN-FD serial bus decoding analysis option
Flexray bus trigger and decoding analysis option
Audio serial bus 12S trigger and decoding analysis option
MIL-STD-1553 bus trigger and decoding analysis option
Built-in dual-channel 100MHz function generator(and Bode) option
                 
  EMBD                 Embedded serial bus trigger and analysis
                 
  COMP                 Computer serial trigger and analysis (RS232/UART)
                 
  AUTO                 Auto serial bus trigger and analysis
                 
  AUTOA                 CAN-FD serial bus decoding analysis option
                 
  FlexA                 Flexray bus trigger and decoding analysis option
                 
  AUDIOA                 Audio serial bus 12S trigger and decoding analysis option
                 
  AEROA                 MIL-STD-1553 bus trigger and decoding analysis option
                 
  RLU05                 500Mpts storage depth option
                 
  AFG50                 Built-in dual-channel 50MHz function generator(and Bode) option
                 
  AFG100                 Built-in dual-channel 100MHz function generator(and Bode) option
                 
  BWU03T05                 350MHz to 500MHz bandwidth upgrade option
                 
  BWU03T08                 350MHz to 800MHz bandwidth upgrade option
                 
  BWU05T08                 500MHz to 800MHz bandwidth upgrade option

Based on the model, some of these options may already be active by default - such as 500 MHz bandwidth on MHO954, and 800 MHz on MHO984 (or MHO98).
Also, I noticed that 3 options - EMB, COMP and AUTO are not officially offered, but can be found in firmware,  :-//

I was unable to locate new 16-byte key.  However I was able to locate unencrypted public key in memory dump and I was able to activate all options on my scope.  All the thanks to others that did all the work on activating earlier scopes.  Digging through some of the scripts was very informative.  If anyone is interested where and how to look, just post a reply.

Mind you, activating all options on stock scope does not have the benefit of all the upgrades that others bring to modded firmware (i.e. Norbert).  So, if you want more than just activated options, you should support people that do work hard to make these scopes better.  My $.02
Title: Re: Hacking the Rigol MHO900 Scope
Post by: sdouble on December 01, 2025, 02:15:26 am
Hi, I'd love to activate all options
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on December 01, 2025, 02:20:33 am
Hi, I'd love to activate all options

Right now all options are hacked and some features are added to the scope firmware. It's here (https://buymeacoffee.com/norbert.kiszka/e/479030).
Title: Re: Hacking the Rigol MHO900 Scope
Post by: gsobol on December 01, 2025, 06:03:35 pm
Hi, I'd love to activate all options

 :scared:Legal disclaimer: All that follows is just a suggestion, observation, whiff of a glue or whatever kids do these days. There is no guarantee any of this will work for you or that it's absolutely accurate in any shape or form in this or any other multiverse.  I might have made all of this $#!+ up.  As it says on any [insert your favorite here] theme park ride, you bare all responsibility hence forth, abandon all hope ye who enter here and enter at your own risk.  If you break something, remember YOU did it. :scared:

If anything below seems daunting, or you are looking for improvements to stock firmware I suggest hitting up Norbert
Right now all options are hacked and some features are added to the scope firmware. It's here (https://buymeacoffee.com/norbert.kiszka/e/479030).

So before we get started, we'll need few things: duct tape, zip ties, shovel ... sorry wrong list, let's try this again:

Turn on your scope (fresh start, clear memory is preferred)

Connect to your scope via ADB shell, remember to use correct port [IP]:55555  (if you don't know how to do this, just search this forum, you can also look into Serg65536 scripts - OR this may be a good time to turn back)

Once connected, in the shell elevate to root
Code: [Select]
rkXXXX_rigol:/ $ su - root
get all rigol running processes
Code: [Select]
rkXXXX_rigol:/ # ps | grep rigol
root      675   1     3104   504            0 0000000000 S /rigol/tools/tcpsvd
root      689   1     816    4              0 0000000000 S /rigol/tools/pmapService
system    1160  235   1758572 116404          0 0000000000 S com.rigol.launcher
system    1213  235   3816544 302636          0 0000000000 S com.rigol.scope
system    1283  235   1601540 101012          0 0000000000 S com.rigol.launcher:Watchdog
system    1297  235   1621496 85728          0 0000000000 S com.rigol.webcontrol

We are going to look at com.rigol.scope process - process id for it is 1213 (Yours will differ - use your process id for all below)

Now, let's take a look at process memory maps, specifically for libc_malloc:
Code: [Select]
rkXXXX_rigol:/ # cat /proc/1213/maps | grep "libc_malloc"
7ee2200000-7ee2400000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7efac00000-7efae00000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7efba00000-7efbc00000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f04200000-7f04600000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f1e400000-7f1e600000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f1ea00000-7f1ec00000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f1ee00000-7f1f000000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f1f200000-7f24600000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f24800000-7f4a800000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f4be00000-7f4c000000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f4ce00000-7f4d000000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f4de00000-7f4e000000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f4e200000-7f50200000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f50400000-7f57800000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f58800000-7f59a00000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f62c00000-7f63000000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f64400000-7f64600000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f65400000-7f65800000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f69800000-7f69a00000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f7c600000-7f7c800000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f84c00000-7f84e00000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
7f85c00000-7f86000000 rw-p 00000000 00:00 0                              [anon:libc_malloc]

I did dump all of these, but in my case I found the unencrypted key in the 3rd from the bottom entry, so suggestions below will reflect that.  If you can't find the key in this one, might have to look at other memory entries.

This is the entry we will concentrate on:
Code: [Select]
7f7c600000-7f7c800000 rw-p 00000000 00:00 0                              [anon:libc_malloc]
Few things to note:

Now, let's put it all together and dump some memory.  Best place to put it is going to be in /data/UserData folder.
Code: [Select]
rkXXXX_rigol:/ # cd /data/UserData
rkXXXX_rigol:/data/UserData # dd if=/proc/1213/mem bs=4096 skip=$((0x7f7c600)) count=512 of=./memory.dmp
512+0 records in
512+0 records out
2097152 bytes transferred in 0.018 secs (116508444 bytes/sec)

We should have this:
Code: [Select]
rkXXXX_rigol:/data/UserData # ls -l
total 4096
-rw------- 1 root root 2097152 2025-12-01 16:51 memory.dmp

Transfer the 2MB file to your PC, and you can cleanup /data/UserData folder by running:
Code: [Select]
rkXXXX_rigol:/data/UserData # rm memory.dmp
On your PC, open Key.data in a Hex editor - we'll need the content so we know what we'll be searching for in the memory file.  It should look something like that:
Code: [Select]
00000000  16 f9 39 41 6d 9d 16 8e  e7 a9 73 61 fd c2 fd f7  |..9Am.....sa....|
00000010  e3 cd 39 ee c0 1e 64 35  c4 92 35 46 cd 15 24 af  |..9...d5..5F..$.|
00000020  ea 46 42 4c 4d fd fd 20  7c d3 3c 13 cf ec 6f 0a  |.FBLM.. |.<...o.|
00000030  cc 61 1a d3 8b 9b 34 ef  f2 08 99 89 fd 86 7f c8  |.a....4.........|
00000040  cc 41 ce 34 53 f2 f8 0c  c1 44 f1 cd f7 6c e3 fc  |.A.4S....D...l..|
00000050  4a 90 c7 c3 bd 6f 25 dd  e7 81 aa df df df fd 70  |J....o%........p|
00000060  57 b3 f3 33 63 26 56 00  e9 1d 02 e6 fd 60 d3 43  |W..3c&V......`.C|
00000070  35 43 c5 34 56 88 9e a0  0c e2 ec cc d9 85 fd 0c  |5C.4V...........|
00000080  dd fb a8 f1 f1 bd cc 5b  bc bd f0 67 3c 6f 08 1d  |.......[...g<o..|
00000090  ad f4 45 54                                       |..ET|

Take note of the first few bytes in hex -> 16 f9 39 41 6d 9d  Now let's look for this sequence in memory file.  It may show up 2 or 3 times, and we need to examine all the hits to locate the unencrypted key.
Each location of the hit, we need to scroll down a bit to locate the unencrypted key.  Example below:
Code: [Select]
00000000  00 00 00 00 00 00 00 00  00 00 00 16 f9 39 41 6d  |.............9Am|
00000010  9d 16 8e e7 a9 73 61 fd  c2 fd f7 e3 cd 39 ee c0  |.....sa......9..|
00000020  1e 64 35 c4 92 35 46 cd  15 24 af ea 46 42 4c 4d  |.d5..5F..$..FBLM|
00000030  fd fd 20 7c d3 3c 13 cf  ec 6f 0a cc 61 1a d3 8b  |.. |.<...o..a...|
00000040  9b 34 ef f2 08 99 89 fd  86 7f c8 cc 41 ce 34 53  |.4..........A.4S|
00000050  f2 f8 0c c1 44 f1 cd f7  6c e3 fc 4a 90 c7 c3 bd  |....D...l..J....|
00000060  6f 25 dd e7 81 aa df df  df fd 70 57 b3 f3 33 63  |o%........pW..3c|
00000070  26 56 00 e9 1d 02 e6 fd  60 d3 43 35 43 c5 34 56  |&V......`.C5C.4V|
00000080  88 9e a0 0c e2 ec cc d9  85 fd 0c dd fb a8 f1 f1  |................|
00000090  bd cc 5b bc bd f0 67 3c  6f 08 1d ad f4 45 54 00  |..[...g<o....ET.|
000000a0  00 00 00 00 00 00 00 00  00 00 00 22 41 44 43 31  |..........."ADC1|
000000b0  5f 41 4d 42 49 45 4e 54  5f 54 45 4d 50 00 00 00  |_AMBIENT_TEMP...|
000000c0  00 00 00 90 43 43 24 56  57 8d fa 78 d7 8d f8 9f  |....CC$VW..x....|
000000d0  78 9f f5 00 00 00 00 00  00 00 00 00 00 00 00 00  |x...............|
000000e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000110  00 00 00 00 00 00 00 00  00 00 00 68 99 00 da ff  |...........h....|
00000120  d8 78 9d 00 00 00 00 00  00 00 00 00 00 00 00 00  |.x..............|
00000130  56 df 67 00 00 00 00 00  00 df 76 56 58 76 99 41  |V.g.......vVXv.A|
00000140  00 00 00 03 00 00 00 00  00 00 00 1c 41 44 43 31  |............ADC1|
00000150  5f 43 48 49 50 5f 54 45  4d 50 00 00 00 00 00 00  |_CHIP_TEMP......|
00000160  00 00 00 42 35 36 37 32  33 45 35 34 46 35 37 41  |...B56723E54F57A|
00000170  42 35 45 00 00 00 00 00  00 00 00 00 00 00 00 00  |B5E.............|
00000180  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001b0  00 00 00 00 00 00 00 00  00 00 00 37 38 39 34 35  |...........78945|
000001c0  37 41 31 00 00 00 00 00  00 00 00 00 00 00 00 00  |7A1.............|
000001d0  c0 57 40 00 00 00 00 00  00 f0 bf 01 44 00 00 07  |.W[member=242705].....[/member]....D...|
000001e0  00 00 00 02 00 00 00 00  00 00 00 20 43 48 34 5f  |........... CH4_|
000001f0  41 4d 42 49 45 4e 54 5f  54 45 4d 50 00 00 00 00  |AMBIENT_TEMP....|
00000200  00 00 00 41 36 37 38 41  44 46 45 39 35 33 34 33  |...A678ADFE95343|
00000210  35 39 41 00 00 00 00 00  00 00 00 00 00 00 00 00  |59A.............|
00000220  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000250  00 00 00 00 00 00 00 00  00 00 00 34 35 36 41 46  |...........456AF|
00000260  36 38 45 00 00 00 00 00  00 00 00 00 00 00 00 00  |68E.............|
00000270  34 67 80 00 00 00 00 00  00 45 78 84 2a 00 00 aa  |4g.......Ex.*...|
00000280  00 00 00 0d ad ff df 00  00 00 00 30 34 36 38 37  |...........04687|
00000290  41 45 44 30 34 33 37 36  37 38 43 45 35 37 41 46  |AED0437678CE57AF|
000002a0  36 31 32 44 44 33 35 37  36 46 41 37 39 35 44 37  |612DD3576FA795D7|
000002b0  43 30 43 32 33 33 43 42  43 35 34 37 38 37 38 39  |C0C233CBC5478789|
000002c0  41 37 36 39 31 41 39 30  32 35 36 32 42 39 39 42  |A7691A902562B99B|
000002d0  45 42 37 36 38 39 34 41  37 38 37 30 30 35 31 43  |EB76894A7870051C|
000002e0  36 37 38 38 45 36 39 31  36 33 32 38 42 34 43 38  |6788E6916328B4C8|
000002f0  31 34 35 33 35 36 31 32  37 38 31 32 31 36 36 44  |145356127812166D|
00000300  31 43 43 42 36 33 35 35  39 45 46 46 41 00 00 44  |1CCB63559EFFA..D|
00000310  31 43 43 42 36 33 35 35  39 45 46 46 41 00 00 00  |1CCB63559EFFA...|
00000320  00 00 00 00 00 00 00 00  00 00 00 1a 43 48 34 5f  |............CH4_|
00000330  43 48 49 50 5f 54 45 4d  50 00 00 00 00 00 00 00  |CHIP_TEMP.......|
00000340  00 00 00 33 35 36 41 44  35 37 41 45 33 36 37 36  |...356AD57AE3676|
00000350  36 43 43 00 00 00 00 00  00 00 00 00 00           |6CC..........|

Above, the unencrypted key starts with 04 - Notice it's in plain text and not HEX.   The length of the key is 130 characters (132 if we are to include 2 NULLs at the end).  We need to copy out the text portion.
Code: [Select]
04687AED0437678CE57AF612DD3576FA795D7C0C233CBC5478789A7691A902562B99BEB76894A7870051C6788E6916328B4C8145356127812166D1CCB63559EFFA
We need to create a string that we'll add to the script by combining "brainpoolP256r1;" and our unencrypted key, the result will look like this:
Code: [Select]
brainpoolP256r1;04687AED0437678CE57AF612DD3576FA795D7C0C233CBC5478789A7691A902562B99BEB76894A7870051C6788E6916328B4C8145356127812166D1CCB63559EFFA
Now, let's modify Serg65536 rgtoolMod.go script.  Open the script in Text editor.  We are looking for a function LoadKeys():
Code: [Select]
163 func LoadKeys() ([]uint8, error, []uint8) {
164 data, err := ioutil.ReadFile(Expand(keyFile))
165 if nil != err {
166 return nil, err, nil
167 }
168 dd := decodeDefaultXXTEA(data)
169 i := bytes.Index(dd, []uint8(";"))
170 if -1 == i {
171 return nil, errors.New("key format error"), nil
172 }
173 return dd[i+1:], nil, dd
174 }

We'll add a line with the full key string, so the resulting function will look like this:
Code: [Select]
163 func LoadKeys() ([]uint8, error, []uint8) {
164 data, err := ioutil.ReadFile(Expand(keyFile))
165 if nil != err {
166 return nil, err, nil
167 }
168 dd := decodeDefaultXXTEA(data)
169 dd = []byte ("brainpoolP256r1;04687AED0437678CE57AF612DD3576FA795D7C0C233CBC5478789A7691A902562B99BEB76894A7870051C6788E6916328B4C8145356127812166D1CCB63559EFFA")
170 i := bytes.Index(dd, []uint8(";"))
171 if -1 == i {
172 return nil, errors.New("key format error"), nil
173 }
174 return dd[i+1:], nil, dd
175 }

Yeah, I know it's ugly and I could have come up with a cleaner solution, but hey, it's a one line ... nothing beats a temporary solution that works  ;D

Now you can run the script to generate SCPI commands:
Code: [Select]
# go run ./rgtoolMod.go Key.data MHO9 :SYST:OPT:INST BND EMBD COMP AUTO AUTOA FlexA AUDIOA AEROA RLU05 AFG50 AFG100 BWU03T05 BWU03T08 BWU05T08
keyFile: Key.data
deviceId: MHO9
SCPI format: ':SYST:OPT:INST'
options: [BND EMBD COMP AUTO AUTOA FlexA AUDIOA AEROA RLU05 AFG50 AFG100 BWU03T05 BWU03T08 BWU05T08]

Key: brainpoolP256r1;04687AED0437678CE57AF612DD3576FA795D7C0C233CBC5478789A7691A902562B99BEB76894A7870051C6788E6916328B4C8145356127812166D1CCB63559EFFA

Generating unlock SCPI commands for the MHO900 series scope:

:SYST:OPT:INST MHO900-BND@34889ad79cb89ae70997912344acb5686c654675744252cf82e4ecd43e30b7cba78d980daf843570d878b77cb320fa1a
:SYST:OPT:INST MHO900-EMBD@86545315253a910cc3434566758aa68c663477da0f1ece98c37705978d8747dea78d980daf843570d878b77cb320fa1a
:SYST:OPT:INST MHO900-COMP@a66787500e54329d356f99c53aac579899deb7d4ed506a5c9cf427ce6cba5aa9a78d980daf843570d878b77cb320fa1a
:SYST:OPT:INST MHO900-AUTO@12885349aff89055600dc04dd9a805d6d86048a94ebf09d53843177a99bcec6aa78d980daf843570d878b77cb320fa1a
:SYST:OPT:INST MHO900-AUTOA@3348780acc356ff5768dc04dd9a805d68a56f1500834b1cb157cb677f5cb422ea78d980daf843570d878b77cb320fa1a
:SYST:OPT:INST MHO900-FlexA@44678a78997e878ff7709cccd1314ecab90b3b059ccaa572794dbcbdb6def9aba78d980daf843570d878b77cb320fa1a
:SYST:OPT:INST MHO900-AUDIOA@13a897c8755f88900caac00f995e40fda49b99c176d7ff8e112b02494dbc9587a78d980daf843570d878b77cb320fa1a
:SYST:OPT:INST MHO900-AEROA@f6897345a7988cc8787f977e7585210c8a56f1500834b1cb157cb677f5cb422ea78d980daf843570d878b77cb320fa1a
:SYST:OPT:INST MHO900-RLU05@e76590a08c70b80b8888e5d89194b88ab3186bc261a888a87ec774c82bf1d4eba78d980daf843570d878b77cb320fa1a
:SYST:OPT:INST MHO900-AFG50@b989684311467a97f9077b69886d622a93e2cae7fe5c271ad9e7a23cee986a74a78d980daf843570d878b77cb320fa1a
:SYST:OPT:INST MHO900-AFG100@5972afc799dd987e00f7007f05f4222a6c6342dcb384cd4e2bd3caf775af8d71a78d980daf843570d878b77cb320fa1a
:SYST:OPT:INST MHO900-BWU03T05@89cb234ff124eb4566ef7888d8887fabd2b602a87903da4b0a5fb2c1981fe02ca78d980daf843570d878b77cb320fa1a
:SYST:OPT:INST MHO900-BWU03T08@28feb79add88070301ad3545696643ab4f7587b603350f808cd89291d5de6a58a78d980daf843570d878b77cb320fa1a
:SYST:OPT:INST MHO900-BWU05T08@a869d080b8e04655aa879fe567cb78ab5bc24e5a8f5cbdc1c4196c85ad318fc9a78d980daf843570d878b77cb320fa1a


Generated option commands saved to the file: 'SCPI_commands_generated.txt'


Now, you can open a browser and navigate to the "Web Control" page for your scope (use scope IP address)
Select "SCPI Panel Control" on the left side
In the command window delete '*IDN?" and paste each :SYST:OPT:INST command one at the time, each time hit [Send & Read] button.

If you made it this far, you are brave or ..., yeah let's go with brave.   :-+


 * Applied the function code fix that andyCap24 pointed out just below - wrong line order strikes again :D
Title: Re: Hacking the Rigol MHO900 Scope
Post by: andyCap24 on December 02, 2025, 04:10:01 am
Thanks gsobol!  :D
Adding another suggestion with same disclaimer, to get the function working  8)
Code: [Select]
func LoadKeys() ([]uint8, error, []uint8) {
data, err := ioutil.ReadFile(Expand(keyFile))
if nil != err {
return nil, err, nil
}
dd := decodeDefaultXXTEA(data)
dd = []byte ("brainpoolP256r1;04687AED0437678CE57AF612DD3576FA795D7C0C233CBC5478789A7691A902562B99BEB76894A7870051C6788E6916328B4C8145356127812166D1CCB63559EFFA")
i := bytes.Index(dd, []uint8(";"))
if -1 == i {
return nil, errors.New("key format error"), nil
}
return dd[i+1:], nil, dd
}
Title: Re: Hacking the Rigol MHO900 Scope
Post by: 0xdeadbeef on December 02, 2025, 07:24:33 am
Also, I noticed that 3 options - EMB, COMP and AUTO are not officially offered, but can be found in firmware,  :-//
IMHO, these are always included by default.
From what I can tell, "AUTO" is CAN (non FD) and LIN, "EMB" is SPI and I2C and "COMP" is UART.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: gsobol on December 02, 2025, 03:14:08 pm
Also, I noticed that 3 options - EMB, COMP and AUTO are not officially offered, but can be found in firmware,  :-//
IMHO, these are always included by default.
From what I can tell, "AUTO" is CAN (non FD) and LIN, "EMB" is SPI and I2C and "COMP" is UART.

Very possible, it may be that the functionality is always active in the background and does not require explicit license, although licenses do show up on the list of options once activated.  No clue... :-//
Title: Re: Hacking the Rigol MHO900 Scope
Post by: MajorTom2 on December 02, 2025, 04:56:50 pm
If you made it this far, you are brave or ..., yeah let's go with brave.   :-+

Thanks, worked like a charm!

BTW: you only need BND, RLU05, BWU05T08 (or BWU03T08) to have all options
Title: Re: Hacking the Rigol MHO900 Scope
Post by: egonotto on December 02, 2025, 06:36:28 pm
Hello,

for a limited time, you can now get the feature of the MHO98 at a lower price with the special offer of the PLA2216 for half the normal price from Batronix until 2 December 2025.

Best regards,
egonotto
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Hydron on December 03, 2025, 02:38:03 pm
Telonic is showing the MHO954 at 15% off still (says ending 2nd Dec but still is at that price), they also have the half price probes thing but that discount didn't show in the basket as they were out of stock the whole promo period. Maybe worth ringing them up though if you're in the UK and want one. Now that there's a known way to generate the keys I kinda wish I'd gone for the MHO954 rather than the MHO98 (mostly to avoid the bling BS, even with half price LA probes the price would haven ended up within 10% so not a huge savings).
Title: Re: Hacking the Rigol MHO900 Scope
Post by: pakakezu on December 04, 2025, 07:47:39 pm
Not script kiddy easy, but knocking it out in half an hour easy, worked first try.  Many thanks!
Title: Re: Hacking the Rigol MHO900 Scope
Post by: sjm on December 05, 2025, 03:28:18 pm
Im not sure, but I think I said it already somewhere. According to the documentation, AFG has a sample rate 1 G Sa/s. So theoretically it should be able to give sine wave 500 MHz.

Low pass filters, even in theory, will not cut out everything. Unless we start speak about extremely high frequency like 100 THz or more.

Upper limit is only a limit - If You don't need to use it, then don't use it.

One person reported on his scope that anything above 100 MHz is unstable and with square wave above 25 MHz it's the same.


Well... I just tried 100MHz, 110MHz and 150MHz sine wave on my new hacked MHO954 and... haha, yeah anything above 100MHz is really weird looking and unusable.
I used a straight bnc-bnc coax cable from G1 output to ch1 input, and configured ch1 with 50 ohm impedance.
Below are a few screenshots I saved.

If you have something specific to also try out, let me know. Thanks.

Title: Re: Hacking the Rigol MHO900 Scope
Post by: 0xdeadbeef on December 05, 2025, 03:38:54 pm
Quote
haha, yeah anything above 100MHz is really weird looking and unusable.
Not really a total surprise though.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on December 05, 2025, 03:59:04 pm
Well... I just tried 100MHz, 110MHz and 150MHz sine wave on my new hacked MHO954 and... haha, yeah anything above 100MHz is really weird looking and unusable.
I used a straight bnc-bnc coax cable from G1 output to ch1 input, and configured ch1 with 50 ohm impedance.
Below are a few screenshots I saved.

If you have something specific to also try out, let me know. Thanks.

I took a look into Dave photos with the AFG board. There is a lot of LC filters and THS3491 at the output which have 900 MHz GBW. I guess those LC filters are resonating when output frequency is above 100 MHz.

BTW. Probably I told it already, my DHO924S works fine with 80 MHz sine wave (sample rate 250 M instead of original 156.25 M), while stock firmware gives max 25 MHz. Somewhere on the forum there is schematic diagram from reverse engineering of it.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: gf on December 05, 2025, 06:28:39 pm
Well... I just tried 100MHz, 110MHz and 150MHz sine wave on my new hacked MHO954 and... haha, yeah anything above 100MHz is really weird looking and unusable.
I used a straight bnc-bnc coax cable from G1 output to ch1 input, and configured ch1 with 50 ohm impedance.
Below are a few screenshots I saved.

If you have something specific to also try out, let me know. Thanks.

Looking at your screenshots, I wonder if the AFG really runs at 1GSa/s.

Could you take a screenshot of the spectrum of the generated signal over a 0–2 GHz span? Either using FFT (at full bandwidth of the scope and using a large number of FFT points), or even better, use a spectrum analyzer if you have one.

Ideally, generating a 110 MHz sine wave at 1GSa/s is expected to produce frequencies of 110, 890, 1110, and 1890 MHz within the 0-2 GHz span. The frequencies at 890, 1110, and 1890 MHz should be significantly attenuated (like in the attached plot). The region between 110 and 890 MHz should be empty. If you see peaks with significant power in this region, something is wrong.

[ EDIT: The expected peak locations are fc and N * fs ± fc, where fc is the frequency of your sine wave, fs is the sample rate and N is an integer >= 1. ]
Title: Re: Hacking the Rigol MHO900 Scope
Post by: LesWright on December 08, 2025, 09:28:55 am
Just asking as I don't see in on the thread, has anyone done a real bandwidth measurement on an upgraded MHO900 scope?
Are there any differences between base models, for example can an MHO934, MHO954, MHO980 all hit 1GHz? Where is the roll-off (I'm guessing around 1.1GHz)

Cheers!
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on December 08, 2025, 11:45:07 am
With my calculations, MHO98 and hacked MHO900 should have 1050 MHz and there is possibility to make ~1470 MHz by changing few bits in AFE flags.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: bobrov1989 on December 08, 2025, 07:54:43 pm
norbert.kiszka thanks for the hack for the scope! Just installed it on my MHO934. Just one thing, please add a mention in the instructions that a LAN (wired) connection is required for the install script  :-DD . It is my first Android-based scope, so I connected in via WAN (Rigol is so lovely to include the dongle with the scope) and started the installation... Only after the first reboot did I understand my mistake, quickly made a wired connection, and updated the DHCP settings to match the IP address :D - great that you added so many retry attempts to the script.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Fungus on December 08, 2025, 09:23:43 pm
Just asking as I don't see in on the thread, has anyone done a real bandwidth measurement on an upgraded MHO900 scope?

Yes.

can an MHO934, MHO954, MHO980 all hit 1GHz?

Yes.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: rdarlington on December 09, 2025, 06:14:05 am
norbert.kiszka thanks for the hack for the scope! Just installed it on my MHO934. Just one thing, please add a mention in the instructions that a LAN (wired) connection is required for the install script  :-DD . It is my first Android-based scope, so I connected in via WAN (Rigol is so lovely to include the dongle with the scope) and started the installation... Only after the first reboot did I understand my mistake, quickly made a wired connection, and updated the DHCP settings to match the IP address :D - great that you added so many retry attempts to the script.

Yeah, wired LAN is a must.    I just installed this last week on my MHO98.   I never heard back from Rigol about license keys.  After about two weeks from delivery I decided to call.  No way to get through to anybody, so I gave up and spent the extra few bucks for the upgrade/unlock forever.     Absurd level of support from the company that made it.  Can't get em to respond to my ticket, no emails to spam (or my inbox for that matter).  Just ignored.   This is probably my first and last Rigol product.   
Title: Re: Hacking the Rigol MHO900 Scope
Post by: washley on December 09, 2025, 01:32:49 pm
Yeah, wired LAN is a must.    I just installed this last week on my MHO98.   I never heard back from Rigol about license keys.  After about two weeks from delivery I decided to call.  No way to get through to anybody, so I gave up and spent the extra few bucks for the upgrade/unlock forever.     Absurd level of support from the company that made it.  Can't get em to respond to my ticket, no emails to spam (or my inbox for that matter).  Just ignored.   This is probably my first and last Rigol product.
I received my MHO98 on Dec 3 and requested the license key right away via the google form. The response came yesterday, Dec 8 with subject "MHO98 Bundle CDKEY".
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Hydron on December 09, 2025, 04:47:24 pm
The form on the rigol europe website worked immediately for me. Maybe worth a try even if your unit is a NA one?

Be very interested in AFE BW boost (and the intermediate filters, I wish they gave more options than 20 and 250) - obviously >1GHz is only really applicable for a single channel but nice to have the option!
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on December 10, 2025, 07:59:14 pm
The form on the rigol europe website worked immediately for me. Maybe worth a try even if your unit is a NA one?

Be very interested in AFE BW boost (and the intermediate filters, I wish they gave more options than 20 and 250) - obviously >1GHz is only really applicable for a single channel but nice to have the option!

Im going to make it (as a free update of my mod). But I have to release updates also for DHO800/900 and DHO1000/4000. I have only two hands and only one brain, so I can't make two things at exact same time (in most cases...).
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ikcalB on December 13, 2025, 03:07:57 pm
Thank you @norbert.kiszka!

Your work on the MHO900 (and Rigol in general) is MUCH appreciated! If you can, please keep up your work  :-+
(On my MHO954: The larger display area alone is worth the price for your mod.)

Question: Self-Cal
It seems, that in mod 0.1.2 the self cal has options too choose from, which do not exist in the stock self-cal.
- At least 4 options are not checked after installing - does that mean, that is what the stock self-cal does?
- when checking ALL options, self-cal fails after <1min (4%). Is that expected? Do some self-cal items require external connections, i.e. some (BNC) cables?

Wishlist:
1. Customize Shortcuts (top right): Ability to remove certain buttons
1b. if 1) not possible, would you mind [adding an option] to remove all shortcuts, that are directly accessible via hardware buttons?
(i.e. run/stop, Measure, navigate, ...)
2. Pressing the Default button: load `DEFAULT.stp` instead of the rigol hard coded default settings?
(Allows to customize own defaults)
2b. if 2) is not feasible: Can we change hard coded default, so all channels are configured for 10x?

Thanks again & best regards from Austria,
Florian
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on December 13, 2025, 03:41:10 pm
Question: Self-Cal
It seems, that in mod 0.1.2 the self cal has options too choose from, which do not exist in the stock self-cal.
- At least 4 options are not checked after installing - does that mean, that is what the stock self-cal does?
- when checking ALL options, self-cal fails after <1min (4%). Is that expected? Do some self-cal items require external connections, i.e. some (BNC) cables?

Those options are available but hidden in the stock firmware (app to be precise). If those are hidden and You press start, it will run with default settings. Usually there is no need to change anything in those checkboxes. So just leave them alone as it is and press start.

Wishlist:
1. Customize Shortcuts (top right): Ability to remove certain buttons
1b. if 1) not possible, would you mind [adding an option] to remove all shortcuts, that are directly accessible via hardware buttons?
(i.e. run/stop, Measure, navigate, ...)

Making in-app customization for it is extremely difficult because of the lack of source code. App was coded both in Java and C++ (for 100% they used source code from DHO800/900 and a lot of hardware design also from DHO800/900). This first one can be "deassembled" into Smali and second one into real Assembly. For me personally this second one is a lot easier.

Modifying those shortcuts permanently is a lot easier. Already I have plans to modify whole top bar as I did with DHO800/900 and to add more bandwidth options. Speaking about last one, Im going to fix 800 M option to be real 800 M, add 1 G and "OFF" will be around 1.4-1.5 GHz (because whole bandwidth is limited by multiple things, including AFE binary flags). All of it will be as a free update as usual, but first I need to finish my current work with DHO800/900, which is already getting too long. And likely I need to take a look into my DHO1000/4000 mod (some issues was reported). So most likely it will be not quicker than one week.

As I said already on this forum, from time to time Im working with the new app working on different system (Debian instead of Android) and with API, which will give open source GUI. In such case any UI modification will be easy and possible for everybody, including adding in-app user customization.

2. Pressing the Default button: load `DEFAULT.stp` instead of the rigol hard coded default settings?
(Allows to customize own defaults)

Actually this is quite good idea. Instead of making hardcoded individual changes, everybody will be able to make their own defaults.

2b. if 2) is not feasible: Can we change hard coded default, so all channels are configured for 10x?

This should be easier. Already one person asked for such thing on DHO800/900. From the other hand, making different versions and update all of them...
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ikcalB on December 13, 2025, 04:31:31 pm
Thanks for taking your time to reply!
I'm in love with debian for over a decade myself, and am an embedded dev - although not as experienced as you.
So if you want a second pair of eyes (or better, hands  ;) ), DM me.

One more question: The settings from Utility->Setup do not seem to be saved anywhere (also not in "store setup").
They are lost on reboot (or poweroff) as well as after loading the "Default".

EDIT:
---
Also Horizontal settings, i.e. "Expand" (values Left, Right, Center, Trigger, ...) does not seem to be saved in setup.

--- EDIT2:
Horizontal setting seems to be saved, idk what happened before.
STILL: Utility->Setup | Expand:Center and Vernier/Zoom:Zoom are not saved.
---

Is this a RIGOL bug & could you fix that? I find that quite annoying.

BR, Florian
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on December 13, 2025, 05:03:05 pm
They are lost on reboot (or poweroff) as well as after loading the "Default".

Do You have load settings (or how it was called - right now I don't remember exact name in MHO900) default or load last? It was one of the first switches.

If it's set to "default", all settings are set to default at app startup.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ikcalB on December 13, 2025, 10:57:28 pm
I have load last.

It's only some settings (i.e. the ones I mentioned before - but I keep finding more) that are not saved.

Is it useful to file a bug with rigol on this?
Br
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on December 14, 2025, 03:33:44 am
I will check this later. For ~90% it's a Rigol bug, since I didn't made any change in saving settings. Beside of the optimizations in a way like compiler should do it when -O flags are used (which is never the case in Rigol firmware...).

Is it useful to file a bug with rigol on this?

You can wait years for bugfix in Rigol.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: ikcalB on December 14, 2025, 10:33:59 am
Thanks for your effort.
Regarding Rigol, I feared as much.

If you don't find anything regarding saving (don't worry about the timeline - mid january is fine with me) I'd still try to contact rigol about that subject.

Br & pleasant holidays,
Florian
Title: Re: Hacking the Rigol MHO900 Scope
Post by: 0xdeadbeef on December 14, 2025, 10:41:27 am
I will check this later. For ~90% it's a Rigol bug, since I didn't made any change in saving settings. Beside of the optimizations in a way like compiler should do it when -O flags are used (which is never the case in Rigol firmware...).

Is it useful to file a bug with rigol on this?

You can wait years for bugfix in Rigol.
Again, might be just my experience, but I tend to disagree. I reported a bug in early October (LA threshold set and LA threshold used off by a factor of two), received  some additional questions about this and finally a test firmware on last Friday. I just tested this today and the issue is fixed now. It will certainly not always be like this, but in my specific case, I have nothing to complain about.
There are obviously people working for Rigol who are capable and willing to fix existing issues. Well, at least regarding blatant bugs which are easy to reproduce...
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Hydron on December 14, 2025, 12:50:49 pm
That's encouraging at least - lets keep the bug reports going in while there seems to be attention being paid!

Unfortunately I haven't had much time to use mine yet (so haven't found any bugs myself, though I'm sure I will).
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on December 14, 2025, 02:22:11 pm
Again, might be just my experience, but I tend to disagree. I reported a bug in early October (LA threshold set and LA threshold used off by a factor of two), received  some additional questions about this and finally a test firmware on last Friday. I just tested this today and the issue is fixed now. It will certainly not always be like this, but in my specific case, I have nothing to complain about.
There are obviously people working for Rigol who are capable and willing to fix existing issues. Well, at least regarding blatant bugs which are easy to reproduce...

Bugs in DHO1000/4000 and DHO800/900 are not fixed for years.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Vadimchik1973 on December 16, 2025, 01:29:33 pm
Hi.

Is there a hardware difference between the RIGOL MHO934, MHO954, and MHO984 oscilloscope models?

If I buy a RIGOL MHO934, will it become the highest possible (1GHz) model after applying your patch?

This patch: https://buymeacoffee.com/norbert.kiszka/e/479030
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on December 16, 2025, 02:25:33 pm
Hi.

MHO934, MHO954 and MHO984 are identical in hardware but can differ in accessories. In my local supplier MHO934 has added 350 MHz passive probes, while other models has 500 MHz probes.

In my mod (in the current version 0.1.2) Rigol license system is bypassed in multiple different ways at the same time. In case of bandwidth, You can select bandwidth limit separately for each channel - almost like in original, but with additional 350, 500 and 800 MHz options. It works on all of those models and on the MHO98.

This bandwidth selection (in 0.1.2) currently use original AFE binary flags to set low pass filter, that's why 800 MHz option gives 1 GHz as "OFF" (default) option, because flags are identical in both of them.

Speaking about the bandwidth, currently Im working on DHO800/900 mod (same AFE chip as in MHO900) - I have finished reverse engineering of this binary flags and I did exactly 72 bandwidth options (also separately for each channel), including auto, which depends on the current sample rate. Later, likely in the next year I will implement same thing in MHO900 and it will be published as a free update.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: LesWright on December 18, 2025, 08:55:48 pm
Sweet, this worked out great on my MHO954, excellent.

Incidentally, when you pull the memory dump, its much faster to do an ASCII search for the string "CH4_CHIP_TEMP", that string appears right after the key.



Title: Re: Hacking the Rigol MHO900 Scope
Post by: pizzigri on December 23, 2025, 09:10:00 am
Getting a lot more interested in your mod. Especially for the bug corrections, and early next year - I actually am away from home and will not be able to play with my MHO98 for some time - I will donate and download your mod!
Title: Re: Hacking the Rigol MHO900 Scope
Post by: gsobol on December 23, 2025, 03:53:09 pm
Sweet, this worked out great on my MHO954, excellent.

Incidentally, when you pull the memory dump, its much faster to do an ASCII search for the string "CH4_CHIP_TEMP", that string appears right after the key.

Yeah, I didn't want to anchor the search to this particular string since I wasn't sure it will be the same for everyone, and who knows, it may change in the future with a different firmware version.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: zbyr on December 25, 2025, 12:32:36 pm
Again, this is bad design.

Rigol sells a 100MHz signal generator, not a 500MHz signal generator.

Really? I didn't know that before. Thanks to letting me know.

In that case, explain why this is AFG and original software allows to make 500 MHz with custom samples?

Rigol also cannot stop you from putting 10kV into input, yet you should not.
That is why there is somethic called specifications which you should follow, you cannot make everything idiot proof. :palm:

Quote from: norbert.kiszka
What is the point of choosing such fast and expensive DAC and using it's (presumably) full sample rate, when other parts can't keep up with it?

It is called oversampling and increase signal fidelity, but other reason could be that they just used what met minimal specs and some of them are surplus or simply what they got available.


I guess you are software guy (reverse engineering, making mods), but not very good in analog domain.
Not everything that can be "unlocked" in software is backed up by proper hardware, chaning software won't magicaly improve components used in the scope, there are limits in software for a reason.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on December 25, 2025, 02:27:06 pm
That is why there is somethic called specifications which you should follow, you cannot make everything idiot proof. :palm:

Actually, as I noticed in my first days on this forum, this forum is also not idiot-proof.

If You are smarter than me, You should know better specifications of the AWG in MHO900. Did You read it at all? Do You know what is the sample rate of the DAC in this AWG?

Quote from: norbert.kiszka
What is the point of choosing such fast and expensive DAC and using it's (presumably) full sample rate, when other parts can't keep up with it?

It is called oversampling and increase signal fidelity, but other reason could be that they just used what met minimal specs and some of them are surplus or simply what they got available.

Ever heard about Nyquist theorem? Go check sample rate in Your phone or computer, when it plays audio. After that, check on Your oscilloscope if it can play 22.05 kHz sine wave. And don't tell me it's impossible, before checking it by Yourself.

I guess you are software guy (reverse engineering, making mods), but not very good in analog domain.
Not everything that can be "unlocked" in software is backed up by proper hardware, chaning software won't magicaly improve components used in the scope, there are limits in software for a reason.

"I guess" You are trying to start a another fight here. Actually analog domain is my strongest knowledge and experience. Guess who did a reverse engineering of analog path in DHO800/900 and reduced overshot and ringing couple times by using parts for less than 1 $. In same time I increased maximum bandwidth (which can be reduced in UI which enables selected low pass filter in AFE).

If Your assumptions were correct, I wouldn't be able to calculate total system bandwidth after hacking AFE chip, which is used in MHO900, DHO800, DHO900 and few other series.

There are two explanations for AWG in MHO being unable to make anything above 100 MHz. First possible explanation is: extremely bad design of the analog path. Second and more probable explanation is: Rigol did a another scam by writing 5 times faster sample rate that it is in reality.

In DHO900 AWG officially can output up to 25 MHz. I did 80 MHz without any issue and with very clean sine wave. Can You explain this? "I guess" You can't.

If You are so much smart in the analog world, tell me how to increase bandwidth in the scope and in same time make it to have better pulse response. All by passive parts only. Do it without checking my other posts, where I explained exactly how to do this.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: zbyr on December 25, 2025, 06:21:58 pm
You totally ignored my point about oversampling, Nyquist theorem only said that MINIMUM requirments for recreating signal of limitted bandwith you need to sample as twice the speed of the highest componnet in the signal, but there is more about signal than just recreating approximate of it, oversampling increase dynamic range and SNR, but you need to first read about it before based on your limitted knowledge.
In case of your audio example, guess why sound cards allow you to change sampling rate to 96k, not because they could produce sound above 20kHz.

As for increasing bandwidth in the scope you can tune it in some way to have better pulse response, but did you maintain flatness in the whole range?

Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on December 25, 2025, 07:14:03 pm
You totally ignored my point about oversampling, Nyquist theorem only said that MINIMUM requirments for recreating signal of limitted bandwith you need to sample as twice the speed of the highest componnet in the signal, but there is more about signal than just recreating approximate of it, oversampling increase dynamic range and SNR, but you need to first read about it before based on your limitted knowledge.
In case of your audio example, guess why sound cards allow you to change sampling rate to 96k, not because they could produce sound above 20kHz.

As for increasing bandwidth in the scope you can tune it in some way to have better pulse response, but did you maintain flatness in the whole range?

Sounds like a excuse. Rigol claimed AWG in MHO900 to have 1 GSa/s. Try to explain why it can do 100 MHz properly and 101 MHz looks like a mess. Only good explanation for such thing is sample rate 200 MSa/s, which is much lower than Rigol claimed.

Please explain me, how it can happen when DAC running at 1 GSa/s, can't make anything more than exact 100 MHz at its output? Please be scientific, instead of using capslock - because only one thing that You proven is Your lack of knowledge about sample rate in MHO900 AWG.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: SiliconWizard on December 25, 2025, 09:43:25 pm
What's the reference of this DAC?
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on December 25, 2025, 09:51:31 pm
What's the reference of this DAC?

https://www.ti.com/product/DAC38J82 (https://www.ti.com/product/DAC38J82)

In this datasheet (available under above link), there is a graph in which max output frequency was 1.2 GHz...
Title: Re: Hacking the Rigol MHO900 Scope
Post by: gf on December 25, 2025, 11:19:26 pm
Then I guess the DAC is operated with 4x interpolation, 1 GSa/s output sample rate and 250 MSa/s input sample rate. According to the datasheet, the filters are halfband filters with a stopband corner of 0.6x input sample rate which implies a max. reproducible frequency of 0.4x input sample or 100 MHz. In this case it is to be expected that the attenuation of images already begins to suffer noticeably at 110 or 120 MHz.

I'm surprised that they spent a quite expensive DAC.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: washley on December 25, 2025, 11:22:08 pm
MHO900s have one of those? That by itself is a ~$100 chip :o
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on December 25, 2025, 11:29:26 pm
Then I guess the DAC is operated with 4x interpolation, 1 GSa/s output sample rate and 250 MSa/s input sample rate. According to the datasheet, the filters are halfband filters with a stopband corner of 0.6x input sample rate which implies a max. reproducible frequency of 0.4x input sample or 100 MHz. In this case it is to be expected that the attenuation of images already begins to suffer noticeably at 110 or 120 MHz.

I'm surprised that they spent a quite expensive DAC.

It goes bad at 101 MHz. So IMHO sample rate is more like 200 MSa/s.

In case of DHO800/900, it also has low pass filters (LC after the DAC) and officially it can output up to 25 MHz with 156.25 MSa/s. Without changing sample rate, it works properly up to 50 MHz (even higher with higher THD) with reduced amplitude because of filters. After changing PLL clock from 1.25 GHZ to 2 GHz, sample rate goes up to 250 MSa/s and 80 MHz instead of 50 MHz.

With such DAC chip, Rigol definitely did something wrong - either very bad design of AWG board or sample rate is 200 MSa/s.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: gf on December 26, 2025, 02:03:17 am
It goes bad at 101 MHz. So IMHO sample rate is more like 200 MSa/s.

In case of DHO800/900, it also has low pass filters (LC after the DAC) and officially it can output up to 25 MHz with 156.25 MSa/s. Without changing sample rate, it works properly up to 50 MHz (even higher with higher THD) with reduced amplitude because of filters. After changing PLL clock from 1.25 GHZ to 2 GHz, sample rate goes up to 250 MSa/s and 80 MHz instead of 50 MHz.

With such DAC chip, Rigol definitely did something wrong - either very bad design of AWG board or sample rate is 200 MSa/s.

In practice, you cannot realize an ideal brickwall filter. So it is an illusion that you can generate 100 MHz with 200 MSa/s. In practice you'll need a factor of at least 2.5.

Should be easy to find the true sample rate with a spectrum analyzer (or FFT at full BW and max. scope sample rate). If you generate e.g. "bad" 110 MHz and see the first image appearing at 140 MHz, then the "true" AWG sample rate is 110+140=250 MHz.

The reason for using an interpolating/oversampling DAC is to relax the requirement for the analog reconstruction filter after the DAC. Passing 100MHz while eliminating a 150MHz image requires a lowpass filter with a very high selectivity. A high order elliptic filter can possibly do that, but it has a significant phase and group delay distortion in the passband. OTOH, the digital FIR filter in an interpolating DAC is linear phase and can easily achieve a high selectivity and stop band attenuation. Due to the higher output sample rate of the interpolating DAC, the analog filter after the DAC has relaxed requirements and can be designed for better group delay flatness instead of maximum selectivity - at 1GSa/s the stopband corner can be at 900 MHz, allowing a wide 800MHz transition band.

Other AWGs use this approach as well. E.g. SDG2000x has 1.2GSa/s interpolated sample rate at the DAC output, while the true (input) sample rate is only 300MSa/s, and it can generate up to 120MHz.

Operating the MHO900 DAC at 1GSa/s interpolated, 250MSa/s real, and 100MHz max. would be quite comparable to that (same ratios). As said, that's just my guess, it would need to be verified with a SA. I can't as I don't own a MHO.

Does the DHO900 have the same DAC, or is it a plain, non-interpolating one?
Title: Re: Hacking the Rigol MHO900 Scope
Post by: mawyatt on December 26, 2025, 03:00:03 pm
That TI DAC is impressive part!!

Not sure if some of these type DACs support what was called Bi-Phase mode way back where the DAC output is flipped in sign, thus Bi-Phase modulated. This produced a result (frequency) centered (symmetrical flipped) around the Bi-Phase clocking rate. Also another DAC technique used was operation at multiple Nyquist Zones. For these modes to operate properly the DAC output and follow on circuitry (Filters & Amps) needed to support the higher frequencies with appropriate fidelity.

Recall back in ~2009 the 16GSPS Keysight Griffin 14b DAC had these modes and was a spectacular performer back then, remember producing better than -76dBc NPR at 1GHz!!

Wonder what DAC the Siglent SDG6000X utilizes?

Best
Title: Re: Hacking the Rigol MHO900 Scope
Post by: 0xdeadbeef on December 26, 2025, 03:53:39 pm
Then I guess the DAC is operated with 4x interpolation, 1 GSa/s output sample rate and 250 MSa/s input sample rate.
As a side note: I recently used the AWG to create a 975kHz square wave signal and was a bit puzzled that it jittered considerably between ~972kHz and ~976kHz.
A bit of jitter was to be expected but with an actual 1 GSa/s sample rate,  the jitter should be in the few hundred Hz range, not in the several kHz range.
Actually what I saw would fit a 4ns resolution pretty well (1/(256*4e-9) = 976562.5, 1/(257*4e-9) = 972762.65).
So, 250MSa/s actual sampling rate (without interpolation) seems pretty likely.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: SiliconWizard on December 26, 2025, 04:22:46 pm
MHO900s have one of those? That by itself is a ~$100 chip :o

Obviously that's not the price they get and using the same chip for all their scopes further lowers costs.

As talked about earlier, the "entry-level" scopes are crippled on purpose in order not to compete with their higher-end scopes - or for that matter, with their standalone AWGs as well.

Now, even if the DAC itself could be used at higher sample rates, the scope may not have the resources otherwise to leverage that (fast enough DDS and appropriate output stage).
Title: Re: Hacking the Rigol MHO900 Scope
Post by: mawyatt on December 26, 2025, 04:28:12 pm
Recall that some AWGs in the past created a squarewave by "zero crossing detecting" a DDS created sinewave.

Best
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Dagger on January 12, 2026, 03:10:16 pm
Hi. I saw that Rigol released a new firmware for the MHO900 (v00.01.00.00.25)
Is it possible to have the hack along with the new version by replacing the firmware files in the "files_v0.1.2\firmware_00_01_00_00_24_mod_v0.1.2" folder and using the posix script intallation or should we wait for the next release of the hack?

Thanks a lot for your work!
Title: Re: Hacking the Rigol MHO900 Scope
Post by: norbert.kiszka on January 12, 2026, 05:22:21 pm
Hi. I saw that Rigol released a new firmware for the MHO900 (v00.01.00.00.25)
Is it possible to have the hack along with the new version by replacing the firmware files in the "files_v0.1.2\firmware_00_01_00_00_24_mod_v0.1.2" folder and using the posix script intallation or should we wait for the next release of the hack?

Thanks a lot for your work!

Hi. I noticed their release, which was a surprise (updates are extremely rare). I have already downloaded it to make a review. After comparing changes I will need to decide either to merge changes or to make everything almost from scratch.

As for now, Im maintaining three mods and my current work is with DHO800/900, which already took much longer than I expected. It's based on the same code (also similar hardware) and good thing is I can do same fixes and improvements for other two series.

Making mentioned review and merging changes or making it almost from scratch will take at least one-two weeks.

Before that, I have plan to release quick update with changed AFE bandwidth binary flags, based on my findings from a reverse engineering - mainly this will allow to have more than 1 GHz bandwidth (around 1.4 GHz - 1.5 GHz).
Title: Re: Hacking the Rigol MHO900 Scope
Post by: rteodor on January 14, 2026, 07:44:38 pm
MHO900s have one of those? That by itself is a ~$100 chip :o

Obviously that's not the price they get and using the same chip for all their scopes further lowers costs.

As talked about earlier, the "entry-level" scopes are crippled on purpose in order not to compete with their higher-end scopes - or for that matter, with their standalone AWGs as well.

Now, even if the DAC itself could be used at higher sample rates, the scope may not have the resources otherwise to leverage that (fast enough DDS and appropriate output stage).

Would it be possible that Rigol got an underperforming batch of DAC chips for cheap ?
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Fungus on January 15, 2026, 09:55:25 am
Would it be possible that Rigol got an underperforming batch of DAC chips for cheap ?

No.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Dagger on January 15, 2026, 04:56:10 pm
Hi. I saw that Rigol released a new firmware for the MHO900 (v00.01.00.00.25)
Is it possible to have the hack along with the new version by replacing the firmware files in the "files_v0.1.2\firmware_00_01_00_00_24_mod_v0.1.2" folder and using the posix script intallation or should we wait for the next release of the hack?

Thanks a lot for your work!

Hi. I noticed their release, which was a surprise (updates are extremely rare). I have already downloaded it to make a review. After comparing changes I will need to decide either to merge changes or to make everything almost from scratch.

As for now, Im maintaining three mods and my current work is with DHO800/900, which already took much longer than I expected. It's based on the same code (also similar hardware) and good thing is I can do same fixes and improvements for other two series.

Making mentioned review and merging changes or making it almost from scratch will take at least one-two weeks.

Before that, I have plan to release quick update with changed AFE bandwidth binary flags, based on my findings from a reverse engineering - mainly this will allow to have more than 1 GHz bandwidth (around 1.4 GHz - 1.5 GHz).

Thanks a lot, glad that the improvements on DHO can be brought to the MHO. I will subscribe to your buymeacoffee for your motivation :)
Your work is truly appreciated!
Title: Re: Hacking the Rigol MHO900 Scope
Post by: dka on January 18, 2026, 10:44:03 pm
I cannot trust myself with manually looking for strings in memory dumps, so I made a simple script that uses instructions by gsobol to auto-activate oscilloscope over the network.

The script

My MHO954 got all upgrades in 20 seconds with no user intervention or manual operations required; just an ethernet connection.

This script incorporates knowledge from the following posts (and would not be possible without them):

In order to run it one needs python packages adbutils, pyvisa-py and pycryptodome; adbutils requires adb to be installed.

Edit (2026-01-22): added BWU03T08 and BWU03T05 into the list of default options.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Lunasix on January 20, 2026, 09:41:00 am
Thanks ! I just received my new MHO954 few days ago and I will try this script. I had no time to apply what was described in other posts and buying the mod version was another solution but not just before a new release.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: rnelectro on January 20, 2026, 06:29:26 pm
Hello dka

Many thanks for the python script.

Another happy upgrade of the MHO934 to the 800MHz version, with the 100MHz generator and the rest of the functions.

Regards
Title: Re: Hacking the Rigol MHO900 Scope
Post by: superkent on January 21, 2026, 10:47:45 am
Hello dka

Many thanks for the python script.
I have upgraded my MHO934, but without bandwidth options. I received error message on Rigol screen.
Maybe the version of software is too old? Or it is not capability with MHO934?
Title: Re: Hacking the Rigol MHO900 Scope
Post by: superkent on January 21, 2026, 11:54:18 am
Hello dka

Many thanks for the python script.

Another happy upgrade of the MHO934 to the 800MHz version, with the 100MHz generator and the rest of the functions.

Regards

Hi, Could you please share About screen from settings? I have issue with bandwidth upgrade.
Maybe it is firmware issue, as we have for DHO804 before? Because DHO804 have upgrade issue at 1.00 fw.
Maybe here the same issue.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: rnelectro on January 21, 2026, 03:18:15 pm
Hello,

This isn't a firmware or Python script error. The script is simply configured for the MHO954 by default, and you need to manually add variables to enable the upgrade for the MHO934.

You need to add another variable to this line (see picture) of code (increases the bandwidth to 500MHz -> BWU03T05):

default=["AUTOA", "FlexA", "AUDIOA", "AEROA", "RLU05", "AFG100", "BWU03T05"],


Here is the full list of options mentioned earlier by someone on this forum:

BND CAN-FD serial bus decoding analysis option
Flexray bus trigger and decoding analysis option
Audio serial bus 12S trigger and decoding analysis option
MIL-STD-1553 bus trigger and decoding analysis option
Built-in dual-channel 100MHz function generator (and Bode) option

EMBD Embedded serial bus trigger and analysis

COM Computer serial trigger and analysis (RS232/UART)

AUTO Auto serial bus trigger and analysis

AUTOA ​​CAN-FD serial bus decoding analysis option

FlexA Flexray bus trigger and decoding analysis option

AUDIOA Audio serial bus 12S trigger and decoding analysis option

AEROA MIL-STD-1553 bus trigger and decoding analysis option

RLU05 500Mpts storage depth option

AFG50 Built-in dual-channel 50MHz function generator(and Bode) option

AFG100 Built-in dual-channel 100MHz function generator(and Bode) option

BWU03T05 350MHz to 500MHz bandwidth upgrade option

BWU03T08 350MHz to 800MHz bandwidth upgrade option

BWU05T08 500MHz to 800MHz bandwidth upgrade option
Title: Re: Hacking the Rigol MHO900 Scope
Post by: tv84 on January 21, 2026, 04:37:49 pm
He needs BWU03T08 instead of BWU03T05.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: rnelectro on January 21, 2026, 05:27:52 pm
He needs BWU03T08 instead of BWU03T05.

Hi,
This is just an example, as there are other options to enable, such as EMBD or COM. The script can be run multiple times with different options.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Lunasix on January 21, 2026, 10:43:37 pm
Many thanks, all worked fine after some struggle with python !
And after that the scope had been updated with the last version (build 26/12/2025).
Quick test with signal over 900MHz, all is ok.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: dka on January 22, 2026, 09:52:23 am
You need to add another variable to this line (see picture) of code (increases the bandwidth to 500MHz -> BWU03T05):
Technically, there is no need to modify script, one can supply list of options on the command line via mho9x4_auto_enhance.py --options FOO BAR to activate options FOO and BAR.


Here is the full list of options mentioned earlier by someone on this forum:

BND, EMBD, COM, AUTO,  AUTOA, FlexA, AUDIOA, AEROA, RLU05, AFG50, AFG100, BWU03T05, BWU03T08, BWU05T08
I believe BND, EMBD, COM AUTO are not valid license options in the case of MHO9xx-series.

BND is a bundle of options (AFG100, AUDIOA, AUTOA, FlexA, AEROA) sold at discount.
I expect that the distributor sends you a separate key for each of those options, but I am too broke to check it.

While the scope does not report any status of license key being accepted or not over SCPI, you can check if corresponding .lic file was created in /rigol/data.

Rigol distributors sell AUTOA, FlexA, AUDIOA, AEROA, RLU05, AFG50, AFG100, BWU03T05, BWU03T08, BWU05T08.
AFG100 implies AFG50 (and if you activate AFG100 first - you can notice that 50MHz options vanishes from the status window)
I don't have the 350Mhz (native) scope, but I believe that BWU03T08 is equivalent to BWU03T05 + BWU05T08.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: rnelectro on January 22, 2026, 02:04:10 pm

Hello,

I checked the activation of the EMBD and COM options, and they activated normally (Forever license).

However, there seem to be new options in the trigger menu. If you haven't enabled it yet, compare the trigger window with the one I've attached in the photo.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: dka on January 22, 2026, 04:28:09 pm
However, there seem to be new options in the trigger menu. If you haven't enabled it yet, compare the trigger window with the one I've attached in the photo.

Triggering on I2C and RS232 are standard features for mho934/954/984 according to the manufacturer's datasheet.
Are you sure they were not there before but just order of the buttons changed due to addition of flexray, i2s, etc?

Triggering on I2S is a part of the option AUDIOA, FlexRay - FlexA,  MIL-STD-1553B - AEROA.
AUTOA updates CAN decoding from CAN 2.0 to CAN-FD.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: superkent on January 22, 2026, 11:06:22 pm
Thanks for helping. I have used next command and all work fine. All options are upgraded.
./mho9x4_auto_enhance.py --device-id MHO9 --scpi-prefix :SYST:OPT:INST --options BND EMBD COMP AUTO AUTOA FlexA AUDIOA AEROA RLU05 AFG50 AFG100 BWU03T05 BWU03T08 BWU05T0
Title: Re: Hacking the Rigol MHO900 Scope
Post by: Hydron on January 23, 2026, 11:10:56 am
Man that's a killer first post!

Don't need the unlocks with the MHO98, but thanks dka for contributing the python code.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: rteodor on January 23, 2026, 12:51:56 pm
Don't need the unlocks with the MHO98, but thanks dka for contributing the python code.

Apart from more buttons and mate screen its the first scope for what I do not need anything more from what comes out of the box. In fact, I would need less. Less bugs that is.
Title: Re: Hacking the Rigol MHO900 Scope
Post by: KeBeNe on January 23, 2026, 01:25:34 pm
Hi,

Has anyone already determined the -3dB point for the extended version and compared it with MHO98?