VPCJ1(VAIO)の有線LANを有効化する(成功)

サーバの物理マシンを家族から譲り受けたVPCJ1に移行しようと計画・試行中です。もちろん新しいサーバのOSもCentOS 6.x。
ところでCentOS on VPCJ1は、(GUI環境で)無線LANによるネットワーク接続ができるのに、ギガビットの有線ポートでLANに接続できないという困った事態に陥っています。
ルータの有線ポートにLANケーブルをつないでも、ルータのアクティブランプが点灯しないところから見て、どうやらVPCJ1側のNICが有効になっていないっぽいのです。

そこで、まずは現況確認。
試しにifup eth0してみますが、そんなデヴァイスはないと連れないお返事が返されます。つまりネットワークインターフェースを認識できず、eth0が作成されないようですね・・・。

というわけで、次に行うのはNIC(というか、正しくはイーサネットコントローラかな?)がどこの製品の何という型番のものなのかの調査です。

# lspci
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02)
   ・
   ・
   ・
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation HM55 Chipset LPC Interface Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 05)
01:00.0 VGA compatible controller: NVIDIA Corporation GT218M [GeForce 310M] (rev a2)
02:00.0 Network controller: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
   ・
   ・
   ・
04:00.0 Ethernet controller: Marvell Technology Group Ltd. Yukon Optima 88E8059 [PCIe Gigabit Ethernet Controller with AVB] (rev 11)
05:00.0 Multimedia controller: Fujitsu Limited. Device 2030 (rev 01)
   ・
   ・
   ・

lspciコマンドでしらみつぶしに探したところ、ありました(太字部分)。
それによれば、コントローラはMarvell Technology社の88E8059という型番でした。確認すべきはEthernet controllerで、Network controllerではありません!(笑)

ハードウェアとして認識はしているので、次の段階はドライバの有無の調査です。
さっそくMarvell社のホームページを探してみると・・・(日本語でした!)。ありました!!
ドライバのダウンロードページがあり、そこにはLinux用のドライバも用意されていました!もちろんCentOS用というのはないわけですが、これはFedora用でOK(だろう)!

OSをチョイスし、製品コード(型番)を指定するとそれ用のドライバがダウンロードできます。
なお、今回撲がダウンロードしたドライバは「Linux_v10.93.3.3.tar.zip」。
カーネル2.6用です(2.4用もありました)。

ダウンロードできたら解凍します。

# unzip Linux_v10.93.3.3.tar.zip
Archive: Linux_v10.93.3.3.tar.zip
inflating: install_v10.93.3.3.tar.bz2
inflating: readme.htm
inflating: readme.txt
inflating: sk98lin.htm
inflating: sk98lin.txt

インストールファイルと思われるtar玉が出てきました。
引き続きこれも解凍します。

# tar -jxvf install_v10.93.3.3.tar.bz2
DriverInstall/
DriverInstall/sk98lin.tar.bz2
DriverInstall/functions
DriverInstall/install.sh
DriverInstall/sk98lin.4
DriverInstall/README

作成されたディレクトリにインストーラが入っているみたいですね。

# cd DriverInstall/
# ls
README functions install.sh sk98lin.4 sk98lin.tar.bz2

インストール用のシェルスクリプトを確認したら実行しましょう!

# sh ./install.sh

Installation script for sk98lin driver.
Version 10.93.3.3 (Aug-22-2012)

(C)Copyright 2003-2012 Marvell(R).

Add to your trouble-report the logfile install.log

which is located in the DriverInstall directory.

1) installation 3) generate makefile
2) generate patch 4) exit

Choose your favorite installation method: 1

Please read this carefully!

This script will automatically compile and load the sk98lin
driver on your host system. Before performing both compilation
and loading, it is necessary to shutdown any device using the
sk98lin kernel module and to unload the old sk98lin kernel
module. This script will do this automatically per default.

Please plug a card into your machine. Without a card we aren’t
able to check the full driver functionality.

Do you want proceed? (y/N) y

IMPORTANT INFORMATION!

We found an alternative driver for your Marvell product on this system.
The alternative driver is NOT directly supported by Marvell and does not
include all features provided by your device. If you want to use the
sk98lin driver developed by Marvell, you may choose either to deactivate
or remove the alternative driver.

[PRESS ANY KEY FOR FURTHER INSTRUCTIONS]

Do nothing:
The sk98lin will be installed
NOTE: It may happen that the alternative driver will be loaded on
the next boot process. In this case the Marvell driver WON’T be
loaded.

Deactivate driver:
The alternative driver will be renamed to _skge.ko or _sky2.ko
All references in the /etc/modprobe.conf file will be changed to
the sk98lin driver
The alternative driver will be unloaded
The sk98lin driver will be installed

Remove driver (recommended):
The alternative driver will be removed from your system
All references in the /etc/modprobe.conf file will be changed to
the sk98lin driver
The alternative driver will be unloaded
The sk98lin driver will be installed

1) Do nothing
2) Deactivate diver
3) Remove driver
Action: 1

Create tmp dir (/tmp/Sk98IXNokIBQMKQXWDcFcermk) [ OK ]
Check user id (0) [ OK ]
Check kernel version (2.6.32-754.28.1.el6.x86_64) [ OK ]
Check kernel symbol file (/proc/kallsyms) [ OK ]
Check kernel type (SMP) [ OK ]
Check number of CPUs (4) [ OK ]
Check architecture (found) [ OK ]
Set architecture (x86_64) [ OK ]
Check compiler (/usr/bin/gcc) [ OK ]
Check mcmodel flags (kernel) [ OK ]
Check module support (/sbin/insmod) [ OK ]
Check make (/usr/bin/make) [ OK ]
Check kernel gcc version (4.4.7) (Kernel:4.4.7 == gcc:4.4.7) [ OK ]
Check sk98lin driver availability (not loaded) [ OK ]
Check kernel header files (/lib/modules/2.6.32-754.28.1.el6.x86_64/source) [ OK ]
Check driver location (/lib/modules/2.6.32-754.28.1.el6.x86_64/source/drivers/net/sk98lin) [ OK ]
Check sources for .config file (/lib/modules/2.6.32-754.28.1.el6.x86_64/source/.config) [ OK ]
Copy and check .config file (done) [ OK ]
Check the mem address space (lowmem) [ OK ]
Change IOMMU (enabled) [ OK ]
Create new .config file (done) [ OK ]
Execute: make oldconfig (done) [ OK ]
Check modpost availability (available) [ OK ]
Unpack the sources (done) [ OK ]
Check firmware availability (done) [ OK ]
Check kernel header version (Kernel:2.6.32 == Header:2.6.32) [ OK ]
Check kernel functions (Changed: nothing) [ OK ]
Compile the kernel (done) [ OK ]
Copy driver man page into /usr/share/man/man4/ (done) [ OK ]
Check the driver (done) [ OK ]
Create kernel modules driver directory (done) [ OK ]
Delete old driver (done) [ OK ]
Copying driver (done) [ OK ]
Make dependency (done) [ OK ]
Delete temp directories (done) [ OK ]
All done. Driver installed and loaded.
To load the module manually, proceed as follows:
Enter “modprobe sk98lin”

メッセージの内容を確認して指示どおりに進んでいけばドライバのインストールは完了し、ネットワークインターフェースが有効になります(よくよく読み直してみたら、最後のダイアログで推奨されていたのは3だったんですね・・・)。

最後の選択を推奨されている3番にしなかったからなのか、自動的にsk98linドライバが読み込まれず、手動でmodprobe sk98linしたところ、ネットワークインターフェースが有効になりました(Linuxの画面上での確認)。

最後にルータのポートのアクティブランプが点灯したのを確認したら、ネットワーク接続は完了のはず!
試しにルータの設定画面を呼び出すipアドレスをブラウザにいれたところ・・・。
きちんとそのページが開きました。どうやらネットワークインターフェースの設定は無事クリアできたようです。

これで、有線でLAN内のノードをつないでいる現環境をこちらの新しい環境に引き継ぐことができます。
少しずつ環境が整ってきて、なんだかいい感じ!

+1

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)