Nice project!

72 views
Skip to first unread message

peet

unread,
Jan 2, 2012, 5:24:58 AM1/2/12
to Rigol Homebrew List
Hi,

impressive how far you have already got!

Can't imagine how nice a opensource firmware (with logic analyzer ;) )
would be on the rigol!

regards

Andreas Schuler

unread,
Jan 2, 2012, 8:58:35 AM1/2/12
to rigolh...@googlegroups.com
Hi,

thanks !
To activate the logic analyzer is not a problem, firmware of DS1052E and
DS1052D(with LA) are the same, but some piece of hardware is missing in
the E-Version.
But what do you think about waterfall plots for the FFT function,
demodulation of radio-signals, i2c/spi protocol decoding for the logic
analyzer part,.... ?

Thats some of my ideas, but today we are far away from this. I hope to
find some people that can help to make it true.

cheers
krater

tgaz

unread,
Jan 3, 2012, 11:06:29 AM1/3/12
to Rigol Homebrew List
On Jan 2, 2:58 pm, "Andreas Schuler" <andr...@schulerdev.de> wrote:
> But what do you think about waterfall plots for the FFT function,
> demodulation of radio-signals, i2c/spi protocol decoding for the logic
> analyzer part,.... ?

Hi!

I'll chime in in the "yay!"

I've been struggling with getting the usbtmc Linux driver to talk to
my DS1052E
without making it crash, and it seems the firmware isn't really that
good
communicating over USB, so I'm interested in fixing that. :)

Loading programs from a USB stick would be cool as well...

That said, I lack time, like everyone, so we'll see how it goes.

How far have you come RE:ing the actual code? I see a map file in the
Wiki,
was that built by hand?

Andreas Schuler

unread,
Jan 3, 2012, 11:49:54 AM1/3/12
to rigolh...@googlegroups.com
hi !

Do you want change the scope or the driver ? ;)
I think to reverse eingineering the windows driver could be simpler,
because there exists a C decompiler. But if you want, try it with the
firmware. I think its a nice project.

Loading programms over USB should not be a problem using the informations
you find on the wiki/toolchain. It's not well documented, but there are
header-files where you find the call addresses of fopen/fread/... Only
thing todo is to write a programm that reads a file and put its to the RAM
and call it anywhere in the routine that checks if a firmware update
(DS1000EUpdate.RGL) file is on the USB stick.

At this minute i reverse engineer the menu structure. All is
hardcoded...no tables, all is code....and the texts are graphics....

There exists a IDA file that everyone can get who want to share his
results. I searched a solution to work together on one ida file, but i
didn't found one...

cheers,
krater


>
> Hi!
>
> I'll chime in in the "yay!"
>
> I've been struggling with getting the usbtmc Linux driver to talk to
> my DS1052E
> without making it crash, and it seems the firmware isn't really that
> good
> communicating over USB, so I'm interested in fixing that. :)
>
> Loading programs from a USB stick would be cool as well...
>
> That said, I lack time, like everyone, so we'll see how it goes.
>
> How far have you come RE:ing the actual code? I see a map file in the
> Wiki,
> was that built by hand?
>
>


--------------------------------------------------------------
Schuler Development - Inh. Andreas Schuler
Oberdorf 90 - 66687 Wadern - Germany
Tel.: +49 (0)176 38954028 - eMail: and...@schulerdev.de
USt-IdNr. DE265234109

tgaz

unread,
Jan 3, 2012, 12:16:09 PM1/3/12
to Rigol Homebrew List
On Jan 3, 5:49 pm, "Andreas Schuler" <andr...@schulerdev.de> wrote:
> Do you want change the scope or the driver ? ;)

I had to limit the bulk read requests to 64 bytes, making transferring
1MB
of data points incredibly slow. There is a single thread about this on
the
LKML and it's a couple of years old. No real solution, just a few
hints.

> I think to reverse eingineering the windows driver could be simpler,
> because there exists a C decompiler. But if you want, try it with the
> firmware. I think its a nice project.

I found part of the OpenMoko project has a libusb based driver that
has
some fixes, but porting them straight to the kernel driver caused my
EHCI
to say EOVERFLOW when trying to fetch more than 500 bytes. (And the
OpenMoko Subversion server seems down, so I had to recreate the files
from the commitlog mailing list.) *sigh*

I'm learning USB as I go along. I'm sure we can make a workaround in
the
driver for transfers. That doesn't solve the problem of the scope not
being
able to handle new commands sent before the previous ones have
executed.

You get really interesting results when you try to

:CHAN1:SCAL 0.1
:CHAN1:SCAL 2
:TIM:SCAL 0.1

without a pause... Simply ugly.

> At this minute i reverse engineer the menu structure. All is
> hardcoded...no tables, all is code....and the texts are graphics....

Code is just data in a specific format, right? ;)

> There exists a IDA file that everyone can get who want to share his
> results. I searched a solution to work together on one ida file, but i
> didn't found one...

Haven't used IDA that much, but I could imagine it's not very
collaboration-friendly given the massive workspace files it creates.

Next important question; do we have an IRC channel? :)

Andreas Schuler

unread,
Jan 3, 2012, 12:54:08 PM1/3/12
to rigolh...@googlegroups.com

> On Jan 3, 5:49�pm, "Andreas Schuler" <andr...@schulerdev.de> wrote:
>> Do you want change the scope or the driver ? ;)
>
> I had to limit the bulk read requests to 64 bytes, making transferring
> 1MB
> of data points incredibly slow. There is a single thread about this on
> the
> LKML and it's a couple of years old. No real solution, just a few
> hints.
>
>> I think to reverse eingineering the windows driver could be simpler,
>> because there exists a C decompiler. But if you want, try it with the
>> firmware. I think its a nice project.
>
> I found part of the OpenMoko project has a libusb based driver that
> has
> some fixes, but porting them straight to the kernel driver caused my
> EHCI
> to say EOVERFLOW when trying to fetch more than 500 bytes. (And the
> OpenMoko Subversion server seems down, so I had to recreate the files
> from the commitlog mailing list.) *sigh*
>
> I'm learning USB as I go along. I'm sure we can make a workaround in
> the
> driver for transfers. That doesn't solve the problem of the scope not
> being
> able to handle new commands sent before the previous ones have
> executed.

okaay...i wrote allready a linux driver, but never anything for usb. i
know some basic things about usb, thats all. i don't know if i'll be a big
help at this point.

I didn't used the scope with USB, so i don't know exactly how you work
with it on linux. is there one usb-driver and one driver for the scope, or
do you connect directly to the usb driver and send strings to the port ?

>
> You get really interesting results when you try to
>
> :CHAN1:SCAL 0.1
> :CHAN1:SCAL 2
> :TIM:SCAL 0.1
>
> without a pause... Simply ugly.


>> At this minute i reverse engineer the menu structure. All is
>> hardcoded...no tables, all is code....and the texts are graphics....
>
> Code is just data in a specific format, right? ;)

hehe...you're right, but to use code at this point is really ugly...

>> There exists a IDA file that everyone can get who want to share his
>> results. I searched a solution to work together on one ida file, but i
>> didn't found one...
>
> Haven't used IDA that much, but I could imagine it's not very
> collaboration-friendly given the massive workspace files it creates.

yes, thats the point.

> Next important question; do we have an IRC channel? :)
>

No, actually there is no IRC channel...i'm not the big irc user...i think
last time i used it was some years ago...
I'm open for all things, if you want to open a channel, do it and i will
add a link to the wiki.

cheers,
krater

tgaz

unread,
Jan 3, 2012, 1:46:40 PM1/3/12
to Rigol Homebrew List
On Jan 3, 6:54 pm, "Andreas Schuler" <andr...@schulerdev.de> wrote:
> I didn't used the scope with USB, so i don't know exactly how you work
> with it on linux. is there one usb-driver and one driver for the scope, or
> do you connect directly to the usb driver and send strings to the port ?

The DS1000 series follow the USB Test and Measurement class and Linux
has a driver for that. It's essentially just a transport spec, though,
so the driver is really small.

Apart from that I just open the device in Python and read/write
the regular commands.

> I'm open for all things, if you want to open a channel, do it and i will
> add a link to the wiki.

I suggest just saying #rigolhomebrew on FreeNode.

peet

unread,
Jan 3, 2012, 1:50:26 PM1/3/12
to Rigol Homebrew List
one big point would be to attrackt more people!
Maybe let Dave L. Jones promote the project... i mean he even showed a
modified bootscreen on that scope :D
http://www.eevblog.com/2011/11/02/coolest-rigol-ds1052e-firmware-ever/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+ElectronicsEngineeringVideoBlog+%28EEVblog%29

unfortunately i dont have skill nor time to help :( but money :D if
you need donations ;) let me know

peet

unread,
Jan 3, 2012, 5:00:48 PM1/3/12
to Rigol Homebrew List
some info an rigol hacking:

(german!) http://www.mikrocontroller.net/topic/221758

peet

unread,
Jan 3, 2012, 5:10:39 PM1/3/12
to Rigol Homebrew List
can you add some visual stuff on the mainpage? the pongvideo from
youtube for example?

Andreas Schuler

unread,
Jan 4, 2012, 10:58:47 PM1/4/12
to rigolh...@googlegroups.com


yes, all that i intend to do, but as i released the video, all goes really quick. Additional to that, i'm not a good designer nor (english) writer. Maybee you want a wiki account to help a little bit ? I intended too to write dave, that he promotes the project, but before i want add some things to the wiki.

Thanks for the offer of donations. Currently all is build to need little money, but if the traffic is rising or we need some hardware i'll let you know. Maybee anyway i should add a donation button to the wiki.

cheers,
krater
Reply all
Reply to author
Forward
0 new messages