Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rigol Connection Problem Linux #43

Open
jtambasco opened this issue Nov 28, 2017 · 4 comments
Open

Rigol Connection Problem Linux #43

jtambasco opened this issue Nov 28, 2017 · 4 comments

Comments

@jtambasco
Copy link

jtambasco commented Nov 28, 2017

Hi,

I have a problem connecting to a Rigol Ds1054z the first time after the scope has been reset. Subsequent connects are fine.

E.g.

  • Turn on rigol, connect using USBTMC library FAIL
  • Turn on rigol, send some random command with OS driver (echo '*idn?' >> /dev/usbtmc0), connect to rigol using python-usbtmc (hangs), kill python, connect to rigol again using python-usbtmc, WORKS
  • Unplug and replug usb cable and connect again using just python usbtmc WORKS

Turn scope off and on, I have to repeat the weird combination of sending command through kernel driver, running usbtmc python connection script twice.

Also, if I turn scope on and off, and run python usbtmc connection, it just hangs indefinitely and detaches the scope from the kernel, so then I have to go replug it.

Once I do this weird random fix of sending command through kernel driver, I can use the scope for weeks if I don't turn it off. Also, the scope takes a while to read data, 24million points takes 5min.

Any ideas why this could be happening?

It's happened on two computers, an Ubuntu and Arch Linux machine.

@jtambasco
Copy link
Author

Okay, by not applying the quirks to the 1000z series Rigol scope, if I restart the 1000z scope, I can just do:

  • echo '*IDN? >> /dev/usbtmc0, use python-usbtmc

@alexforencich
Copy link
Contributor

Each rigol instrument seems to implement USBTMC in its own 'special' way. And then 1000Z and 1000E series share the same VID/PID, so it's very difficult even to determine what set of quirks to apply. Unfortunately, I do not have the time to reverse-engineer the broken USBTMC implementation on each rigol instrument, so I will not fix any rigol quirks related bugs until they fix their firmware.

@jtambasco
Copy link
Author

Okay, fair enough and it makes sense. It's excessive to fix every model they come up with; I agree!

Do you happen to know, though, if there is a way to access the kernel usb driver via the USB vendor and product is, and not via /dev/usbtmc0? I can't seem to find where the kernel keeps the info about what usb device usbtmc0 actually is.

This way, i can easily send an echo command and then create the python-usbtmc object.

@markbritten
Copy link

Hi,
I have been testing a Rigol DP832 and have been using the python-usbtmc project. It does not get past reading the IDN string, no reply. Then i had a look at the code and found some specific PIDs on Rigol's VID were treated specially with some quirks.

I added the DP832 PID (0x0e11) to that list of quirks and it seems to work as expected now.

Are you able to include this PID in the quirks list? How can I contribute this change?

Mark

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants