From: PlusNet: S. <su...@qc...> - 2017-08-15 13:23:50
|
I would like to report a bug with channels selection when using sigrok-cli and my Brymen BM869s multimeter. The meter is identified correctly and ennumerate its functions using sigrok-cli with the sudo command: $ sigrok-cli --scan The following devices were found: brymen-bm86x - Brymen BM869 with 2 channels: P1 P2 demo - Demo device with 12 channels: D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 $ sudo sigrok-cli -d brymen-bm86x:conn=0820.0001 --show Driver functions: Multimeter Continuous sampling Sample limit Time limit Scan options: conn brymen-bm86x - Brymen BM869 with 2 channels: P1 P2 Supported configuration options: (null): continuous: on, off limit_samples: 0 (current) limit_time: 0 (current) However when I select a meter function that makes use of the dual display and select just one channel, sigrok still returns data for BOTH channels: $ sudo sigrok-cli -d brymen-bm86x:conn=0820.0001 --samples 5 --channels P2 P1: 0.01 V AC P2: 0 mHz P1: 0.01 V AC P2: 0 mHz P1: 0.01 V AC P2: 0 mHz P1: 0.01 V AC P2: 0 mHz P1: 0.01 V AC P2: 0 mHz It doesn't seem to matter which channel I select. my understanding from the man page is that only data for the selected channel should be displayed. Out put from sigrok-cli -V as follows: $ sigrok-cli -V sigrok-cli 0.7.0 Libraries and features: - libsigrok 0.5.0/4:0:0 (rt: 0.5.0/4:0:0). - Libs: - glib 2.48.2 (rt: 2.48.2/4802:2) - libzip 1.0.1 - libserialport 0.1.1/1:0:1 (rt: 0.1.1/1:0:1) - libusb-1.0 1.0.20.11004 - libftdi 0.20 - Host: x86_64-pc-linux-gnu, little-endian. - SCPI backends: TCP, RPC, serial, USBTMC. - libsigrokdecode 0.5.0/4:0:0 (rt: 0.5.0/4:0:0). - Libs: - glib 2.48.2 (rt: 2.48.2/4802:2) - Python 3.5.2 / 0x30502f0 (API 1013, ABI 3) - Host: x86_64-pc-linux-gnu, little-endian. I have tried this on two different computers with the same result. Please note also that if I omit to use sudo, then I cannot communicate with the device but instead get: $ sigrok-cli -d brymen-bm86x:conn=0820.0001 --show Driver functions: Multimeter Continuous sampling Sample limit Time limit Scan options: conn brymen-bm86x - Brymen BM869 with 2 channels: P1 P2 sr: usb: Failed to open device: LIBUSB_ERROR_ACCESS. Failed to open device. I am assuming at the moment that this is intended by design or I need to set permissions somewhere but I'm not sure where at the moment? Regards. -- John |
From: Uwe H. <uw...@he...> - 2017-08-19 18:12:52
|
Hi, On Tue, Aug 15, 2017 at 02:08:54PM +0100, PlusNet wrote: > However when I select a meter function that makes use of the dual display > and select just one channel, sigrok still returns data for BOTH channels: Thanks for the report. This was a bug / missing feature in the brymen-bm86x indeed and has been fixed now. Please retry the latest git libsigrok and verify that it works as expected now. Thanks! > sr: usb: Failed to open device: LIBUSB_ERROR_ACCESS. > Failed to open device. > > I am assuming at the moment that this is intended by design or I need to set > permissions somewhere but I'm not sure where at the moment? Yup, this is normal. Check libsigrok's README.devices for details. On Linux you can use the provided udev rules file to handle the permissions (depending on distro etc. you might want to edit it, but it's usually not required). Cheers, Uwe. -- http://hermann-uwe.de | http://randomprojects.org | http://sigrok.org |
From: John <su...@qc...> - 2017-08-20 13:28:13
|
Uwe, Thanks to some help from gsi_ have now downloaded and compiled the version from the git. This does seem to work as expected: $ sudo sigrok-cli -d brymen-bm86x:conn=0820.0001 --samples=5 P1: 0 mHz AUTO P2: 10 mV AC P1: 0 mHz AUTO P2: 10 mV AC P1: 0 mHz AUTO P2: 10 mV AC P1: 0 mHz AUTO P2: 10 mV AC P1: 0 mHz AUTO P2: 10 mV AC johnc@agabus ~/src/sigrok/libsigrok-git-20170820 $ sudo sigrok-cli -d brymen-bm86x:conn=0820.0001 --samples=5 --channels P1 P1: 0 mHz AUTO P1: 0 mHz AUTO P1: 0 mHz AUTO P1: 0 mHz AUTO P1: 0 mHz AUTO johnc@agabus ~/src/sigrok/libsigrok-git-20170820 $ sudo sigrok-cli -d brymen-bm86x:conn=0820.0001 --samples=5 --channels P2 P2: 10 mV AC P2: 10 mV AC P2: 10 mV AC P2: 10 mV AC P2: 10 mV AC Thanks very much to gsi, abraxa and Uwe and sigrok project.Keep up the good work. Regarding the user level access, I copied the z60_libsigrok.rules to /lib/udev/rules.d/z60_libsigrok.rules which is where my distro seems to have all of the rules files (/etc/udev/rules.d is empty). I then restarted udev, but I am still getting as follows: $ sigrok-cli -d brymen-bm86x --show Driver functions: Multimeter Scan options: conn brymen-bm86x - Brymen BM869 with 2 channels: P1 P2 sr: usb: Failed to open device: LIBUSB_ERROR_ACCESS. Failed to open device. Please note that I also tried removing the 'z' which i suspect is what one is supposed to do as the other rules files do not have a letter in front of them and changing the underscope to a hyphen to match the other files in there, but this made no difference either. I did have a look through the file and there do not seem to be any rules relating to the Brymen. Do I need to write some? I tried adding something like this: # Brymen BU-X86 cable ATTRS{idVendor}=="0820", ATTRS{idProduct}=="0001", MODE="660", GROUP="plugdev", TAG+="uaccess" But unfortunately that didn't work either. > Uwe Hermann <mailto:uw...@he...> > 19 August 2017 19:12 > Hi, > > On Tue, Aug 15, 2017 at 02:08:54PM +0100, PlusNet wrote: >> However when I select a meter function that makes use of the dual display >> and select just one channel, sigrok still returns data for BOTH channels: > > Thanks for the report. This was a bug / missing feature in the > brymen-bm86x indeed and has been fixed now. Please retry the latest git > libsigrok and verify that it works as expected now. Thanks! > > >> sr: usb: Failed to open device: LIBUSB_ERROR_ACCESS. >> Failed to open device. >> >> I am assuming at the moment that this is intended by design or I need to set >> permissions somewhere but I'm not sure where at the moment? > > Yup, this is normal. Check libsigrok's README.devices for details. On > Linux you can use the provided udev rules file to handle the permissions > (depending on distro etc. you might want to edit it, but it's usually > not required). > > > Cheers, Uwe. > PlusNet: Subs <mailto:su...@qc...> > 15 August 2017 14:08 > I would like to report a bug with channels selection when using > sigrok-cli and my Brymen BM869s multimeter. The meter is identified > correctly and ennumerate its functions using sigrok-cli with the sudo > command: > > $ sigrok-cli --scan > The following devices were found: > brymen-bm86x - Brymen BM869 with 2 channels: P1 P2 > demo - Demo device with 12 channels: D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 > > $ sudo sigrok-cli -d brymen-bm86x:conn=0820.0001 --show > Driver functions: > Multimeter > Continuous sampling > Sample limit > Time limit > Scan options: > conn > brymen-bm86x - Brymen BM869 with 2 channels: P1 P2 > Supported configuration options: > (null): > continuous: on, off > limit_samples: 0 (current) > limit_time: 0 (current) > > However when I select a meter function that makes use of the dual > display and select just one channel, sigrok still returns data for > BOTH channels: > > $ sudo sigrok-cli -d brymen-bm86x:conn=0820.0001 --samples 5 > --channels P2 > P1: 0.01 V AC > P2: 0 mHz > P1: 0.01 V AC > P2: 0 mHz > P1: 0.01 V AC > P2: 0 mHz > P1: 0.01 V AC > P2: 0 mHz > P1: 0.01 V AC > P2: 0 mHz > > It doesn't seem to matter which channel I select. my understanding > from the man page is that only data for the selected channel should be > displayed. Out put from sigrok-cli -V as follows: > > $ sigrok-cli -V > sigrok-cli 0.7.0 > > Libraries and features: > - libsigrok 0.5.0/4:0:0 (rt: 0.5.0/4:0:0). > - Libs: > - glib 2.48.2 (rt: 2.48.2/4802:2) > - libzip 1.0.1 > - libserialport 0.1.1/1:0:1 (rt: 0.1.1/1:0:1) > - libusb-1.0 1.0.20.11004 > - libftdi 0.20 > - Host: x86_64-pc-linux-gnu, little-endian. > - SCPI backends: TCP, RPC, serial, USBTMC. > - libsigrokdecode 0.5.0/4:0:0 (rt: 0.5.0/4:0:0). > - Libs: > - glib 2.48.2 (rt: 2.48.2/4802:2) > - Python 3.5.2 / 0x30502f0 (API 1013, ABI 3) > - Host: x86_64-pc-linux-gnu, little-endian. > > I have tried this on two different computers with the same result. > Please note also that if I omit to use sudo, then I cannot communicate > with the device but instead get: > > $ sigrok-cli -d brymen-bm86x:conn=0820.0001 --show > Driver functions: > Multimeter > Continuous sampling > Sample limit > Time limit > Scan options: > conn > brymen-bm86x - Brymen BM869 with 2 channels: P1 P2 > sr: usb: Failed to open device: LIBUSB_ERROR_ACCESS. > Failed to open device. > > I am assuming at the moment that this is intended by design or I need > to set permissions somewhere but I'm not sure where at the moment? > > Regards. > -- John |
From: qcontinuum+subs <su...@qc...> - 2017-08-21 11:49:09
|
Just a further update on this, the rule I added was correct as follows: # Brymen BC-86X ATTRS{idVendor}=="0820", ATTRS{idProduct}=="0001", MODE="660", GROUP="plugdev", TAG+="uaccess" Could this be added to the offical z60-libsigrok.rules file please? The proper place for user rules on Mint is /etc/udev/rules.d, so I removed the file I had previously put in /lib/udev/rules.d and placed a fresh copy in /etc. I removed the leading 'z' and added the rule as above. Even after doing this it did not work until I finally updated udev by doing 'apt-get install udev'. After that I restarted udev unplugged the cable and plugged it back in again and it then worked and I could see the udev events with 'udevadm monitor'. Removing the above rule kills it off again, so the rule is needed. Evidently a problem with the original udev version though. Regards. > Regarding the user level access, I copied the z60_libsigrok.rules to > /lib/udev/rules.d/z60_libsigrok.rules which is where my distro seems > to have all of the rules files (/etc/udev/rules.d is empty). I then > restarted udev, but I am still getting as follows: > > $ sigrok-cli -d brymen-bm86x --show > Driver functions: > Multimeter > Scan options: > conn > brymen-bm86x - Brymen BM869 with 2 channels: P1 P2 > sr: usb: Failed to open device: LIBUSB_ERROR_ACCESS. > Failed to open device. > > Please note that I also tried removing the 'z' which i suspect is what > one is supposed to do as the other rules files do not have a letter in > front of them and changing the underscope to a hyphen to match the > other files in there, but this made no difference either. I did have a > look through the file and there do not seem to be any rules relating > to the Brymen. Do I need to write some? > > I tried adding something like this: > > # Brymen BU-X86 cable > ATTRS{idVendor}=="0820", ATTRS{idProduct}=="0001", MODE="660", > GROUP="plugdev", TAG+="uaccess" > > But unfortunately that didn't work either. > |
From: Uwe H. <uw...@he...> - 2017-08-21 16:26:54
|
Hi, On Mon, Aug 21, 2017 at 12:49:00PM +0100, qcontinuum+subs wrote: > Just a further update on this, the rule I added was correct as follows: > > # Brymen BC-86X > ATTRS{idVendor}=="0820", ATTRS{idProduct}=="0001", MODE="660", > GROUP="plugdev", TAG+="uaccess" > > Could this be added to the offical z60-libsigrok.rules file please? Added, thanks! Uwe. -- http://hermann-uwe.de | http://randomprojects.org | http://sigrok.org |
From: Andrzej T. <ate...@gm...> - 2017-08-21 19:22:12
|
On 21/08/17 13:49, qcontinuum+subs wrote: > Just a further update on this, the rule I added was correct as follows: > > # Brymen BC-86X > ATTRS{idVendor}=="0820", ATTRS{idProduct}=="0001", MODE="660", > GROUP="plugdev", TAG+="uaccess" > > Could this be added to the offical z60-libsigrok.rules file please? > > The proper place for user rules on Mint is /etc/udev/rules.d, so I > removed the file I had previously put in /lib/udev/rules.d and placed a > fresh copy in /etc. I removed the leading 'z' and added the rule as > above. Even after doing this it did not work until I finally updated > udev by doing 'apt-get install udev'. After that I restarted udev > unplugged the cable and plugged it back in again and it then worked and > I could see the udev events with 'udevadm monitor'. Removing the above > rule kills it off again, so the rule is needed. Evidently a problem with > the original udev version though. > > Regards. You did the correct steps. Probably almost ;-) My guess is that, instead of reinstalling udev, it was sufficient to just "reload" the rules. I'm on Slackware, and the setup procedure is the same as yours. When it comes to the rule, to be consistent with the rest of sigrok, I used: $ cat /etc/udev/rules.d/99-brymen-bu-86x.rules ACTION!="add|change", GOTO="libsigrok_rules_end" SUBSYSTEM!="usb|usbmisc|usb_device", GOTO="libsigrok_rules_end" # Brymen BU-86X. ATTRS{idVendor}=="0820", ATTRS{idProduct}=="0001", MODE="660", GROUP="plugdev", TAG+="uaccess" LABEL="libsigrok_rules_end" But if Uwe merged the rule to the sigrok "rule-set", then the only part that matters is: ATTRS{idVendor}=="0820", ATTRS{idProduct}=="0001", MODE="660", GROUP="plugdev", TAG+="uaccess" -- Best regards, Andrzej Telszewski |