GPIB.CONF(5)
π GPIB.CONF(5) π β the gpib.conf manual, but make it a group chat
okay bestie, quick vibe check: this is the manpage for gpib.conf, from the GPIB section of the manual, and it's literally the config file situation for the GPIB library. sit down, grab a strawberry drink π, we're going through it together.
β¨ NAME β¨
gpib.conf β the GPIB library configuration file π
πΈ DESCRIPTION πΈ
okay so. the library itself, and also the admin tool gpib_config, both read their configuration info from the file gpib.conf. no cap. π
by default, that file lives in the sysconfdir directory that got configured when linux-gpib was compiled. and sysconfdir is typically set to /etc or /usr/local/etc. also there's a template gpib.conf file hanging out in the util/templates/ subdirectory of the linux-gpib package, if you want a starting point. π¦
you can override the default config file btw β just set the IB_CONFIG environment variable to a custom file path. main character move honestly. β¨
now the real tea: the configuration file must contain one interface entry for each of the board minors that are going to be used β unless all the required options are specified in the command-line invocation of the administration tool gpib_config to configure that minor. and if you want to open the board descriptor with ibfind() instead of directly using the minor as the board descriptor, then the file must contain an interface entry with the name option set. periodt. π
and if there is no entry for the minor in the configuration file, the required command-line options are board_type and pad. plus, the --system-controller option must be specified if the board is to be system-controller, which is the normal case. ngl that's the usual situation for basically everyone. for example:
gpib_config --minor 8 --board-type ni_usb_b --pad 0 --system-controller
and the configuration file can contain zero or more device entries. device entries are only required if you wish to open device descriptors with ibfind() instead of using ibdev(). π«Ά
each device entry must have at least the minor, pad and name options specified. and heads up: the minor of a device entry must have a corresponding interface entry. no interface, no device, that's the rule bestie. π
several example entries, and a table summarizing the possible options, follow. (we'll get to the table in another part, don't panic π)
π‘ side note: this comment style is permitted:
/* This comment style is permitted */
and this alternate comment style is also permitted:
// This is an alternate comment style
now the examples, look at her go ππ
interface {
minor = 0
board_type = "ni_pci"
pad = 0
master = yes
}
interface {
minor = 1
board_type = "ines_pci"
name = "joe"
pad = 5
sad = 0
timeout = T10s
pci_bus = 0
pci_slot = 0xd
master = no
}
interface {
minor = 2
board_type = "pcII"
pad = 3
sad = 0x62
eos = 0x0d
set-reos = yes
set-bin = no
set-xeos = no
set-eot = yes
base = 0x300
irq = 5
dma = 0
master = no
}
device {
minor = 0
name = "counter" // name that can be used with ibfind
pad = 24
}
device {
minor = 0
name = "voltmeter"
pad = 7
sad = 110
eos = 0xa
set-reos = yes
set-bin = no
set-xeos = yes
set-eot = no
timeout = T1s
}
β¨ Table 1. configuration options β¨
okay bestie, here's the full lineup of config options from Table 1 β every name, what it does, who uses it (interface or device entries), and whether it's required or optional. no cap, we're keeping all the deets. π
baseβ Specifies the base ioport or io memory address for a board that lacks plug-and-play capability. Used by: interface. Required or optional: optional. πboard_typeβ Specifies the type of interface board. See the last two columns of Table 2. for a list of possible board types, and the kernel driver module that supports them. There is no default. Used by: interface. Required or optional: required. πdmaβ Specifies the dma channel for a board that lacks plug-and-play capability. Used by: interface. Required or optional: optional. β¨eosβ Sets the end-of-string byte for board or device descriptors obtained withibfind(). By defaulteos = 0. See also theset-reos,set-bin, andset-xeosoptions. Used by: interface or device. Required or optional: optional. πirqβ Specifies the interrupt level for a board that lacks plug-and-play capability. Used by: interface. Required or optional: optional. π¦masterβ Set to 'yes' if you want the interface board to be the system controller of the bus. There can only be one system controller on a bus. By defaultmaster = no. Used by: interface. Required or optional: required. π₯minorβ'minor'specifies the minor number of the device file this interface board will use. A'minor'of0corresponds to/dev/gpib0,1is/dev/gpib1, etc. The minor number is also equal to the'board index'which can be used as a board descriptor, and is passed as the first argument ofibdev(). Used by: interface. Required or optional: required. πnameβ The'name'specifies the name which can be used withibfind()to get a descriptor for the board or device associated with this entry. Used by: interface or device. Required or optional: interface optional; device required. πpadβ Specifies the primary GPIB address (valid addresses are0to30). For interfaces, this is the primary address that the board will be assigned when it is first brought online. For
For devices, this is literally the address that will be used by device descriptors obtained with ibfind(). No default, bestie. π
pci_busβ okay so this is lowkey useful for distinguishing between multiple PCI cards. If you have more than one PCI card with the same'board_type', you can use the'pci_bus'and'pci_slot'options to specify the particular card you are interested in. Applies to: interface. Default: optional. π¦pci_slotβ andpci_slotcan be used in conjunction with'pci_bus'to specify a particular pci card. Applies to: interface. Default: optional. β¨sadβ specifies the secondary GPIB address. Valid values are0, or0x60to0x7fhexadecimal (96to127decimal). A value of0means secondary addressing is disabled (the default). Secondary addresses from0to31are specified by the library's convention of adding an offset of0x60. Applies to: interface or device. Default: optional. πset-binβ enables 8-bit comparisons when matching the end-of-string byte, instead of only comparing the 7 least significant bits. Only affects descriptors returned byibfind(), and has same effect as setting theBINbit in aibeos()call. Default isset-bin = 0. Applies to: interface or device. Default: optional. π₯set-eotβ Enables assertion of theEOIline at the end of writes, for descriptors returned byibfind(). Seeibeot(). Defaultset-eoi = yes. Applies to: interface or device. Default: optional. πset-reosβ Enables the termination of reads on reception of the end-of-string byte for descriptors returned byibfind(). Same as setting theREOSbit in aibeos()call. Default isset-reos = no. Applies to: interface or device. Default: optional. πΈset-xeosβ Enables the assertion ofEOIon transmission of the end-of-string byte for descriptors returned byibfind(). Same as setting theXEOSbit in aibeos()call. Default isset-xeos = no. Applies to: interface or device. Default: optional. πsysfs_device_pathβ A string which may be used to select
Applies to: interface. Default: optional. π
β¦and it genuinely just means picking out one specific piece of hardware by its sysfs device path π like yes bestie, that exact device, no vibe-guessing involved β¨
timeoutβ sets the io timeout for a board or device descriptor that gets opened throughibfind()β³. The settings you can use are the same ones as the constants thatibtmo()takes π«Ά. Default istimeout = T3s, which is 3 seconds. Section: interface or device. Optional.
lowkey reminder: those two little columns on the right in the original table are the whole plot β which section the option lives in (interface or device) and whether it's optional. Not every option is optional, so read them, ok? π
π COPYRIGHT π
Copyright Β© 2003-2006, 2008 Frank Mori Hess π
okay that's the whole page bestie, you made it, and I'm so proud of you fr fr πΈβ¨
This was linux-gpib 4.3.7, dated 07/06/2026, and yes it's the GPIB.CONF(5) girlie herself π go configure something iconic, mwah ππ¦π
π¦ where this page comes from
- ubuntu stonking: gpib-user-tools 4.3.7-6 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms