tg3 ドライバーバージョン 3.137 で Broadcom オンラインファームウェアのアップデートができない
Environment
- Red Hat Enterprise Linux (RHEL) 6.6
- kernel-2.6.32-504.el6 ~ kernel-2.6.32-504.8.1.el6
- tg3 バージョン 3.137
Issue
Red Hat Enterprise Linux 6.6 の kernel-2.6.32-504.el6
に含まれている tg3
ドライバーバージョン 3.137 で、Broadcom オンラインファームウェアをアップデートすることができません。
Resolution
- RHSA-2015:0674 (以降) でリリースされた
kernel-2.6.32-504.12.2.el6
にアップデートします。 -
RHSA-2015:1272 (以降) でリリースされた
kernel-2.6.32-573.el6
にアップデートします。- Red Hat Enterprise Linux 6.6 カーネルで提供された tg3 モジュールの実行時に NVRAM ファームウェアのアップデートを適用すると失敗します。その結果、NIC (Network Interface Card) が不安定な状態になり、システム全体が起動できなくなります。tg3 モジュールがアップデートされ、ファームウェアのアップデートを正しく適用できるようになりました (BZ#1182903)。
-
kernel
RPM のアップデートが推奨される解決方法ですが、他にもファームウェアのアップデートを行う方法があります。- 以前のバージョンの
tg3
ドライバーを提供しているカーネルを起動します。 - ハードウェアメーカーが提供するオフラインファームウェアアップデート方法を利用します。
- タイムアウトの問題に対応しているハードウェアメーカー提供の
tg3
ドライバーを使用します。- Hewlett Packard Support Communication c04569875
- 以前のバージョンの
Root Cause
以下のパッチを当てると、tg3
ドライバーにおける NVRAM コマンド実行のタイムアウト値が 100ms から 1ms に変更します。
1ms では書き込み操作に十分な長さではないため、アップストリームはこのタイムアウトを 1ms から 50ms に変更しました。ただし、RHEL 6.6 GA では、kernel-2.6.32-504.12.2.el6 以前のリリースの tg3
ドライバーに以下のアップストリームパッチが含まれません。
Diagnostic Steps
kernel
RPM チェンジログを確認すると、BZ 1054558 で最初の変更が行われ、BZ 1182903 と BZ 1176230 で修正されたことが分かります。
$ rpm -qp --changelog kernel-2.6.32-504.12.2.el6.x86_64.rpm | grep -e 'tg3:Override clock' -e 'tg3:Change.*timeout' -e '^\*' | grep -B1 tg3
* Thu Jan 22 2015 Radomir Vrbovsky <rvrbovsk@redhat.com> [2.6.32-504.10.1.el6]
- [netdrv] tg3:Change nvram command timeout value to 50ms (Ivan Vecera) [1182903 1176230]
--
* Wed Jun 11 2014 Rafael Aquini <aquini@redhat.com> [2.6.32-479.el6]
- [netdrv] tg3:Override clock, link aware and link idle mode during NVRAM dump (Ivan Vecera) [1054558]
以下は、現在使用中の kernel
バージョンと、より重要な tg3
ドライバーを確認します。
# uname -r
2.6.32-504.el6.x86_64
# modinfo tg3 | grep ^version
version: 3.137
この問題は HP オンラインファームウェア CP021848.scexe
、CP020090.scexe
、および CP023977.scexe
で報告されています。以下は、ファームウェアのアップデートに失敗した場合の出力例となります。これにより、システムの再起動後にシステムが不安定になります。
# ./CP020090.scexe
HP Gigabit Server Adapter Firmware Upgrade Utility
Found HP Ethernet 1Gb 4-port 331FLR Adapter MAC:D89D6717EE58
Update Boot Code 1.24 to 1.33 - y/n/q/c (y):y
Update PXE 15.0.12 to 15.4.2 - y/n/q/c (y):y
Update NCSI 1.0.60 to 1.1.15 - y/n/q/c (y):y
The Firmware Upgrade will take several minutes.Please be patient.
Selecting HP Ethernet 1Gb 4-port 331FLR Adapter MAC:D89D6717EE58
Upgrading Boot Code 1.24 to 1.33
Broadcom Network Controller Firmware Upgrade Utility for Linux v2.2.5
Initializing...
Select NIC NetXtreme BCM5719 Gigabit Ethernet PCIe rev 01 (eth0)...
Region Address Range Content Checksum Status
---------------- ----------------- -------- -------- -------
Bootstrap 00000000-00000013 07BAB558 07BAB558 Ok
Directory 00000014-00000073 00000000 00000000 Ok
Manufacture 00000074-000000FF 37ADF754 37ADF754 Ok
Manufacture II 00000200-0000028B 446FDC1D 446FDC1D Ok
Boot Code 0000028C-00001BAF B0271227 B0271227 Ok
2nd Boot Code 00001BB8-000048E7 A992EA48 A992EA48 Ok
Validating manufacturing information ...OK
Running NVRAM gap cleanning routine...
Reading PXE data from 0x00004490...
Reading APE Firmware data from 0x00020DC8...
Reading Extended VPD data from 0x0002936C...
Writing PXE data to 000048E8...
Failed to write NVRAM!
Please use 'restorenvram' command to restore the original NVRAM content!
UnInitializing...
Program Exit Code:(18)
ERROR:Upgrade of HP Ethernet 1Gb 4-port 331FLR Adapter MAC:D89D6717EE58
failed.
Upgrading PXE 15.0.12 to 15.4.2
Broadcom Network Controller Firmware Upgrade Utility for Linux v2.2.5
Initializing...
Select NIC NetXtreme BCM5719 Gigabit Ethernet PCIe rev 01 (eth0)...
Updating PCI ROM (type 0) header with Vendor ID = 0x14e4, Device ID = 0x1657
Updating PXE UNDI16 (length = 120948 bytes ) ...
Programming 120948 bytes to eeprom offset 0x00029690
Failed to write NVRAM!
Please use 'restorenvram' command to restore the original NVRAM content!
UnInitializing...
Program Exit Code:(18)
ERROR:Upgrade of HP Ethernet 1Gb 4-port 331FLR Adapter MAC:D89D6717EE58
failed.
Upgrading NCSI 1.0.60 to 1.1.15
Broadcom Network Controller Firmware Upgrade Utility for Linux v2.2.5
Initializing...
Select NIC NetXtreme BCM5719 Gigabit Ethernet PCIe rev 01 (eth0)...
RSA Signature verified.
Programming 35056 bytes to eeprom offset 0x00029690
Failed to write NVRAM!
Please use 'restorenvram' command to restore the original NVRAM content!
APE Firmware programmed successfully.
UnInitializing...
Program Exit Code:(18)
ERROR:Upgrade of HP Ethernet 1Gb 4-port 331FLR Adapter MAC:D89D6717EE58
failed.
NIC firmware update completed with errors.
これは、tg3 ネットワークドライバーの 3.137 バージョンに固有の問題です。Broadcom NIC に関して、Hewlett-Packard のオンラインのファームウェアアップデートで発生している別の問題については、以下のナレッジを参照してください。
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments