Re: Agilent 82350b can't recover from read timeout?

Frank Mori Hess <[email protected]>
Newsgroups gmane.linux.hardware.gpib.general
Message-ID <CAJz5OpdiUs0JzpcvMMECUnViLKszmrFUjY6goxx0AZB+Cxnupg@mail.gmail.com>
On Sun, Jul 28, 2019 at 3:22 PM Dirk Niggemann <[email protected]> wrote:
>
> Hi,
>
> I have a strange difference in behaviour between the Agilent 82357a and the Agilent 82350b cards in linux-gpib-4.2.0 running on ubuntu 16.04 on a 32-bit kernel  4.4.0-157-generic.
>
> Sending an invalid command ('ID' instead of '*IDN?') to a specific device (HP7673 on ID 8) results in a bus lockup. On the 82357a this can be cleared using ibclr() but on the 82350b the lockup can only be cleared by reinitialising the board with gpib_config.
>
> Any other command aborts immediately with iberr set to 14  EBUS until the board is reinitialised.
>
> The EBUS error is directly translated ETIMEDOUT error from the ibcmd ioctl,
>
> This error occurs immediately, even if the timeout is set to 10s, so it's almost like the timer can't  successfully restart after a timeout.
>
> I can't figure why nothing clears this error on the 82350b.


It's probably a bug in the tms9914 module.  My guess the chip is
raising an error interrupt (HR_ERR) to try to indicate a data byte got
discarded without being read.  Hmm actually try adding the change I
just added in svn commit 1821.  It looks like the tms9914 command
coded needed to clear the bus error state.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.