Библиотека разработана в недрах компании Метротек для коммутатора X10-24
##Стандарты
Библиотека разработана согласно стандарту SFF-8472
##Возможности:
-
Чтение всей информации из банков памяти SFP/SFP+ модуля и вывод на терминал в читаемом виде.
-
Выборочное чтение информации для определения:
- Скорости работы модуля 1G/10G
- Факта является ли модуль "медным" или оптическим
- Факта является ли модуль Dirrect attach кабелем
##Банки памяти:
Согласно стандарту информация в SFP модулях разделена на два банка(две области) памяти с адресами A0h и A2h. При подключении модулей по шине I2C эти адреса сдвигаются вправо на один бит (50h 51h) тк на этой шине 7-ми битная адресация.
Библиотека позволяет менять эти адреса на произвольные и использует их при вызове внешней функции чтения.
По умолчанию эти адреса 50h 51h соответственно.
##Особенности:
Для чтения банков памяти библиотека использует callback функцию предоставляемую пользователем.
typedef int(*sfp_readregs_fun_t)(void *udata, uint8_t addr, uint16_t start, uint16_t count, void *data);
В эту функцию в качестве параметров передается следующее:
-
void *udata
- произвольный указатель предоставляемый пользователем (задается в настройках) -
uint8_t addr
- адрес банка на внешней шине (задается в настройках по умолчанию 0x50 0x51) -
uint16_t start
- смещение внутри банка -
uint16_t count
- кол-во байт которые надо считать -
void *data
- указатель на буфер куда небходимо поместить данные
Таким образом функционал библиотеки отделен от способа доступа(чтения) к модулю.
##Использование:
Пример использования API библиотеки в sfp-dump.c
##Скрипт для чтения образа:
Скрипт sfp-dump позволяет считать образ банков памяти SFP модуля в файл. Этот скрипт в качестве параметров принимает номер i2c шины и имя выходного файла.
Образ может быть разбит на два файла (A0 A2 соотвественно банкам) - в этом случае утилита сохраняет два файлы с суфиксом a0 и a2 соотвественно.
##Пример использования утилит:
read-sfp-dump 2 dumpfile
- считать образ памяти с i2c шины 2 и поместить в файл dumpfile
sfp-dump -v dumpfile.bin
- показать все содержимое файла образа
##Тестовые образы:
В каталоге dumps: находятся тестовые образы памяти записанные скриптом sfp-dump на реальном оборудовании.