From: marcello c. <ca...@fi...> - 2021-10-12 10:06:43
|
Frank's remark is very serious. There is some timing in the gpib standard a software driver cannot cope with. It may be that the URV5 is one such case. But many devices, especially vintage devices, do work quite well. Before giving up it is worth to make a few tests: 1) Browsing the URV5 user manual, I did not find the *IDN? among the recognized command. If this is the case, no surprise there is no response. Many devices that do not follow SCPI ignore the *IDN?. May Dirk try some other command? 2) Sure 100% that the gpib shell is working properly? Might it be tested with some other devices? Otherwise, it is also possible to connect the gpib bus directly to the raspberry gpios, without the shell (with limited fanout; no more than 4 or 5 devices). The pin to pin correspondence table (from the source code) is: /********************************************** * Signal pairing and pin wiring between the * * Raspberry-Pi connector and the GPIB bus * * * * signal pin wiring * * GPIB Pi-gpio GPIB -> RPi * **********************************************/ typedef enum { D01_pin_nr = 20, /* 1 -> 38 */ D02_pin_nr = 26, /* 2 -> 37 */ D03_pin_nr = 16, /* 3 -> 36 */ D04_pin_nr = 19, /* 4 -> 35 */ D05_pin_nr = 13, /* 13 -> 33 */ D06_pin_nr = 12, /* 14 -> 32 */ D07_pin_nr = 6, /* 15 -> 31 */ D08_pin_nr = 5, /* 16 -> 29 */ EOI_pin_nr = 9, /* 5 -> 21 */ DAV_pin_nr = 10, /* 6 -> 19 */ NRFD_pin_nr = 24, /* 7 -> 18 */ NDAC_pin_nr = 23, /* 8 -> 16 */ IFC_pin_nr = 22, /* 9 -> 15 */ SRQ_pin_nr = 11, /* 10 -> 23 */ _ATN_pin_nr = 25, /* 11 -> 22 */ REN_pin_nr = 27, /* 17 -> 13 */ /* * GROUND PINS * 12,18,19,20,21,22,23,24 => 14,20,25,30,34,39 */ Marcello On 10/12/21 4:24 AM, Frank Mori Hess wrote: > There really needs to be some kind of warning in the docs about the > bitbang driver. Implementing ieee 488.2 with software driven dio lines > has no chance of meeting the standard's timing requirements. Which is a > relatively minor complaint, considering the bitbang driver makes no > serious attempt to implement the behavior required by the protocol's > state machines. > > On Mon, Oct 11, 2021, 16:55 marcello carla' <ca...@fi... > <mailto:ca...@fi...>> wrote: > > Maybe I am wrong, but at a first sight it looks like > the meter address is not 10. If you are sure the address > is correct, try this: > > sudo su > echo 1 > /sys/module/gpib_bitbang/parameters/debug > tail -f /var/log/kern.log > > Then, open another terminal, try again with ibterm, > cut the output that comes from tail and send me. > > Make sure also that "eos = 0x0d" is the correct > termination for the instrument. You might try "eos = 0x0a". > > Good luck > > Marcello > > > > On 10/11/21 8:36 PM, Dirk wrote: > > Hello, > > > > several weeks ago i obtained a RaspberryPI GPIB Shield. > > > > I followed the instructions at http://elektronomikon.org/install.html > > but did minor changes to get version 4.3.4 working. > > > > Installation went fine without any problems. > > > > If i try to read something from my R&S URV5 power meter nothing > happend. > > I get the same result with my SMG signal generator. > > > > Testing the system with "ibtest" (-> line status) shows unkown > status of > > bus lines. > > > > At this point i have no idea what is wrong in my setup. > > > > It would be great if someone can help me. > > > > BR > > Dirk > > > > > > > > Following some additional information: > > > > root@raspberrypi:/home/pi# cat /etc/debian_version > > 10.10 > > root@raspberrypi:/home/pi# > > > > root@raspberrypi:/home/pi# uname -a > > Linux raspberrypi 5.10.60-v7+ #1449 SMP Wed Aug 25 15:00:01 BST 2021 > > armv7l GNU/Linux > > root@raspberrypi:/home/pi# > > > > root@raspberrypi:/home/pi# dmesg > > [...] > > [ 55.161921] gpib_common: loading out-of-tree module taints kernel. > > [ 55.164358] Linux-GPIB 4.3.4 Driver > > [ 55.182620] gpib: registered gpib_bitbang interface > > root@raspberrypi:/home/pi# > > > > > > root@raspberrypi:/home/pi# gpib_config -v > > linux-gpib version = 4.3.4 > > root@raspberrypi:/home/pi# > > > > root@raspberrypi:/home/pi# ibterm -d10 > > Attempting to open /dev/gpib0 > > pad = 10, sad = 0, timeout = 10, send_eoi = 1, eos_mode = 0x0000 > > ibterm>*IDN? > > ibterm> > > ibterm: Done. > > root@raspberrypi:/home/pi# > > > > root@raspberrypi:/home/pi# ibtest > > Do you wish to open a (d)evice or an interface (b)oard? > > (you probably want to open a device): b > > enter name of interface board (or device) you wish to open: violet > > trying to open board named 'violet' > > You can: > > w(a)it for an event > > [...] > > send group e(x)ecute trigger (device only) > > : l > > DAV unknown > > NDAC unknown > > NRFD unknown > > IFC unknown > > REN unknown > > SRQ unknown > > ATN unknown > > EOI unknown > > gpib status is: > > ibsta = 0x1160 < SRQI CMPL REM CIC > > > iberr= 0 > > > > ibcntl = 0 > > You can: > > w(a)it for an event > > [...] > > send group e(x)ecute trigger (device only) > > : > > > > > > root@raspberrypi:/home/pi# cat /usr/local/etc/gpib.conf > > [...] > > /* This section configures the configurable driver characteristics > > * for an interface board, such as board address, and interrupt > level. > > * minor = 0 configures /dev/gpib0, minor = 1 configures > /dev/gpib1, etc. > > */ > > > > interface { > > minor = 0 /* board index, minor = 0 uses /dev/gpib0, > > minor = 1 uses /dev/gpib1, etc. */ > > board_type = "gpib_bitbang" /* type of interface board > > being used */ > > name = "violet" /* optional name, allows you to get a board > > descriptor using ibfind() */ > > pad = 0 /* primary address of interface */ > > sad = 0 /* secondary address of interface */ > > timeout = T3s /* timeout for commands */ > > > > eos = 0x0d /* EOS Byte, 0xa is newline and 0xd is > carriage > > return */ > > set-reos = yes /* Terminate read if EOS */ > > set-bin = no /* Compare EOS 8-bit */ > > set-xeos = no /* Assert EOI whenever EOS byte is sent */ > > set-eot = yes /* Assert EOI with last byte on writes */ > > > > /* settings for boards that lack plug-n-play capability */ > > base = 0 /* Base io ADDRESS */ > > irq = 0 /* Interrupt request level */ > > dma = 0 /* DMA channel (zero disables) */ > > > > /* pci_bus and pci_slot can be used to distinguish two pci boards > > supported by the same driver */ > > /* pci_bus = 0 */ > > /* pci_slot = 7 */ > > > > master = yes /* interface board is system controller */ > > } > > > > /* Now the device sections define the device characteristics for each > > device. > > * These are only used if you want to open the device using ibfind() > > (instead > > * of ibdev() ) > > */ > > > > device { > > minor = 0 > > name = "urv" > > pad = 10 > > sad = 0 > > } > > > > > > device { > > minor = 0 /* minor number for interface board this > device > > is connected to */ > > name = "smg" /* device mnemonic */ > > pad = 28 /* The Primary Address */ > > sad = 0 /* Secondary Address */ > > > > eos = 0xa /* EOS Byte */ > > set-reos = yes /* Terminate read if EOS */ > > set-bin = no /* Compare EOS 8-bit */ > > } > > > > root@raspberrypi:/home/pi# > > > > > > _______________________________________________ > > Linux-gpib-general mailing list > > Lin...@li... > <mailto:Lin...@li...> > > https://lists.sourceforge.net/lists/listinfo/linux-gpib-general > > -- > Marcello Carla' > (ca...@fi... <mailto:ca...@fi...>) > > > _______________________________________________ > Linux-gpib-general mailing list > Lin...@li... > <mailto:Lin...@li...> > https://lists.sourceforge.net/lists/listinfo/linux-gpib-general > > > > _______________________________________________ > Linux-gpib-general mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linux-gpib-general > -- Marcello Carla' (ca...@fi...) |