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

Dirk Niggemann <[email protected]>
Newsgroups gmane.linux.hardware.gpib.general
Message-ID <CAKrfojgpZmCmpRyiqsqFaO5r3LWm8qXuaTxz5Ld+ockzLtH9PA@mail.gmail.com>
Hi Frank,

I'd traced it down to ibcac (in sys/ibcac.c) and  tms9914_take_control()
in tms9914_aux.c myself- it skips the TCS because the board is not
addressed to listen and goes straight to the TCA which fails with ATN
unasserted.

The weird thing is i managed to unwedge the TCA by sending  write_byte(
priv, AUX_RHDF, AUXCR );  just before it- (in a misunderstanding of how
holdoffs in read actually work, I think).

Regards,

Dirk



On Mon, Jul 29, 2019 at 5:09 PM Frank Mori Hess <[email protected]> wrote:

> On Mon, Jul 29, 2019 at 8:17 AM Frank Mori Hess <[email protected]> wrote:
> >
> > 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.
>
> Hmm, actually from what you said it the timeout must be coming when
> the board tries to assert the ATN line.  So in the kernel drivers,
> ibcmd is calling ibcac is calling tms9914_take_control which is timing
> out.  It makes sense the synchronous attempt to take control would
> fail, but it should be falling back to asynchronous which should not
> fail (but apparently it is).
>
> --
> Frank
>
>
> _______________________________________________
> Linux-gpib-general mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/linux-gpib-general
>

_______________________________________________
Linux-gpib-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-gpib-general
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.