2008年4月 3日

[debian-users:50359] forcedeth (MCP51) : Xen で pethNが出来てしまうと WOL不可能

飛田です。

ASUS A8N-VM CSM というちと古い S939 のマザーボードに AMD 64x2 3800+ と
いう CPU でデモマシンを作ったのですが、オンボードネットワークインターフェ
イス (forcedeth: nforce430 - MCP51 [手元の紙のマニュアルによると
Marvell 88E1111 PHY]) の WOL (wake on lan) と Xen の組合せで問題が起こ
ります。

case1)
Debian Etch の Domain-0 上 に Debian Etch の Domain-U を構築したのです
が、Xen カーネルで起動し、pethN が実際のデバイス(IRQ)を掴んで ethN が
仮想化されて(IRQなしで)起動してしまった状態からシャットダウンすると、
次回、WOL できなくなります (無反応)。

case2)
Xen でないカーネルで起動し、シャットダウンした場合には、wakeonlan コマ
ンドで、物理的な eth0 の MAC を通常通り指定すると普通に WOL に成功しま
す。

case3)
BIOS でいくつかの IRQ をリザーブして Xen カーネルで起動してみると、
pethN がうまくとれなくなるようで、eth3 とか eth4 など、ありえないイン
ターフェイスを、これまたどっから持ってきたのかわからない MAC で up し
ます。この状態で shutdown した場合、次回、wakeonlan コマンドの引数に、
どっから持ってきたのか不明な MAC をリバース [*1] で指定すると WOL 出来
る事がわかりました。

[*1] 00:13:d4:b1:4c:e2 という MAC なら wakeonlan e2:4c:b1:d4:13:00 とい
う指定にするとなぜか起動する.. これ、forcedeth >= 0.57 で直ったと言
う事のようなのですが.. ??

なんかえらい間抜けな気がするのですが、これ、回避方法はあったりしますで
しょうか?

以下に手元の環境を示します。

[ifconfig]

$ /sbin/ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:13:D4:B1:4C:E2
inet addr:192.168.1.15 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::213:d4ff:feb1:4ce2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1345827 errors:0 dropped:0 overruns:0 frame:0
TX packets:646600 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3366743279 (3.1 GiB) TX bytes:44206621 (42.1 MiB)

eth1 Link encap:UNSPEC HWaddr 00-11-D8-00-00-67-57-F8-00-00-00-00-00-00-00-00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2469 errors:0 dropped:0 overruns:0 frame:0
TX packets:2469 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:143667 (140.2 KiB) TX bytes:143667 (140.2 KiB)

peth0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:1642 errors:0 dropped:0 overruns:0 frame:0
TX packets:1034 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:623761 (609.1 KiB) TX bytes:137161 (133.9 KiB)
Interrupt:18 Base address:0x8000

sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

veth1 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

veth2 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

veth3 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

vif0.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:646600 errors:0 dropped:0 overruns:0 frame:0
TX packets:1345827 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:44206621 (42.1 MiB) TX bytes:3366743279 (3.1 GiB)

vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

vif0.2 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

vif0.3 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

vif2.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:1345257 errors:0 dropped:0 overruns:0 frame:0
TX packets:647448 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3347823093 (3.1 GiB) TX bytes:44709886 (42.6 MiB)

xenbr0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:839 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:96094 (93.8 KiB) TX bytes:0 (0.0 b)

[lspci]

$ lspci
00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2)
00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2)
00:00.3 RAM memory: nVidia Corporation C51 Memory Controller 5 (rev a2)
00:00.4 RAM memory: nVidia Corporation C51 Memory Controller 4 (rev a2)
00:00.5 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
00:00.6 RAM memory: nVidia Corporation C51 Memory Controller 3 (rev a2)
00:00.7 RAM memory: nVidia Corporation C51 Memory Controller 2 (rev a2)
00:02.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
00:03.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
00:04.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)
00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a2)
00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a2)
00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a2)
00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a2)
00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev a1)
00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)
00:0f.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)
00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2)
00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)
00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a1)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
03:00.0 VGA compatible controller: ATI Technologies Inc RV530 [Radeon X1600]
03:00.1 Display controller: ATI Technologies Inc RV530 [Radeon X1600] (Secondary)
04:05.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)

$ sudo lspci -n -s 00:14
00:14.0 0680: 10de:0269 (rev a1)

$ sudo lspci -vvv -s 00:14
00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a1)
Subsystem: ASUSTeK Computer Inc. Unknown device 8141
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (250ns min, 5000ns max)
Interrupt: pin A routed to IRQ 18
Region 0: Memory at dffb7000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at d080 [size=8]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable+ DSel=0 DScale=0 PME-

[modinfo]

$ /sbin/modinfo forcedeth
filename: /lib/modules/2.6.18-6-xen-amd64/kernel/drivers/net/forcedeth.ko
author: Manfred Spraul <manfred@xxxxx>
description: Reverse Engineered nForce ethernet driver
license: GPL
vermagic: 2.6.18-6-xen-amd64 SMP mod_unload gcc-4.1
[...]

--
Shinichiro HIDA shinichiro@xxxxx
GPG fingerprint = BD22 BAE5 43BA 5E70 9F1B 7627 1D81 E567 6912 F09D

投稿者 xml-rpc : 2008年4月 3日 16:00
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/71748
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。