Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

#1626 closed defect

Can't seek in i2c eeprom devices

Reported by: Angus Gratton Owned by: Sebastian Huber
Priority: normal Milestone: 4.11
Component: score Version: 4.10
Severity: normal Keywords:
Cc: gedare@…, nick.withers@… Blocked By:
Blocking:

Description (last modified by Joel Sherrill)

lseek() doesn't seem to work when reading an I2C EEPROM on MVME3100 (PowerPC).

To reproduce:

  • Open EEPROM device
  • lseek() to some other offset
  • Read from EEPROM device

The read will complete as if the lseek() never occured.

Looking at the underlying i2c read functions in cpukit, I don't see any reference to offset, so I'm guessing this is unimplemented for I2C reads.

However, it appears that it did once work (EPICS on RTEMS uses lseek() to read NVRAM values from I2C EEPROM.)

Cheers - Angus

Attachments (1)

RTEMS Ticket 2139.patch (7.5 KB) - added by Nick Withers on 12/05/13 at 02:41:39.
Fix error return inconsistencies

Download all attachments as: .zip

Change History (7)

comment:1 Changed on 07/20/10 at 04:54:44 by Angus Gratton

Summary: Can't seek i2c eeprom readsCan't seek in i2c eeprom devices

comment:2 Changed on 08/13/13 at 08:36:35 by Nick Withers

Cc: Nick Withers added

Changed on 12/05/13 at 02:41:39 by Nick Withers

Attachment: RTEMS Ticket 2139.patch added

Fix error return inconsistencies

comment:3 Changed on 12/05/13 at 13:58:54 by Gedare Bloom

attachments.isobsolete: 01

comment:4 Changed on 12/05/13 at 13:59:50 by Gedare Bloom

Cc: Gedare Bloom added

Replying to comment:2:

Please ignore this attachment and comment, my apologies, they were intended for
another ticket

I marked the attachment obsolete.

comment:5 Changed on 11/23/14 at 16:18:55 by Joel Sherrill

Description: modified (diff)
Owner: changed from Joel Sherrill to Sebastian Huber
Status: newassigned

Nick.. please comment on the state of this. Do you have a new patch?

Sebastian.. is this still an issue?

comment:6 Changed on 11/24/14 at 07:51:21 by Sebastian Huber

Resolution: wontfix
Status: assignedclosed

Something went wrong with the Bugzilla to trac conversion. The patch is completely unrelated to this ticket.

I will not work on a fixes for libi2c stuff. I suggest to use the new I2C framework. The new I2C EEPROM device supports lseek().

http://git.rtems.org/rtems/tree/cpukit/dev/i2c/eeprom.c

Note: See TracTickets for help on using tickets.