Автор Тема: ethtool rtl8139 eeprom programming  (Прочитано 2752 раз)

Оффлайн goshka

  • Участник
  • *
  • Сообщений: 114
ethtool rtl8139 eeprom programming
« : 23.05.2011 11:46:53 »
Есть сетевые карточки на основе rtl 8139c

По умолчанию, автоматически грузятся оба драйвера: rtl8139cp, rtl8139too

драйвер rtl8139cp умеет от ethtool читать /шить имеющуюся на карточке eeprom:

static const struct ethtool_ops cp_ethtool_ops = {
.get_drvinfo = cp_get_drvinfo,
.get_regs_len = cp_get_regs_len,
.get_sset_count = cp_get_sset_count,
.get_settings = cp_get_settings,
.set_settings = cp_set_settings,
.nway_reset = cp_nway_reset,
.get_link = ethtool_op_get_link,
.get_msglevel = cp_get_msglevel,
.set_msglevel = cp_set_msglevel,
.get_rx_csum = cp_get_rx_csum,
.set_rx_csum = cp_set_rx_csum,
.set_tx_csum = ethtool_op_set_tx_csum, /* local! */
.set_sg = ethtool_op_set_sg,
.set_tso = ethtool_op_set_tso,
.get_regs = cp_get_regs,
.get_wol = cp_get_wol,
.set_wol = cp_set_wol,
.get_strings = cp_get_strings,
.get_ethtool_stats = cp_get_ethtool_stats,
.get_eeprom_len = cp_get_eeprom_len,
.get_eeprom = cp_get_eeprom,
.set_eeprom = cp_set_eeprom,
};

rtl8139too не умеет через ethtool читать/шить ПЗУ.


ethtool -e eth0 выдает ошибку: операция не поддерживается драйвером.


Кому-нибудь удавалось прошить встроенное ПЗУ на карточке rtl8139?


Уб просьба Ув.Карлсону не рекомендовать "изучение и модификацию исходников." Это понятно, и, в меру сил, над этим работаем.

Пропадаю.

Спасибо.
« Последнее редактирование: 23.05.2011 11:54:38 от goshka »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....

Оффлайн goshka

  • Участник
  • *
  • Сообщений: 114
Re: ethtool rtl8139 eeprom programming
« Ответ #2 : 23.05.2011 20:10:08 »
http://metropolis.anthill.ru/forum/index.php?topic=3298.10;

Т.е. ,как я понял, придется модифицировать исходники. Или написать программу.

Но непонятно, почему сразу два драйвера (8139cp, 8139too) на одну карточку?

Изучая исходники, понял, что 8139cp только если pci_vendor== realtek, 8139too  для остальных.

Придется подправить 8139cp и удалить 8139too?

Без насмешек, open source все- равно круто, не смотря на то, что не всегда все работает, что м. б. должно бы работать.