Skip to content

R2.8 board EEPROM reads all-zeros (4096 bytes) — board worked previously, now #253

Description

@RSTChile

My CaribouLite R2.8 (full 6 GHz version) worked correctly in the past, but has stopped being detected. The HAT EEPROM responds at I2C address 0x50, but a full read returns 4096 bytes of 0x00 — the EEPROM appears to have been completely erased. I'm looking for the correct .eep image (and, if possible, the factory calibration data for my unit) to reflash it.
Hardware

Board: CaribouLite R2.8 (full version, HiF + S1G)
Serial / PCB marking: IL000002
R 94V-0
E333158
Host: Raspberry Pi 4B

Operating system

DragonOS Pi64 (Ubuntu 22.04.4 LTS, Jammy)
Kernel: 6.5.0-1008-raspi
VideoCore firmware: 2022-10-26 (hash c72ad6b26ff40c91ef776b847436094ee63fabee)

What I have already verified

The board is mounted directly on the 40-pin header (no extender/ribbon).
The kernel modules build and load correctly after the class_create(DEVICE_NAME) fix (line ~1053 in driver/smi_stream_dev.c).

smi_stream_dev 28672 0
bcm2835_smi 32768 1 smi_stream_dev

config.txt is applied (verified via device-tree): spi@7e215080 shows status okay, i2c_vc enabled.

dtparam=audio=on
dtparam=i2c_arm=off
dtparam=spi=off
dtparam=i2c_vc=on
dtoverlay=spi1-3cs

Auto-detection via HAT EEPROM fails: /proc/device-tree/hat/ does not exist.
I forced the overlay manually (dtoverlay=cariboulite after copying cariboulite.dtbo to /boot/firmware/overlays/), and /dev/smi is now created, with a clean probe:

smi-bcm2835 fe600000.smi: initialised
smi-stream-dev: smi_stream_dev_probe (...)
smi-stream-dev: creating a device and registering it with sysfs
smi-stream-dev soc:smi_dev: initialised

However, sudo SoapySDRUtil --probe fails at EEPROM validation:

EEPROM on addr 0x50 probing successful
EEPROM data is not valid. Try reconfiguring it.
Failed to detect the board in /proc/device-tree/hat - EEPROM needs to be configured.
Please run the cariboulite_prod application with sudo permissions...
EEPROM dump (read-only) — confirms it is blank, not partially corrupt
sudo hexdump -C /sys/class/i2c-adapter/i2c-0/0-0050/eeprom
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00001000
The chip is electrically healthy (responds at 0x50, full read with no bus errors), but the entire 4096-byte content is 0x00. No header, no overlay, no proprietary calibration data survived.
Questions

Is there an official .eep image for the R2.8 board I can flash to restore HAT identity and auto-detection?
Do you retain factory calibration data (I/Q imbalance, Tx power, TCXO) per serial number? If so, can it be recovered for my unit?
Could you document the exact eepmake/eepflash procedure (settings file + parameters) for reprogramming the CaribouLite EEPROM? The cariboulite_prod binary referenced in the error is not produced by the standard install.sh build.

I noticed issue #187 reported a very similar EEPROM failure. Any guidance would be appreciated — happy to provide additional logs.
Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions